From f2cc8878ef7002f252cd9b28f94a40eecb9f53dc Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 17:11:22 -0400 Subject: [PATCH 01/20] refactor(easydiffraction): move the easydiff package into gateways/easydiffraction (A24, A136) src/powderline/easydiff/ -> src/powderline/gateways/easydiffraction/, verbatim (git rename, no content change beyond the module path). The entry point (powderline.gateways:easydiffraction) and every src/tests import use the new path; no powderline.easydiff shim (A136). No pixi task names the module. Prose docs citing the old path are left for re/10; the pixi env keeps its name `easydiff` until re/08 (A42). An existing checkout needs `pixi reinstall powderline` so the entry-point metadata points at the new module. Suites: default 2954 passed, 9 skipped (baseline 494a802 identical except four parametrized test_gateways IDs that contain the module path); easydiff env tests/test_easydiff_* 55 passed, IDs identical. Assisted-by: claude-code:claude-opus-5-5 --- pyproject.toml | 2 +- .../easydiffraction}/__init__.py | 0 .../easydiffraction}/builder.py | 6 +++--- .../easydiffraction}/conversions.py | 0 .../{easydiff => gateways/easydiffraction}/engine.py | 0 .../{easydiff => gateways/easydiffraction}/errors.py | 0 .../easydiffraction}/gateway.py | 6 +++--- .../{easydiff => gateways/easydiffraction}/policy.py | 0 tests/test_easydiff_builder.py | 4 ++-- tests/test_easydiff_conversions.py | 2 +- tests/test_easydiff_dispatch.py | 2 +- tests/test_easydiff_engine.py | 4 ++-- tests/test_easydiff_integration.py | 2 +- tests/test_easydiff_policy.py | 4 ++-- tests/test_gateways.py | 12 ++++++------ 15 files changed, 22 insertions(+), 22 deletions(-) rename src/powderline/{easydiff => gateways/easydiffraction}/__init__.py (100%) rename src/powderline/{easydiff => gateways/easydiffraction}/builder.py (98%) rename src/powderline/{easydiff => gateways/easydiffraction}/conversions.py (100%) rename src/powderline/{easydiff => gateways/easydiffraction}/engine.py (100%) rename src/powderline/{easydiff => gateways/easydiffraction}/errors.py (100%) rename src/powderline/{easydiff => gateways/easydiffraction}/gateway.py (92%) rename src/powderline/{easydiff => gateways/easydiffraction}/policy.py (100%) diff --git a/pyproject.toml b/pyproject.toml index fa0a81d..e7b9627 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -62,7 +62,7 @@ dependencies = [ [project.entry-points."powderline.gateways"] gsasii = "powderline.gateways.gsasii.gateway:get_gateway" topas = "powderline.gateways.topas.gateway:get_gateway" -easydiffraction = "powderline.easydiff.gateway:get_gateway" +easydiffraction = "powderline.gateways.easydiffraction.gateway:get_gateway" [project.urls] Homepage = "https://github.com/NSLS2/PowderLine" diff --git a/src/powderline/easydiff/__init__.py b/src/powderline/gateways/easydiffraction/__init__.py similarity index 100% rename from src/powderline/easydiff/__init__.py rename to src/powderline/gateways/easydiffraction/__init__.py diff --git a/src/powderline/easydiff/builder.py b/src/powderline/gateways/easydiffraction/builder.py similarity index 98% rename from src/powderline/easydiff/builder.py rename to src/powderline/gateways/easydiffraction/builder.py index c97dc54..563f583 100644 --- a/src/powderline/easydiff/builder.py +++ b/src/powderline/gateways/easydiffraction/builder.py @@ -11,7 +11,7 @@ import numpy as np -from powderline.easydiff.conversions import ( +from powderline.gateways.easydiffraction.conversions import ( CDEG_TO_DEG, GAUSS_CDEG2_TO_DEG2, crop_and_sigma, @@ -20,8 +20,8 @@ lorentz_broadening_to_ed, zero_to_ed, ) -from powderline.easydiff.errors import EasyDiffractionTranslationError -from powderline.easydiff.policy import check_unsupported, param_flag, param_value +from powderline.gateways.easydiffraction.errors import EasyDiffractionTranslationError +from powderline.gateways.easydiffraction.policy import check_unsupported, param_flag, param_value from powderline.exceptions import SymmetryError from powderline.symmetry import cell_constraints diff --git a/src/powderline/easydiff/conversions.py b/src/powderline/gateways/easydiffraction/conversions.py similarity index 100% rename from src/powderline/easydiff/conversions.py rename to src/powderline/gateways/easydiffraction/conversions.py diff --git a/src/powderline/easydiff/engine.py b/src/powderline/gateways/easydiffraction/engine.py similarity index 100% rename from src/powderline/easydiff/engine.py rename to src/powderline/gateways/easydiffraction/engine.py diff --git a/src/powderline/easydiff/errors.py b/src/powderline/gateways/easydiffraction/errors.py similarity index 100% rename from src/powderline/easydiff/errors.py rename to src/powderline/gateways/easydiffraction/errors.py diff --git a/src/powderline/easydiff/gateway.py b/src/powderline/gateways/easydiffraction/gateway.py similarity index 92% rename from src/powderline/easydiff/gateway.py rename to src/powderline/gateways/easydiffraction/gateway.py index 57728ae..4b3d649 100644 --- a/src/powderline/easydiff/gateway.py +++ b/src/powderline/gateways/easydiffraction/gateway.py @@ -5,7 +5,7 @@ then runs the policy pre-flight, exactly the check ``validate_only`` runs today (raises ``EasyDiffractionTranslationError``; no easydiffraction import). - **Runtime layer** — ``run``: a thin wrapper over - ``powderline.easydiff.engine.run_easydiffraction_recipe`` (behavior unchanged). + ``powderline.gateways.easydiffraction.engine.run_easydiffraction_recipe`` (behavior unchanged). On a real run it first reads the installed easydiffraction version: missing ⇒ ``EngineNotAvailableError``; outside ``ENGINE_VERSION_SPEC`` ⇒ ``EngineVersionError``. @@ -37,7 +37,7 @@ def validate(recipe, *, verbose: bool = False): ``verbose`` is part of the uniform gateway contract; this gateway prints nothing extra today. """ - from powderline.easydiff.policy import check_unsupported + from powderline.gateways.easydiffraction.policy import check_unsupported model = recipe if isinstance(recipe, RecipeModel) else RecipeModel.model_validate(recipe) check_unsupported(model.model_dump()) # may raise EasyDiffractionTranslationError @@ -68,7 +68,7 @@ def run(recipe, output_dir, *, verbose: bool = False, validate_only: bool = Fals allow_unsupported=allow_unsupported_engine_version) # Bind the module (not the function) so tests can monkeypatch # ``run_easydiffraction_recipe`` on it. - from powderline.easydiff import engine as _easydiff_engine + from powderline.gateways.easydiffraction import engine as _easydiff_engine return _easydiff_engine.run_easydiffraction_recipe(recipe, output_dir, verbose=verbose, validate_only=validate_only) diff --git a/src/powderline/easydiff/policy.py b/src/powderline/gateways/easydiffraction/policy.py similarity index 100% rename from src/powderline/easydiff/policy.py rename to src/powderline/gateways/easydiffraction/policy.py diff --git a/tests/test_easydiff_builder.py b/tests/test_easydiff_builder.py index a0b26b1..08bc612 100644 --- a/tests/test_easydiff_builder.py +++ b/tests/test_easydiff_builder.py @@ -8,8 +8,8 @@ ed = pytest.importorskip("easydiffraction") -from powderline.easydiff.builder import BuildResult, ManifestEntry, build_project -from powderline.easydiff.conversions import GAUSS_CDEG2_TO_DEG2 +from powderline.gateways.easydiffraction.builder import BuildResult, ManifestEntry, build_project +from powderline.gateways.easydiffraction.conversions import GAUSS_CDEG2_TO_DEG2 from test_easydiff_policy import base_recipe # same tests/ dir; pytest adds it to sys.path diff --git a/tests/test_easydiff_conversions.py b/tests/test_easydiff_conversions.py index 00364b6..a0754e4 100644 --- a/tests/test_easydiff_conversions.py +++ b/tests/test_easydiff_conversions.py @@ -4,7 +4,7 @@ import numpy as np import pytest -from powderline.easydiff.conversions import ( +from powderline.gateways.easydiffraction.conversions import ( crop_and_sigma, datablock_slug, gauss_broadening_to_ed, diff --git a/tests/test_easydiff_dispatch.py b/tests/test_easydiff_dispatch.py index 6a3deb3..4499cf0 100644 --- a/tests/test_easydiff_dispatch.py +++ b/tests/test_easydiff_dispatch.py @@ -14,7 +14,7 @@ def test_unknown_engine_message_lists_easydiffraction(tmp_path): def test_dispatch_reaches_easydiff_engine(tmp_path, monkeypatch): - import powderline.easydiff.engine as ede + import powderline.gateways.easydiffraction.engine as ede calls = {} def fake(recipe, output_dir, *, verbose=False, validate_only=False): diff --git a/tests/test_easydiff_engine.py b/tests/test_easydiff_engine.py index e74a9a6..13aa417 100644 --- a/tests/test_easydiff_engine.py +++ b/tests/test_easydiff_engine.py @@ -7,7 +7,7 @@ ed = pytest.importorskip("easydiffraction") -from powderline.easydiff.engine import run_easydiffraction_recipe +from powderline.gateways.easydiffraction.engine import run_easydiffraction_recipe from test_easydiff_builder import rich_recipe from test_easydiff_policy import base_recipe @@ -95,7 +95,7 @@ def test_output_files_cross_platform(tmp_path): def test_post_build_fit_failure(tmp_path, monkeypatch): """Fit failure after build returns success=False with error/traceback.""" from unittest.mock import MagicMock - import powderline.easydiff.builder as builder_module + import powderline.gateways.easydiffraction.builder as builder_module original_build = builder_module.build_project diff --git a/tests/test_easydiff_integration.py b/tests/test_easydiff_integration.py index 6af53e9..36250f4 100644 --- a/tests/test_easydiff_integration.py +++ b/tests/test_easydiff_integration.py @@ -10,7 +10,7 @@ ed = pytest.importorskip("easydiffraction") -from powderline.easydiff.errors import EasyDiffractionTranslationError +from powderline.gateways.easydiffraction.errors import EasyDiffractionTranslationError from powderline.engine import run EXAMPLE = Path("examples/example_LaB6_easydiff/input.json") diff --git a/tests/test_easydiff_policy.py b/tests/test_easydiff_policy.py index 2c38450..abe2d93 100644 --- a/tests/test_easydiff_policy.py +++ b/tests/test_easydiff_policy.py @@ -3,8 +3,8 @@ import pytest -from powderline.easydiff.errors import EasyDiffractionTranslationError -from powderline.easydiff.policy import check_unsupported, param_flag, param_value +from powderline.gateways.easydiffraction.errors import EasyDiffractionTranslationError +from powderline.gateways.easydiffraction.policy import check_unsupported, param_flag, param_value def base_recipe(): diff --git a/tests/test_gateways.py b/tests/test_gateways.py index 3ffb61f..7eda0ca 100644 --- a/tests/test_gateways.py +++ b/tests/test_gateways.py @@ -24,7 +24,7 @@ from powderline.exceptions import EngineNotAvailableError, EngineVersionError from powderline.gateways.gsasii import gateway as gsasii_gateway from powderline.gateways.topas import gateway as topas_gateway -from powderline.easydiff import gateway as easydiff_gateway +from powderline.gateways.easydiffraction import gateway as easydiff_gateway from subprocess_utils import run_subprocess_utf8 REPO = Path(__file__).resolve().parent.parent @@ -132,7 +132,7 @@ def test_validate_invalid_recipe_raises(gateway_module, invalid_recipe): def test_easydiff_validate_lab6_raises_translation_error(): """Easydiffraction validate raises on the LaB6 recipe due to unsupported Z parameter.""" - from powderline.easydiff.errors import EasyDiffractionTranslationError + from powderline.gateways.easydiffraction.errors import EasyDiffractionTranslationError recipe = _lab6_recipe() with pytest.raises(EasyDiffractionTranslationError, match="Z is flagged for refinement"): @@ -292,7 +292,7 @@ def test_topas_validate_only_skips_version_check(tmp_path, monkeypatch): def test_easydiff_version_out_of_range_raises(tmp_path, monkeypatch): """When installed_engine_version() returns '0.21.0', run() raises EngineVersionError.""" monkeypatch.setattr(easydiff_gateway, "installed_engine_version", lambda: "0.21.0") - from powderline.easydiff import engine + from powderline.gateways.easydiffraction import engine fake_run = Mock() monkeypatch.setattr(engine, "run_easydiffraction_recipe", fake_run) @@ -305,7 +305,7 @@ def test_easydiff_version_out_of_range_raises(tmp_path, monkeypatch): def test_easydiff_version_in_range_calls_engine(tmp_path, monkeypatch): """When installed_engine_version() returns '0.20.1', run() calls the engine.""" monkeypatch.setattr(easydiff_gateway, "installed_engine_version", lambda: "0.20.1") - from powderline.easydiff import engine + from powderline.gateways.easydiffraction import engine fake_run = Mock(return_value={}) monkeypatch.setattr(engine, "run_easydiffraction_recipe", fake_run) @@ -332,7 +332,7 @@ def test_easydiff_not_installed_raises_engine_not_available_error(tmp_path): ) def test_easydiff_not_installed_validate_only_does_not_raise(tmp_path, monkeypatch): """When easydiffraction is not installed, validate_only=True does not raise.""" - from powderline.easydiff import engine + from powderline.gateways.easydiffraction import engine fake_run = Mock(return_value={}) monkeypatch.setattr(engine, "run_easydiffraction_recipe", fake_run) @@ -476,7 +476,7 @@ def find_spec(self, name, path, target=None): import powderline.gateways.topas.schema import powderline.gateways.topas.native_writer import powderline.gateways.topas.native_run -import powderline.easydiff.gateway +import powderline.gateways.easydiffraction.gateway from powderline import registry # The core phase block and its symmetry rules run engine-free (re/03b) From 45bc83394c736e0c5bd877911001626261f4e8d1 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 18:41:42 -0400 Subject: [PATCH 02/20] feat(easydiffraction): native easydiffraction.rietveld schema (re/06) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Engine schema 1.0.0 on the core schema: EasydiffractionPhase = Phase[BoundedRefinableParameter] + scale; easydiffraction's own names and units (A4); the instrument in gsasii's A103 layout with every correction easydiffraction 0.21.1 models for CW X-ray powder data as a slot (A160): Kα2 doublet, polarization + monochromator angle, zero, displacement, transparency, cylinder absorption, and the three peak types (pseudo-Voigt, Bérar-Baldinozzi, TCH + FCJ) as a discriminated union. refinement_controls carries the calculator (cryspy | crysfml), the minimizer (lmfit leastsq only) and its stopping criteria (A162). Rules: a setting easydiffraction has (EB-42; committed table generated from the library by scripts/generate_easydiffraction_space_groups.py and checked by a test where that version is installed); values inside easydiffraction's physical limits (EB-71); wavelength > 0; scale >= 0 (A161); weights <= 1e8 on the points handed to the engine (A159, EB-73); peak type and cutoff_fwhm per calculator; Kα2 pair stated together. The gateway routes easydiffraction.* recipes to the native schema in validate()/capabilities(); the native run comes with the builder. EasydiffractionPhase is registered in the A122 canary. Hand-derived fixtures with their derivations: tests/data/easydiffraction/native/. Assisted-by: claude-code:claude-opus-5-5 Assisted-by: claude-code:claude-sonnet-5-5 --- .../generate_easydiffraction_space_groups.py | 109 + .../gateways/easydiffraction/gateway.py | 23 +- .../gateways/easydiffraction/schema.py | 518 + .../easydiffraction/space_group_table.py | 542 + tests/data/easydiffraction/native/README.md | 48 + .../native/lab6_crysfml_tch.json | 12518 +++++++++++++++ .../native/lab6_cryspy_pv.json | 12506 +++++++++++++++ .../native/lab6_slots_simulation.json | 12536 ++++++++++++++++ tests/test_easydiffraction_schema.py | 459 + tests/test_easydiffraction_space_groups.py | 70 + tests/test_phase_canary.py | 2 + 11 files changed, 39323 insertions(+), 8 deletions(-) create mode 100644 scripts/generate_easydiffraction_space_groups.py create mode 100644 src/powderline/gateways/easydiffraction/schema.py create mode 100644 src/powderline/gateways/easydiffraction/space_group_table.py create mode 100644 tests/data/easydiffraction/native/README.md create mode 100644 tests/data/easydiffraction/native/lab6_crysfml_tch.json create mode 100644 tests/data/easydiffraction/native/lab6_cryspy_pv.json create mode 100644 tests/data/easydiffraction/native/lab6_slots_simulation.json create mode 100644 tests/test_easydiffraction_schema.py create mode 100644 tests/test_easydiffraction_space_groups.py diff --git a/scripts/generate_easydiffraction_space_groups.py b/scripts/generate_easydiffraction_space_groups.py new file mode 100644 index 0000000..7d3a1c5 --- /dev/null +++ b/scripts/generate_easydiffraction_space_groups.py @@ -0,0 +1,109 @@ +"""Regenerate the easydiffraction space-group table (re/06, A105, EB-42). + +For every space-group setting core accepts (gemmi's canonical ``xhm()`` names), +find the easydiffraction ``(name_h_m, coord_system_code)`` whose symmetry +operations equal gemmi's (as sets; translations mod 1). The table is written to +``src/powderline/gateways/easydiffraction/space_group_table.py`` so the schema +validates in environments without easydiffraction. + +Needs easydiffraction (the ``easydiff`` env). ``--check`` compares instead of +writing (the test ``tests/test_easydiffraction_space_groups.py`` runs it). + +Usage: pixi run -e easydiff python scripts/generate_easydiffraction_space_groups.py [--check] +""" + +from __future__ import annotations + +import sys +from fractions import Fraction +from importlib.metadata import version +from pathlib import Path + +import gemmi + +TABLE = Path(__file__).parent.parent / "src" / "powderline" / "gateways" / "easydiffraction" / "space_group_table.py" + + +def _gemmi_ops(sg: gemmi.SpaceGroup) -> frozenset: + ops = set() + for op in sg.operations(): + rot = tuple(Fraction(v, op.DEN) for row in op.rot for v in row) + tran = tuple(Fraction(v, op.DEN) % 1 for v in op.tran) + ops.add((rot, tran)) + return frozenset(ops) + + +def _symop_ops(symops: list[str]) -> frozenset: + """easydiffraction's ``'x,y,z'``-style operations as (rotation, translation mod 1).""" + ops = set() + for text in symops: + op = gemmi.Op(text.replace(" ", "")) + rot = tuple(Fraction(v, op.DEN) for row in op.rot for v in row) + tran = tuple(Fraction(v, op.DEN) % 1 for v in op.tran) + ops.add((rot, tran)) + return frozenset(ops) + + +def build() -> dict[str, tuple[str, str, bool]]: + """``{xhm: (name_h_m, coord_system_code, is_default_code)}`` for every matched setting. + + ``name_h_m`` is the short symbol a structure accepts (cryspy's + ``ACCESIBLE_NAME_HM_SHORT``, one per IT number); the code must be one the + structure accepts for it, and the default is the first of those. + """ + from cryspy.A_functions_base.function_2_space_group import ( + ACCESIBLE_NAME_HM_SHORT, + get_it_coordinate_system_codes_by_it_number, + get_it_number_by_name_hm_short, + ) + from easydiffraction.crystallography.space_groups import SPACE_GROUPS + + short = {get_it_number_by_name_hm_short(name): name for name in ACCESIBLE_NAME_HM_SHORT} + by_ops: dict[frozenset, tuple[str, str, bool]] = {} + for record in SPACE_GROUPS.values(): + number, code = record["IT_number"], record["IT_coordinate_system_code"] or "" + codes = tuple(get_it_coordinate_system_codes_by_it_number(number)) + if codes and code not in codes or not codes and code: + continue # an internal table entry a structure refuses (e.g. IT 149 'r'); unusable + by_ops.setdefault(_symop_ops(record["symop"]), (short[number], code, not codes or code == codes[0])) + table = {} + for sg in gemmi.spacegroup_table(): + match = by_ops.get(_gemmi_ops(sg)) + if match is not None: + table[sg.xhm()] = match + return table + + +def render(table: dict[str, tuple[str, str, bool]]) -> str: + lines = [ + '"""easydiffraction space-group names for core\'s canonical settings (generated; do not edit).', + "", + "Generated by ``scripts/generate_easydiffraction_space_groups.py`` from easydiffraction", + f"{version('easydiffraction')}: gemmi's canonical extended H-M name -> easydiffraction", + "``(name_h_m, coord_system_code, is_default_code)`` with the same symmetry operations;", + "``is_default_code``: the code is the one a structure takes when only the name is set.", + "Settings missing here have no easydiffraction equivalent (EB-42).", + '"""', + "", + "SPACE_GROUPS: dict[str, tuple[str, str, bool]] = {", + ] + lines += [f" {xhm!r}: ({name!r}, {code!r}, {default!r})," for xhm, (name, code, default) in table.items()] + lines += ["}", ""] + return "\n".join(lines) + + +def main() -> int: + text = render(build()) + if "--check" in sys.argv: + current = TABLE.read_text(encoding="utf-8") if TABLE.exists() else "" + if current != text: + print(f"{TABLE} is out of date; regenerate it", file=sys.stderr) + return 1 + return 0 + TABLE.write_text(text, encoding="utf-8", newline="\n") + print(f"wrote {TABLE}") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/src/powderline/gateways/easydiffraction/gateway.py b/src/powderline/gateways/easydiffraction/gateway.py index 4b3d649..8914ad2 100644 --- a/src/powderline/gateways/easydiffraction/gateway.py +++ b/src/powderline/gateways/easydiffraction/gateway.py @@ -1,9 +1,11 @@ """Engine-free factory for the easydiffraction gateway (entry point ``powderline.gateways:easydiffraction``). -- **Schema layer** — ``validate`` / ``capabilities``: builds the ``RecipeModel`` - then runs the policy pre-flight, exactly the check ``validate_only`` runs today - (raises ``EasyDiffractionTranslationError``; no easydiffraction import). +- **Schema layer** — ``validate`` / ``capabilities``: an ``easydiffraction.*`` + recipe validates against the native schema (:mod:`.schema`, re/06); a 0.26.0 + ``GSASII_*`` recipe builds the ``RecipeModel`` then runs the policy pre-flight, + exactly the check ``validate_only`` runs today (raises + ``EasyDiffractionTranslationError``), until re/07. No easydiffraction import. - **Runtime layer** — ``run``: a thin wrapper over ``powderline.gateways.easydiffraction.engine.run_easydiffraction_recipe`` (behavior unchanged). On a real run it first reads the installed easydiffraction version: missing ⇒ @@ -14,29 +16,34 @@ from __future__ import annotations from powderline.exceptions import EngineNotAvailableError +from powderline.gateways.easydiffraction import schema from powderline.registry import Gateway, check_engine_version from powderline.schema import RecipeModel NAME = "easydiffraction" #: Supported easydiffraction versions (A41/A44); mirrors the pixi pin. ENGINE_VERSION_SPEC = ">=0.20.1,<0.21" -#: Workflows served (0.26.0 schema name until re/06; no SPF — A13.3). -WORKFLOWS = ("GSASII_Rietveld",) +#: Workflows served: the native schema, and the 0.26.0 name until re/07 removes it (no SPF, A13.3). +WORKFLOWS = (*schema.SCHEMA_NAMES, "GSASII_Rietveld") #: pixi environment providing easydiffraction + how to install it (renamed in re/08, A42). ENV = "easydiff" INSTALL_COMMAND = "pixi install -e easydiff" def capabilities() -> dict: - return {"name": NAME, "workflows": WORKFLOWS, "engine_version_spec": ENGINE_VERSION_SPEC} + return {"name": NAME, "workflows": WORKFLOWS, "engine_version_spec": ENGINE_VERSION_SPEC, **schema.DECLARATIONS} def validate(recipe, *, verbose: bool = False): - """Validate a recipe (dict or ``RecipeModel``); return the ``RecipeModel`` (A50, A59). + """Validate a recipe (dict or model); return the validated model (A50, A59). + An ``easydiffraction.*`` recipe gives its native model + (``EasydiffractionRietveldRecipe``); a 0.26.0 one the legacy ``RecipeModel``. ``verbose`` is part of the uniform gateway contract; this gateway prints - nothing extra today. + nothing extra. """ + if schema.is_native_recipe(recipe): + return schema.validate_recipe(recipe) from powderline.gateways.easydiffraction.policy import check_unsupported model = recipe if isinstance(recipe, RecipeModel) else RecipeModel.model_validate(recipe) diff --git a/src/powderline/gateways/easydiffraction/schema.py b/src/powderline/gateways/easydiffraction/schema.py new file mode 100644 index 0000000..43d89b3 --- /dev/null +++ b/src/powderline/gateways/easydiffraction/schema.py @@ -0,0 +1,518 @@ +"""easydiffraction engine schema ``easydiffraction.rietveld`` (engine schema 1.0.0, easydiffraction 0.21.1). + +Built on the core schema (:mod:`powderline.schema_core`): a recipe is a +:class:`~powderline.schema_core.CoreRecipe`, a phase a +``Phase[BoundedRefinableParameter]`` with ``scale`` flat in the same block +(A93). Every refinable is ``[value, refine_flag, min, max]`` (A20); a ``null`` +bound keeps easydiffraction's physical limit on that side, a stated one +replaces it (A157 B4). Names and units are easydiffraction's own (A4): +``setup_wavelength``, ``calib_twotheta_offset``, ``broad_gauss_u`` (deg^2), +...; the blocks follow gsasii's A103 layout where they fit. Invalid recipes +raise pydantic's ``ValidationError`` with every problem at its location (A70). + +Engine-free: imports nothing of easydiffraction, so ``validate()`` runs in the +core-only environment. The runtime layer consumes the validated model (A39). +Design: devkit ``tasks/re06-easydiffraction-schema-draft.md``; engine behaviour: +``engine-behavior-register.md`` (EB-42..EB-47, EB-70..). + +The instrument blocks expose every correction easydiffraction models for +constant-wavelength X-ray powder data (A160), including ones PowderLine does +not support for its own data yet (the Kα doublet): a left-out optional block is +not modelled (the engine's neutral value). The calculator is chosen in +``refinement_controls`` (A162): CrysPy and CrysFML differ in what they +compute, so the choice is part of the recipe. + +easydiffraction rules checked here: + +- the space group must be a setting easydiffraction has (EB-42); +- a value outside easydiffraction's physical limits is refused by the engine + even when fixed, so it is an error (cell lengths 0..30 A, angles 0..180 deg, + occupancy 0..1, Uiso and U11/U22/U33 0..10 A^2, wavelength, scale and + absorption mu_r >= 0; EB-71; A111, A157 B4); +- wavelength > 0 (A126); scale >= 0 (A161: a phase may contribute nothing); +- a data point handed to the engine has a weight <= 1e8 (sigma >= 1e-4): + easydiffraction replaces a smaller sigma with 1.0 silently (A159); +- the peak type must be one the calculator computes; ``cutoff_fwhm`` is a + CrysPy setting (CrysFML ignores it) (A162, A127 principle); +- the Kα2 wavelength and its intensity ratio are stated together; +- simulation = no refine flag set (lmfit is not run). +""" + +from __future__ import annotations + +from typing import Annotated, Any, Literal, Optional, Union + +import numpy as np +from pydantic import Field, ValidationError, field_validator, model_serializer, model_validator +from pydantic_core import InitErrorDetails, PydanticCustomError + +from powderline.compat import check_engine_schema_version +from powderline.gateways.easydiffraction.space_group_table import SPACE_GROUPS +from powderline.schema_core import ( + UNIT_ANGSTROM, + UNIT_ARBITRARY, + UNIT_DEG_2THETA, + UNIT_DEGREE, + BoundedRefinableParameter, + ChebyshevBackground, + CoreFloat, + CoreInt, + CoreModel, + CoreName, + CoreRecipe, + FitRange, + Phase, + XRDData, + absent_not_null_schema, + check_fit_range_within_data, + check_names_unique_ignoring_case, + fit_limits_on_data, + name_keyed, +) + +P = BoundedRefinableParameter + +# --- versions (A65) ------------------------------------------------------------- + +ENGINE_SCHEMA_VERSION = "1.0.0" +SUPPORTED_ENGINE_SCHEMAS = "==1.0.0" +REQUIRES_CORE_SCHEMA = "==1.0.0" + +#: The gateway's schema declarations (``capabilities()`` keys, A65). No engine +#: version in the recipe: the library is pinned and read at run time (A157 B2). +DECLARATIONS = { + "engine_schema_version": ENGINE_SCHEMA_VERSION, + "supported_engine_schemas": SUPPORTED_ENGINE_SCHEMAS, + "requires_core_schema": REQUIRES_CORE_SCHEMA, +} + +SCHEMA_NAMES = ("easydiffraction.rietveld",) + +# --- units (easydiffraction's own, A4) --------------------------------------------- + +UNIT_DEGREE2 = "degree^2" +UNIT_DIMENSIONLESS = "dimensionless" + +#: Largest data weight easydiffraction keeps: it replaces sigma < 1e-4 by 1.0 (EB-73, A159). +MAX_WEIGHT = 1e8 + +#: easydiffraction's physical limits (min, max) on values (EB-71; ``None`` = none). The +#: engine refuses a value outside them at input, fixed or refined, and gives an +#: unbounded side of a refined parameter its physical limit. +PHYSICAL_LIMITS = { + "cell_length": (0.0, 30.0), + "cell_angle": (0.0, 180.0), + "occupancy": (0.0, 1.0), + "adp": (0.0, 10.0), + "nonnegative": (0.0, None), +} + + +def _unit(unit: str) -> dict: + return {"unit": unit} + + +def _never_null(v: Any, info) -> Any: + """A block that may be left out is never ``null`` (the A96 convention).""" + if v is None: + raise ValueError(f"{info.field_name} must not be null; leave it out instead") + return v + + +def _error(kind: str, message: str, loc: tuple, input_: Any, **ctx) -> InitErrorDetails: + return InitErrorDetails(type=PydanticCustomError(kind, message, ctx or None), loc=loc, input=input_) + + +def _raise(model: str, problems: list[InitErrorDetails]) -> None: + if problems: + raise ValidationError.from_exception_data(model, problems) + + +def _omit_none(data: dict, model: CoreModel, names: tuple[str, ...]) -> dict: + for name in names: + if getattr(model, name) is None: + data.pop(name, None) + return data + + +def physical_problems(p: Optional[P], limits: tuple, loc: tuple, what: str) -> list[InitErrorDetails]: + """A value outside easydiffraction's physical limits: the engine refuses it at input (EB-71).""" + if p is None: + return [] + lo, hi = limits + if (lo is None or p.value >= lo) and (hi is None or p.value <= hi): + return [] + span = f"[{lo:g}, {hi:g}]" if hi is not None else f">= {lo:g}" + return [_error("easydiffraction_physical_limit", + "{what} {value} is outside easydiffraction's physical limit {span}: the engine refuses it (EB-71)", + loc, p.model_dump(), what=what, value=p.value, span=span)] + + +def easydiffraction_space_group(name: str) -> tuple[str, str]: + """easydiffraction's ``(name_h_m, coord_system_code)`` for a canonical name; ``ValueError`` if it has none.""" + entry = SPACE_GROUPS.get(name) + if entry is None: + raise ValueError(f"easydiffraction has no space-group setting equal to {name!r} (EB-42); transform the " + "structure to a setting easydiffraction has (e.g. the standard one)") + return entry[0], entry[1] + + +# --- instrument (A103 layout, A160) ------------------------------------------------ + + +class Radiation(CoreModel): + """Incident radiation: one wavelength, optionally a Kα2 line (both stated or neither).""" + + setup_wavelength: P = Field(json_schema_extra=_unit(UNIT_ANGSTROM), description="Wavelength (Kα1), > 0") + setup_wavelength_2: Optional[CoreFloat] = Field( + default=None, gt=0, json_schema_extra=absent_not_null_schema(UNIT_ANGSTROM), + description="Second wavelength (Kα2), > 0, with setup_wavelength_2_to_1_ratio; left out: one wavelength") + setup_wavelength_2_to_1_ratio: Optional[CoreFloat] = Field( + default=None, gt=0, le=1, json_schema_extra=absent_not_null_schema(UNIT_DIMENSIONLESS), + description="Kα2/Kα1 intensity ratio, 0 < ratio <= 1, with setup_wavelength_2") + + _not_null = field_validator("setup_wavelength_2", "setup_wavelength_2_to_1_ratio", mode="before")(_never_null) + + @model_serializer(mode="wrap") + def _omit_absent(self, handler): + return _omit_none(handler(self), self, ("setup_wavelength_2", "setup_wavelength_2_to_1_ratio")) + + @model_validator(mode="after") + def _easydiffraction_radiation(self) -> "Radiation": + problems = [] + if self.setup_wavelength.value <= 0: # A126 + problems.append(_error("easydiffraction_positive", "setup_wavelength must be > 0, got {value}", + ("setup_wavelength",), self.setup_wavelength.model_dump(), + value=self.setup_wavelength.value)) + if (self.setup_wavelength_2 is None) != (self.setup_wavelength_2_to_1_ratio is None): + missing = "setup_wavelength_2_to_1_ratio" if self.setup_wavelength_2 is not None else "setup_wavelength_2" + problems.append(_error("easydiffraction_doublet", + "a Kα2 line needs both setup_wavelength_2 and setup_wavelength_2_to_1_ratio; " + "state {missing} too, or leave both out", (missing,), None, missing=missing)) + _raise(type(self).__name__, problems) + return self + + +class Polarization(CoreModel): + """Lorentz-polarization: factor 1 - p + p cos^2(2theta_m) cos^2(2theta) (EB-75). Fixed values.""" + + setup_polarization_coefficient: CoreFloat = Field( + ge=0, le=1, json_schema_extra=_unit(UNIT_DIMENSIONLESS), description="p, 0..1") + setup_monochromator_twotheta: CoreFloat = Field( + ge=0, lt=180, json_schema_extra=_unit(UNIT_DEGREE), description="Monochromator 2theta_m, 0 <= 2theta_m < 180") + + +class Corrections(CoreModel): + """Peak-position corrections (degrees 2theta). Displacement and transparency left out: not modelled.""" + + calib_twotheta_offset: P = Field(json_schema_extra=_unit(UNIT_DEG_2THETA), description="Zero offset") + calib_sample_displacement: Optional[P] = Field( + default=None, json_schema_extra=absent_not_null_schema(UNIT_DEG_2THETA), + description="Specimen displacement term (shift x cos 2theta)") + calib_sample_transparency: Optional[P] = Field( + default=None, json_schema_extra=absent_not_null_schema(UNIT_DEG_2THETA), + description="Transparency term (shift x sin 2theta)") + + _not_null = field_validator("calib_sample_displacement", "calib_sample_transparency", mode="before")(_never_null) + + @model_serializer(mode="wrap") + def _omit_absent(self, handler): + return _omit_none(handler(self), self, ("calib_sample_displacement", "calib_sample_transparency")) + + +class Absorption(CoreModel): + """Cylindrical-sample absorption (Hewat), both calculators.""" + + type: Literal["cylinder-hewat"] = Field(description="easydiffraction absorption type") + mu_r: P = Field(json_schema_extra=_unit(UNIT_DIMENSIONLESS), description="mu R, >= 0") + + @model_validator(mode="after") + def _easydiffraction_mu_r(self) -> "Absorption": + _raise(type(self).__name__, physical_problems(self.mu_r, PHYSICAL_LIMITS["nonnegative"], ("mu_r",), "mu_r")) + return self + + +class _Broadening(CoreModel): + """Caglioti Gaussian (FWHM^2 = U tan^2 theta + V tan theta + W) and Lorentzian (X tan theta + Y / cos theta).""" + + broad_gauss_u: P = Field(json_schema_extra=_unit(UNIT_DEGREE2)) + broad_gauss_v: P = Field(json_schema_extra=_unit(UNIT_DEGREE2)) + broad_gauss_w: P = Field(json_schema_extra=_unit(UNIT_DEGREE2)) + broad_lorentz_x: P = Field(json_schema_extra=_unit(UNIT_DEGREE)) + broad_lorentz_y: P = Field(json_schema_extra=_unit(UNIT_DEGREE)) + + +class PseudoVoigtParameters(_Broadening): + """``cwl-pseudo-voigt``: the Thompson-Cox-Hastings pseudo-Voigt, no asymmetry (EB-76).""" + + +class BerarBaldinozziParameters(_Broadening): + """``cwl-pseudo-voigt-berar-baldinozzi-asymmetry``: pseudo-Voigt with empirical asymmetry (CrysPy).""" + + asym_beba_a0: P = Field(json_schema_extra=_unit(UNIT_DIMENSIONLESS)) + asym_beba_b0: P = Field(json_schema_extra=_unit(UNIT_DIMENSIONLESS)) + asym_beba_a1: P = Field(json_schema_extra=_unit(UNIT_DIMENSIONLESS)) + asym_beba_b1: P = Field(json_schema_extra=_unit(UNIT_DIMENSIONLESS)) + + +class FcjParameters(_Broadening): + """``cwl-thompson-cox-hastings``: pseudo-Voigt with FCJ axial-divergence asymmetry (CrysFML).""" + + asym_fcj_1: P = Field(json_schema_extra=_unit(UNIT_DIMENSIONLESS), description="FCJ S/L") + asym_fcj_2: P = Field(json_schema_extra=_unit(UNIT_DIMENSIONLESS), description="FCJ H/L") + + +class _PeakProfile(CoreModel): + cutoff_fwhm: Optional[CoreFloat] = Field( + default=None, gt=0, json_schema_extra=absent_not_null_schema(UNIT_DIMENSIONLESS), + description="CrysPy only: peaks computed within this many FWHM; left out: no cutoff (full tails)") + + _not_null = field_validator("cutoff_fwhm", mode="before")(_never_null) + + @model_serializer(mode="wrap") + def _omit_absent(self, handler): + return _omit_none(handler(self), self, ("cutoff_fwhm",)) + + +class PseudoVoigt(_PeakProfile): + peak_type: Literal["cwl-pseudo-voigt"] + parameters: PseudoVoigtParameters + + +class PseudoVoigtBerarBaldinozzi(_PeakProfile): + peak_type: Literal["cwl-pseudo-voigt-berar-baldinozzi-asymmetry"] + parameters: BerarBaldinozziParameters + + +class ThompsonCoxHastings(_PeakProfile): + peak_type: Literal["cwl-thompson-cox-hastings"] + parameters: FcjParameters + + +PeakProfile = Annotated[Union[PseudoVoigt, PseudoVoigtBerarBaldinozzi, ThompsonCoxHastings], + Field(discriminator="peak_type")] + +#: Peak types each calculator computes (EB-76). +CALCULATOR_PEAK_TYPES = { + "cryspy": ("cwl-pseudo-voigt", "cwl-pseudo-voigt-berar-baldinozzi-asymmetry"), + "crysfml": ("cwl-pseudo-voigt", "cwl-thompson-cox-hastings"), +} + + +class Instrument(CoreModel): + """The instrument block (A30, A103 layout).""" + + description: Optional[str] = Field(default=None, json_schema_extra=absent_not_null_schema(), + description="Free text") + radiation: Radiation + polarization: Optional[Polarization] = Field(default=None, json_schema_extra=absent_not_null_schema(), + description="Left out: no polarization correction (p = 0)") + corrections: Corrections + absorption: Optional[Absorption] = Field(default=None, json_schema_extra=absent_not_null_schema(), + description="Left out: no absorption correction") + broadening: PeakProfile + + _not_null = field_validator("description", "polarization", "absorption", mode="before")(_never_null) + + @model_serializer(mode="wrap") + def _omit_absent(self, handler): + return _omit_none(handler(self), self, ("description", "polarization", "absorption")) + + +# --- background ---------------------------------------------------------------------- + + +class Background(CoreModel): + """Chebyshev background over the fit window's first and last points (A149).""" + + chebyshev: ChebyshevBackground + + +# --- phase ------------------------------------------------------------------------------ + + +class EasydiffractionPhase(Phase[BoundedRefinableParameter]): + """An easydiffraction phase: core's space group, cell and atoms, plus ``scale`` (A93). + + easydiffraction rules: a setting easydiffraction has (EB-42); values inside + its physical limits (EB-71); ``scale >= 0`` (A161). + """ + + scale: P = Field(json_schema_extra=_unit(UNIT_ARBITRARY), description="Phase scale factor, >= 0") + + @field_validator("space_group") + @classmethod + def _easydiffraction_setting(cls, v: str) -> str: + easydiffraction_space_group(v) + return v + + @model_validator(mode="after") + def _easydiffraction_limits(self) -> "EasydiffractionPhase": + problems = physical_problems(self.scale, PHYSICAL_LIMITS["nonnegative"], ("scale",), "scale") + for name in ("a", "b", "c"): + problems += physical_problems(getattr(self.unit_cell, name), PHYSICAL_LIMITS["cell_length"], + ("unit_cell", name), name) + for name in ("alpha", "beta", "gamma"): + problems += physical_problems(getattr(self.unit_cell, name), PHYSICAL_LIMITS["cell_angle"], + ("unit_cell", name), name) + for label, atom in self.atoms.items(): + problems += physical_problems(atom.occupancy, PHYSICAL_LIMITS["occupancy"], + ("atoms", label, "occupancy"), "occupancy") + if atom.Uiso is not None: + problems += physical_problems(atom.Uiso, PHYSICAL_LIMITS["adp"], ("atoms", label, "Uiso"), "Uiso") + if atom.Uaniso is not None: + for key in ("U11", "U22", "U33"): + problems += physical_problems(getattr(atom.Uaniso, key), PHYSICAL_LIMITS["adp"], + ("atoms", label, "Uaniso", key), key) + _raise(type(self).__name__, problems) + return self + + +# --- payload and recipe ------------------------------------------------------------- + + +class RefinementControls(CoreModel): + """How the pattern is calculated and fitted, all stated (A162). lmfit runs only if a flag is set.""" + + calculator: Literal["cryspy", "crysfml"] = Field( + description="easydiffraction calculator; they compute different intensities and offer different " + "peak types (EB-76..EB-79)") + minimizer: Literal["lmfit (leastsq)"] = Field(description="Minimizer (lmfit's Levenberg-Marquardt only, A162)") + max_iterations: CoreInt = Field(ge=1, description="easydiffraction max_iterations = lmfit max_nfev: the maximum number of function evaluations (not iterations)") + chi_square_change_tolerance: CoreFloat = Field(gt=0, description="Relative chi-square change that stops the fit " + "(lmfit ftol)") + parameter_change_tolerance: CoreFloat = Field(gt=0, description="Relative parameter change that stops the fit " + "(lmfit xtol)") + gradient_tolerance: CoreFloat = Field(ge=0, description="Gradient orthogonality that stops the fit (lmfit gtol)") + + +def _refined_flags(obj: Any, loc: tuple = ()) -> list[tuple]: + """Locations of every refine flag set to true in a validated model tree.""" + if isinstance(obj, BoundedRefinableParameter): + return [loc] if obj.refine_flag else [] + if isinstance(obj, ChebyshevBackground): + return [loc + ("refine_flag",)] if obj.refine_flag else [] + if isinstance(obj, CoreModel): + return [hit for name in type(obj).model_fields for hit in _refined_flags(getattr(obj, name), loc + (name,))] + if isinstance(obj, dict): + return [hit for k, v in obj.items() for hit in _refined_flags(v, loc + (k,))] + if isinstance(obj, list): + return [hit for i, v in enumerate(obj) for hit in _refined_flags(v, loc + (i,))] + return [] + + +class RietveldPayload(CoreModel): + """``easydiffraction.rietveld`` payload.""" + + xrd_data: XRDData + fit_range: Optional[FitRange] = Field(default=None, json_schema_extra=absent_not_null_schema(), + description="Left out: the data's weighted points, end to end") + instrument: Instrument + background: Optional[Background] = Field(default=None, json_schema_extra=absent_not_null_schema(), + description="Left out: no background") + phases: dict[CoreName, EasydiffractionPhase] = Field(min_length=1, json_schema_extra=name_keyed) + refinement_controls: RefinementControls + + _not_null = field_validator("fit_range", "background", mode="before")(_never_null) + + @model_serializer(mode="wrap") + def _omit_absent(self, handler): + return _omit_none(handler(self), self, ("fit_range", "background")) + + @field_validator("phases") + @classmethod + def _phase_names(cls, v: dict) -> dict: + check_names_unique_ignoring_case(v, "phase") + return v + + def window_mask(self) -> np.ndarray: + """The points handed to easydiffraction: weighted, within the limits on data points (A149, A154, A158).""" + lo, hi = fit_limits_on_data(self.fit_range, self.xrd_data) + tth = np.asarray(self.xrd_data.tth, dtype=float) + w = np.asarray(self.xrd_data.Itth_weights, dtype=float) + return (tth >= lo) & (tth <= hi) & (w > 0) + + def simulation_mode(self) -> bool: + """No refine flag set: the pattern is calculated, lmfit is not run.""" + return not _refined_flags(self) + + @model_validator(mode="after") + def _easydiffraction_payload(self) -> "RietveldPayload": + problems = [] + try: + check_fit_range_within_data(self.fit_range, self.xrd_data) + mask = self.window_mask() + except ValueError as exc: + problems.append(_error("fit_range", str(exc), ("fit_range",), + None if self.fit_range is None else self.fit_range.model_dump())) + mask = None + if mask is not None: + heavy = np.flatnonzero(mask & (np.asarray(self.xrd_data.Itth_weights, dtype=float) > MAX_WEIGHT)) + for i in heavy[:20]: + problems.append(_error( + "easydiffraction_weight", + "weight {value} (sigma {sigma:.3g}) is above {limit:g}: easydiffraction would replace sigma " + "< 1e-4 by 1.0 without saying so (EB-73); rescale the intensities and weights", + ("xrd_data", "Itth_weights", int(i)), self.xrd_data.Itth_weights[i], + value=self.xrd_data.Itth_weights[i], sigma=self.xrd_data.Itth_weights[i] ** -0.5, + limit=MAX_WEIGHT)) + calculator = self.refinement_controls.calculator + profile = self.instrument.broadening + if profile.peak_type not in CALCULATOR_PEAK_TYPES[calculator]: + problems.append(_error( + "easydiffraction_peak_type", + "peak_type '{peak_type}' is not computed by the {calculator} calculator; it computes {allowed}", + ("instrument", "broadening", "peak_type"), profile.peak_type, peak_type=profile.peak_type, + calculator=calculator, allowed=", ".join(CALCULATOR_PEAK_TYPES[calculator]))) + if profile.cutoff_fwhm is not None and calculator != "cryspy": + problems.append(_error( + "easydiffraction_cutoff", + "cutoff_fwhm is a CrysPy setting; {calculator} ignores it (fixed 30-FWHM window, EB-76): leave it out", + ("instrument", "broadening", "cutoff_fwhm"), profile.cutoff_fwhm, calculator=calculator)) + _raise(type(self).__name__, problems) + return self + + +class EasydiffractionRietveldRecipe(CoreRecipe): + """An ``easydiffraction.rietveld`` recipe.""" + + schema_name: Literal["easydiffraction.rietveld"] + payload: RietveldPayload + + @model_validator(mode="after") + def _versions(self) -> "EasydiffractionRietveldRecipe": + check_engine_schema_version(self.core_schema_version, self.engine_schema_version, + gateway="easydiffraction", capabilities=DECLARATIONS) + return self + + +_RECIPE_MODELS = {"easydiffraction.rietveld": EasydiffractionRietveldRecipe} + + +def is_native_recipe(recipe) -> bool: + """True for an ``easydiffraction.*`` recipe (dict or model); any such name counts, so a typo is reported natively.""" + if isinstance(recipe, EasydiffractionRietveldRecipe): + return True + name = recipe.get("schema_name") if isinstance(recipe, dict) else None + return isinstance(name, str) and name.startswith("easydiffraction.") + + +def validate_recipe(recipe) -> EasydiffractionRietveldRecipe: + """Validate an ``easydiffraction.*`` recipe (dict or model); return the model (idempotent, A50).""" + if isinstance(recipe, EasydiffractionRietveldRecipe): + return recipe + if not isinstance(recipe, dict): + return EasydiffractionRietveldRecipe.model_validate(recipe) + model = _RECIPE_MODELS.get(recipe.get("schema_name")) + if model is None: + raise ValidationError.from_exception_data("EasydiffractionRecipe", [InitErrorDetails( + type=PydanticCustomError("schema_name", "schema_name '{name}' is not an easydiffraction workflow; " + "expected one of {names}", + {"name": recipe.get("schema_name"), "names": ", ".join(SCHEMA_NAMES)}), + loc=("schema_name",), input=recipe.get("schema_name"))]) + return model.model_validate(recipe) + + +def json_schema(schema_name: str) -> dict: + """The JSON Schema of one easydiffraction workflow.""" + return _RECIPE_MODELS[schema_name].model_json_schema() diff --git a/src/powderline/gateways/easydiffraction/space_group_table.py b/src/powderline/gateways/easydiffraction/space_group_table.py new file mode 100644 index 0000000..ccc887b --- /dev/null +++ b/src/powderline/gateways/easydiffraction/space_group_table.py @@ -0,0 +1,542 @@ +"""easydiffraction space-group names for core's canonical settings (generated; do not edit). + +Generated by ``scripts/generate_easydiffraction_space_groups.py`` from easydiffraction +0.21.1: gemmi's canonical extended H-M name -> easydiffraction +``(name_h_m, coord_system_code, is_default_code)`` with the same symmetry operations; +``is_default_code``: the code is the one a structure takes when only the name is set. +Settings missing here have no easydiffraction equivalent (EB-42). +""" + +SPACE_GROUPS: dict[str, tuple[str, str, bool]] = { + 'P 1': ('P 1', '', True), + 'P -1': ('P -1', '', True), + 'P 1 2 1': ('P 2', 'b1', True), + 'P 1 1 2': ('P 2', 'c1', False), + 'P 2 1 1': ('P 2', 'a1', False), + 'P 1 21 1': ('P 21', 'b1', True), + 'P 1 1 21': ('P 21', 'c1', False), + 'P 21 1 1': ('P 21', 'a1', False), + 'C 1 2 1': ('C 2', 'b1', True), + 'A 1 2 1': ('C 2', 'b2', False), + 'I 1 2 1': ('C 2', 'b3', False), + 'A 1 1 2': ('C 2', 'c1', False), + 'B 1 1 2': ('C 2', 'c2', False), + 'I 1 1 2': ('C 2', 'c3', False), + 'B 2 1 1': ('C 2', 'a1', False), + 'C 2 1 1': ('C 2', 'a2', False), + 'I 2 1 1': ('C 2', 'a3', False), + 'P 1 m 1': ('P m', 'b1', True), + 'P 1 1 m': ('P m', 'c1', False), + 'P m 1 1': ('P m', 'a1', False), + 'P 1 c 1': ('P c', 'b1', True), + 'P 1 n 1': ('P c', 'b2', False), + 'P 1 a 1': ('P c', 'b3', False), + 'P 1 1 a': ('P c', 'c1', False), + 'P 1 1 n': ('P c', 'c2', False), + 'P 1 1 b': ('P c', 'c3', False), + 'P b 1 1': ('P c', 'a1', False), + 'P n 1 1': ('P c', 'a2', False), + 'P c 1 1': ('P c', 'a3', False), + 'C 1 m 1': ('C m', 'b1', True), + 'A 1 m 1': ('C m', 'b2', False), + 'I 1 m 1': ('C m', 'b3', False), + 'A 1 1 m': ('C m', 'c1', False), + 'B 1 1 m': ('C m', 'c2', False), + 'I 1 1 m': ('C m', 'c3', False), + 'B m 1 1': ('C m', 'a1', False), + 'C m 1 1': ('C m', 'a2', False), + 'I m 1 1': ('C m', 'a3', False), + 'C 1 c 1': ('C c', 'b1', True), + 'A 1 n 1': ('C c', 'b2', False), + 'I 1 a 1': ('C c', 'b3', False), + 'A 1 a 1': ('C c', '-b1', False), + 'C 1 n 1': ('C c', '-b2', False), + 'I 1 c 1': ('C c', '-b3', False), + 'A 1 1 a': ('C c', 'c1', False), + 'B 1 1 n': ('C c', 'c2', False), + 'I 1 1 b': ('C c', 'c3', False), + 'B 1 1 b': ('C c', '-c1', False), + 'A 1 1 n': ('C c', '-c2', False), + 'I 1 1 a': ('C c', '-c3', False), + 'B b 1 1': ('C c', 'a1', False), + 'C n 1 1': ('C c', 'a2', False), + 'I c 1 1': ('C c', 'a3', False), + 'C c 1 1': ('C c', '-a1', False), + 'B n 1 1': ('C c', '-a2', False), + 'I b 1 1': ('C c', '-a3', False), + 'P 1 2/m 1': ('P 2/m', 'b1', True), + 'P 1 1 2/m': ('P 2/m', 'c1', False), + 'P 2/m 1 1': ('P 2/m', 'a1', False), + 'P 1 21/m 1': ('P 21/m', 'b1', True), + 'P 1 1 21/m': ('P 21/m', 'c1', False), + 'P 21/m 1 1': ('P 21/m', 'a1', False), + 'C 1 2/m 1': ('C 2/m', 'b1', True), + 'A 1 2/m 1': ('C 2/m', 'b2', False), + 'I 1 2/m 1': ('C 2/m', 'b3', False), + 'A 1 1 2/m': ('C 2/m', 'c1', False), + 'B 1 1 2/m': ('C 2/m', 'c2', False), + 'I 1 1 2/m': ('C 2/m', 'c3', False), + 'B 2/m 1 1': ('C 2/m', 'a1', False), + 'C 2/m 1 1': ('C 2/m', 'a2', False), + 'I 2/m 1 1': ('C 2/m', 'a3', False), + 'P 1 2/c 1': ('P 2/c', 'b1', True), + 'P 1 2/n 1': ('P 2/c', 'b2', False), + 'P 1 2/a 1': ('P 2/c', 'b3', False), + 'P 1 1 2/a': ('P 2/c', 'c1', False), + 'P 1 1 2/n': ('P 2/c', 'c2', False), + 'P 1 1 2/b': ('P 2/c', 'c3', False), + 'P 2/b 1 1': ('P 2/c', 'a1', False), + 'P 2/n 1 1': ('P 2/c', 'a2', False), + 'P 2/c 1 1': ('P 2/c', 'a3', False), + 'P 1 21/c 1': ('P 21/c', 'b1', True), + 'P 1 21/n 1': ('P 21/c', 'b2', False), + 'P 1 21/a 1': ('P 21/c', 'b3', False), + 'P 1 1 21/a': ('P 21/c', 'c1', False), + 'P 1 1 21/n': ('P 21/c', 'c2', False), + 'P 1 1 21/b': ('P 21/c', 'c3', False), + 'P 21/b 1 1': ('P 21/c', 'a1', False), + 'P 21/n 1 1': ('P 21/c', 'a2', False), + 'P 21/c 1 1': ('P 21/c', 'a3', False), + 'C 1 2/c 1': ('C 2/c', 'b1', True), + 'A 1 2/n 1': ('C 2/c', 'b2', False), + 'I 1 2/a 1': ('C 2/c', 'b3', False), + 'A 1 2/a 1': ('C 2/c', '-b1', False), + 'C 1 2/n 1': ('C 2/c', '-b2', False), + 'I 1 2/c 1': ('C 2/c', '-b3', False), + 'A 1 1 2/a': ('C 2/c', 'c1', False), + 'B 1 1 2/n': ('C 2/c', 'c2', False), + 'I 1 1 2/b': ('C 2/c', 'c3', False), + 'B 1 1 2/b': ('C 2/c', '-c1', False), + 'A 1 1 2/n': ('C 2/c', '-c2', False), + 'I 1 1 2/a': ('C 2/c', '-c3', False), + 'B 2/b 1 1': ('C 2/c', 'a1', False), + 'C 2/n 1 1': ('C 2/c', 'a2', False), + 'I 2/c 1 1': ('C 2/c', 'a3', False), + 'C 2/c 1 1': ('C 2/c', '-a1', False), + 'B 2/n 1 1': ('C 2/c', '-a2', False), + 'I 2/b 1 1': ('C 2/c', '-a3', False), + 'P 2 2 2': ('P 2 2 2', 'abc', True), + 'P 2 2 21': ('P 2 2 21', 'abc', True), + 'P 21 2 2': ('P 2 2 21', 'cab', False), + 'P 2 21 2': ('P 2 2 21', 'bca', False), + 'P 21 21 2': ('P 21 21 2', 'abc', True), + 'P 2 21 21': ('P 21 21 2', 'cab', False), + 'P 21 2 21': ('P 21 21 2', 'bca', False), + 'P 21 21 21': ('P 21 21 21', 'abc', True), + 'C 2 2 21': ('C 2 2 21', 'abc', True), + 'A 21 2 2': ('C 2 2 21', 'cab', False), + 'B 2 21 2': ('C 2 2 21', 'bca', False), + 'C 2 2 2': ('C 2 2 2', 'abc', True), + 'A 2 2 2': ('C 2 2 2', 'cab', False), + 'B 2 2 2': ('C 2 2 2', 'bca', False), + 'F 2 2 2': ('F 2 2 2', 'abc', True), + 'I 2 2 2': ('I 2 2 2', 'abc', True), + 'I 21 21 21': ('I 21 21 21', 'abc', True), + 'P m m 2': ('P m m 2', 'abc', True), + 'P 2 m m': ('P m m 2', 'cab', False), + 'P m 2 m': ('P m m 2', 'bca', False), + 'P m c 21': ('P m c 21', 'abc', True), + 'P c m 21': ('P m c 21', 'ba-c', False), + 'P 21 m a': ('P m c 21', 'cab', False), + 'P 21 a m': ('P m c 21', '-cba', False), + 'P b 21 m': ('P m c 21', 'bca', False), + 'P m 21 b': ('P m c 21', 'a-cb', False), + 'P c c 2': ('P c c 2', 'abc', True), + 'P 2 a a': ('P c c 2', 'cab', False), + 'P b 2 b': ('P c c 2', 'bca', False), + 'P m a 2': ('P m a 2', 'abc', True), + 'P b m 2': ('P m a 2', 'ba-c', False), + 'P 2 m b': ('P m a 2', 'cab', False), + 'P 2 c m': ('P m a 2', '-cba', False), + 'P c 2 m': ('P m a 2', 'bca', False), + 'P m 2 a': ('P m a 2', 'a-cb', False), + 'P c a 21': ('P c a 21', 'abc', True), + 'P b c 21': ('P c a 21', 'ba-c', False), + 'P 21 a b': ('P c a 21', 'cab', False), + 'P 21 c a': ('P c a 21', '-cba', False), + 'P c 21 b': ('P c a 21', 'bca', False), + 'P b 21 a': ('P c a 21', 'a-cb', False), + 'P n c 2': ('P n c 2', 'abc', True), + 'P c n 2': ('P n c 2', 'ba-c', False), + 'P 2 n a': ('P n c 2', 'cab', False), + 'P 2 a n': ('P n c 2', '-cba', False), + 'P b 2 n': ('P n c 2', 'bca', False), + 'P n 2 b': ('P n c 2', 'a-cb', False), + 'P m n 21': ('P m n 21', 'abc', True), + 'P n m 21': ('P m n 21', 'ba-c', False), + 'P 21 m n': ('P m n 21', 'cab', False), + 'P 21 n m': ('P m n 21', '-cba', False), + 'P n 21 m': ('P m n 21', 'bca', False), + 'P m 21 n': ('P m n 21', 'a-cb', False), + 'P b a 2': ('P b a 2', 'abc', True), + 'P 2 c b': ('P b a 2', 'cab', False), + 'P c 2 a': ('P b a 2', 'bca', False), + 'P n a 21': ('P n a 21', 'abc', True), + 'P b n 21': ('P n a 21', 'ba-c', False), + 'P 21 n b': ('P n a 21', 'cab', False), + 'P 21 c n': ('P n a 21', '-cba', False), + 'P c 21 n': ('P n a 21', 'bca', False), + 'P n 21 a': ('P n a 21', 'a-cb', False), + 'P n n 2': ('P n n 2', 'abc', True), + 'P 2 n n': ('P n n 2', 'cab', False), + 'P n 2 n': ('P n n 2', 'bca', False), + 'C m m 2': ('C m m 2', 'abc', True), + 'A 2 m m': ('C m m 2', 'cab', False), + 'B m 2 m': ('C m m 2', 'bca', False), + 'C m c 21': ('C m c 21', 'abc', True), + 'C c m 21': ('C m c 21', 'ba-c', False), + 'A 21 m a': ('C m c 21', 'cab', False), + 'A 21 a m': ('C m c 21', '-cba', False), + 'B b 21 m': ('C m c 21', 'bca', False), + 'B m 21 b': ('C m c 21', 'a-cb', False), + 'C c c 2': ('C c c 2', 'abc', True), + 'A 2 a a': ('C c c 2', 'cab', False), + 'B b 2 b': ('C c c 2', 'bca', False), + 'A m m 2': ('A m m 2', 'abc', True), + 'B m m 2': ('A m m 2', 'ba-c', False), + 'B 2 m m': ('A m m 2', 'cab', False), + 'C 2 m m': ('A m m 2', '-cba', False), + 'C m 2 m': ('A m m 2', 'bca', False), + 'A m 2 m': ('A m m 2', 'a-cb', False), + 'A b m 2': ('A e m 2', 'abc', True), + 'B m a 2': ('A e m 2', 'ba-c', False), + 'B 2 c m': ('A e m 2', 'cab', False), + 'C 2 m b': ('A e m 2', '-cba', False), + 'C m 2 a': ('A e m 2', 'bca', False), + 'A c 2 m': ('A e m 2', 'a-cb', False), + 'A m a 2': ('A m a 2', 'abc', True), + 'B b m 2': ('A m a 2', 'ba-c', False), + 'B 2 m b': ('A m a 2', 'cab', False), + 'C 2 c m': ('A m a 2', '-cba', False), + 'C c 2 m': ('A m a 2', 'bca', False), + 'A m 2 a': ('A m a 2', 'a-cb', False), + 'A b a 2': ('A e a 2', 'abc', True), + 'B b a 2': ('A e a 2', 'ba-c', False), + 'B 2 c b': ('A e a 2', 'cab', False), + 'C 2 c b': ('A e a 2', '-cba', False), + 'C c 2 a': ('A e a 2', 'bca', False), + 'A c 2 a': ('A e a 2', 'a-cb', False), + 'F m m 2': ('F m m 2', 'abc', True), + 'F 2 m m': ('F m m 2', 'cab', False), + 'F m 2 m': ('F m m 2', 'bca', False), + 'F d d 2': ('F d d 2', 'abc', True), + 'F 2 d d': ('F d d 2', 'cab', False), + 'F d 2 d': ('F d d 2', 'bca', False), + 'I m m 2': ('I m m 2', 'abc', True), + 'I 2 m m': ('I m m 2', 'cab', False), + 'I m 2 m': ('I m m 2', 'bca', False), + 'I b a 2': ('I b a 2', 'abc', True), + 'I 2 c b': ('I b a 2', 'cab', False), + 'I c 2 a': ('I b a 2', 'bca', False), + 'I m a 2': ('I m a 2', 'abc', True), + 'I b m 2': ('I m a 2', 'ba-c', False), + 'I 2 m b': ('I m a 2', 'cab', False), + 'I 2 c m': ('I m a 2', '-cba', False), + 'I c 2 m': ('I m a 2', 'bca', False), + 'I m 2 a': ('I m a 2', 'a-cb', False), + 'P m m m': ('P m m m', 'abc', True), + 'P n n n:1': ('P n n n', '1abc', True), + 'P n n n:2': ('P n n n', '2abc', False), + 'P c c m': ('P c c m', 'abc', True), + 'P m a a': ('P c c m', 'cab', False), + 'P b m b': ('P c c m', 'bca', False), + 'P b a n:1': ('P b a n', '1abc', True), + 'P b a n:2': ('P b a n', '2abc', False), + 'P n c b:1': ('P b a n', '1cab', False), + 'P n c b:2': ('P b a n', '2cab', False), + 'P c n a:1': ('P b a n', '1bca', False), + 'P c n a:2': ('P b a n', '2bca', False), + 'P m m a': ('P m m a', 'abc', True), + 'P m m b': ('P m m a', 'ba-c', False), + 'P b m m': ('P m m a', 'cab', False), + 'P c m m': ('P m m a', '-cba', False), + 'P m c m': ('P m m a', 'bca', False), + 'P m a m': ('P m m a', 'a-cb', False), + 'P n n a': ('P n n a', 'abc', True), + 'P n n b': ('P n n a', 'ba-c', False), + 'P b n n': ('P n n a', 'cab', False), + 'P c n n': ('P n n a', '-cba', False), + 'P n c n': ('P n n a', 'bca', False), + 'P n a n': ('P n n a', 'a-cb', False), + 'P m n a': ('P m n a', 'abc', True), + 'P n m b': ('P m n a', 'ba-c', False), + 'P b m n': ('P m n a', 'cab', False), + 'P c n m': ('P m n a', '-cba', False), + 'P n c m': ('P m n a', 'bca', False), + 'P m a n': ('P m n a', 'a-cb', False), + 'P c c a': ('P c c a', 'abc', True), + 'P c c b': ('P c c a', 'ba-c', False), + 'P b a a': ('P c c a', 'cab', False), + 'P c a a': ('P c c a', '-cba', False), + 'P b c b': ('P c c a', 'bca', False), + 'P b a b': ('P c c a', 'a-cb', False), + 'P b a m': ('P b a m', 'abc', True), + 'P m c b': ('P b a m', 'cab', False), + 'P c m a': ('P b a m', 'bca', False), + 'P c c n': ('P c c n', 'abc', True), + 'P n a a': ('P c c n', 'cab', False), + 'P b n b': ('P c c n', 'bca', False), + 'P b c m': ('P b c m', 'abc', True), + 'P c a m': ('P b c m', 'ba-c', False), + 'P m c a': ('P b c m', 'cab', False), + 'P m a b': ('P b c m', '-cba', False), + 'P b m a': ('P b c m', 'bca', False), + 'P c m b': ('P b c m', 'a-cb', False), + 'P n n m': ('P n n m', 'abc', True), + 'P m n n': ('P n n m', 'cab', False), + 'P n m n': ('P n n m', 'bca', False), + 'P m m n:1': ('P m m n', '1abc', True), + 'P m m n:2': ('P m m n', '2abc', False), + 'P n m m:1': ('P m m n', '1cab', False), + 'P n m m:2': ('P m m n', '2cab', False), + 'P m n m:1': ('P m m n', '1bca', False), + 'P m n m:2': ('P m m n', '2bca', False), + 'P b c n': ('P b c n', 'abc', True), + 'P c a n': ('P b c n', 'ba-c', False), + 'P n c a': ('P b c n', 'cab', False), + 'P n a b': ('P b c n', '-cba', False), + 'P b n a': ('P b c n', 'bca', False), + 'P c n b': ('P b c n', 'a-cb', False), + 'P b c a': ('P b c a', 'abc', True), + 'P c a b': ('P b c a', 'ba-c', False), + 'P n m a': ('P n m a', 'abc', True), + 'P m n b': ('P n m a', 'ba-c', False), + 'P b n m': ('P n m a', 'cab', False), + 'P c m n': ('P n m a', '-cba', False), + 'P m c n': ('P n m a', 'bca', False), + 'P n a m': ('P n m a', 'a-cb', False), + 'C m c m': ('C m c m', 'abc', True), + 'C c m m': ('C m c m', 'ba-c', False), + 'A m m a': ('C m c m', 'cab', False), + 'A m a m': ('C m c m', '-cba', False), + 'B b m m': ('C m c m', 'bca', False), + 'B m m b': ('C m c m', 'a-cb', False), + 'C m c a': ('C m c e', 'abc', True), + 'C c m b': ('C m c e', 'ba-c', False), + 'A b m a': ('C m c e', 'cab', False), + 'A c a m': ('C m c e', '-cba', False), + 'B b c m': ('C m c e', 'bca', False), + 'B m a b': ('C m c e', 'a-cb', False), + 'C m m m': ('C m m m', 'abc', True), + 'A m m m': ('C m m m', 'cab', False), + 'B m m m': ('C m m m', 'bca', False), + 'C c c m': ('C c c m', 'abc', True), + 'A m a a': ('C c c m', 'cab', False), + 'B b m b': ('C c c m', 'bca', False), + 'C m m a': ('C m m e', 'abc', True), + 'C m m b': ('C m m e', 'ba-c', False), + 'A b m m': ('C m m e', 'cab', False), + 'A c m m': ('C m m e', '-cba', False), + 'B m c m': ('C m m e', 'bca', False), + 'B m a m': ('C m m e', 'a-cb', False), + 'C c c a:1': ('C c c e', '1abc', True), + 'C c c a:2': ('C c c e', '2abc', False), + 'C c c b:1': ('C c c e', '1abc', True), + 'C c c b:2': ('C c c e', '2ba-c', False), + 'A b a a:1': ('C c c e', '1cab', False), + 'A b a a:2': ('C c c e', '2cab', False), + 'A c a a:1': ('C c c e', '1cab', False), + 'A c a a:2': ('C c c e', '2-cba', False), + 'B b c b:1': ('C c c e', '1bca', False), + 'B b c b:2': ('C c c e', '2bca', False), + 'B b a b:1': ('C c c e', '1bca', False), + 'B b a b:2': ('C c c e', '2a-cb', False), + 'F m m m': ('F m m m', 'abc', True), + 'F d d d:1': ('F d d d', '1abc', True), + 'F d d d:2': ('F d d d', '2abc', False), + 'I m m m': ('I m m m', 'abc', True), + 'I b a m': ('I b a m', 'abc', True), + 'I m c b': ('I b a m', 'cab', False), + 'I c m a': ('I b a m', 'bca', False), + 'I b c a': ('I b c a', 'abc', True), + 'I c a b': ('I b c a', 'ba-c', False), + 'I m m a': ('I m m a', 'abc', True), + 'I m m b': ('I m m a', 'ba-c', False), + 'I b m m': ('I m m a', 'cab', False), + 'I c m m': ('I m m a', '-cba', False), + 'I m c m': ('I m m a', 'bca', False), + 'I m a m': ('I m m a', 'a-cb', False), + 'P 4': ('P 4', '1', True), + 'P 41': ('P 41', '1', True), + 'P 42': ('P 42', '1', True), + 'P 43': ('P 43', '1', True), + 'I 4': ('I 4', '1', True), + 'I 41': ('I 41', '1', True), + 'P -4': ('P -4', '1', True), + 'I -4': ('I -4', '1', True), + 'P 4/m': ('P 4/m', '1', True), + 'P 42/m': ('P 42/m', '1', True), + 'P 4/n:1': ('P 4/n', '1', False), + 'P 4/n:2': ('P 4/n', '2', True), + 'P 42/n:1': ('P 42/n', '1', False), + 'P 42/n:2': ('P 42/n', '2', True), + 'I 4/m': ('I 4/m', '1', True), + 'I 41/a:1': ('I 41/a', '1', False), + 'I 41/a:2': ('I 41/a', '2', True), + 'P 4 2 2': ('P 4 2 2', '1', True), + 'P 4 21 2': ('P 4 21 2', '1', True), + 'P 41 2 2': ('P 41 2 2', '1', True), + 'P 41 21 2': ('P 41 21 2', '1', True), + 'P 42 2 2': ('P 42 2 2', '1', True), + 'P 42 21 2': ('P 42 21 2', '1', True), + 'P 43 2 2': ('P 43 2 2', '1', True), + 'P 43 21 2': ('P 43 21 2', '1', True), + 'I 4 2 2': ('I 4 2 2', '1', True), + 'I 41 2 2': ('I 41 2 2', '1', True), + 'P 4 m m': ('P 4 m m', '1', True), + 'P 4 b m': ('P 4 b m', '1', True), + 'P 42 c m': ('P 42 c m', '1', True), + 'P 42 n m': ('P 42 n m', '1', True), + 'P 4 c c': ('P 4 c c', '1', True), + 'P 4 n c': ('P 4 n c', '1', True), + 'P 42 m c': ('P 42 m c', '1', True), + 'P 42 b c': ('P 42 b c', '1', True), + 'I 4 m m': ('I 4 m m', '1', True), + 'I 4 c m': ('I 4 c m', '1', True), + 'I 41 m d': ('I 41 m d', '1', True), + 'I 41 c d': ('I 41 c d', '1', True), + 'P -4 2 m': ('P -4 2 m', '1', True), + 'P -4 2 c': ('P -4 2 c', '1', True), + 'P -4 21 m': ('P -4 21 m', '1', True), + 'P -4 21 c': ('P -4 21 c', '1', True), + 'P -4 m 2': ('P -4 m 2', '1', True), + 'P -4 c 2': ('P -4 c 2', '1', True), + 'P -4 b 2': ('P -4 b 2', '1', True), + 'P -4 n 2': ('P -4 n 2', '1', True), + 'I -4 m 2': ('I -4 m 2', '1', True), + 'I -4 c 2': ('I -4 c 2', '1', True), + 'I -4 2 m': ('I -4 2 m', '1', True), + 'I -4 2 d': ('I -4 2 d', '1', True), + 'P 4/m m m': ('P 4/m m m', '1', True), + 'P 4/m c c': ('P 4/m c c', '1', True), + 'P 4/n b m:1': ('P 4/n b m', '1', False), + 'P 4/n b m:2': ('P 4/n b m', '2', True), + 'P 4/n n c:1': ('P 4/n n c', '1', False), + 'P 4/n n c:2': ('P 4/n n c', '2', True), + 'P 4/m b m': ('P 4/m b m', '1', True), + 'P 4/m n c': ('P 4/m n c', '1', True), + 'P 4/n m m:1': ('P 4/n m m', '1', False), + 'P 4/n m m:2': ('P 4/n m m', '2', True), + 'P 4/n c c:1': ('P 4/n c c', '1', False), + 'P 4/n c c:2': ('P 4/n c c', '2', True), + 'P 42/m m c': ('P 42/m m c', '1', True), + 'P 42/m c m': ('P 42/m c m', '1', True), + 'P 42/n b c:1': ('P 42/n b c', '1', False), + 'P 42/n b c:2': ('P 42/n b c', '2', True), + 'P 42/n n m:1': ('P 42/n n m', '1', False), + 'P 42/n n m:2': ('P 42/n n m', '2', True), + 'P 42/m b c': ('P 42/m b c', '1', True), + 'P 42/m n m': ('P 42/m n m', '1', True), + 'P 42/n m c:1': ('P 42/n m c', '1', False), + 'P 42/n m c:2': ('P 42/n m c', '2', True), + 'P 42/n c m:1': ('P 42/n c m', '1', False), + 'P 42/n c m:2': ('P 42/n c m', '2', True), + 'I 4/m m m': ('I 4/m m m', '1', True), + 'I 4/m c m': ('I 4/m c m', '1', True), + 'I 41/a m d:1': ('I 41/a m d', '1', False), + 'I 41/a m d:2': ('I 41/a m d', '2', True), + 'I 41/a c d:1': ('I 41/a c d', '1', False), + 'I 41/a c d:2': ('I 41/a c d', '2', True), + 'P 3': ('P 3', 'h', True), + 'P 31': ('P 31', 'h', True), + 'P 32': ('P 32', 'h', True), + 'R 3:H': ('R 3', 'h', True), + 'R 3:R': ('R 3', 'r', False), + 'P -3': ('P -3', 'h', True), + 'R -3:H': ('R -3', 'h', True), + 'R -3:R': ('R -3', 'r', False), + 'P 3 1 2': ('P 3 1 2', 'h', True), + 'P 3 2 1': ('P 3 2 1', 'h', True), + 'P 31 1 2': ('P 31 1 2', 'h', True), + 'P 31 2 1': ('P 31 2 1', 'h', True), + 'P 32 1 2': ('P 32 1 2', 'h', True), + 'P 32 2 1': ('P 32 2 1', 'h', True), + 'R 3 2:H': ('R 3 2', 'h', True), + 'R 3 2:R': ('R 3 2', 'r', False), + 'P 3 m 1': ('P 3 m 1', 'h', True), + 'P 3 1 m': ('P 3 1 m', 'h', True), + 'P 3 c 1': ('P 3 c 1', 'h', True), + 'P 3 1 c': ('P 3 1 c', 'h', True), + 'R 3 m:H': ('R 3 m', 'h', True), + 'R 3 m:R': ('R 3 m', 'r', False), + 'R 3 c:H': ('R 3 c', 'h', True), + 'R 3 c:R': ('R 3 c', 'r', False), + 'P -3 1 m': ('P -3 1 m', 'h', True), + 'P -3 1 c': ('P -3 1 c', 'h', True), + 'P -3 m 1': ('P -3 m 1', 'h', True), + 'P -3 c 1': ('P -3 c 1', 'h', True), + 'R -3 m:H': ('R -3 m', 'h', True), + 'R -3 m:R': ('R -3 m', 'r', False), + 'R -3 c:H': ('R -3 c', 'h', True), + 'R -3 c:R': ('R -3 c', 'r', False), + 'P 6': ('P 6', 'h', True), + 'P 61': ('P 61', 'h', True), + 'P 65': ('P 65', 'h', True), + 'P 62': ('P 62', 'h', True), + 'P 64': ('P 64', 'h', True), + 'P 63': ('P 63', 'h', True), + 'P -6': ('P -6', 'h', True), + 'P 6/m': ('P 6/m ', 'h', True), + 'P 63/m': ('P 63/m', 'h', True), + 'P 6 2 2': ('P 6 2 2', 'h', True), + 'P 61 2 2': ('P 61 2 2', 'h', True), + 'P 65 2 2': ('P 65 2 2', 'h', True), + 'P 62 2 2': ('P 62 2 2', 'h', True), + 'P 64 2 2': ('P 64 2 2', 'h', True), + 'P 63 2 2': ('P 63 2 2', 'h', True), + 'P 6 m m': ('P 6 m m', 'h', True), + 'P 6 c c': ('P 6 c c', 'h', True), + 'P 63 c m': ('P 63 c m', 'h', True), + 'P 63 m c': ('P 63 m c', 'h', True), + 'P -6 m 2': ('P -6 m 2', 'h', True), + 'P -6 c 2': ('P -6 c 2', 'h', True), + 'P -6 2 m': ('P -6 2 m', 'h', True), + 'P -6 2 c': ('P -6 2 c', 'h', True), + 'P 6/m m m': ('P 6/m m m', 'h', True), + 'P 6/m c c': ('P 6/m c c', 'h', True), + 'P 63/m c m': ('P 63/m c m', 'h', True), + 'P 63/m m c': ('P 63/m m c', 'h', True), + 'P 2 3': ('P 2 3', '1', True), + 'F 2 3': ('F 2 3', '1', True), + 'I 2 3': ('I 2 3', '1', True), + 'P 21 3': ('P 21 3', '1', True), + 'I 21 3': ('I 21 3', '1', True), + 'P m -3': ('P m -3', '1', True), + 'P n -3:1': ('P n -3', '1', False), + 'P n -3:2': ('P n -3', '2', True), + 'F m -3': ('F m -3', '1', True), + 'F d -3:1': ('F d -3', '1', False), + 'F d -3:2': ('F d -3', '2', True), + 'I m -3': ('I m -3', '1', True), + 'P a -3': ('P a -3', '1', True), + 'I a -3': ('I a -3', '1', True), + 'P 4 3 2': ('P 4 3 2', '1', True), + 'P 42 3 2': ('P 42 3 2', '1', True), + 'F 4 3 2': ('F 4 3 2', '1', True), + 'F 41 3 2': ('F 41 3 2', '1', True), + 'I 4 3 2': ('I 4 3 2', '1', True), + 'P 43 3 2': ('P 43 3 2', '1', True), + 'P 41 3 2': ('P 41 3 2', '1', True), + 'I 41 3 2': ('I 41 3 2', '1', True), + 'P -4 3 m': ('P -4 3 m', '1', True), + 'F -4 3 m': ('F -4 3 m', '1', True), + 'I -4 3 m': ('I -4 3 m', '1', True), + 'P -4 3 n': ('P -4 3 n', '1', True), + 'F -4 3 c': ('F -4 3 c', '1', True), + 'I -4 3 d': ('I -4 3 d', '1', True), + 'P m -3 m': ('P m -3 m', '1', True), + 'P n -3 n:1': ('P n -3 n', '1', False), + 'P n -3 n:2': ('P n -3 n', '2', True), + 'P m -3 n': ('P m -3 n', '1', True), + 'P n -3 m:1': ('P n -3 m', '1', False), + 'P n -3 m:2': ('P n -3 m', '2', True), + 'F m -3 m': ('F m -3 m', '1', True), + 'F m -3 c': ('F m -3 c', '1', True), + 'F d -3 m:1': ('F d -3 m', '1', False), + 'F d -3 m:2': ('F d -3 m', '2', True), + 'F d -3 c:1': ('F d -3 c', '1', False), + 'F d -3 c:2': ('F d -3 c', '2', True), + 'I m -3 m': ('I m -3 m', '1', True), + 'I a -3 d': ('I a -3 d', '1', True), + 'A b a m': ('C m c e', '-cba', False), +} diff --git a/tests/data/easydiffraction/native/README.md b/tests/data/easydiffraction/native/README.md new file mode 100644 index 0000000..d0eda94 --- /dev/null +++ b/tests/data/easydiffraction/native/README.md @@ -0,0 +1,48 @@ +# Native `easydiffraction.*` test fixtures (easydiffraction 0.21.1) + +Hand-derived recipes for the native easydiffraction schema (A137, A157 B8). +They are not converted recipes: PowderLine ships no 0.26.0 → +`easydiffraction.*` converter. The data arrays are the committed LaB6 example's +(`examples/example_LaB6_easydiff`); the values are worked out as below. + +| Fixture | What it is | +|---|---| +| `lab6_crysfml_tch.json` | LaB6, CrysFML, Thompson-Cox-Hastings with FCJ axial asymmetry (fixed); U, V, W, X, Y, cell, scale and a 6-term Chebyshev refined; window [1, 15] | +| `lab6_cryspy_pv.json` | LaB6, CrysPy, pseudo-Voigt (no asymmetry); the same refinement | +| `lab6_slots_simulation.json` | Calculation only (no flag set), CrysPy, every instrument slot: Kα2 doublet, polarization with a monochromator angle, displacement, transparency, cylinder absorption, Bérar–Baldinozzi asymmetry, a peak cutoff. Exercises the builder; not a physical model | + +## Derivations (from the example's GSAS-II instrument parameters) + +- **Gaussian widths.** GSAS-II's U, V, W give the Gaussian *variance* σ² in + centidegrees² (σ² = U tan²θ + V tanθ + W); easydiffraction's + `broad_gauss_u/v/w` give the Gaussian *FWHM²* in degrees². So + `broad_gauss_u` = 8 ln2 · U_GSAS / 10⁴ (V, W likewise). +- **Lorentzian widths.** GSAS-II's Lorentzian FWHM is X/cosθ + Y tanθ + (centidegrees); easydiffraction's (CrysPy `calc_h_l`) is X tanθ + Y/cosθ + (degrees). The roles swap: `broad_lorentz_x` = Y_GSAS / 100, + `broad_lorentz_y` = X_GSAS / 100. (The legacy 0.26.0 builder copies X to X and + Y to Y; a deliberate change.) +- **Polarization.** GSAS-II's factor at azimuth 0 is (1 − P) cos²2θ + P + (`GSASIIpwd.Polarization`); easydiffraction's is 1 − p + p cos²2θ_m cos²2θ + (`analysis/corrections/polarization.py`). With 2θ_m = 0 they agree for + p = 1 − P: the example's P = 0.99 is p = 0.01. (The legacy builder sets + p = P; a deliberate change.) +- **Zero.** GSAS-II's `Zero` (centidegrees) / 100 = `calib_twotheta_offset` + (degrees); the example's is 0. +- **Axial asymmetry (TCH fixture).** GSAS-II's SH/L is (S + H)/L + (`GSASIIpwd.getFCJVoigt3` docstring), floored at 0.002 in the Rietveld + calculation (EB-37, A91), so the example's stated 0.0005 ran as 0.002. + The fixture splits that equally, S/L = H/L = 0.001 (`asym_fcj_1`, + `asym_fcj_2`); the equal split is an assumption (GSAS-II's Fortran split is + not visible). The legacy builder sets both to 0.0005. +- **Atoms.** B is written at easydiffraction's template orientation of site 6f, + (0.2021, ½, ½); the example states the equivalent (½, ½, 0.2021). CrysPy + computes wrong structure factors for some equivalent images of a site + (EB-77). +- **Scale and background.** Starting values near the refined ones (scale + 5.4e-6; Chebyshev 30, 0.6, 0.7, −0.4, −0.8, 0.9 over the window). +- **Refinement controls.** easydiffraction 0.21.1's own lmfit defaults + (`max_iterations` = lmfit `max_nfev` 1000; tolerances 1e-8, 1e-8, 0). + +The generator that wrote these files is in the devkit: +`probes/re06/make_native_fixtures.py` (run from the PowderLine root). diff --git a/tests/data/easydiffraction/native/lab6_crysfml_tch.json b/tests/data/easydiffraction/native/lab6_crysfml_tch.json new file mode 100644 index 0000000..2fe3881 --- /dev/null +++ b/tests/data/easydiffraction/native/lab6_crysfml_tch.json @@ -0,0 +1,12518 @@ +{ + "schema_name": "easydiffraction.rietveld", + "core_schema_version": "1.0.0", + "engine_schema_version": "1.0.0", + "payload": { + "xrd_data": { + "tth": [ + 0.6472655703475011, + 0.6509823116902422, + 0.6546990530329833, + 0.6584157943757244, + 0.6621325357184655, + 0.6658492770612067, + 0.6695660184039477, + 0.6732827597466888, + 0.67699950108943, + 0.6807162424321711, + 0.6844329837749121, + 0.6881497251176533, + 0.6918664664603944, + 0.6955832078031355, + 0.6992999491458766, + 0.7030166904886177, + 0.7067334318313588, + 0.7104501731741, + 0.714166914516841, + 0.7178836558595821, + 0.7216003972023233, + 0.7253171385450644, + 0.7290338798878054, + 0.7327506212305466, + 0.7364673625732877, + 0.7401841039160288, + 0.7439008452587699, + 0.747617586601511, + 0.7513343279442521, + 0.7550510692869933, + 0.7587678106297343, + 0.7624845519724754, + 0.7662012933152166, + 0.7699180346579577, + 0.7736347760006987, + 0.7773515173434399, + 0.781068258686181, + 0.7847850000289222, + 0.7885017413716632, + 0.7922184827144042, + 0.7959352240571455, + 0.7996519653998866, + 0.8033687067426276, + 0.8070854480853686, + 0.8108021894281099, + 0.814518930770851, + 0.818235672113592, + 0.8219524134563331, + 0.8256691547990743, + 0.8293858961418155, + 0.8331026374845565, + 0.8368193788272975, + 0.8405361201700388, + 0.8442528615127799, + 0.8479696028555209, + 0.851686344198262, + 0.8554030855410032, + 0.8591198268837443, + 0.8628365682264854, + 0.8665533095692264, + 0.8702700509119676, + 0.8739867922547088, + 0.8777035335974498, + 0.8814202749401908, + 0.8851370162829321, + 0.8888537576256732, + 0.8925704989684142, + 0.8962872403111553, + 0.9000039816538965, + 0.9037207229966376, + 0.9074374643393786, + 0.9111542056821197, + 0.9148709470248608, + 0.9185876883676021, + 0.9223044297103432, + 0.9260211710530841, + 0.9297379123958253, + 0.9334546537385665, + 0.9371713950813074, + 0.9408881364240486, + 0.9446048777667897, + 0.9483216191095309, + 0.9520383604522721, + 0.955755101795013, + 0.9594718431377541, + 0.9631885844804954, + 0.9669053258232363, + 0.9706220671659774, + 0.9743388085087186, + 0.9780555498514598, + 0.981772291194201, + 0.9854890325369419, + 0.989205773879683, + 0.9929225152224243, + 0.9966392565651652, + 1.0003559979079064, + 1.0040727392506474, + 1.0077894805933887, + 1.0115062219361297, + 1.0152229632788707, + 1.018939704621612, + 1.022656445964353, + 1.026373187307094, + 1.0300899286498353, + 1.0338066699925763, + 1.0375234113353176, + 1.0412401526780586, + 1.0449568940207996, + 1.0486736353635409, + 1.0523903767062819, + 1.056107118049023, + 1.0598238593917642, + 1.0635406007345052, + 1.0672573420772464, + 1.0709740834199875, + 1.0746908247627285, + 1.0784075661054697, + 1.0821243074482108, + 1.0858410487909518, + 1.089557790133693, + 1.093274531476434, + 1.0969912728191753, + 1.1007080141619163, + 1.1044247555046574, + 1.1081414968473986, + 1.1118582381901396, + 1.1155749795328807, + 1.1192917208756217, + 1.123008462218363, + 1.1267252035611042, + 1.1304419449038452, + 1.1341586862465862, + 1.1378754275893275, + 1.1415921689320685, + 1.1453089102748095, + 1.1490256516175505, + 1.1527423929602918, + 1.156459134303033, + 1.160175875645774, + 1.163892616988515, + 1.1676093583312563, + 1.1713260996739974, + 1.1750428410167384, + 1.1787595823594794, + 1.1824763237022207, + 1.186193065044962, + 1.189909806387703, + 1.193626547730444, + 1.1973432890731852, + 1.2010600304159262, + 1.2047767717586673, + 1.2084935131014083, + 1.2122102544441495, + 1.2159269957868908, + 1.2196437371296318, + 1.2233604784723728, + 1.227077219815114, + 1.230793961157855, + 1.2345107025005961, + 1.2382274438433372, + 1.2419441851860784, + 1.2456609265288197, + 1.2493776678715607, + 1.2530944092143017, + 1.2568111505570427, + 1.260527891899784, + 1.264244633242525, + 1.267961374585266, + 1.2716781159280073, + 1.2753948572707485, + 1.2791115986134896, + 1.2828283399562306, + 1.2865450812989716, + 1.2902618226417129, + 1.2939785639844539, + 1.297695305327195, + 1.3014120466699362, + 1.3051287880126774, + 1.3088455293554184, + 1.3125622706981595, + 1.3162790120409005, + 1.3199957533836417, + 1.3237124947263827, + 1.3274292360691238, + 1.331145977411865, + 1.3348627187546063, + 1.3385794600973473, + 1.3422962014400883, + 1.3460129427828293, + 1.3497296841255706, + 1.3534464254683116, + 1.3571631668110526, + 1.360879908153794, + 1.364596649496535, + 1.3683133908392762, + 1.3720301321820172, + 1.3757468735247582, + 1.3794636148674995, + 1.3831803562102405, + 1.3868970975529815, + 1.3906138388957228, + 1.3943305802384638, + 1.398047321581205, + 1.401764062923946, + 1.405480804266687, + 1.4091975456094283, + 1.4129142869521694, + 1.4166310282949104, + 1.4203477696376516, + 1.4240645109803927, + 1.427781252323134, + 1.431497993665875, + 1.435214735008616, + 1.4389314763513572, + 1.4426482176940982, + 1.4463649590368393, + 1.4500817003795805, + 1.4537984417223215, + 1.4575151830650628, + 1.4612319244078038, + 1.4649486657505448, + 1.468665407093286, + 1.472382148436027, + 1.4760988897787681, + 1.4798156311215094, + 1.4835323724642504, + 1.4872491138069917, + 1.4909658551497327, + 1.4946825964924737, + 1.498399337835215, + 1.502116079177956, + 1.505832820520697, + 1.5095495618634382, + 1.5132663032061793, + 1.5169830445489205, + 1.5206997858916615, + 1.5244165272344026, + 1.5281332685771438, + 1.5318500099198848, + 1.5355667512626259, + 1.5392834926053671, + 1.5430002339481081, + 1.5467169752908494, + 1.5504337166335904, + 1.5541504579763314, + 1.5578671993190727, + 1.5615839406618137, + 1.5653006820045547, + 1.569017423347296, + 1.572734164690037, + 1.5764509060327783, + 1.5801676473755193, + 1.5838843887182603, + 1.5876011300610016, + 1.5913178714037426, + 1.5950346127464836, + 1.5987513540892249, + 1.6024680954319659, + 1.6061848367747071, + 1.6099015781174482, + 1.6136183194601892, + 1.6173350608029304, + 1.6210518021456712, + 1.6247685434884125, + 1.6284852848311537, + 1.6322020261738948, + 1.635918767516636, + 1.639635508859377, + 1.643352250202118, + 1.6470689915448593, + 1.6507857328876, + 1.6545024742303414, + 1.6582192155730826, + 1.6619359569158236, + 1.6656526982585649, + 1.669369439601306, + 1.673086180944047, + 1.6768029222867882, + 1.680519663629529, + 1.6842364049722702, + 1.6879531463150115, + 1.6916698876577525, + 1.6953866290004938, + 1.6991033703432348, + 1.7028201116859758, + 1.706536853028717, + 1.7102535943714579, + 1.713970335714199, + 1.7176870770569403, + 1.7214038183996814, + 1.7251205597424226, + 1.7288373010851636, + 1.7325540424279047, + 1.736270783770646, + 1.7399875251133867, + 1.743704266456128, + 1.7474210077988692, + 1.7511377491416102, + 1.7548544904843515, + 1.7585712318270923, + 1.7622879731698335, + 1.7660047145125748, + 1.7697214558553156, + 1.7734381971980568, + 1.777154938540798, + 1.7808716798835391, + 1.7845884212262804, + 1.7883051625690212, + 1.7920219039117622, + 1.7957386452545034, + 1.7994553865972445, + 1.8031721279399857, + 1.806888869282727, + 1.810605610625468, + 1.8143223519682092, + 1.8180390933109503, + 1.8217558346536915, + 1.8254725759964328, + 1.8291893173391733, + 1.8329060586819146, + 1.8366228000246558, + 1.8403395413673969, + 1.844056282710138, + 1.847773024052879, + 1.85148976539562, + 1.8552065067383612, + 1.8589232480811022, + 1.8626399894238435, + 1.8663567307665847, + 1.8700734721093257, + 1.873790213452067, + 1.877506954794808, + 1.8812236961375493, + 1.8849404374802903, + 1.888657178823031, + 1.8923739201657723, + 1.8960906615085134, + 1.8998074028512546, + 1.9035241441939958, + 1.9072408855367364, + 1.9109576268794777, + 1.914674368222219, + 1.91839110956496, + 1.9221078509077012, + 1.9258245922504422, + 1.9295413335931835, + 1.9332580749359247, + 1.9369748162786657, + 1.940691557621407, + 1.944408298964148, + 1.9481250403068888, + 1.95184178164963, + 1.955558522992371, + 1.9592752643351123, + 1.9629920056778536, + 1.9667087470205942, + 1.9704254883633354, + 1.9741422297060767, + 1.9778589710488177, + 1.981575712391559, + 1.9852924537343, + 1.9890091950770412, + 1.9927259364197825, + 1.9964426777625235, + 2.0001594191052647, + 2.003876160448006, + 2.007592901790747, + 2.0113096431334876, + 2.015026384476229, + 2.01874312581897, + 2.0224598671617113, + 2.026176608504452, + 2.029893349847193, + 2.033610091189934, + 2.0373268325326754, + 2.0410435738754167, + 2.044760315218158, + 2.0484770565608987, + 2.05219379790364, + 2.0559105392463812, + 2.0596272805891225, + 2.0633440219318637, + 2.0670607632746045, + 2.0707775046173453, + 2.0744942459600866, + 2.078210987302828, + 2.081927728645569, + 2.08564446998831, + 2.0893612113310507, + 2.093077952673792, + 2.096794694016533, + 2.1005114353592744, + 2.1042281767020157, + 2.1079449180447565, + 2.1116616593874977, + 2.115378400730239, + 2.11909514207298, + 2.1228118834157215, + 2.1265286247584623, + 2.130245366101203, + 2.1339621074439443, + 2.1376788487866856, + 2.141395590129427, + 2.1451123314721676, + 2.1488290728149084, + 2.1525458141576497, + 2.156262555500391, + 2.159979296843132, + 2.1636960381858734, + 2.167412779528614, + 2.1711295208713555, + 2.1748462622140967, + 2.178563003556838, + 2.182279744899579, + 2.18599648624232, + 2.189713227585061, + 2.193429968927802, + 2.1971467102705433, + 2.2008634516132846, + 2.2045801929560254, + 2.208296934298766, + 2.2120136756415074, + 2.2157304169842487, + 2.21944715832699, + 2.223163899669731, + 2.226880641012472, + 2.230597382355213, + 2.2343141236979545, + 2.2380308650406957, + 2.241747606383437, + 2.2454643477261778, + 2.2491810890689186, + 2.25289783041166, + 2.256614571754401, + 2.2603313130971423, + 2.264048054439883, + 2.267764795782624, + 2.271481537125365, + 2.2751982784681064, + 2.2789150198108477, + 2.282631761153589, + 2.2863485024963297, + 2.290065243839071, + 2.293781985181812, + 2.2974987265245534, + 2.3012154678672947, + 2.304932209210035, + 2.3086489505527763, + 2.3123656918955175, + 2.316082433238259, + 2.319799174581, + 2.323515915923741, + 2.3272326572664817, + 2.330949398609223, + 2.334666139951964, + 2.3383828812947054, + 2.3420996226374466, + 2.3458163639801874, + 2.3495331053229287, + 2.35324984666567, + 2.356966588008411, + 2.3606833293511524, + 2.364400070693893, + 2.368116812036634, + 2.3718335533793753, + 2.3755502947221165, + 2.379267036064858, + 2.3829837774075986, + 2.3867005187503394, + 2.3904172600930806, + 2.394134001435822, + 2.397850742778563, + 2.4015674841213044, + 2.405284225464045, + 2.4090009668067864, + 2.4127177081495277, + 2.416434449492269, + 2.42015119083501, + 2.4238679321777505, + 2.427584673520492, + 2.431301414863233, + 2.4350181562059743, + 2.4387348975487155, + 2.4424516388914563, + 2.4461683802341976, + 2.4498851215769384, + 2.4536018629196796, + 2.457318604262421, + 2.461035345605162, + 2.464752086947903, + 2.468468828290644, + 2.4721855696333854, + 2.4759023109761262, + 2.4796190523188675, + 2.4833357936616083, + 2.4870525350043495, + 2.4907692763470908, + 2.494486017689832, + 2.4982027590325733, + 2.501919500375314, + 2.5056362417180553, + 2.509352983060796, + 2.5130697244035374, + 2.5167864657462786, + 2.5205032070890194, + 2.5242199484317607, + 2.527936689774502, + 2.531653431117243, + 2.535370172459984, + 2.539086913802725, + 2.542803655145466, + 2.5465203964882073, + 2.5502371378309485, + 2.5539538791736898, + 2.557670620516431, + 2.561387361859172, + 2.565104103201913, + 2.568820844544654, + 2.572537585887395, + 2.5762543272301364, + 2.579971068572877, + 2.5836878099156184, + 2.5874045512583597, + 2.591121292601101, + 2.5948380339438417, + 2.598554775286583, + 2.6022715166293238, + 2.605988257972065, + 2.6097049993148063, + 2.6134217406575475, + 2.6171384820002888, + 2.6208552233430296, + 2.624571964685771, + 2.6282887060285116, + 2.632005447371253, + 2.635722188713994, + 2.639438930056735, + 2.643155671399476, + 2.6468724127422174, + 2.6505891540849587, + 2.6543058954276995, + 2.6580226367704407, + 2.6617393781131815, + 2.6654561194559228, + 2.669172860798664, + 2.6728896021414053, + 2.6766063434841465, + 2.6803230848268873, + 2.6840398261696286, + 2.6877565675123694, + 2.6914733088551106, + 2.695190050197852, + 2.6989067915405927, + 2.702623532883334, + 2.706340274226075, + 2.7100570155688164, + 2.713773756911557, + 2.7174904982542984, + 2.7212072395970393, + 2.7249239809397805, + 2.7286407222825217, + 2.732357463625263, + 2.7360742049680042, + 2.739790946310745, + 2.7435076876534863, + 2.747224428996227, + 2.7509411703389683, + 2.7546579116817096, + 2.7583746530244504, + 2.7620913943671916, + 2.765808135709933, + 2.769524877052674, + 2.773241618395415, + 2.7769583597381557, + 2.780675101080897, + 2.7843918424236382, + 2.7881085837663795, + 2.7918253251091207, + 2.7955420664518615, + 2.799258807794603, + 2.802975549137344, + 2.806692290480085, + 2.810409031822826, + 2.8141257731655673, + 2.817842514508308, + 2.8215592558510494, + 2.8252759971937906, + 2.828992738536532, + 2.8327094798792727, + 2.8364262212220135, + 2.8401429625647547, + 2.843859703907496, + 2.8475764452502372, + 2.8512931865929785, + 2.8550099279357193, + 2.8587266692784605, + 2.862443410621202, + 2.8661601519639426, + 2.869876893306684, + 2.873593634649425, + 2.877310375992166, + 2.881027117334907, + 2.8847438586776484, + 2.8884606000203896, + 2.8921773413631304, + 2.8958940827058712, + 2.8996108240486125, + 2.9033275653913537, + 2.907044306734095, + 2.910761048076836, + 2.914477789419577, + 2.9181945307623183, + 2.9219112721050595, + 2.9256280134478003, + 2.9293447547905416, + 2.933061496133283, + 2.9367782374760236, + 2.940494978818765, + 2.944211720161506, + 2.9479284615042474, + 2.951645202846988, + 2.955361944189729, + 2.95907868553247, + 2.9627954268752115, + 2.9665121682179527, + 2.970228909560694, + 2.9739456509034348, + 2.977662392246176, + 2.9813791335889173, + 2.985095874931658, + 2.9888126162743993, + 2.9925293576171406, + 2.9962460989598814, + 2.9999628403026226, + 3.003679581645364, + 3.007396322988105, + 3.011113064330846, + 3.0148298056735867, + 3.018546547016328, + 3.022263288359069, + 3.0259800297018105, + 3.0296967710445517, + 3.0334135123872925, + 3.0371302537300338, + 3.040846995072775, + 3.044563736415516, + 3.048280477758257, + 3.051997219100998, + 3.055713960443739, + 3.0594307017864804, + 3.0631474431292216, + 3.066864184471963, + 3.0705809258147037, + 3.0742976671574445, + 3.0780144085001857, + 3.081731149842927, + 3.085447891185668, + 3.0891646325284094, + 3.0928813738711503, + 3.0965981152138915, + 3.1003148565566327, + 3.1040315978993736, + 3.107748339242115, + 3.1114650805848556, + 3.115181821927597, + 3.118898563270338, + 3.1226153046130793, + 3.1263320459558206, + 3.1300487872985614, + 3.133765528641302, + 3.1374822699840434, + 3.1411990113267847, + 3.144915752669526, + 3.148632494012267, + 3.152349235355008, + 3.1560659766977492, + 3.1597827180404905, + 3.1634994593832313, + 3.1672162007259725, + 3.1709329420687133, + 3.1746496834114546, + 3.178366424754196, + 3.182083166096937, + 3.1857999074396783, + 3.189516648782419, + 3.19323339012516, + 3.196950131467901, + 3.2006668728106424, + 3.2043836141533837, + 3.208100355496125, + 3.2118170968388657, + 3.215533838181607, + 3.2192505795243482, + 3.222967320867089, + 3.2266840622098303, + 3.230400803552571, + 3.2341175448953123, + 3.2378342862380536, + 3.241551027580795, + 3.245267768923536, + 3.248984510266277, + 3.2527012516090177, + 3.256417992951759, + 3.2601347342945, + 3.2638514756372414, + 3.2675682169799827, + 3.2712849583227235, + 3.2750016996654647, + 3.278718441008206, + 3.282435182350947, + 3.286151923693688, + 3.289868665036429, + 3.29358540637917, + 3.2973021477219113, + 3.3010188890646526, + 3.304735630407394, + 3.308452371750134, + 3.3121691130928754, + 3.3158858544356167, + 3.319602595778358, + 3.323319337121099, + 3.32703607846384, + 3.330752819806581, + 3.3344695611493225, + 3.3381863024920637, + 3.3419030438348045, + 3.3456197851775458, + 3.3493365265202866, + 3.353053267863028, + 3.356770009205769, + 3.3604867505485103, + 3.3642034918912516, + 3.367920233233992, + 3.371636974576733, + 3.3753537159194744, + 3.3790704572622157, + 3.382787198604957, + 3.3865039399476977, + 3.390220681290439, + 3.39393742263318, + 3.3976541639759215, + 3.4013709053186623, + 3.4050876466614035, + 3.4088043880041443, + 3.4125211293468856, + 3.416237870689627, + 3.419954612032368, + 3.4236713533751093, + 3.4273880947178497, + 3.431104836060591, + 3.434821577403332, + 3.4385383187460734, + 3.4422550600888147, + 3.4459718014315555, + 3.4496885427742967, + 3.453405284117038, + 3.457122025459779, + 3.46083876680252, + 3.4645555081452613, + 3.468272249488002, + 3.4719889908307433, + 3.4757057321734846, + 3.479422473516226, + 3.483139214858967, + 3.4868559562017074, + 3.4905726975444487, + 3.49428943888719, + 3.498006180229931, + 3.5017229215726724, + 3.505439662915413, + 3.5091564042581544, + 3.5128731456008957, + 3.516589886943637, + 3.5203066282863777, + 3.524023369629119, + 3.52774011097186, + 3.531456852314601, + 3.5351735936573423, + 3.5388903350000835, + 3.5426070763428243, + 3.546323817685565, + 3.5500405590283064, + 3.5537573003710476, + 3.557474041713789, + 3.56119078305653, + 3.564907524399271, + 3.568624265742012, + 3.5723410070847534, + 3.5760577484274947, + 3.5797744897702355, + 3.5834912311129763, + 3.5872079724557175, + 3.590924713798459, + 3.5946414551412, + 3.5983581964839413, + 3.602074937826682, + 3.6057916791694233, + 3.6095084205121637, + 3.613225161854906, + 3.616941903197646, + 3.620658644540388, + 3.6243753858831282, + 3.6280921272258704, + 3.6318088685686107, + 3.635525609911353, + 3.6392423512540932, + 3.642959092596834, + 3.6466758339395753, + 3.6503925752823165, + 3.654109316625058, + 3.657826057967799, + 3.66154279931054, + 3.66525954065328, + 3.6689762819960223, + 3.6726930233387627, + 3.676409764681505, + 3.680126506024245, + 3.683843247366987, + 3.6875599887097272, + 3.6912767300524694, + 3.6949934713952097, + 3.698710212737951, + 3.702426954080692, + 3.706143695423433, + 3.7098604367661743, + 3.7135771781089155, + 3.7172939194516568, + 3.7210106607943976, + 3.724727402137139, + 3.728444143479879, + 3.7321608848226213, + 3.7358776261653617, + 3.7395943675081034, + 3.7433111088508437, + 3.747027850193586, + 3.7507445915363262, + 3.7544613328790684, + 3.7581780742218087, + 3.7618948155645495, + 3.7656115569072908, + 3.769328298250032, + 3.7730450395927733, + 3.7767617809355145, + 3.7804785222782553, + 3.7841952636209957, + 3.787912004963738, + 3.791628746306478, + 3.7953454876492203, + 3.7990622289919607, + 3.8027789703347024, + 3.8064957116774427, + 3.810212453020185, + 3.813929194362925, + 3.8176459357056665, + 3.8213626770484073, + 3.8250794183911485, + 3.8287961597338898, + 3.832512901076631, + 3.8362296424193723, + 3.839946383762113, + 3.8436631251048543, + 3.8473798664475947, + 3.851096607790337, + 3.854813349133077, + 3.858530090475819, + 3.862246831818559, + 3.8659635731613013, + 3.8696803145040417, + 3.873397055846784, + 3.877113797189524, + 3.880830538532265, + 3.8845472798750063, + 3.8882640212177475, + 3.8919807625604887, + 3.89569750390323, + 3.899414245245971, + 3.903130986588711, + 3.9068477279314533, + 3.9105644692741937, + 3.914281210616936, + 3.917997951959676, + 3.921714693302418, + 3.925431434645158, + 3.9291481759879003, + 3.9328649173306407, + 3.936581658673382, + 3.9402984000161227, + 3.944015141358864, + 3.9477318827016052, + 3.9514486240443465, + 3.9551653653870877, + 3.9588821067298285, + 3.96259884807257, + 3.96631558941531, + 3.9700323307580523, + 3.9737490721007926, + 3.9774658134435343, + 3.9811825547862747, + 3.984899296129017, + 3.988616037471757, + 3.9923327788144993, + 3.9960495201572397, + 3.9997662614999805, + 4.003483002842722, + 4.0071997441854625, + 4.010916485528204, + 4.014633226870945, + 4.018349968213687, + 4.022066709556427, + 4.025783450899168, + 4.029500192241909, + 4.033216933584651, + 4.036933674927392, + 4.040650416270133, + 4.044367157612874, + 4.048083898955616, + 4.051800640298356, + 4.055517381641097, + 4.059234122983838, + 4.06295086432658, + 4.066667605669321, + 4.0703843470120615, + 4.074101088354803, + 4.077817829697544, + 4.081534571040286, + 4.085251312383026, + 4.088968053725767, + 4.092684795068508, + 4.09640153641125, + 4.100118277753991, + 4.103835019096732, + 4.107551760439472, + 4.111268501782215, + 4.114985243124955, + 4.118701984467696, + 4.122418725810437, + 4.126135467153178, + 4.12985220849592, + 4.1335689498386605, + 4.137285691181402, + 4.141002432524142, + 4.144719173866884, + 4.148435915209625, + 4.152152656552366, + 4.155869397895107, + 4.159586139237849, + 4.16330288058059, + 4.167019621923331, + 4.170736363266071, + 4.174453104608813, + 4.178169845951554, + 4.181886587294295, + 4.185603328637036, + 4.189320069979777, + 4.193036811322519, + 4.1967535526652595, + 4.200470294008001, + 4.204187035350741, + 4.207903776693483, + 4.211620518036224, + 4.215337259378965, + 4.219054000721706, + 4.222770742064448, + 4.226487483407188, + 4.23020422474993, + 4.23392096609267, + 4.237637707435413, + 4.241354448778153, + 4.245071190120894, + 4.248787931463635, + 4.252504672806375, + 4.256221414149118, + 4.259938155491858, + 4.263654896834599, + 4.26737163817734, + 4.271088379520082, + 4.274805120862823, + 4.278521862205564, + 4.282238603548305, + 4.285955344891047, + 4.289672086233787, + 4.293388827576529, + 4.297105568919269, + 4.300822310262011, + 4.304539051604752, + 4.308255792947492, + 4.311972534290234, + 4.315689275632974, + 4.319406016975716, + 4.323122758318457, + 4.326839499661198, + 4.330556241003939, + 4.334272982346681, + 4.337989723689422, + 4.341706465032163, + 4.345423206374903, + 4.349139947717646, + 4.352856689060386, + 4.356573430403127, + 4.360290171745868, + 4.36400691308861, + 4.367723654431351, + 4.371440395774091, + 4.375157137116833, + 4.378873878459573, + 4.382590619802315, + 4.386307361145056, + 4.390024102487797, + 4.393740843830538, + 4.39745758517328, + 4.40117432651602, + 4.404891067858762, + 4.408607809201502, + 4.412324550544245, + 4.416041291886985, + 4.419758033229726, + 4.423474774572467, + 4.427191515915207, + 4.43090825725795, + 4.43462499860069, + 4.438341739943431, + 4.442058481286172, + 4.445775222628914, + 4.449491963971655, + 4.453208705314396, + 4.456925446657137, + 4.460642187999879, + 4.464358929342619, + 4.468075670685361, + 4.471792412028101, + 4.475509153370843, + 4.479225894713584, + 4.482942636056325, + 4.486659377399066, + 4.490376118741806, + 4.494092860084549, + 4.497809601427289, + 4.50152634277003, + 4.505243084112771, + 4.508959825455513, + 4.512676566798254, + 4.516393308140995, + 4.520110049483735, + 4.523826790826478, + 4.527543532169218, + 4.53126027351196, + 4.5349770148547, + 4.538693756197442, + 4.542410497540183, + 4.546127238882923, + 4.549843980225665, + 4.553560721568405, + 4.557277462911147, + 4.560994204253888, + 4.564710945596629, + 4.56842768693937, + 4.572144428282112, + 4.575861169624853, + 4.579577910967594, + 4.583294652310334, + 4.587011393653077, + 4.590728134995817, + 4.594444876338558, + 4.598161617681299, + 4.601878359024041, + 4.605595100366782, + 4.609311841709522, + 4.613028583052264, + 4.616745324395004, + 4.620462065737746, + 4.624178807080487, + 4.627895548423228, + 4.631612289765969, + 4.635329031108711, + 4.639045772451451, + 4.642762513794193, + 4.646479255136933, + 4.650195996479676, + 4.653912737822416, + 4.657629479165157, + 4.661346220507898, + 4.665062961850638, + 4.668779703193381, + 4.672496444536121, + 4.676213185878862, + 4.679929927221603, + 4.683646668564345, + 4.6873634099070856, + 4.691080151249827, + 4.694796892592568, + 4.69851363393531, + 4.70223037527805, + 4.705947116620792, + 4.709663857963532, + 4.713380599306274, + 4.717097340649015, + 4.720814081991756, + 4.724530823334497, + 4.728247564677237, + 4.73196430601998, + 4.7356810473627196, + 4.739397788705461, + 4.743114530048202, + 4.746831271390944, + 4.7505480127336845, + 4.754264754076426, + 4.757981495419166, + 4.761698236761909, + 4.765414978104649, + 4.769131719447391, + 4.772848460790131, + 4.776565202132873, + 4.780281943475614, + 4.7839986848183536, + 4.787715426161096, + 4.791432167503836, + 4.795148908846578, + 4.7988656501893185, + 4.80258239153206, + 4.806299132874801, + 4.810015874217543, + 4.8137326155602835, + 4.817449356903025, + 4.821166098245765, + 4.824882839588508, + 4.828599580931248, + 4.832316322273989, + 4.83603306361673, + 4.839749804959472, + 4.843466546302213, + 4.8471832876449525, + 4.850900028987694, + 4.854616770330435, + 4.858333511673177, + 4.8620502530159175, + 4.865766994358659, + 4.8694837357014, + 4.873200477044142, + 4.876917218386882, + 4.880633959729624, + 4.884350701072364, + 4.888067442415106, + 4.891784183757847, + 4.895500925100588, + 4.899217666443329, + 4.902934407786069, + 4.906651149128812, + 4.9103678904715515, + 4.914084631814293, + 4.917801373157034, + 4.921518114499776, + 4.9252348558425165, + 4.928951597185258, + 4.932668338527998, + 4.936385079870741, + 4.940101821213481, + 4.943818562556223, + 4.947535303898963, + 4.951252045241705, + 4.954968786584446, + 4.958685527927187, + 4.962402269269928, + 4.966119010612668, + 4.96983575195541, + 4.9735524932981505, + 4.977269234640892, + 4.980985975983633, + 4.984702717326375, + 4.9884194586691155, + 4.992136200011857, + 4.995852941354597, + 4.99956968269734, + 5.00328642404008, + 5.007003165382821, + 5.010719906725562, + 5.014436648068304, + 5.018153389411045, + 5.0218701307537845, + 5.025586872096527, + 5.029303613439267, + 5.033020354782009, + 5.0367370961247495, + 5.040453837467491, + 5.044170578810232, + 5.047887320152974, + 5.051604061495714, + 5.055320802838456, + 5.059037544181196, + 5.062754285523939, + 5.066471026866679, + 5.07018776820942, + 5.073904509552161, + 5.077621250894903, + 5.081337992237644, + 5.0850547335803835, + 5.088771474923125, + 5.092488216265866, + 5.096204957608608, + 5.0999216989513485, + 5.10363844029409, + 5.107355181636831, + 5.111071922979573, + 5.114788664322313, + 5.118505405665055, + 5.122222147007795, + 5.125938888350537, + 5.129655629693278, + 5.133372371036019, + 5.13708911237876, + 5.1408058537215, + 5.144522595064243, + 5.1482393364069825, + 5.151956077749724, + 5.155672819092465, + 5.159389560435207, + 5.1631063017779475, + 5.166823043120689, + 5.170539784463429, + 5.174256525806172, + 5.177973267148912, + 5.181690008491654, + 5.185406749834394, + 5.189123491177136, + 5.192840232519877, + 5.196556973862618, + 5.200273715205359, + 5.203990456548099, + 5.207707197890841, + 5.2114239392335815, + 5.215140680576323, + 5.218857421919064, + 5.222574163261806, + 5.2262909046045465, + 5.230007645947288, + 5.233724387290028, + 5.237441128632771, + 5.241157869975511, + 5.244874611318252, + 5.248591352660993, + 5.252308094003735, + 5.256024835346476, + 5.2597415766892155, + 5.263458318031958, + 5.267175059374698, + 5.27089180071744, + 5.2746085420601805, + 5.278325283402922, + 5.282042024745663, + 5.285758766088405, + 5.289475507431145, + 5.293192248773887, + 5.296908990116627, + 5.30062573145937, + 5.30434247280211, + 5.308059214144851, + 5.311775955487592, + 5.315492696830334, + 5.319209438173075, + 5.3229261795158145, + 5.326642920858556, + 5.330359662201297, + 5.334076403544039, + 5.3377931448867795, + 5.341509886229521, + 5.345226627572262, + 5.348943368915004, + 5.352660110257744, + 5.356376851600486, + 5.360093592943226, + 5.363810334285968, + 5.367527075628709, + 5.37124381697145, + 5.374960558314191, + 5.378677299656931, + 5.382394040999673, + 5.3861107823424135, + 5.389827523685155, + 5.393544265027896, + 5.397261006370638, + 5.4009777477133785, + 5.40469448905612, + 5.40841123039886, + 5.412127971741603, + 5.415844713084343, + 5.419561454427084, + 5.423278195769825, + 5.426994937112567, + 5.430711678455308, + 5.434428419798049, + 5.43814516114079, + 5.44186190248353, + 5.445578643826272, + 5.4492953851690125, + 5.453012126511754, + 5.456728867854495, + 5.460445609197237, + 5.464162350539977, + 5.467879091882719, + 5.471595833225459, + 5.475312574568202, + 5.4790293159109416, + 5.482746057253683, + 5.486462798596424, + 5.490179539939166, + 5.4938962812819065, + 5.4976130226246465, + 5.501329763967388, + 5.505046505310129, + 5.508763246652871, + 5.5124799879956115, + 5.516196729338353, + 5.519913470681094, + 5.523630212023836, + 5.5273469533665756, + 5.531063694709318, + 5.534780436052058, + 5.5384971773948, + 5.5422139187375405, + 5.545930660080282, + 5.549647401423023, + 5.553364142765765, + 5.5570808841085055, + 5.5607976254512455, + 5.564514366793987, + 5.568231108136728, + 5.57194784947947, + 5.57566459082221, + 5.579381332164952, + 5.583098073507692, + 5.586814814850435, + 5.5905315561931745, + 5.594248297535917, + 5.597965038878657, + 5.601681780221399, + 5.6053985215641395, + 5.609115262906881, + 5.612832004249622, + 5.616548745592362, + 5.620265486935104, + 5.623982228277844, + 5.627698969620586, + 5.631415710963327, + 5.635132452306069, + 5.638849193648809, + 5.642565934991551, + 5.646282676334291, + 5.649999417677034, + 5.6537161590197735, + 5.657432900362515, + 5.661149641705256, + 5.664866383047998, + 5.6685831243907385, + 5.67229986573348, + 5.676016607076221, + 5.679733348418961, + 5.683450089761703, + 5.687166831104443, + 5.690883572447185, + 5.694600313789926, + 5.698317055132668, + 5.7020337964754075, + 5.70575053781815, + 5.70946727916089, + 5.713184020503633, + 5.7169007618463725, + 5.720617503189114, + 5.724334244531855, + 5.728050985874597, + 5.7317677272173375, + 5.735484468560077, + 5.739201209902819, + 5.74291795124556, + 5.746634692588302, + 5.750351433931042, + 5.754068175273784, + 5.757784916616525, + 5.761501657959267, + 5.7652183993020065, + 5.768935140644749, + 5.772651881987489, + 5.776368623330231, + 5.7800853646729715, + 5.783802106015713, + 5.787518847358454, + 5.791235588701196, + 5.7949523300439365, + 5.798669071386676, + 5.802385812729418, + 5.806102554072159, + 5.809819295414901, + 5.813536036757641, + 5.817252778100383, + 5.820969519443123, + 5.824686260785866, + 5.8284030021286055, + 5.832119743471348, + 5.835836484814088, + 5.83955322615683, + 5.8432699674995705, + 5.846986708842312, + 5.850703450185053, + 5.854420191527793, + 5.858136932870535, + 5.861853674213275, + 5.865570415556017, + 5.869287156898758, + 5.8730038982415, + 5.8767206395842395, + 5.880437380926982, + 5.884154122269722, + 5.887870863612465, + 5.8915876049552045, + 5.895304346297946, + 5.899021087640687, + 5.902737828983429, + 5.9064545703261695, + 5.910171311668911, + 5.913888053011651, + 5.917604794354392, + 5.921321535697134, + 5.925038277039874, + 5.928755018382616, + 5.932471759725357, + 5.936188501068099, + 5.9399052424108385, + 5.943621983753581, + 5.947338725096321, + 5.951055466439063, + 5.9547722077818035, + 5.958488949124545, + 5.962205690467286, + 5.965922431810028, + 5.9696391731527685, + 5.973355914495508, + 5.97707265583825, + 5.980789397180991, + 5.984506138523733, + 5.988222879866473, + 5.991939621209215, + 5.995656362551955, + 5.999373103894698, + 6.0030898452374375, + 6.00680658658018, + 6.01052332792292, + 6.014240069265662, + 6.0179568106084025, + 6.021673551951144, + 6.025390293293885, + 6.029107034636627, + 6.032823775979367, + 6.036540517322107, + 6.040257258664849, + 6.04397400000759, + 6.047690741350332, + 6.051407482693072, + 6.055124224035814, + 6.058840965378554, + 6.062557706721297, + 6.0662744480640365, + 6.069991189406778, + 6.073707930749519, + 6.077424672092261, + 6.0811414134350015, + 6.084858154777743, + 6.088574896120484, + 6.092291637463224, + 6.096008378805966, + 6.099725120148706, + 6.103441861491448, + 6.107158602834189, + 6.110875344176931, + 6.1145920855196705, + 6.118308826862413, + 6.122025568205153, + 6.125742309547896, + 6.1294590508906355, + 6.133175792233377, + 6.136892533576118, + 6.14060927491886, + 6.1443260162616005, + 6.148042757604342, + 6.151759498947082, + 6.155476240289823, + 6.159192981632565, + 6.162909722975305, + 6.166626464318047, + 6.170343205660788, + 6.17405994700353, + 6.1777766883462695, + 6.181493429689012, + 6.185210171031752, + 6.188926912374494, + 6.1926436537172345, + 6.196360395059976, + 6.200077136402717, + 6.203793877745459, + 6.2075106190881995, + 6.211227360430939, + 6.214944101773681, + 6.218660843116422, + 6.222377584459164, + 6.226094325801904, + 6.229811067144646, + 6.233527808487386, + 6.2372445498301285, + 6.2409612911728685, + 6.244678032515611, + 6.248394773858351, + 6.252111515201093, + 6.2558282565438335, + 6.259544997886575, + 6.263261739229316, + 6.266978480572058, + 6.270695221914798, + 6.274411963257538, + 6.27812870460028, + 6.281845445943021, + 6.2855621872857625, + 6.289278928628503, + 6.292995669971245, + 6.296712411313985, + 6.3004291526567275, + 6.3041458939994675, + 6.307862635342209, + 6.31157937668495, + 6.315296118027692, + 6.3190128593704324, + 6.322729600713174, + 6.326446342055915, + 6.330163083398655, + 6.3338798247413965, + 6.337596566084137, + 6.341313307426879, + 6.34503004876962, + 6.3487467901123615, + 6.3524635314551015, + 6.356180272797844, + 6.359897014140584, + 6.363613755483326, + 6.367330496826066, + 6.371047238168808, + 6.374763979511549, + 6.378480720854291, + 6.382197462197031, + 6.385914203539773, + 6.389630944882513, + 6.393347686225254, + 6.3970644275679955, + 6.400781168910736, + 6.404497910253478, + 6.408214651596218, + 6.4119313929389605, + 6.4156481342817, + 6.419364875624443, + 6.423081616967183, + 6.426798358309925, + 6.430515099652665, + 6.434231840995407, + 6.437948582338148, + 6.44166532368089, + 6.4453820650236295, + 6.44909880636637, + 6.452815547709112, + 6.456532289051853, + 6.4602490303945945, + 6.463965771737335, + 6.467682513080077, + 6.471399254422817, + 6.4751159957655595, + 6.478832737108299, + 6.482549478451041, + 6.486266219793782, + 6.489982961136524, + 6.493699702479264, + 6.497416443822006, + 6.501133185164747, + 6.504849926507489, + 6.5085666678502285, + 6.512283409192969, + 6.516000150535711, + 6.519716891878452, + 6.5234336332211935, + 6.527150374563933, + 6.530867115906676, + 6.534583857249416, + 6.5383005985921585, + 6.542017339934898, + 6.54573408127764, + 6.549450822620381, + 6.553167563963123, + 6.556884305305863, + 6.560601046648605, + 6.564317787991345, + 6.568034529334086, + 6.5717512706768275, + 6.575468012019568, + 6.57918475336231, + 6.582901494705051, + 6.5866182360477925, + 6.590334977390532, + 6.594051718733275, + 6.597768460076015, + 6.601485201418757, + 6.605201942761497, + 6.608918684104239, + 6.61263542544698, + 6.616352166789722, + 6.620068908132462, + 6.623785649475204, + 6.627502390817944, + 6.631219132160685, + 6.6349358735034265, + 6.638652614846167, + 6.642369356188909, + 6.646086097531649, + 6.6498028388743915, + 6.653519580217131, + 6.657236321559874, + 6.660953062902614, + 6.664669804245356, + 6.668386545588096, + 6.672103286930838, + 6.675820028273579, + 6.679536769616321, + 6.6832535109590605, + 6.686970252301801, + 6.690686993644543, + 6.694403734987284, + 6.6981204763300255, + 6.701837217672766, + 6.705553959015508, + 6.709270700358248, + 6.7129874417009905, + 6.71670418304373, + 6.720420924386472, + 6.724137665729213, + 6.727854407071955, + 6.731571148414695, + 6.735287889757437, + 6.739004631100178, + 6.74272137244292, + 6.7464381137856595, + 6.7501548551284, + 6.753871596471142, + 6.757588337813883, + 6.7613050791566245, + 6.765021820499364, + 6.768738561842107, + 6.772455303184847, + 6.7761720445275895, + 6.779888785870329, + 6.783605527213071, + 6.787322268555812, + 6.791039009898554, + 6.794755751241294, + 6.798472492584036, + 6.802189233926776, + 6.805905975269517, + 6.8096227166122585, + 6.813339457954999, + 6.817056199297741, + 6.820772940640482, + 6.8244896819832235, + 6.828206423325963, + 6.831923164668706, + 6.835639906011446, + 6.839356647354188, + 6.843073388696928, + 6.84679013003967, + 6.850506871382411, + 6.854223612725153, + 6.857940354067893, + 6.861657095410635, + 6.865373836753375, + 6.869090578096116, + 6.8728073194388575, + 6.876524060781598, + 6.88024080212434, + 6.88395754346708, + 6.8876742848098225, + 6.891391026152562, + 6.895107767495304, + 6.898824508838045, + 6.902541250180787, + 6.906257991523527, + 6.909974732866269, + 6.91369147420901, + 6.917408215551752, + 6.9211249568944915, + 6.924841698237232, + 6.928558439579974, + 6.932275180922715, + 6.9359919222654565, + 6.939708663608196, + 6.943425404950939, + 6.947142146293679, + 6.9508588876364215, + 6.954575628979161, + 6.958292370321903, + 6.962009111664644, + 6.965725853007386, + 6.969442594350126, + 6.973159335692868, + 6.976876077035608, + 6.9805928183783506, + 6.9843095597210905, + 6.988026301063831, + 6.991743042406573, + 6.995459783749314, + 6.9991765250920555, + 7.002893266434795, + 7.006610007777538, + 7.010326749120278, + 7.01404349046302, + 7.01776023180576, + 7.021476973148502, + 7.025193714491243, + 7.0289104558339845, + 7.032627197176725, + 7.036343938519467, + 7.040060679862207, + 7.043777421204948, + 7.0474941625476895, + 7.05121090389043, + 7.054927645233172, + 7.058644386575912, + 7.0623611279186544, + 7.066077869261394, + 7.069794610604137, + 7.073511351946877, + 7.0772280932896185, + 7.080944834632359, + 7.084661575975101, + 7.088378317317842, + 7.0920950586605835, + 7.0958118000033235, + 7.099528541346066, + 7.103245282688806, + 7.106962024031547, + 7.1106787653742884, + 7.114395506717029, + 7.118112248059771, + 7.121828989402511, + 7.125545730745253, + 7.129262472087993, + 7.132979213430735, + 7.136695954773476, + 7.1404126961162175, + 7.144129437458958, + 7.1478461788017, + 7.151562920144441, + 7.1552796614871825, + 7.1589964028299224, + 7.162713144172663, + 7.166429885515405, + 7.170146626858146, + 7.173863368200887, + 7.177580109543627, + 7.18129685088637, + 7.18501359222911, + 7.188730333571852, + 7.192447074914592, + 7.196163816257334, + 7.199880557600075, + 7.2035972989428165, + 7.207314040285557, + 7.211030781628299, + 7.214747522971039, + 7.2184642643137815, + 7.222181005656521, + 7.225897746999262, + 7.229614488342004, + 7.233331229684745, + 7.237047971027486, + 7.240764712370226, + 7.244481453712969, + 7.248198195055709, + 7.2519149363984505, + 7.255631677741191, + 7.259348419083933, + 7.263065160426674, + 7.2667819017694155, + 7.270498643112156, + 7.274215384454898, + 7.277932125797638, + 7.281648867140379, + 7.28536560848312, + 7.289082349825861, + 7.292799091168603, + 7.296515832511343, + 7.300232573854085, + 7.303949315196825, + 7.307666056539568, + 7.311382797882308, + 7.3150995392250495, + 7.31881628056779, + 7.322533021910532, + 7.326249763253273, + 7.3299665045960145, + 7.333683245938754, + 7.337399987281497, + 7.341116728624237, + 7.344833469966978, + 7.348550211309719, + 7.35226695265246, + 7.355983693995202, + 7.359700435337942, + 7.363417176680684, + 7.367133918023424, + 7.370850659366166, + 7.374567400708907, + 7.3782841420516485, + 7.382000883394389, + 7.385717624737131, + 7.389434366079872, + 7.3931511074226135, + 7.396867848765353, + 7.400584590108094, + 7.404301331450836, + 7.408018072793577, + 7.411734814136318, + 7.415451555479058, + 7.419168296821801, + 7.422885038164541, + 7.4266017795072825, + 7.430318520850023, + 7.434035262192765, + 7.437752003535506, + 7.4414687448782475, + 7.445185486220988, + 7.44890222756373, + 7.45261896890647, + 7.4563357102492125, + 7.460052451591952, + 7.463769192934693, + 7.467485934277435, + 7.471202675620175, + 7.474919416962917, + 7.478636158305657, + 7.4823528996484, + 7.48606964099114, + 7.4897863823338815, + 7.493503123676622, + 7.497219865019364, + 7.500936606362105, + 7.5046533477048465, + 7.508370089047586, + 7.512086830390329, + 7.515803571733069, + 7.51952031307581, + 7.523237054418551, + 7.526953795761292, + 7.530670537104034, + 7.534387278446774, + 7.538104019789516, + 7.541820761132256, + 7.545537502474998, + 7.549254243817739, + 7.5529709851604805, + 7.556687726503221, + 7.560404467845963, + 7.564121209188704, + 7.5678379505314455, + 7.571554691874185, + 7.575271433216928, + 7.578988174559668, + 7.582704915902409, + 7.58642165724515, + 7.59013839858789, + 7.593855139930633, + 7.597571881273373, + 7.601288622616115, + 7.605005363958855, + 7.608722105301597, + 7.612438846644338, + 7.6161555879870795, + 7.61987232932982, + 7.623589070672562, + 7.627305812015302, + 7.6310225533580445, + 7.634739294700784, + 7.638456036043525, + 7.642172777386267, + 7.645889518729008, + 7.649606260071749, + 7.653323001414489, + 7.657039742757232, + 7.660756484099972, + 7.6644732254427135, + 7.668189966785454, + 7.671906708128196, + 7.675623449470937, + 7.6793401908136785, + 7.683056932156419, + 7.686773673499161, + 7.690490414841901, + 7.6942071561846435, + 7.697923897527383, + 7.701640638870124, + 7.705357380212866, + 7.709074121555606, + 7.712790862898348, + 7.716507604241088, + 7.720224345583831, + 7.723941086926571, + 7.7276578282693125, + 7.731374569612053, + 7.735091310954795, + 7.738808052297536, + 7.7425247936402775, + 7.746241534983017, + 7.74995827632576, + 7.7536750176685, + 7.757391759011241, + 7.761108500353982, + 7.764825241696723, + 7.768541983039465, + 7.772258724382205, + 7.775975465724947, + 7.779692207067687, + 7.783408948410429, + 7.78712568975317, + 7.7908424310959115, + 7.794559172438652, + 7.798275913781394, + 7.801992655124135, + 7.8057093964668764, + 7.809426137809616, + 7.813142879152359, + 7.816859620495099, + 7.8205763618378406, + 7.824293103180581, + 7.828009844523323, + 7.831726585866064, + 7.8354433272088055, + 7.839160068551546, + 7.842876809894288, + 7.846593551237028, + 7.850310292579769, + 7.8540270339225104, + 7.857743775265251, + 7.861460516607993, + 7.865177257950733, + 7.868893999293475, + 7.872610740636215, + 7.876327481978958, + 7.880044223321698, + 7.8837609646644395, + 7.88747770600718, + 7.891194447349922, + 7.894911188692663, + 7.8986279300354045, + 7.9023446713781444, + 7.906061412720885, + 7.909778154063627, + 7.913494895406368, + 7.917211636749109, + 7.920928378091849, + 7.924645119434592, + 7.928361860777332, + 7.932078602120074, + 7.935795343462814, + 7.939512084805556, + 7.943228826148297, + 7.9469455674910385, + 7.950662308833779, + 7.954379050176521, + 7.958095791519261, + 7.961812532862002, + 7.965529274204743, + 7.969246015547484, + 7.972962756890226, + 7.976679498232967, + 7.980396239575708, + 7.984112980918448, + 7.987829722261191, + 7.991546463603931, + 7.9952632049466725, + 7.998979946289413, + 8.002696687632156, + 8.006413428974895, + 8.010130170317638, + 8.013846911660378, + 8.01756365300312, + 8.02128039434586, + 8.0249971356886, + 8.028713877031343, + 8.032430618374082, + 8.036147359716825, + 8.039864101059566, + 8.043580842402307, + 8.047297583745047, + 8.05101432508779, + 8.05473106643053, + 8.058447807773272, + 8.062164549116012, + 8.065881290458755, + 8.069598031801494, + 8.073314773144237, + 8.077031514486977, + 8.080748255829718, + 8.084464997172459, + 8.0881817385152, + 8.091898479857942, + 8.095615221200681, + 8.099331962543424, + 8.103048703886165, + 8.106765445228906, + 8.110482186571646, + 8.114198927914389, + 8.117915669257128, + 8.12163241059987, + 8.125349151942611, + 8.129065893285354, + 8.132782634628093, + 8.136499375970836, + 8.140216117313576, + 8.143932858656315, + 8.147649599999058, + 8.151366341341799, + 8.15508308268454, + 8.15879982402728, + 8.162516565370023, + 8.166233306712764, + 8.169950048055505, + 8.173666789398245, + 8.177383530740988, + 8.181100272083727, + 8.18481701342647, + 8.18853375476921, + 8.192250496111951, + 8.195967237454692, + 8.199683978797433, + 8.203400720140175, + 8.207117461482914, + 8.210834202825657, + 8.214550944168398, + 8.218267685511139, + 8.22198442685388, + 8.225701168196622, + 8.229417909539363, + 8.233134650882104, + 8.236851392224844, + 8.240568133567587, + 8.244284874910326, + 8.248001616253068, + 8.25171835759581, + 8.25543509893855, + 8.259151840281291, + 8.262868581624032, + 8.266585322966774, + 8.270302064309513, + 8.274018805652256, + 8.277735546994997, + 8.281452288337737, + 8.285169029680478, + 8.28888577102322, + 8.292602512365962, + 8.296319253708702, + 8.300035995051443, + 8.303752736394186, + 8.307469477736925, + 8.311186219079667, + 8.314902960422408, + 8.318619701765149, + 8.32233644310789, + 8.32605318445063, + 8.329769925793373, + 8.333486667136112, + 8.337203408478855, + 8.340920149821596, + 8.344636891164336, + 8.348353632507077, + 8.35207037384982, + 8.355787115192559, + 8.359503856535301, + 8.363220597878042, + 8.366937339220785, + 8.370654080563524, + 8.374370821906266, + 8.378087563249007, + 8.381804304591746, + 8.385521045934489, + 8.38923778727723, + 8.39295452861997, + 8.396671269962711, + 8.400388011305454, + 8.404104752648195, + 8.407821493990935, + 8.411538235333676, + 8.415254976676419, + 8.418971718019158, + 8.4226884593619, + 8.426405200704641, + 8.430121942047382, + 8.433838683390123, + 8.437555424732864, + 8.441272166075606, + 8.444988907418345, + 8.448705648761088, + 8.452422390103829, + 8.45613913144657, + 8.45985587278931, + 8.463572614132053, + 8.467289355474794, + 8.471006096817534, + 8.474722838160275, + 8.478439579503018, + 8.482156320845757, + 8.4858730621885, + 8.48958980353124, + 8.493306544873981, + 8.497023286216722, + 8.500740027559463, + 8.504456768902205, + 8.508173510244944, + 8.511890251587687, + 8.515606992930428, + 8.519323734273168, + 8.52304047561591, + 8.526757216958652, + 8.53047395830139, + 8.534190699644133, + 8.537907440986874, + 8.541624182329617, + 8.545340923672356, + 8.549057665015098, + 8.55277440635784, + 8.55649114770058, + 8.56020788904332, + 8.563924630386062, + 8.567641371728802, + 8.571358113071543, + 8.575074854414286, + 8.578791595757027, + 8.582508337099767, + 8.586225078442508, + 8.58994181978525, + 8.59365856112799, + 8.597375302470732, + 8.601092043813473, + 8.604808785156214, + 8.608525526498955, + 8.612242267841697, + 8.615959009184438, + 8.619675750527177, + 8.62339249186992, + 8.62710923321266, + 8.630825974555401, + 8.634542715898142, + 8.638259457240885, + 8.641976198583626, + 8.645692939926366, + 8.649409681269107, + 8.65312642261185, + 8.656843163954589, + 8.660559905297331, + 8.664276646640072, + 8.667993387982813, + 8.671710129325554, + 8.675426870668295, + 8.679143612011037, + 8.682860353353776, + 8.686577094696519, + 8.69029383603926, + 8.694010577382, + 8.697727318724741, + 8.701444060067484, + 8.705160801410225, + 8.708877542752965, + 8.712594284095706, + 8.716311025438449, + 8.720027766781188, + 8.72374450812393, + 8.727461249466671, + 8.731177990809412, + 8.734894732152153, + 8.738611473494894, + 8.742328214837636, + 8.746044956180375, + 8.749761697523118, + 8.753478438865859, + 8.7571951802086, + 8.76091192155134, + 8.764628662894083, + 8.768345404236822, + 8.772062145579564, + 8.775778886922305, + 8.779495628265048, + 8.783212369607787, + 8.78692911095053, + 8.79064585229327, + 8.794362593636011, + 8.798079334978752, + 8.801796076321493, + 8.805512817664233, + 8.809229559006974, + 8.812946300349717, + 8.816663041692458, + 8.820379783035198, + 8.82409652437794, + 8.827813265720682, + 8.83153000706342, + 8.835246748406163, + 8.838963489748904, + 8.842680231091645, + 8.846396972434386, + 8.850113713777128, + 8.85383045511987, + 8.857547196462608, + 8.86126393780535, + 8.864980679148092, + 8.868697420490832, + 8.872414161833573, + 8.876130903176316, + 8.879847644519057, + 8.883564385861797, + 8.887281127204538, + 8.89099786854728, + 8.89471460989002, + 8.898431351232762, + 8.902148092575503, + 8.905864833918244, + 8.909581575260985, + 8.913298316603726, + 8.917015057946468, + 8.920731799289207, + 8.92444854063195, + 8.92816528197469, + 8.931882023317431, + 8.935598764660172, + 8.939315506002915, + 8.943032247345654, + 8.946748988688396, + 8.950465730031137, + 8.95418247137388, + 8.957899212716619, + 8.961615954059361, + 8.965332695402102, + 8.969049436744843, + 8.972766178087584, + 8.976482919430325, + 8.980199660773065, + 8.983916402115806, + 8.987633143458549, + 8.99134988480129, + 8.99506662614403, + 8.998783367486771, + 9.002500108829514, + 9.006216850172253, + 9.009933591514995, + 9.013650332857736, + 9.017367074200477, + 9.021083815543218, + 9.02480055688596, + 9.028517298228701, + 9.032234039571442, + 9.035950780914183, + 9.039667522256924, + 9.043384263599664, + 9.047101004942405, + 9.050817746285148, + 9.054534487627889, + 9.05825122897063, + 9.06196797031337, + 9.065684711656113, + 9.069401452998852, + 9.073118194341594, + 9.076834935684335, + 9.080551677027076, + 9.084268418369817, + 9.08798515971256, + 9.0917019010553, + 9.09541864239804, + 9.099135383740782, + 9.102852125083523, + 9.106568866426263, + 9.110285607769004, + 9.114002349111747, + 9.117719090454488, + 9.121435831797228, + 9.12515257313997, + 9.128869314482712, + 9.13258605582545, + 9.136302797168193, + 9.140019538510934, + 9.143736279853675, + 9.147453021196416, + 9.151169762539157, + 9.1548865038819, + 9.158603245224638, + 9.16231998656738, + 9.166036727910122, + 9.169753469252862, + 9.173470210595603, + 9.177186951938346, + 9.180903693281085, + 9.184620434623827, + 9.188337175966568, + 9.19205391730931, + 9.19577065865205, + 9.199487399994792, + 9.203204141337533, + 9.206920882680274, + 9.210637624023015, + 9.214354365365756, + 9.218071106708496, + 9.221787848051237, + 9.22550458939398, + 9.22922133073672, + 9.232938072079461, + 9.236654813422202, + 9.240371554764945, + 9.244088296107684, + 9.247805037450426, + 9.251521778793167, + 9.255238520135908, + 9.258955261478649, + 9.262672002821391, + 9.266388744164132, + 9.270105485506873, + 9.273822226849614, + 9.277538968192355, + 9.281255709535095, + 9.284972450877836, + 9.288689192220579, + 9.29240593356332, + 9.29612267490606, + 9.299839416248801, + 9.303556157591544, + 9.307272898934283, + 9.310989640277025, + 9.314706381619766, + 9.318423122962507, + 9.322139864305248, + 9.32585660564799, + 9.329573346990731, + 9.33329008833347, + 9.337006829676213, + 9.340723571018954, + 9.344440312361694, + 9.348157053704435, + 9.351873795047178, + 9.355590536389919, + 9.35930727773266, + 9.3630240190754, + 9.366740760418143, + 9.370457501760882, + 9.374174243103624, + 9.377890984446365, + 9.381607725789106, + 9.385324467131847, + 9.389041208474588, + 9.39275794981733, + 9.39647469116007, + 9.400191432502812, + 9.403908173845553, + 9.407624915188293, + 9.411341656531034, + 9.415058397873777, + 9.418775139216516, + 9.422491880559258, + 9.426208621902, + 9.42992536324474, + 9.43364210458748, + 9.437358845930223, + 9.441075587272964, + 9.444792328615705, + 9.448509069958446, + 9.452225811301187, + 9.455942552643927, + 9.459659293986668, + 9.46337603532941, + 9.467092776672152, + 9.470809518014892, + 9.474526259357633, + 9.478243000700376, + 9.481959742043115, + 9.485676483385857, + 9.489393224728598, + 9.493109966071339, + 9.49682670741408, + 9.500543448756822, + 9.504260190099563, + 9.507976931442304, + 9.511693672785045, + 9.515410414127786, + 9.519127155470526, + 9.522843896813267, + 9.52656063815601, + 9.53027737949875, + 9.533994120841491, + 9.537710862184232, + 9.541427603526975, + 9.545144344869714, + 9.548861086212456, + 9.552577827555197, + 9.556294568897938, + 9.560011310240679, + 9.563728051583421, + 9.567444792926162, + 9.571161534268901, + 9.574878275611644, + 9.578595016954385, + 9.582311758297125, + 9.586028499639866, + 9.589745240982609, + 9.593461982325348, + 9.59717872366809, + 9.600895465010831, + 9.604612206353574, + 9.608328947696313, + 9.612045689039055, + 9.615762430381796, + 9.619479171724537, + 9.623195913067278, + 9.626912654410019, + 9.63062939575276, + 9.6343461370955, + 9.638062878438243, + 9.641779619780984, + 9.645496361123724, + 9.649213102466465, + 9.652929843809208, + 9.656646585151947, + 9.66036332649469, + 9.66408006783743, + 9.667796809180171, + 9.671513550522912, + 9.675230291865654, + 9.678947033208395, + 9.682663774551136, + 9.686380515893877, + 9.690097257236618, + 9.693813998579358, + 9.6975307399221, + 9.701247481264842, + 9.704964222607583, + 9.708680963950323, + 9.712397705293064, + 9.716114446635807, + 9.719831187978546, + 9.723547929321288, + 9.727264670664029, + 9.73098141200677, + 9.73469815334951, + 9.738414894692253, + 9.742131636034994, + 9.745848377377735, + 9.749565118720476, + 9.753281860063217, + 9.756998601405957, + 9.760715342748698, + 9.76443208409144, + 9.768148825434182, + 9.771865566776922, + 9.775582308119663, + 9.779299049462406, + 9.783015790805145, + 9.786732532147887, + 9.790449273490628, + 9.794166014833369, + 9.79788275617611, + 9.801599497518852, + 9.805316238861593, + 9.809032980204332, + 9.812749721547075, + 9.816466462889816, + 9.820183204232556, + 9.823899945575297, + 9.82761668691804, + 9.831333428260779, + 9.835050169603521, + 9.838766910946262, + 9.842483652289005, + 9.846200393631744, + 9.849917134974486, + 9.853633876317227, + 9.857350617659968, + 9.861067359002709, + 9.86478410034545, + 9.86850084168819, + 9.872217583030931, + 9.875934324373674, + 9.879651065716414, + 9.883367807059155, + 9.887084548401896, + 9.890801289744639, + 9.894518031087378, + 9.89823477243012, + 9.901951513772861, + 9.905668255115602, + 9.909384996458343, + 9.913101737801085, + 9.916818479143826, + 9.920535220486567, + 9.924251961829308, + 9.927968703172048, + 9.93168544451479, + 9.93540218585753, + 9.939118927200273, + 9.942835668543013, + 9.946552409885754, + 9.950269151228495, + 9.953985892571238, + 9.957702633913977, + 9.96141937525672, + 9.96513611659946, + 9.9688528579422, + 9.972569599284942, + 9.976286340627684, + 9.980003081970425, + 9.983719823313166, + 9.987436564655907, + 9.991153305998647, + 9.994870047341388, + 9.998586788684129, + 10.002303530026872, + 10.00602027136961, + 10.009737012712353, + 10.013453754055094, + 10.017170495397837, + 10.020887236740576, + 10.024603978083318, + 10.028320719426059, + 10.0320374607688, + 10.03575420211154, + 10.039470943454283, + 10.043187684797022, + 10.046904426139763, + 10.050621167482506, + 10.054337908825246, + 10.058054650167987, + 10.061771391510728, + 10.06548813285347, + 10.06920487419621, + 10.072921615538952, + 10.076638356881693, + 10.080355098224434, + 10.084071839567175, + 10.087788580909917, + 10.091505322252658, + 10.095222063595399, + 10.09893880493814, + 10.10265554628088, + 10.106372287623621, + 10.110089028966362, + 10.113805770309105, + 10.117522511651845, + 10.121239252994586, + 10.124955994337327, + 10.12867273568007, + 10.132389477022809, + 10.136106218365551, + 10.139822959708292, + 10.143539701051033, + 10.147256442393774, + 10.150973183736516, + 10.154689925079257, + 10.158406666421998, + 10.162123407764739, + 10.16584014910748, + 10.16955689045022, + 10.173273631792961, + 10.176990373135704, + 10.180707114478444, + 10.184423855821185, + 10.188140597163926, + 10.191857338506669, + 10.195574079849408, + 10.19929082119215, + 10.203007562534891, + 10.206724303877632, + 10.210441045220373, + 10.214157786563115, + 10.217874527905856, + 10.221591269248597, + 10.225308010591338, + 10.229024751934078, + 10.23274149327682, + 10.23645823461956, + 10.240174975962303, + 10.243891717305042, + 10.247608458647784, + 10.251325199990525, + 10.255041941333268, + 10.258758682676007, + 10.26247542401875, + 10.26619216536149, + 10.26990890670423, + 10.273625648046972, + 10.277342389389714, + 10.281059130732453, + 10.284775872075194, + 10.288492613417937, + 10.292209354760677, + 10.295926096103418, + 10.299642837446159, + 10.303359578788902, + 10.30707632013164, + 10.310793061474383, + 10.314509802817124, + 10.318226544159865, + 10.321943285502606, + 10.325660026845348, + 10.329376768188089, + 10.33309350953083, + 10.33681025087357, + 10.340526992216311, + 10.344243733559052, + 10.347960474901793, + 10.351677216244536, + 10.355393957587276, + 10.359110698930017, + 10.362827440272758, + 10.3665441816155, + 10.37026092295824, + 10.373977664300982, + 10.377694405643723, + 10.381411146986464, + 10.385127888329205, + 10.388844629671947, + 10.392561371014688, + 10.396278112357429, + 10.39999485370017, + 10.40371159504291, + 10.407428336385651, + 10.411145077728392, + 10.414861819071135, + 10.418578560413875, + 10.422295301756616, + 10.426012043099357, + 10.4297287844421, + 10.433445525784839, + 10.437162267127581, + 10.440879008470322, + 10.444595749813063, + 10.448312491155804, + 10.452029232498546, + 10.455745973841287, + 10.459462715184028, + 10.463179456526769, + 10.46689619786951, + 10.47061293921225, + 10.474329680554991, + 10.478046421897734, + 10.481763163240473, + 10.485479904583215, + 10.489196645925956, + 10.492913387268697, + 10.496630128611438, + 10.50034686995418, + 10.504063611296921, + 10.507780352639662, + 10.511497093982403, + 10.515213835325145, + 10.518930576667884, + 10.522647318010625, + 10.526364059353368, + 10.530080800696108, + 10.53379754203885, + 10.53751428338159, + 10.541231024724333, + 10.544947766067072, + 10.548664507409814, + 10.552381248752555, + 10.556097990095296, + 10.559814731438037, + 10.56353147278078, + 10.56724821412352, + 10.57096495546626, + 10.574681696809002, + 10.578398438151742, + 10.582115179494483, + 10.585831920837224, + 10.589548662179967, + 10.593265403522707, + 10.596982144865448, + 10.600698886208189, + 10.604415627550932, + 10.60813236889367, + 10.611849110236413, + 10.615565851579154, + 10.619282592921895, + 10.622999334264636, + 10.626716075607378, + 10.630432816950119, + 10.63414955829286, + 10.6378662996356, + 10.641583040978341, + 10.645299782321082, + 10.649016523663823, + 10.652733265006566, + 10.656450006349305, + 10.660166747692047, + 10.663883489034788, + 10.66760023037753, + 10.67131697172027, + 10.675033713063012, + 10.678750454405753, + 10.682467195748494, + 10.686183937091235, + 10.689900678433977, + 10.693617419776716, + 10.697334161119459, + 10.7010509024622, + 10.70476764380494, + 10.708484385147681, + 10.712201126490422, + 10.715917867833165, + 10.719634609175904, + 10.723351350518646, + 10.727068091861387, + 10.730784833204128, + 10.734501574546869, + 10.738218315889611, + 10.741935057232352, + 10.745651798575093, + 10.749368539917834, + 10.753085281260576, + 10.756802022603315, + 10.760518763946056, + 10.764235505288799, + 10.76795224663154, + 10.77166898797428, + 10.775385729317021, + 10.779102470659764, + 10.782819212002503, + 10.786535953345245, + 10.790252694687986, + 10.793969436030727, + 10.797686177373468, + 10.80140291871621, + 10.805119660058951, + 10.808836401401692, + 10.812553142744433, + 10.816269884087173, + 10.819986625429914, + 10.823703366772655, + 10.827420108115398, + 10.831136849458138, + 10.83485359080088, + 10.83857033214362, + 10.842287073486363, + 10.846003814829102, + 10.849720556171844, + 10.853437297514585, + 10.857154038857326, + 10.860870780200067, + 10.86458752154281, + 10.86830426288555, + 10.87202100422829, + 10.875737745571032, + 10.879454486913772, + 10.883171228256513, + 10.886887969599254, + 10.890604710941997, + 10.894321452284736, + 10.898038193627478, + 10.901754934970219, + 10.905471676312962, + 10.9091884176557, + 10.912905158998443, + 10.916621900341184, + 10.920338641683925, + 10.924055383026666, + 10.927772124369408, + 10.931488865712147, + 10.93520560705489, + 10.93892234839763, + 10.942639089740371, + 10.946355831083112, + 10.950072572425853, + 10.953789313768596, + 10.957506055111335, + 10.961222796454077, + 10.964939537796818, + 10.968656279139559, + 10.9723730204823, + 10.976089761825042, + 10.979806503167783, + 10.983523244510524, + 10.987239985853265, + 10.990956727196007, + 10.994673468538746, + 10.998390209881487, + 11.00210695122423, + 11.00582369256697, + 11.009540433909711, + 11.013257175252452, + 11.016973916595195, + 11.020690657937934, + 11.024407399280676, + 11.028124140623417, + 11.031840881966158, + 11.035557623308899, + 11.039274364651641, + 11.042991105994382, + 11.046707847337123, + 11.050424588679864, + 11.054141330022604, + 11.057858071365345, + 11.061574812708086, + 11.065291554050829, + 11.069008295393568, + 11.07272503673631, + 11.076441778079051, + 11.080158519421794, + 11.083875260764533, + 11.087592002107275, + 11.091308743450016, + 11.095025484792757, + 11.098742226135498, + 11.10245896747824, + 11.10617570882098, + 11.109892450163722, + 11.113609191506463, + 11.117325932849203, + 11.121042674191944, + 11.124759415534685, + 11.128476156877428, + 11.132192898220167, + 11.13590963956291, + 11.13962638090565, + 11.14334312224839, + 11.147059863591132, + 11.150776604933874, + 11.154493346276615, + 11.158210087619356, + 11.161926828962097, + 11.16564357030484, + 11.169360311647578, + 11.17307705299032, + 11.176793794333062, + 11.180510535675802, + 11.184227277018543, + 11.187944018361284, + 11.191660759704027, + 11.195377501046766, + 11.199094242389508, + 11.202810983732249, + 11.20652772507499, + 11.21024446641773, + 11.213961207760473, + 11.217677949103214, + 11.221394690445955, + 11.225111431788696, + 11.228828173131438, + 11.232544914474177, + 11.236261655816918, + 11.23997839715966, + 11.243695138502401, + 11.247411879845142, + 11.251128621187883, + 11.254845362530626, + 11.258562103873365, + 11.262278845216107, + 11.265995586558848, + 11.269712327901589, + 11.27342906924433, + 11.277145810587072, + 11.280862551929813, + 11.284579293272554, + 11.288296034615295, + 11.292012775958035, + 11.295729517300776, + 11.299446258643517, + 11.30316299998626, + 11.306879741328999, + 11.310596482671741, + 11.314313224014482, + 11.318029965357224, + 11.321746706699964, + 11.325463448042706, + 11.329180189385447, + 11.332896930728188, + 11.336613672070929, + 11.340330413413671, + 11.34404715475641, + 11.347763896099153, + 11.351480637441894, + 11.355197378784634, + 11.358914120127375, + 11.362630861470116, + 11.366347602812858, + 11.370064344155598, + 11.37378108549834, + 11.377497826841081, + 11.381214568183822, + 11.384931309526563, + 11.388648050869305, + 11.392364792212046, + 11.396081533554787, + 11.399798274897528, + 11.40351501624027, + 11.40723175758301, + 11.410948498925752, + 11.414665240268492, + 11.418381981611233, + 11.422098722953974, + 11.425815464296715, + 11.429532205639457, + 11.433248946982197, + 11.436965688324939, + 11.44068242966768, + 11.44439917101042, + 11.448115912353162, + 11.451832653695904, + 11.455549395038645, + 11.459266136381386, + 11.462982877724126, + 11.466699619066869, + 11.470416360409608, + 11.474133101752349, + 11.477849843095091, + 11.481566584437832, + 11.485283325780573, + 11.489000067123314, + 11.492716808466056, + 11.496433549808796, + 11.500150291151538, + 11.503867032494279, + 11.50758377383702, + 11.51130051517976, + 11.515017256522503, + 11.518733997865242, + 11.522450739207985, + 11.526167480550725, + 11.529884221893466, + 11.533600963236207, + 11.537317704578948, + 11.54103444592169, + 11.54475118726443, + 11.548467928607172, + 11.552184669949913, + 11.555901411292654, + 11.559618152635394, + 11.563334893978137, + 11.567051635320878, + 11.570768376663619, + 11.57448511800636, + 11.578201859349102, + 11.581918600691841, + 11.585635342034584, + 11.589352083377324, + 11.593068824720065, + 11.596785566062806, + 11.600502307405547, + 11.60421904874829, + 11.607935790091028, + 11.611652531433771, + 11.615369272776512, + 11.619086014119253, + 11.622802755461993, + 11.626519496804736, + 11.630236238147477, + 11.633952979490218, + 11.637669720832958, + 11.641386462175701, + 11.64510320351844, + 11.648819944861183, + 11.652536686203923, + 11.656253427546664, + 11.659970168889405, + 11.663686910232146, + 11.667403651574888, + 11.671120392917627, + 11.67483713426037, + 11.67855387560311, + 11.682270616945852, + 11.685987358288592, + 11.689704099631335, + 11.693420840974076, + 11.697137582316817, + 11.700854323659557, + 11.7045710650023, + 11.708287806345039, + 11.71200454768778, + 11.715721289030522, + 11.719438030373261, + 11.723154771716004, + 11.726871513058745, + 11.730588254401487, + 11.734304995744226, + 11.738021737086969, + 11.74173847842971, + 11.74545521977245, + 11.749171961115191, + 11.752888702457934, + 11.756605443800673, + 11.760322185143416, + 11.764038926486156, + 11.767755667828897, + 11.771472409171638, + 11.775189150514379, + 11.778905891857121, + 11.78262263319986, + 11.786339374542603, + 11.790056115885344, + 11.793772857228085, + 11.797489598570825, + 11.801206339913568, + 11.804923081256309, + 11.80863982259905, + 11.81235656394179, + 11.816073305284533, + 11.819790046627272, + 11.823506787970015, + 11.827223529312755, + 11.830940270655496, + 11.834657011998237, + 11.838373753340978, + 11.84209049468372, + 11.84580723602646, + 11.849523977369202, + 11.853240718711943, + 11.856957460054684, + 11.860674201397424, + 11.864390942740167, + 11.868107684082908, + 11.871824425425649, + 11.87554116676839, + 11.879257908111132, + 11.882974649453871, + 11.886691390796614, + 11.890408132139354, + 11.894124873482095, + 11.897841614824836, + 11.901558356167577, + 11.90527509751032, + 11.908991838853058, + 11.912708580195801, + 11.916425321538542, + 11.920142062881283, + 11.923858804224023, + 11.927575545566766, + 11.931292286909507, + 11.935009028252248, + 11.938725769594988, + 11.942442510937731, + 11.94615925228047, + 11.94987599362321, + 11.953592734965953, + 11.957309476308692, + 11.961026217651435, + 11.964742958994176, + 11.968459700336918, + 11.972176441679657, + 11.9758931830224, + 11.97960992436514, + 11.983326665707882, + 11.987043407050622, + 11.990760148393365, + 11.994476889736104, + 11.998193631078847, + 12.001910372421587, + 12.005627113764328, + 12.009343855107069, + 12.01306059644981, + 12.016777337792552, + 12.020494079135291, + 12.024210820478034, + 12.027927561820775, + 12.031644303163516, + 12.035361044506256, + 12.039077785848999, + 12.04279452719174, + 12.04651126853448, + 12.050228009877221, + 12.053944751219964, + 12.057661492562703, + 12.061378233905446, + 12.065094975248186, + 12.068811716590927, + 12.072528457933668, + 12.076245199276409, + 12.079961940619151, + 12.08367868196189, + 12.087395423304633, + 12.091112164647374, + 12.094828905990115, + 12.098545647332855, + 12.102262388675598, + 12.105979130018339, + 12.10969587136108, + 12.11341261270382, + 12.117129354046563, + 12.120846095389302, + 12.124562836732045, + 12.128279578074785, + 12.131996319417524, + 12.135713060760267, + 12.139429802103008, + 12.14314654344575, + 12.14686328478849, + 12.150580026131232, + 12.154296767473973, + 12.158013508816714, + 12.161730250159454, + 12.165446991502197, + 12.169163732844936, + 12.172880474187679, + 12.17659721553042, + 12.180313956873162, + 12.184030698215901, + 12.187747439558642, + 12.191464180901384, + 12.195180922244123, + 12.198897663586866, + 12.202614404929607, + 12.206331146272348, + 12.210047887615088, + 12.213764628957831, + 12.217481370300572, + 12.221198111643313, + 12.224914852986053, + 12.228631594328796, + 12.232348335671535, + 12.236065077014278, + 12.239781818357018, + 12.24349855969976, + 12.2472153010425, + 12.25093204238524, + 12.254648783727983, + 12.258365525070722, + 12.262082266413465, + 12.265799007756206, + 12.269515749098947, + 12.273232490441687, + 12.27694923178443, + 12.28066597312717, + 12.284382714469912, + 12.288099455812652, + 12.291816197155395, + 12.295532938498134, + 12.299249679840877, + 12.302966421183617, + 12.306683162526358, + 12.310399903869099, + 12.31411664521184, + 12.317833386554582, + 12.321550127897321, + 12.325266869240064, + 12.328983610582805, + 12.332700351925546, + 12.336417093268286, + 12.340133834611029, + 12.34385057595377, + 12.34756731729651, + 12.351284058639251, + 12.355000799981994, + 12.358717541324733, + 12.362434282667476, + 12.366151024010216, + 12.369867765352955, + 12.373584506695698, + 12.377301248038439, + 12.381017989381181, + 12.38473473072392, + 12.388451472066663, + 12.392168213409404, + 12.395884954752145, + 12.399601696094885, + 12.403318437437628, + 12.407035178780367, + 12.41075192012311, + 12.41446866146585, + 12.418185402808593, + 12.421902144151332, + 12.425618885494073, + 12.429335626836815, + 12.433052368179554, + 12.436769109522297, + 12.440485850865038, + 12.444202592207779, + 12.44791933355052, + 12.451636074893262, + 12.455352816236003, + 12.459069557578744, + 12.462786298921484, + 12.466503040264227, + 12.470219781606966, + 12.473936522949709, + 12.47765326429245, + 12.48137000563519, + 12.485086746977931, + 12.488803488320672, + 12.492520229663414, + 12.496236971006153, + 12.499953712348896, + 12.503670453691637, + 12.507387195034378, + 12.511103936377118, + 12.514820677719861, + 12.518537419062602, + 12.522254160405343, + 12.525970901748083, + 12.529687643090826, + 12.533404384433565, + 12.537121125776308, + 12.540837867119048, + 12.54455460846179, + 12.54827134980453, + 12.55198809114727, + 12.555704832490013, + 12.559421573832752, + 12.563138315175495, + 12.566855056518236, + 12.570571797860977, + 12.574288539203717, + 12.57800528054646, + 12.581722021889199, + 12.585438763231942, + 12.589155504574682, + 12.592872245917425, + 12.596588987260164, + 12.600305728602907, + 12.604022469945647, + 12.607739211288386, + 12.611455952631129, + 12.61517269397387, + 12.61888943531661, + 12.622606176659351, + 12.626322918002094, + 12.630039659344835, + 12.633756400687576, + 12.637473142030316, + 12.641189883373059, + 12.644906624715798, + 12.64862336605854, + 12.652340107401281, + 12.656056848744022, + 12.659773590086763, + 12.663490331429504, + 12.667207072772246, + 12.670923814114985, + 12.674640555457728, + 12.678357296800469, + 12.68207403814321, + 12.68579077948595, + 12.689507520828693, + 12.693224262171434, + 12.696941003514175, + 12.700657744856915, + 12.704374486199658, + 12.708091227542397, + 12.71180796888514, + 12.71552471022788, + 12.719241451570621, + 12.722958192913362, + 12.726674934256103, + 12.730391675598845, + 12.734108416941584, + 12.737825158284327, + 12.741541899627068, + 12.745258640969809, + 12.74897538231255, + 12.752692123655292, + 12.756408864998033, + 12.760125606340774, + 12.763842347683514, + 12.767559089026257, + 12.771275830368996, + 12.774992571711739, + 12.77870931305448, + 12.782426054397218, + 12.786142795739961, + 12.789859537082702, + 12.793576278425444, + 12.797293019768183, + 12.801009761110926, + 12.804726502453667, + 12.808443243796408, + 12.812159985139148, + 12.815876726481891, + 12.81959346782463, + 12.823310209167373, + 12.827026950510113, + 12.830743691852856, + 12.834460433195595, + 12.838177174538338, + 12.841893915881078, + 12.845610657223817, + 12.84932739856656, + 12.8530441399093, + 12.856760881252042, + 12.860477622594782, + 12.864194363937525, + 12.867911105280266, + 12.871627846623007, + 12.875344587965747, + 12.87906132930849, + 12.882778070651229, + 12.886494811993972, + 12.890211553336712, + 12.893928294679453, + 12.897645036022194, + 12.901361777364935, + 12.905078518707677, + 12.908795260050416, + 12.912512001393159, + 12.9162287427359, + 12.91994548407864, + 12.923662225421381, + 12.927378966764124, + 12.931095708106865, + 12.934812449449606, + 12.938529190792346, + 12.942245932135089, + 12.945962673477828, + 12.94967941482057, + 12.953396156163311, + 12.957112897506052, + 12.960829638848793, + 12.964546380191534, + 12.968263121534276, + 12.971979862877015, + 12.975696604219758, + 12.979413345562499, + 12.98313008690524, + 12.98684682824798, + 12.990563569590723, + 12.994280310933464, + 12.997997052276204, + 13.001713793618945, + 13.005430534961688, + 13.009147276304427, + 13.01286401764717, + 13.01658075898991, + 13.02029750033265, + 13.024014241675392, + 13.027730983018133, + 13.031447724360875, + 13.035164465703614, + 13.038881207046357, + 13.042597948389098, + 13.046314689731838, + 13.05003143107458, + 13.053748172417322, + 13.057464913760061, + 13.061181655102803, + 13.064898396445544, + 13.068615137788285, + 13.072331879131026, + 13.076048620473768, + 13.07976536181651, + 13.083482103159248, + 13.087198844501991, + 13.090915585844732, + 13.094632327187472, + 13.098349068530213, + 13.102065809872956, + 13.105782551215697, + 13.109499292558437, + 13.113216033901178, + 13.11693277524392, + 13.12064951658666, + 13.124366257929402, + 13.128082999272143, + 13.131799740614884, + 13.135516481957625, + 13.139233223300366, + 13.142949964643108, + 13.146666705985847, + 13.15038344732859, + 13.15410018867133, + 13.157816930014071, + 13.161533671356812, + 13.165250412699555, + 13.168967154042296, + 13.172683895385036, + 13.176400636727777, + 13.18011737807052, + 13.183834119413259, + 13.187550860756001, + 13.191267602098742, + 13.194984343441481, + 13.198701084784224, + 13.202417826126965, + 13.206134567469707, + 13.209851308812446, + 13.213568050155189, + 13.21728479149793, + 13.22100153284067, + 13.224718274183411, + 13.228435015526154, + 13.232151756868893, + 13.235868498211635, + 13.239585239554376, + 13.243301980897119, + 13.247018722239858, + 13.2507354635826, + 13.254452204925341, + 13.25816894626808, + 13.261885687610823, + 13.265602428953564, + 13.269319170296304, + 13.273035911639045, + 13.276752652981788, + 13.280469394324529, + 13.28418613566727, + 13.28790287701001, + 13.291619618352753, + 13.295336359695492, + 13.299053101038234, + 13.302769842380975, + 13.306486583723716, + 13.310203325066457, + 13.3139200664092, + 13.31763680775194, + 13.32135354909468, + 13.325070290437422, + 13.328787031780163, + 13.332503773122903, + 13.336220514465644, + 13.339937255808387, + 13.343653997151128, + 13.347370738493868, + 13.35108747983661, + 13.354804221179352, + 13.35852096252209, + 13.362237703864833, + 13.365954445207574, + 13.369671186550315, + 13.373387927893056, + 13.377104669235797, + 13.38082141057854, + 13.384538151921278, + 13.38825489326402, + 13.391971634606762, + 13.395688375949502, + 13.399405117292243, + 13.403121858634986, + 13.406838599977727, + 13.410555341320467, + 13.414272082663208, + 13.41798882400595, + 13.42170556534869, + 13.425422306691432, + 13.429139048034173, + 13.432855789376912, + 13.436572530719655, + 13.440289272062396, + 13.444006013405138, + 13.447722754747877, + 13.45143949609062, + 13.45515623743336, + 13.458872978776101, + 13.462589720118842, + 13.466306461461585, + 13.470023202804324, + 13.473739944147066, + 13.477456685489807, + 13.48117342683255, + 13.484890168175289, + 13.488606909518031, + 13.492323650860772, + 13.496040392203511, + 13.499757133546254, + 13.503473874888995, + 13.507190616231735, + 13.510907357574476, + 13.514624098917219, + 13.51834084025996, + 13.5220575816027, + 13.525774322945441, + 13.529491064288184, + 13.533207805630923, + 13.536924546973665, + 13.540641288316406, + 13.544358029659147, + 13.548074771001888, + 13.55179151234463, + 13.555508253687371, + 13.55922499503011, + 13.562941736372853, + 13.566658477715594, + 13.570375219058334, + 13.574091960401075, + 13.577808701743818, + 13.581525443086559, + 13.5852421844293, + 13.58895892577204, + 13.592675667114783, + 13.596392408457522, + 13.600109149800264, + 13.603825891143005, + 13.607542632485746, + 13.611259373828487, + 13.614976115171228, + 13.61869285651397, + 13.62240959785671, + 13.626126339199452, + 13.629843080542193, + 13.633559821884933, + 13.637276563227674, + 13.640993304570417, + 13.644710045913156, + 13.648426787255898, + 13.65214352859864, + 13.655860269941382, + 13.65957701128412, + 13.663293752626863, + 13.667010493969604, + 13.670727235312343, + 13.674443976655086, + 13.678160717997827, + 13.681877459340567, + 13.685594200683308, + 13.68931094202605, + 13.693027683368792, + 13.696744424711532, + 13.700461166054273, + 13.704177907397016, + 13.707894648739755, + 13.711611390082497, + 13.715328131425238, + 13.719044872767979, + 13.72276161411072, + 13.726478355453462, + 13.730195096796203, + 13.733911838138942, + 13.737628579481685, + 13.741345320824426, + 13.745062062167166, + 13.748778803509907, + 13.75249554485265, + 13.75621228619539, + 13.759929027538131, + 13.763645768880872, + 13.767362510223615, + 13.771079251566354, + 13.774795992909096, + 13.778512734251837, + 13.782229475594578, + 13.785946216937319, + 13.789662958280061, + 13.793379699622802, + 13.797096440965541, + 13.800813182308284, + 13.804529923651025, + 13.808246664993765, + 13.811963406336506, + 13.815680147679249, + 13.81939688902199, + 13.82311363036473, + 13.826830371707471, + 13.830547113050214, + 13.834263854392953, + 13.837980595735695, + 13.841697337078436, + 13.845414078421177, + 13.849130819763918, + 13.852847561106659, + 13.856564302449401, + 13.86028104379214, + 13.863997785134883, + 13.867714526477624, + 13.871431267820364, + 13.875148009163105, + 13.878864750505848, + 13.882581491848587, + 13.88629823319133, + 13.89001497453407, + 13.893731715876813, + 13.897448457219552, + 13.901165198562294, + 13.904881939905035, + 13.908598681247774, + 13.912315422590517, + 13.916032163933258, + 13.919748905275998, + 13.92346564661874, + 13.927182387961482, + 13.930899129304223, + 13.934615870646963, + 13.938332611989704, + 13.942049353332447, + 13.945766094675186, + 13.949482836017928, + 13.95319957736067, + 13.95691631870341, + 13.96063306004615, + 13.964349801388893, + 13.968066542731634, + 13.971783284074373, + 13.975500025417116, + 13.979216766759857, + 13.982933508102597, + 13.986650249445338, + 13.99036699078808, + 13.994083732130822, + 13.997800473473562, + 14.001517214816303, + 14.005233956159046, + 14.008950697501785, + 14.012667438844527, + 14.016384180187268, + 14.020100921530009, + 14.02381766287275, + 14.027534404215492, + 14.031251145558233, + 14.034967886900972, + 14.038684628243715, + 14.042401369586456, + 14.046118110929196, + 14.049834852271937, + 14.05355159361468, + 14.05726833495742, + 14.060985076300161, + 14.064701817642902, + 14.068418558985645, + 14.072135300328384, + 14.075852041671126, + 14.079568783013867, + 14.083285524356608, + 14.087002265699349, + 14.09071900704209, + 14.09443574838483, + 14.098152489727571, + 14.101869231070314, + 14.105585972413055, + 14.109302713755795, + 14.113019455098536, + 14.116736196441279, + 14.120452937784018, + 14.12416967912676, + 14.127886420469501, + 14.131603161812242, + 14.135319903154983, + 14.139036644497725, + 14.142753385840466, + 14.146470127183205, + 14.150186868525948, + 14.153903609868689, + 14.15762035121143, + 14.16133709255417, + 14.165053833896913, + 14.168770575239654, + 14.172487316582394, + 14.176204057925135, + 14.179920799267878, + 14.183637540610617, + 14.18735428195336, + 14.1910710232961, + 14.194787764638841, + 14.198504505981582, + 14.202221247324324, + 14.205937988667065, + 14.209654730009804, + 14.213371471352547, + 14.217088212695288, + 14.220804954038028, + 14.22452169538077, + 14.228238436723512, + 14.231955178066253, + 14.235671919408993, + 14.239388660751734, + 14.243105402094477, + 14.246822143437216, + 14.250538884779958, + 14.2542556261227, + 14.25797236746544, + 14.26168910880818, + 14.265405850150923, + 14.269122591493664, + 14.272839332836403, + 14.276556074179146, + 14.280272815521887, + 14.283989556864627, + 14.287706298207368, + 14.29142303955011, + 14.29513978089285, + 14.298856522235592, + 14.302573263578333, + 14.306290004921076, + 14.310006746263815, + 14.313723487606557, + 14.317440228949298, + 14.321156970292039, + 14.324873711634778, + 14.32859045297752, + 14.332307194320261, + 14.336023935663, + 14.339740677005743, + 14.343457418348486, + 14.347174159691226, + 14.350890901033965, + 14.354607642376708, + 14.358324383719449, + 14.362041125062191, + 14.36575786640493, + 14.369474607747673, + 14.373191349090414, + 14.376908090433156, + 14.380624831775895, + 14.384341573118636, + 14.388058314461379, + 14.391775055804118, + 14.39549179714686, + 14.399208538489601, + 14.402925279832344, + 14.406642021175083, + 14.410358762517824, + 14.414075503860566, + 14.417792245203309, + 14.421508986546046, + 14.425225727888789, + 14.428942469231531, + 14.432659210574272, + 14.436375951917011, + 14.440092693259754, + 14.443809434602496, + 14.447526175945233, + 14.451242917287976, + 14.454959658630719, + 14.45867639997346, + 14.462393141316198, + 14.466109882658941, + 14.469826624001684, + 14.473543365344424, + 14.477260106687163, + 14.480976848029906, + 14.484693589372647, + 14.48841033071539, + 14.492127072058128, + 14.49584381340087, + 14.499560554743612, + 14.503277296086354, + 14.506994037429093, + 14.510710778771834, + 14.514427520114577, + 14.518144261457316, + 14.521861002800057, + 14.5255777441428, + 14.529294485485542, + 14.53301122682828, + 14.536727968171022, + 14.540444709513764, + 14.544161450856507, + 14.547878192199244, + 14.551594933541987, + 14.555311674884729, + 14.55902841622747, + 14.562745157570209, + 14.566461898912952, + 14.570178640255692, + 14.573895381598431, + 14.577612122941174, + 14.581328864283917, + 14.585045605626657, + 14.588762346969396, + 14.592479088312139, + 14.59619582965488, + 14.599912570997622, + 14.603629312340361, + 14.607346053683104, + 14.611062795025845, + 14.614779536368587, + 14.618496277711326, + 14.622213019054067, + 14.62592976039681, + 14.629646501739549, + 14.63336324308229, + 14.637079984425032, + 14.640796725767775, + 14.644513467110514, + 14.648230208453255, + 14.651946949795997, + 14.65566369113874, + 14.659380432481477, + 14.66309717382422, + 14.666813915166962, + 14.670530656509703, + 14.674247397852442, + 14.677964139195185, + 14.681680880537927, + 14.685397621880664, + 14.689114363223407, + 14.69283110456615, + 14.69654784590889, + 14.70026458725163, + 14.703981328594372, + 14.707698069937113, + 14.711414811279855, + 14.715131552622594, + 14.718848293965337, + 14.722565035308078, + 14.72628177665082, + 14.72999851799356, + 14.7337152593363, + 14.737432000679043, + 14.741148742021785, + 14.744865483364524, + 14.748582224707265, + 14.752298966050008, + 14.756015707392747, + 14.759732448735488, + 14.76344919007823, + 14.767165931420973, + 14.770882672763712, + 14.774599414106452, + 14.778316155449195, + 14.782032896791936, + 14.785749638134675, + 14.789466379477417, + 14.79318312082016, + 14.7968998621629, + 14.80061660350564, + 14.804333344848382, + 14.808050086191123, + 14.811766827533862, + 14.815483568876605, + 14.819200310219347, + 14.822917051562088, + 14.826633792904827, + 14.83035053424757, + 14.83406727559031, + 14.837784016933053, + 14.841500758275792, + 14.845217499618535, + 14.848934240961276, + 14.852650982304018, + 14.856367723646757, + 14.860084464989498, + 14.86380120633224, + 14.86751794767498, + 14.87123468901772, + 14.874951430360463, + 14.878668171703206, + 14.882384913045945, + 14.886101654388685, + 14.889818395731428, + 14.89353513707417, + 14.897251878416908, + 14.90096861975965, + 14.904685361102393, + 14.908402102445134, + 14.912118843787873, + 14.915835585130615, + 14.919552326473358, + 14.923269067816095, + 14.926985809158838, + 14.93070255050158, + 14.934419291844321, + 14.93813603318706, + 14.941852774529803, + 14.945569515872544, + 14.949286257215286, + 14.953002998558025, + 14.956719739900768, + 14.960436481243509, + 14.964153222586251, + 14.96786996392899, + 14.971586705271731, + 14.975303446614474, + 14.979020187957216, + 14.982736929299955, + 14.986453670642696, + 14.990170411985439, + 14.993887153328181, + 14.997603894670918, + 15.001320636013661, + 15.005037377356404, + 15.008754118699144, + 15.012470860041883, + 15.016187601384626, + 15.019904342727367, + 15.02362108407011, + 15.027337825412848, + 15.031054566755591, + 15.034771308098332, + 15.038488049441074, + 15.042204790783813, + 15.045921532126554, + 15.049638273469297, + 15.053355014812036, + 15.057071756154778, + 15.06078849749752, + 15.064505238840262, + 15.068221980183, + 15.071938721525742, + 15.075655462868484, + 15.079372204211227, + 15.083088945553966, + 15.086805686896707, + 15.09052242823945, + 15.09423916958219, + 15.097955910924929, + 15.101672652267672, + 15.105389393610414, + 15.109106134953151, + 15.112822876295894, + 15.116539617638637, + 15.120256358981377, + 15.123973100324116, + 15.127689841666859, + 15.131406583009602, + 15.135123324352342, + 15.138840065695081, + 15.142556807037824, + 15.146273548380565, + 15.149990289723307, + 15.153707031066046, + 15.157423772408787, + 15.16114051375153, + 15.164857255094269, + 15.168573996437011, + 15.172290737779752, + 15.176007479122495, + 15.179724220465234, + 15.183440961807975, + 15.187157703150717, + 15.19087444449346, + 15.194591185836199, + 15.19830792717894, + 15.202024668521682, + 15.205741409864425, + 15.209458151207162, + 15.213174892549905, + 15.216891633892647, + 15.220608375235386, + 15.224325116578127, + 15.22804185792087, + 15.23175859926361, + 15.23547534060635, + 15.239192081949092, + 15.242908823291835, + 15.246625564634575, + 15.250342305977314, + 15.254059047320057, + 15.257775788662798, + 15.26149253000554, + 15.26520927134828, + 15.268926012691022, + 15.272642754033763, + 15.276359495376502, + 15.280076236719244, + 15.283792978061985, + 15.287509719404728, + 15.291226460747467, + 15.29494320209021, + 15.29865994343295, + 15.302376684775693, + 15.306093426118432, + 15.309810167461173, + 15.313526908803915, + 15.317243650146658, + 15.320960391489395, + 15.324677132832138, + 15.32839387417488, + 15.332110615517621, + 15.33582735686036, + 15.339544098203103, + 15.343260839545845, + 15.346977580888582, + 15.350694322231325, + 15.354411063574068, + 15.358127804916808, + 15.361844546259547, + 15.36556128760229, + 15.369278028945033, + 15.372994770287773, + 15.376711511630512, + 15.380428252973255, + 15.384144994315996, + 15.387861735658738, + 15.391578477001477, + 15.395295218344218, + 15.39901195968696, + 15.4027287010297, + 15.406445442372442, + 15.410162183715183, + 15.413878925057926, + 15.417595666400665, + 15.421312407743406, + 15.425029149086148, + 15.42874589042889, + 15.43246263177163, + 15.43617937311437, + 15.439896114457113, + 15.443612855799856, + 15.447329597142593, + 15.451046338485336, + 15.454763079828078, + 15.458479821170817, + 15.462196562513558, + 15.4659133038563, + 15.469630045199041, + 15.47334678654178, + 15.477063527884523, + 15.480780269227266, + 15.484497010570006, + 15.488213751912745, + 15.491930493255488, + 15.495647234598229, + 15.499363975940971, + 15.50308071728371, + 15.506797458626453, + 15.510514199969194, + 15.514230941311936, + 15.517947682654675, + 15.521664423997416, + 15.525381165340159, + 15.529097906682898, + 15.53281464802564, + 15.536531389368381, + 15.540248130711124, + 15.543964872053863, + 15.547681613396604, + 15.551398354739346, + 15.555115096082089, + 15.558831837424826, + 15.562548578767569, + 15.566265320110311, + 15.569982061453052, + 15.573698802795791, + 15.577415544138534, + 15.581132285481276, + 15.584849026824013, + 15.588565768166756, + 15.592282509509499, + 15.59599925085224, + 15.599715992194978, + 15.603432733537721, + 15.607149474880462, + 15.610866216223204, + 15.614582957565943, + 15.618299698908686, + 15.622016440251427, + 15.62573318159417, + 15.629449922936908, + 15.63316666427965, + 15.636883405622392, + 15.64060014696513, + 15.644316888307873, + 15.648033629650614, + 15.651750370993357, + 15.655467112336096, + 15.659183853678837, + 15.66290059502158, + 15.666617336364322, + 15.67033407770706, + 15.674050819049802, + 15.677767560392544, + 15.681484301735285, + 15.685201043078024, + 15.688917784420767, + 15.69263452576351, + 15.696351267106246, + 15.700068008448989, + 15.703784749791732, + 15.707501491134472, + 15.711218232477211, + 15.714934973819954, + 15.718651715162697, + 15.722368456505437, + 15.726085197848176, + 15.729801939190919, + 15.73351868053366, + 15.737235421876402, + 15.740952163219141, + 15.744668904561884, + 15.748385645904625, + 15.752102387247364, + 15.755819128590106, + 15.759535869932847, + 15.76325261127559, + 15.766969352618329, + 15.77068609396107, + 15.774402835303812, + 15.778119576646555, + 15.781836317989294, + 15.785553059332035, + 15.789269800674777, + 15.79298654201752, + 15.796703283360257, + 15.800420024703, + 15.804136766045742, + 15.807853507388483, + 15.811570248731222, + 15.815286990073965, + 15.819003731416707, + 15.822720472759444, + 15.826437214102187, + 15.83015395544493, + 15.83387069678767, + 15.83758743813041, + 15.841304179473152, + 15.845020920815893, + 15.848737662158635, + 15.852454403501374, + 15.856171144844117, + 15.859887886186858, + 15.8636046275296, + 15.86732136887234 + ], + "Itth": [ + 30.655195236206055, + 29.83406639099121, + 29.250301361083984, + 29.05618667602539, + 29.000913619995117, + 29.225038528442383, + 29.46074867248535, + 29.12308692932129, + 27.65679359436035, + 26.10845947265625, + 25.19525718688965, + 24.712743759155273, + 24.63957405090332, + 24.664337158203125, + 24.804119110107422, + 25.0291690826416, + 25.383033752441406, + 25.76605224609375, + 25.97580337524414, + 26.269529342651367, + 26.61513328552246, + 26.96686363220215, + 27.19447898864746, + 27.419681549072266, + 27.494121551513672, + 27.674341201782227, + 27.80927085876465, + 27.948331832885742, + 28.087631225585938, + 28.289072036743164, + 28.53715705871582, + 28.739686965942383, + 28.77363395690918, + 28.687801361083984, + 28.60637092590332, + 28.632291793823242, + 28.771686553955078, + 28.924388885498047, + 28.999300003051758, + 29.000823974609375, + 29.09023094177246, + 29.188947677612305, + 29.33367347717285, + 29.42925453186035, + 29.50635528564453, + 29.429615020751953, + 29.318897247314453, + 29.29048728942871, + 29.317636489868164, + 29.315523147583008, + 29.282075881958008, + 29.247848510742188, + 29.27845573425293, + 29.34998321533203, + 29.441238403320312, + 29.456716537475586, + 29.445804595947266, + 29.41053581237793, + 29.312252044677734, + 29.311321258544922, + 29.535066604614258, + 29.766727447509766, + 29.79578971862793, + 29.591358184814453, + 29.52048683166504, + 29.533164978027344, + 29.544538497924805, + 29.558753967285156, + 29.5627498626709, + 29.648454666137695, + 29.731971740722656, + 29.774791717529297, + 29.694412231445312, + 29.594369888305664, + 29.580310821533203, + 29.641633987426758, + 29.81170082092285, + 29.817169189453125, + 29.790098190307617, + 29.766626358032227, + 29.81119155883789, + 29.860187530517578, + 29.81318473815918, + 29.839805603027344, + 29.836238861083984, + 29.774539947509766, + 29.78204917907715, + 29.829927444458008, + 29.953853607177734, + 30.019975662231445, + 29.976238250732422, + 29.905105590820312, + 29.771648406982422, + 29.772783279418945, + 29.813814163208008, + 29.90070343017578, + 29.8947811126709, + 29.905099868774414, + 29.900402069091797, + 29.903696060180664, + 29.848705291748047, + 29.813203811645508, + 29.84122085571289, + 29.917837142944336, + 29.974720001220703, + 29.985958099365234, + 29.95180892944336, + 29.942644119262695, + 29.930627822875977, + 29.887975692749023, + 29.840593338012695, + 29.86276626586914, + 29.95361328125, + 29.94370460510254, + 29.931072235107422, + 29.934133529663086, + 29.992340087890625, + 30.0114803314209, + 29.9796085357666, + 29.937564849853516, + 29.894977569580078, + 29.890487670898438, + 29.94139289855957, + 29.97698974609375, + 29.96536636352539, + 29.917743682861328, + 29.885751724243164, + 29.877750396728516, + 29.98424530029297, + 29.992807388305664, + 29.981983184814453, + 29.894968032836914, + 29.904296875, + 29.97266960144043, + 30.041515350341797, + 30.103015899658203, + 30.1289119720459, + 30.07527732849121, + 30.022716522216797, + 30.051767349243164, + 30.10101890563965, + 30.163509368896484, + 30.14126968383789, + 30.120107650756836, + 30.032405853271484, + 29.99365234375, + 30.014400482177734, + 30.05683135986328, + 30.058652877807617, + 30.03716468811035, + 30.00949478149414, + 30.052122116088867, + 30.13282012939453, + 30.225595474243164, + 30.282535552978516, + 30.3687686920166, + 30.342214584350586, + 30.29414939880371, + 30.25435447692871, + 30.246702194213867, + 30.240678787231445, + 30.162412643432617, + 30.133079528808594, + 30.133346557617188, + 30.144006729125977, + 30.165822982788086, + 30.181108474731445, + 30.191465377807617, + 30.214277267456055, + 30.170211791992188, + 30.1935977935791, + 30.13808250427246, + 30.177553176879883, + 30.199600219726562, + 30.265737533569336, + 30.284151077270508, + 30.258464813232422, + 30.20931625366211, + 30.137216567993164, + 30.15107536315918, + 30.173847198486328, + 30.130687713623047, + 30.107423782348633, + 30.124467849731445, + 30.190038681030273, + 30.199920654296875, + 30.147010803222656, + 30.11749267578125, + 30.157804489135742, + 30.237058639526367, + 30.24636459350586, + 30.220491409301758, + 30.212188720703125, + 30.24651527404785, + 30.295055389404297, + 30.22862434387207, + 30.18080711364746, + 30.110126495361328, + 30.16349983215332, + 30.18855857849121, + 30.245548248291016, + 30.333284378051758, + 30.419145584106445, + 30.414892196655273, + 30.333158493041992, + 30.314844131469727, + 30.30124282836914, + 30.300338745117188, + 30.332300186157227, + 30.367271423339844, + 30.38383674621582, + 30.34083366394043, + 30.279659271240234, + 30.24929428100586, + 30.284250259399414, + 30.383243560791016, + 30.407255172729492, + 30.39202308654785, + 30.349651336669922, + 30.322402954101562, + 30.316617965698242, + 30.308074951171875, + 30.28091049194336, + 30.239643096923828, + 30.276531219482422, + 30.301340103149414, + 30.3394718170166, + 30.376232147216797, + 30.400630950927734, + 30.369319915771484, + 30.346641540527344, + 30.374685287475586, + 30.43925666809082, + 30.500764846801758, + 30.51518440246582, + 30.511693954467773, + 30.495220184326172, + 30.482440948486328, + 30.460262298583984, + 30.479890823364258, + 30.60963249206543, + 30.66193389892578, + 30.659957885742188, + 30.692537307739258, + 30.708215713500977, + 30.735214233398438, + 30.739255905151367, + 30.76188087463379, + 30.7623348236084, + 30.788532257080078, + 30.86225128173828, + 30.897878646850586, + 30.82114601135254, + 30.706666946411133, + 30.727991104125977, + 30.79245948791504, + 30.88789176940918, + 30.915307998657227, + 30.957603454589844, + 30.959274291992188, + 30.94269371032715, + 30.94972801208496, + 30.96067237854004, + 31.00096893310547, + 30.96592903137207, + 30.931020736694336, + 30.912633895874023, + 30.97464370727539, + 31.010717391967773, + 31.055391311645508, + 31.0456485748291, + 31.05409812927246, + 31.070911407470703, + 31.11444091796875, + 31.20515251159668, + 31.192028045654297, + 31.151187896728516, + 31.16691780090332, + 31.260072708129883, + 31.323118209838867, + 31.33897590637207, + 31.330320358276367, + 31.265363693237305, + 31.325178146362305, + 31.398391723632812, + 31.452795028686523, + 31.429737091064453, + 31.40837287902832, + 31.431928634643555, + 31.4499568939209, + 31.46269989013672, + 31.444435119628906, + 31.443479537963867, + 31.442686080932617, + 31.498275756835938, + 31.571674346923828, + 31.599695205688477, + 31.561655044555664, + 31.55573081970215, + 31.583459854125977, + 31.652124404907227, + 31.659677505493164, + 31.66083526611328, + 31.70829200744629, + 31.779380798339844, + 31.817628860473633, + 31.786043167114258, + 31.74173355102539, + 31.71877670288086, + 31.730634689331055, + 31.748708724975586, + 31.796634674072266, + 31.783170700073242, + 31.814151763916016, + 31.854351043701172, + 31.8576717376709, + 31.856300354003906, + 31.860599517822266, + 31.905296325683594, + 31.89594841003418, + 31.935630798339844, + 31.993148803710938, + 32.07071304321289, + 32.11125946044922, + 32.123374938964844, + 32.193233489990234, + 32.22174072265625, + 32.22189712524414, + 32.192806243896484, + 32.21459197998047, + 32.29185485839844, + 32.3137092590332, + 32.32758712768555, + 32.33790969848633, + 32.33599853515625, + 32.3914909362793, + 32.444705963134766, + 32.485286712646484, + 32.52824401855469, + 32.58897018432617, + 32.64231872558594, + 32.606788635253906, + 32.577571868896484, + 32.57267379760742, + 32.64385223388672, + 32.722129821777344, + 32.71510696411133, + 32.69007110595703, + 32.70197677612305, + 32.72857666015625, + 32.75815200805664, + 32.76007080078125, + 32.78892517089844, + 32.834632873535156, + 32.92661666870117, + 33.0507698059082, + 33.09678268432617, + 33.031097412109375, + 33.00022506713867, + 32.99265670776367, + 32.994873046875, + 32.9798469543457, + 33.031002044677734, + 33.059288024902344, + 33.02427291870117, + 32.986873626708984, + 33.00354766845703, + 33.06257247924805, + 33.12177276611328, + 33.16192626953125, + 33.21307373046875, + 33.22243118286133, + 33.2237434387207, + 33.23664093017578, + 33.267879486083984, + 33.32833480834961, + 33.36656188964844, + 33.46747970581055, + 33.50011444091797, + 33.46601867675781, + 33.434715270996094, + 33.47855758666992, + 33.555580139160156, + 33.65308380126953, + 33.72681427001953, + 33.75707244873047, + 33.76725387573242, + 33.787635803222656, + 33.786109924316406, + 33.817073822021484, + 33.87891387939453, + 33.95157241821289, + 33.96954345703125, + 33.92698287963867, + 33.905216217041016, + 33.95687484741211, + 34.01503372192383, + 34.1195068359375, + 34.27295684814453, + 34.38189697265625, + 34.43177795410156, + 34.466819763183594, + 34.58599853515625, + 34.7269401550293, + 34.833946228027344, + 34.96219253540039, + 35.09735870361328, + 35.23222351074219, + 35.32642364501953, + 35.45528030395508, + 35.657108306884766, + 35.8322868347168, + 35.92313003540039, + 36.04854202270508, + 36.19651412963867, + 36.36369323730469, + 36.56855773925781, + 36.88492202758789, + 37.33466339111328, + 37.68680191040039, + 37.9900016784668, + 38.32686996459961, + 38.839111328125, + 39.446903228759766, + 40.15448760986328, + 41.08134460449219, + 42.26953125, + 43.72754669189453, + 45.78263854980469, + 48.73918914794922, + 52.90522003173828, + 59.0512809753418, + 68.56512451171875, + 83.40565490722656, + 107.05292510986328, + 146.81353759765625, + 212.51651000976562, + 318.0817565917969, + 482.7589111328125, + 711.8302612304688, + 990.050048828125, + 1285.00732421875, + 1511.0733642578125, + 1601.6463623046875, + 1531.0985107421875, + 1320.9278564453125, + 1037.547119140625, + 740.9671020507812, + 500.5221862792969, + 332.96966552734375, + 220.77334594726562, + 150.68130493164062, + 109.67970275878906, + 84.47444152832031, + 68.7204818725586, + 59.11444854736328, + 52.694095611572266, + 48.33076477050781, + 45.38225555419922, + 43.25034713745117, + 41.6935920715332, + 40.508514404296875, + 39.54587936401367, + 38.7602424621582, + 38.14168167114258, + 37.600006103515625, + 37.10805892944336, + 36.6885986328125, + 36.30133056640625, + 35.95799255371094, + 35.600799560546875, + 35.32086181640625, + 35.02847671508789, + 34.82054138183594, + 34.58174133300781, + 34.357994079589844, + 34.134010314941406, + 33.99287033081055, + 33.84563446044922, + 33.710453033447266, + 33.50799560546875, + 33.36771011352539, + 33.23287582397461, + 33.149505615234375, + 33.05148696899414, + 32.92702865600586, + 32.791866302490234, + 32.63798141479492, + 32.53141403198242, + 32.42772674560547, + 32.32834243774414, + 32.239437103271484, + 32.15425491333008, + 32.033267974853516, + 31.93523597717285, + 31.85132598876953, + 31.747182846069336, + 31.62746810913086, + 31.56980323791504, + 31.575326919555664, + 31.568132400512695, + 31.526004791259766, + 31.491729736328125, + 31.409086227416992, + 31.36904525756836, + 31.287830352783203, + 31.273529052734375, + 31.222564697265625, + 31.199533462524414, + 31.11415672302246, + 31.047773361206055, + 30.959735870361328, + 30.89130210876465, + 30.90373420715332, + 30.89154624938965, + 30.909231185913086, + 30.897979736328125, + 30.890491485595703, + 30.812320709228516, + 30.759675979614258, + 30.727624893188477, + 30.67600440979004, + 30.628252029418945, + 30.661943435668945, + 30.67974090576172, + 30.614038467407227, + 30.54181480407715, + 30.53827476501465, + 30.57747459411621, + 30.580968856811523, + 30.567045211791992, + 30.564027786254883, + 30.5073184967041, + 30.400232315063477, + 30.329322814941406, + 30.33580207824707, + 30.3377628326416, + 30.346067428588867, + 30.36860466003418, + 30.376380920410156, + 30.328107833862305, + 30.284788131713867, + 30.272602081298828, + 30.251949310302734, + 30.252933502197266, + 30.272323608398438, + 30.266979217529297, + 30.261558532714844, + 30.240745544433594, + 30.19658660888672, + 30.156105041503906, + 30.112215042114258, + 30.122169494628906, + 30.13726234436035, + 30.158681869506836, + 30.155729293823242, + 30.125391006469727, + 30.1219425201416, + 30.157079696655273, + 30.191438674926758, + 30.222108840942383, + 30.25638198852539, + 30.276214599609375, + 30.25552749633789, + 30.223228454589844, + 30.20261573791504, + 30.198225021362305, + 30.200424194335938, + 30.203824996948242, + 30.17653465270996, + 30.1549072265625, + 30.11594581604004, + 30.151580810546875, + 30.163551330566406, + 30.20865821838379, + 30.202177047729492, + 30.19918441772461, + 30.1340274810791, + 30.08165168762207, + 30.097740173339844, + 30.163623809814453, + 30.217252731323242, + 30.177541732788086, + 30.115549087524414, + 30.103519439697266, + 30.14201545715332, + 30.23259162902832, + 30.250703811645508, + 30.271936416625977, + 30.261560440063477, + 30.2685546875, + 30.264217376708984, + 30.281095504760742, + 30.312015533447266, + 30.307443618774414, + 30.290000915527344, + 30.25479507446289, + 30.26529884338379, + 30.319902420043945, + 30.366445541381836, + 30.35373306274414, + 30.330541610717773, + 30.30899429321289, + 30.309818267822266, + 30.32732391357422, + 30.389183044433594, + 30.39971160888672, + 30.39501190185547, + 30.383344650268555, + 30.402238845825195, + 30.38288116455078, + 30.375762939453125, + 30.390045166015625, + 30.405189514160156, + 30.433631896972656, + 30.50391960144043, + 30.518829345703125, + 30.47543716430664, + 30.42565155029297, + 30.472156524658203, + 30.539968490600586, + 30.57335090637207, + 30.598114013671875, + 30.66340446472168, + 30.694313049316406, + 30.74755859375, + 30.802444458007812, + 30.856138229370117, + 30.837215423583984, + 30.826332092285156, + 30.850082397460938, + 30.8948974609375, + 30.96551513671875, + 31.066591262817383, + 31.174545288085938, + 31.236656188964844, + 31.290855407714844, + 31.30845832824707, + 31.320472717285156, + 31.37874412536621, + 31.484106063842773, + 31.59173011779785, + 31.68903350830078, + 31.77693748474121, + 31.91499900817871, + 32.05049133300781, + 32.16682434082031, + 32.23305892944336, + 32.30259323120117, + 32.421119689941406, + 32.545955657958984, + 32.67624282836914, + 32.76797103881836, + 32.91126251220703, + 33.07640075683594, + 33.285865783691406, + 33.45329666137695, + 33.594181060791016, + 33.774681091308594, + 33.9834098815918, + 34.185646057128906, + 34.42557907104492, + 34.696319580078125, + 34.97285842895508, + 35.226539611816406, + 35.568450927734375, + 35.899837493896484, + 36.182376861572266, + 36.501380920410156, + 36.859004974365234, + 37.24562454223633, + 37.64398956298828, + 38.09574890136719, + 38.60658645629883, + 39.15772247314453, + 39.7945442199707, + 40.51773452758789, + 41.3270149230957, + 42.28261184692383, + 43.40947341918945, + 44.82204818725586, + 46.63654708862305, + 48.889404296875, + 51.87383270263672, + 56.03772735595703, + 61.802425384521484, + 69.97919464111328, + 82.5111312866211, + 101.95650482177734, + 132.3250732421875, + 182.85443115234375, + 266.0291748046875, + 399.14447021484375, + 616.3683471679688, + 937.8656616210938, + 1360.738525390625, + 1874.4617919921875, + 2366.898193359375, + 2714.7578125, + 2819.80908203125, + 2631.714599609375, + 2221.39208984375, + 1692.0693359375, + 1187.6728515625, + 798.3787841796875, + 520.8145141601562, + 338.3633728027344, + 226.889892578125, + 159.56857299804688, + 118.25475311279297, + 92.73567199707031, + 76.65444946289062, + 66.05496215820312, + 58.95152282714844, + 53.96533203125, + 50.3306999206543, + 47.629398345947266, + 45.60187530517578, + 43.95035934448242, + 42.65077590942383, + 41.53607177734375, + 40.585350036621094, + 39.77942657470703, + 39.1219596862793, + 38.511714935302734, + 37.949459075927734, + 37.393951416015625, + 36.922061920166016, + 36.52071762084961, + 36.10154342651367, + 35.706356048583984, + 35.31312942504883, + 35.00042724609375, + 34.65456771850586, + 34.287452697753906, + 33.945281982421875, + 33.67927932739258, + 33.45180130004883, + 33.186866760253906, + 32.91078186035156, + 32.69692611694336, + 32.55946731567383, + 32.39508819580078, + 32.2032356262207, + 32.014888763427734, + 31.80466079711914, + 31.626628875732422, + 31.448163986206055, + 31.312244415283203, + 31.157962799072266, + 31.018848419189453, + 30.902524948120117, + 30.778888702392578, + 30.636804580688477, + 30.492115020751953, + 30.13284683227539, + 29.921688079833984, + 29.800275802612305, + 29.97922134399414, + 30.027502059936523, + 29.979917526245117, + 29.86851692199707, + 29.7241268157959, + 29.62141990661621, + 29.518680572509766, + 29.490522384643555, + 29.466787338256836, + 29.448009490966797, + 29.39824676513672, + 29.37006378173828, + 29.342937469482422, + 29.27851676940918, + 29.22614097595215, + 29.191089630126953, + 29.1534481048584, + 29.058561325073242, + 28.959741592407227, + 28.919876098632812, + 28.905502319335938, + 28.83692741394043, + 28.785276412963867, + 28.763025283813477, + 28.776729583740234, + 28.739871978759766, + 28.677515029907227, + 28.654733657836914, + 28.61782455444336, + 28.532981872558594, + 28.468347549438477, + 28.4720516204834, + 28.517234802246094, + 28.48628807067871, + 28.420576095581055, + 28.375112533569336, + 28.375394821166992, + 28.396970748901367, + 28.400867462158203, + 28.38685417175293, + 28.395788192749023, + 28.392845153808594, + 28.395402908325195, + 28.360734939575195, + 28.343719482421875, + 28.31928825378418, + 28.296350479125977, + 28.241416931152344, + 28.21356773376465, + 28.233861923217773, + 28.25520896911621, + 28.2134952545166, + 28.212745666503906, + 28.21535873413086, + 28.27176284790039, + 28.266881942749023, + 28.25693130493164, + 28.246763229370117, + 28.25874137878418, + 28.260351181030273, + 28.254047393798828, + 28.250375747680664, + 28.27077865600586, + 28.313703536987305, + 28.338422775268555, + 28.39368438720703, + 28.443063735961914, + 28.50934600830078, + 28.53889274597168, + 28.558605194091797, + 28.564096450805664, + 28.561176300048828, + 28.565275192260742, + 28.55560302734375, + 28.512691497802734, + 28.50858497619629, + 28.552715301513672, + 28.561012268066406, + 28.587175369262695, + 28.610597610473633, + 28.654232025146484, + 28.666027069091797, + 28.702308654785156, + 28.778196334838867, + 28.81464958190918, + 28.838085174560547, + 28.828399658203125, + 28.84714126586914, + 28.8720645904541, + 28.890552520751953, + 28.925704956054688, + 29.014305114746094, + 29.12160301208496, + 29.208148956298828, + 29.282901763916016, + 29.33850860595703, + 29.450687408447266, + 29.546659469604492, + 29.67051124572754, + 29.784269332885742, + 29.894519805908203, + 29.988588333129883, + 30.110280990600586, + 30.27046775817871, + 30.43085479736328, + 30.59197235107422, + 30.704486846923828, + 30.838769912719727, + 31.000411987304688, + 31.179487228393555, + 31.4299259185791, + 31.672317504882812, + 31.92827033996582, + 32.19761657714844, + 32.51640701293945, + 32.86328887939453, + 33.30091094970703, + 33.795413970947266, + 34.381317138671875, + 35.1545524597168, + 36.160499572753906, + 37.375667572021484, + 39.031558990478516, + 41.4138069152832, + 44.797508239746094, + 49.90789794921875, + 57.887447357177734, + 70.10863494873047, + 89.99226379394531, + 123.5012435913086, + 176.86781311035156, + 261.4806213378906, + 390.954833984375, + 565.4776611328125, + 778.4594116210938, + 1001.501953125, + 1173.12255859375, + 1247.134765625, + 1200.9765625, + 1050.575927734375, + 837.3785400390625, + 611.5274658203125, + 422.9749755859375, + 286.7987976074219, + 192.30113220214844, + 131.90625, + 96.1778564453125, + 73.97530364990234, + 60.087158203125, + 51.660179138183594, + 46.04044723510742, + 42.21532440185547, + 39.660797119140625, + 37.790550231933594, + 36.44343185424805, + 35.4329833984375, + 34.60564422607422, + 33.871856689453125, + 33.30643081665039, + 32.860565185546875, + 32.54509735107422, + 32.239013671875, + 31.949365615844727, + 31.647186279296875, + 31.395084381103516, + 31.14438247680664, + 30.93621826171875, + 30.74098777770996, + 30.59232521057129, + 30.42967987060547, + 30.229339599609375, + 30.051013946533203, + 29.926471710205078, + 29.82940673828125, + 29.69231605529785, + 29.583702087402344, + 29.46990394592285, + 29.317840576171875, + 29.17218017578125, + 29.09775161743164, + 29.04749298095703, + 28.947235107421875, + 28.85010528564453, + 28.78856658935547, + 28.727947235107422, + 28.651506423950195, + 28.602697372436523, + 28.5643367767334, + 28.527162551879883, + 28.476333618164062, + 28.413108825683594, + 28.348716735839844, + 28.311643600463867, + 28.303800582885742, + 28.27671241760254, + 28.207901000976562, + 28.15511703491211, + 28.133487701416016, + 28.12302589416504, + 28.108959197998047, + 28.086368560791016, + 28.051156997680664, + 28.00340461730957, + 27.99357795715332, + 28.018388748168945, + 27.980222702026367, + 27.9167423248291, + 27.87669563293457, + 27.86310577392578, + 27.8330135345459, + 27.824270248413086, + 27.837604522705078, + 27.83466339111328, + 27.79109001159668, + 27.749370574951172, + 27.742761611938477, + 27.73455047607422, + 27.73688507080078, + 27.727651596069336, + 27.726818084716797, + 27.710241317749023, + 27.692399978637695, + 27.667537689208984, + 27.66058349609375, + 27.685213088989258, + 27.72330665588379, + 27.70846176147461, + 27.67197036743164, + 27.612258911132812, + 27.609495162963867, + 27.635482788085938, + 27.626445770263672, + 27.61467742919922, + 27.60677146911621, + 27.61172103881836, + 27.59600830078125, + 27.61986541748047, + 27.678634643554688, + 27.705392837524414, + 27.673095703125, + 27.661865234375, + 27.700170516967773, + 27.685022354125977, + 27.671409606933594, + 27.678163528442383, + 27.7437801361084, + 27.780628204345703, + 27.7963809967041, + 27.858694076538086, + 27.930057525634766, + 27.949342727661133, + 27.93177032470703, + 27.942686080932617, + 27.963544845581055, + 27.98468589782715, + 28.0101261138916, + 28.048093795776367, + 28.07948112487793, + 28.102712631225586, + 28.154394149780273, + 28.214750289916992, + 28.29650115966797, + 28.3794002532959, + 28.49480628967285, + 28.581676483154297, + 28.639610290527344, + 28.712326049804688, + 28.77444839477539, + 28.837892532348633, + 28.894529342651367, + 29.0070858001709, + 29.111997604370117, + 29.184391021728516, + 29.228975296020508, + 29.249561309814453, + 29.3305721282959, + 29.44025421142578, + 29.585433959960938, + 29.718931198120117, + 29.842100143432617, + 30.051687240600586, + 30.269886016845703, + 30.53338050842285, + 30.822900772094727, + 31.18357276916504, + 31.680513381958008, + 32.26888656616211, + 33.04570007324219, + 34.08531951904297, + 35.62764358520508, + 37.85483932495117, + 41.31964874267578, + 46.71352005004883, + 55.13505172729492, + 69.12893676757812, + 92.08511352539062, + 128.16354370117188, + 184.92543029785156, + 263.98724365234375, + 363.8600158691406, + 480.3432922363281, + 583.2769775390625, + 646.3880615234375, + 653.6007080078125, + 601.8587036132812, + 507.89385986328125, + 391.380615234375, + 282.9766540527344, + 199.4819793701172, + 138.84022521972656, + 98.3084945678711, + 73.2444076538086, + 57.86614990234375, + 48.34193801879883, + 42.49509811401367, + 38.79337692260742, + 36.33335494995117, + 34.730140686035156, + 33.60717010498047, + 32.752906799316406, + 32.11949920654297, + 31.636821746826172, + 31.25164222717285, + 30.987241744995117, + 30.784456253051758, + 30.606325149536133, + 30.525487899780273, + 30.4450626373291, + 30.346202850341797, + 30.17460060119629, + 30.103683471679688, + 30.021451950073242, + 29.875368118286133, + 29.66404914855957, + 29.499958038330078, + 29.360698699951172, + 29.26263427734375, + 29.188322067260742, + 29.10508155822754, + 28.99945068359375, + 28.92222023010254, + 28.857160568237305, + 28.783226013183594, + 28.708162307739258, + 28.66798210144043, + 28.62323570251465, + 28.571224212646484, + 28.525503158569336, + 28.483226776123047, + 28.470272064208984, + 28.463851928710938, + 28.446382522583008, + 28.44043731689453, + 28.44001007080078, + 28.472393035888672, + 28.449262619018555, + 28.400897979736328, + 28.351715087890625, + 28.354698181152344, + 28.37282943725586, + 28.381616592407227, + 28.364652633666992, + 28.357641220092773, + 28.33121109008789, + 28.326169967651367, + 28.319725036621094, + 28.346595764160156, + 28.34147834777832, + 28.350339889526367, + 28.316373825073242, + 28.268850326538086, + 28.248933792114258, + 28.26710319519043, + 28.286951065063477, + 28.29013442993164, + 28.29051971435547, + 28.29405975341797, + 28.325756072998047, + 28.354930877685547, + 28.41095733642578, + 28.4510555267334, + 28.479848861694336, + 28.51905632019043, + 28.541244506835938, + 28.541391372680664, + 28.51578140258789, + 28.537317276000977, + 28.617233276367188, + 28.701963424682617, + 28.74129867553711, + 28.776369094848633, + 28.82330322265625, + 28.86284637451172, + 28.858142852783203, + 28.867647171020508, + 28.91636085510254, + 29.02678680419922, + 29.102331161499023, + 29.104007720947266, + 29.122756958007812, + 29.1940975189209, + 29.338912963867188, + 29.432981491088867, + 29.526939392089844, + 29.587663650512695, + 29.667884826660156, + 29.784427642822266, + 29.953962326049805, + 30.084043502807617, + 30.187755584716797, + 30.306568145751953, + 30.44698715209961, + 30.603416442871094, + 30.74498748779297, + 30.917917251586914, + 31.085527420043945, + 31.262746810913086, + 31.439010620117188, + 31.589433670043945, + 31.802724838256836, + 32.04952621459961, + 32.29874038696289, + 32.53522491455078, + 32.82587814331055, + 33.17470169067383, + 33.5545768737793, + 34.013343811035156, + 34.517127990722656, + 35.105072021484375, + 35.88568878173828, + 36.80956268310547, + 37.91295623779297, + 39.346397399902344, + 41.28074645996094, + 43.854305267333984, + 47.590824127197266, + 53.10871124267578, + 61.546165466308594, + 74.95249938964844, + 96.53762817382812, + 131.13255310058594, + 188.39767456054688, + 279.0630798339844, + 413.8334045410156, + 608.37548828125, + 847.9635009765625, + 1105.3021240234375, + 1337.1390380859375, + 1470.2977294921875, + 1470.7762451171875, + 1334.935791015625, + 1109.0966796875, + 851.7025756835938, + 607.2396240234375, + 415.6065673828125, + 280.8244934082031, + 190.32418823242188, + 132.46937561035156, + 97.17820739746094, + 75.58599090576172, + 62.044898986816406, + 53.514644622802734, + 47.91175079345703, + 44.13679122924805, + 41.53327941894531, + 39.584564208984375, + 38.11247634887695, + 37.028324127197266, + 36.18144226074219, + 35.451446533203125, + 34.818153381347656, + 34.27104949951172, + 33.81584167480469, + 33.40209197998047, + 33.009212493896484, + 32.671630859375, + 32.41368103027344, + 32.174339294433594, + 31.94884490966797, + 31.711748123168945, + 31.51413917541504, + 31.29936408996582, + 31.097627639770508, + 30.881166458129883, + 30.681838989257812, + 30.508960723876953, + 30.372337341308594, + 30.265111923217773, + 30.134647369384766, + 29.987241744995117, + 29.787200927734375, + 29.6186580657959, + 29.526657104492188, + 29.503814697265625, + 29.452293395996094, + 29.335498809814453, + 29.239973068237305, + 29.200002670288086, + 29.149112701416016, + 29.047304153442383, + 28.977222442626953, + 28.946678161621094, + 28.884029388427734, + 28.7888240814209, + 28.721599578857422, + 28.709089279174805, + 28.709251403808594, + 28.673564910888672, + 28.5833797454834, + 28.532686233520508, + 28.5283260345459, + 28.5302677154541, + 28.501672744750977, + 28.485698699951172, + 28.478639602661133, + 28.4664363861084, + 28.441265106201172, + 28.40934181213379, + 28.364656448364258, + 28.342876434326172, + 28.374948501586914, + 28.410940170288086, + 28.451148986816406, + 28.45460319519043, + 28.45879364013672, + 28.46677017211914, + 28.453948974609375, + 28.440086364746094, + 28.433591842651367, + 28.433849334716797, + 28.43730926513672, + 28.423599243164062, + 28.455978393554688, + 28.502294540405273, + 28.537879943847656, + 28.56295394897461, + 28.587881088256836, + 28.6107120513916, + 28.668214797973633, + 28.721694946289062, + 28.758834838867188, + 28.79680061340332, + 28.865188598632812, + 28.92424964904785, + 28.98827362060547, + 29.069183349609375, + 29.123981475830078, + 29.186580657958984, + 29.26229476928711, + 29.392988204956055, + 29.518238067626953, + 29.61135482788086, + 29.693559646606445, + 29.810762405395508, + 29.97702407836914, + 30.178434371948242, + 30.351587295532227, + 30.55572509765625, + 30.778989791870117, + 31.019962310791016, + 31.343555450439453, + 31.75044059753418, + 32.26729965209961, + 32.91244888305664, + 33.732391357421875, + 34.771331787109375, + 36.29088592529297, + 38.421138763427734, + 41.54111862182617, + 46.34014129638672, + 54.0412483215332, + 66.22991943359375, + 86.3041000366211, + 119.11005401611328, + 169.3549041748047, + 245.5997772216797, + 350.0762634277344, + 476.07037353515625, + 612.9803466796875, + 727.9871215820312, + 791.1195678710938, + 785.88916015625, + 713.5305786132812, + 596.0042724609375, + 458.1394348144531, + 331.98284912109375, + 233.57826232910156, + 162.2433624267578, + 114.12566375732422, + 83.34817504882812, + 64.59529876708984, + 52.8904914855957, + 45.54267120361328, + 40.9887580871582, + 37.98680877685547, + 35.95930480957031, + 34.57265853881836, + 33.54892349243164, + 32.75115203857422, + 32.131492614746094, + 31.644025802612305, + 31.2473087310791, + 30.924179077148438, + 30.619857788085938, + 30.396770477294922, + 30.20353889465332, + 30.014469146728516, + 29.79161262512207, + 29.62868309020996, + 29.476015090942383, + 29.32341766357422, + 29.19759178161621, + 29.094804763793945, + 28.981464385986328, + 28.855859756469727, + 28.716724395751953, + 28.595211029052734, + 28.500356674194336, + 28.457866668701172, + 28.40276527404785, + 28.315229415893555, + 28.18351173400879, + 28.113937377929688, + 28.062501907348633, + 28.04766273498535, + 28.002885818481445, + 27.954742431640625, + 27.90204429626465, + 27.849674224853516, + 27.801576614379883, + 27.744184494018555, + 27.735960006713867, + 27.705595016479492, + 27.660423278808594, + 27.586923599243164, + 27.517892837524414, + 27.4918155670166, + 27.511568069458008, + 27.522846221923828, + 27.525798797607422, + 27.49652099609375, + 27.4660701751709, + 27.426057815551758, + 27.395038604736328, + 27.370824813842773, + 27.354846954345703, + 27.335111618041992, + 27.32756805419922, + 27.308122634887695, + 27.297346115112305, + 27.282577514648438, + 27.26303482055664, + 27.218013763427734, + 27.17071533203125, + 27.11455726623535, + 27.089658737182617, + 27.10132598876953, + 27.097640991210938, + 27.10997200012207, + 27.086803436279297, + 27.079792022705078, + 27.058427810668945, + 27.041980743408203, + 27.02981948852539, + 27.023963928222656, + 27.046142578125, + 27.059738159179688, + 27.02559471130371, + 26.974872589111328, + 26.945404052734375, + 26.9813232421875, + 26.986249923706055, + 26.973730087280273, + 26.971216201782227, + 26.97057342529297, + 26.97564125061035, + 26.965105056762695, + 26.96839714050293, + 26.97113609313965, + 26.9991397857666, + 26.990787506103516, + 26.953767776489258, + 26.946321487426758, + 26.979745864868164, + 27.001935958862305, + 26.992996215820312, + 26.95514678955078, + 26.944438934326172, + 26.934371948242188, + 26.913503646850586, + 26.90814781188965, + 26.929412841796875, + 26.940677642822266, + 26.932689666748047, + 26.90457534790039, + 26.898513793945312, + 26.907644271850586, + 26.937095642089844, + 26.970380783081055, + 26.960975646972656, + 26.935422897338867, + 26.933107376098633, + 26.952085494995117, + 26.9700870513916, + 26.949129104614258, + 26.927114486694336, + 26.958406448364258, + 26.99933433532715, + 27.023061752319336, + 27.0368595123291, + 27.021697998046875, + 27.011276245117188, + 27.008378982543945, + 27.008419036865234, + 27.010751724243164, + 27.002538681030273, + 27.01590347290039, + 26.99009895324707, + 26.97609519958496, + 26.975475311279297, + 26.99484634399414, + 27.016386032104492, + 27.03331184387207, + 27.031963348388672, + 27.02707290649414, + 26.991622924804688, + 26.9962158203125, + 27.029333114624023, + 27.074474334716797, + 27.08224105834961, + 27.06754493713379, + 27.05307960510254, + 27.073238372802734, + 27.09242820739746, + 27.129613876342773, + 27.131267547607422, + 27.117441177368164, + 27.089691162109375, + 27.096410751342773, + 27.149921417236328, + 27.178543090820312, + 27.18206024169922, + 27.154245376586914, + 27.161237716674805, + 27.190017700195312, + 27.234233856201172, + 27.267810821533203, + 27.276243209838867, + 27.27365493774414, + 27.282312393188477, + 27.294126510620117, + 27.273761749267578, + 27.222536087036133, + 27.233667373657227, + 27.279386520385742, + 27.305397033691406, + 27.32105255126953, + 27.3336124420166, + 27.351564407348633, + 27.337919235229492, + 27.35284423828125, + 27.370040893554688, + 27.405109405517578, + 27.442502975463867, + 27.48250961303711, + 27.49221420288086, + 27.492996215820312, + 27.504579544067383, + 27.53154754638672, + 27.55238151550293, + 27.560686111450195, + 27.593124389648438, + 27.68387794494629, + 27.746374130249023, + 27.767009735107422, + 27.743927001953125, + 27.746654510498047, + 27.807552337646484, + 27.88494110107422, + 27.96660614013672, + 28.00859260559082, + 28.004283905029297, + 28.026996612548828, + 28.073162078857422, + 28.15256690979004, + 28.17487907409668, + 28.199909210205078, + 28.267732620239258, + 28.37067222595215, + 28.457069396972656, + 28.52354621887207, + 28.61280059814453, + 28.75135612487793, + 28.88035011291504, + 29.02108383178711, + 29.153352737426758, + 29.333759307861328, + 29.57550621032715, + 29.895954132080078, + 30.2993221282959, + 30.860836029052734, + 31.671371459960938, + 32.91489791870117, + 34.73113250732422, + 37.604286193847656, + 42.24214553833008, + 49.63875198364258, + 61.492897033691406, + 80.28955078125, + 107.98927307128906, + 146.9823760986328, + 195.39437866210938, + 247.63108825683594, + 296.0213928222656, + 326.9422912597656, + 332.6581726074219, + 312.0784912109375, + 271.0589599609375, + 220.67593383789062, + 168.92147827148438, + 125.67949676513672, + 93.54518127441406, + 70.76425170898438, + 55.627010345458984, + 46.08030319213867, + 40.16730499267578, + 36.500335693359375, + 34.16960906982422, + 32.72575759887695, + 31.770462036132812, + 31.1251277923584, + 30.60329818725586, + 30.217838287353516, + 29.9368953704834, + 29.743207931518555, + 29.59418487548828, + 29.48610496520996, + 29.423553466796875, + 29.35162925720215, + 29.255563735961914, + 29.194150924682617, + 29.135765075683594, + 29.09751319885254, + 29.049551010131836, + 29.009929656982422, + 28.936555862426758, + 28.715682983398438, + 28.637964248657227, + 28.69371223449707, + 28.885021209716797, + 28.92888641357422, + 28.914945602416992, + 28.878887176513672, + 28.852205276489258, + 28.833057403564453, + 28.8394718170166, + 28.856027603149414, + 28.874347686767578, + 28.88573455810547, + 28.901500701904297, + 28.897029876708984, + 28.87115478515625, + 28.87497901916504, + 28.89010238647461, + 28.946077346801758, + 28.94659423828125, + 28.93692970275879, + 28.948774337768555, + 28.969919204711914, + 28.99677276611328, + 29.020565032958984, + 29.09853744506836, + 29.181007385253906, + 29.2271785736084, + 29.242115020751953, + 29.24744987487793, + 29.287643432617188, + 29.3275203704834, + 29.38870620727539, + 29.47980499267578, + 29.567806243896484, + 29.62708854675293, + 29.671308517456055, + 29.76995277404785, + 29.871105194091797, + 29.96587562561035, + 30.083324432373047, + 30.207427978515625, + 30.34348487854004, + 30.46128273010254, + 30.584266662597656, + 30.70716667175293, + 30.88002586364746, + 31.062355041503906, + 31.228466033935547, + 31.380165100097656, + 31.581233978271484, + 31.84882164001465, + 32.16460037231445, + 32.481475830078125, + 32.83460235595703, + 33.24335861206055, + 33.75130081176758, + 34.388912200927734, + 35.262664794921875, + 36.41632080078125, + 37.9719123840332, + 40.18708038330078, + 43.45246124267578, + 48.4015998840332, + 56.272865295410156, + 68.932861328125, + 89.13427734375, + 121.96722412109375, + 173.17648315429688, + 248.58013916015625, + 355.5830078125, + 491.4738464355469, + 639.7874755859375, + 778.68896484375, + 874.3260498046875, + 901.3409423828125, + 852.7681884765625, + 741.505126953125, + 599.7941284179688, + 453.5661926269531, + 327.6087646484375, + 231.0961151123047, + 162.58840942382812, + 116.10065460205078, + 85.52164459228516, + 66.803466796875, + 55.16712951660156, + 47.83357238769531, + 43.23392105102539, + 40.22597885131836, + 38.14151382446289, + 36.70295333862305, + 35.63054275512695, + 34.81734085083008, + 34.203880310058594, + 33.72041320800781, + 33.30658721923828, + 32.9932975769043, + 32.7149772644043, + 32.49989700317383, + 32.280029296875, + 32.0393180847168, + 31.787765502929688, + 31.61176872253418, + 31.47330665588379, + 31.34151840209961, + 31.219467163085938, + 31.114261627197266, + 31.004409790039062, + 30.895612716674805, + 30.777650833129883, + 30.67218017578125, + 30.578914642333984, + 30.500133514404297, + 30.46062469482422, + 30.397363662719727, + 30.341705322265625, + 30.279495239257812, + 30.218767166137695, + 30.129640579223633, + 30.083816528320312, + 30.03951072692871, + 30.029937744140625, + 29.998563766479492, + 29.98434829711914, + 29.95477294921875, + 29.966901779174805, + 29.987913131713867, + 29.972774505615234, + 29.940895080566406, + 29.906387329101562, + 29.91277503967285, + 29.931930541992188, + 29.97054672241211, + 30.015348434448242, + 30.034740447998047, + 30.066293716430664, + 30.099693298339844, + 30.18390655517578, + 30.236583709716797, + 30.290340423583984, + 30.364858627319336, + 30.43793296813965, + 30.521459579467773, + 30.562471389770508, + 30.63362693786621, + 30.703096389770508, + 30.804325103759766, + 30.91268539428711, + 31.038869857788086, + 31.163925170898438, + 31.297603607177734, + 31.467636108398438, + 31.670196533203125, + 31.91266441345215, + 32.19820785522461, + 32.5465202331543, + 32.95024490356445, + 33.47487258911133, + 34.18414306640625, + 35.1699333190918, + 36.5567626953125, + 38.56278991699219, + 41.5952033996582, + 46.344635009765625, + 53.92727279663086, + 66.16874694824219, + 85.94220733642578, + 116.93683624267578, + 163.50067138671875, + 230.5343780517578, + 318.8101501464844, + 420.7064514160156, + 523.55908203125, + 604.41455078125, + 643.3319091796875, + 629.9918823242188, + 569.6483764648438, + 478.64727783203125, + 375.1707458496094, + 279.3863525390625, + 202.3663330078125, + 145.2478485107422, + 105.47564697265625, + 78.633544921875, + 61.7375602722168, + 51.25611877441406, + 44.65176010131836, + 40.59398651123047, + 37.97443771362305, + 36.17081069946289, + 34.93974304199219, + 34.074153900146484, + 33.438880920410156, + 32.94423294067383, + 32.5267333984375, + 32.192440032958984, + 31.945146560668945, + 31.798337936401367, + 31.623825073242188, + 31.410465240478516, + 31.18558120727539, + 31.011802673339844, + 30.922422409057617, + 30.84233283996582, + 30.76003646850586, + 30.65275001525879, + 30.540441513061523, + 30.425891876220703, + 30.335290908813477, + 30.261486053466797, + 30.174358367919922, + 30.10762596130371, + 30.05426597595215, + 30.018136978149414, + 29.983030319213867, + 29.947559356689453, + 29.907249450683594, + 29.829160690307617, + 29.766382217407227, + 29.739749908447266, + 29.712984085083008, + 29.681005477905273, + 29.632020950317383, + 29.628576278686523, + 29.629955291748047, + 29.612449645996094, + 29.599782943725586, + 29.572542190551758, + 29.584381103515625, + 29.60010528564453, + 29.623844146728516, + 29.63200569152832, + 29.62411880493164, + 29.614444732666016, + 29.627113342285156, + 29.681161880493164, + 29.761709213256836, + 29.826862335205078, + 29.84335708618164, + 29.84384536743164, + 29.866031646728516, + 29.919214248657227, + 29.983341217041016, + 30.05490493774414, + 30.14440155029297, + 30.224693298339844, + 30.319067001342773, + 30.418460845947266, + 30.5443058013916, + 30.715845108032227, + 30.931011199951172, + 31.18033790588379, + 31.46013641357422, + 31.85785484313965, + 32.40181350708008, + 33.146026611328125, + 34.22403335571289, + 35.84642028808594, + 38.34912872314453, + 42.252906799316406, + 48.51581954956055, + 58.72309875488281, + 74.90096282958984, + 99.61295318603516, + 135.88938903808594, + 185.0778350830078, + 246.89842224121094, + 313.6701965332031, + 371.8871154785156, + 410.44476318359375, + 419.8504333496094, + 397.7478942871094, + 348.7640686035156, + 285.787109375, + 223.01870727539062, + 167.40098571777344, + 123.71073913574219, + 91.99349212646484, + 70.18706512451172, + 55.92928695678711, + 46.68495178222656, + 41.058414459228516, + 37.57670593261719, + 35.32088088989258, + 33.88691329956055, + 32.92427062988281, + 32.257232666015625, + 31.732410430908203, + 31.340896606445312, + 31.050920486450195, + 30.808734893798828, + 30.58089256286621, + 30.396028518676758, + 30.267467498779297, + 30.153085708618164, + 30.052595138549805, + 29.956439971923828, + 29.865665435791016, + 29.76466178894043, + 29.67807388305664, + 29.5979061126709, + 29.525362014770508, + 29.445341110229492, + 29.37373161315918, + 29.33759117126465, + 29.29518699645996, + 29.24016571044922, + 29.174898147583008, + 29.10487174987793, + 29.080020904541016, + 29.07044219970703, + 29.02935791015625, + 28.955333709716797, + 28.893733978271484, + 28.882728576660156, + 28.89366912841797, + 28.870494842529297, + 28.807998657226562, + 28.729389190673828, + 28.694019317626953, + 28.694063186645508, + 28.686912536621094, + 28.69822120666504, + 28.703147888183594, + 28.71933937072754, + 28.69485855102539, + 28.674785614013672, + 28.65613555908203, + 28.66495132446289, + 28.65657615661621, + 28.64690399169922, + 28.631166458129883, + 28.62150764465332, + 28.630468368530273, + 28.63376235961914, + 28.629262924194336, + 28.629039764404297, + 28.6281795501709, + 28.656089782714844, + 28.663009643554688, + 28.699983596801758, + 28.713197708129883, + 28.7391357421875, + 28.75271987915039, + 28.811355590820312, + 28.915699005126953, + 29.097469329833984, + 29.290225982666016, + 29.510597229003906, + 29.85532569885254, + 30.401287078857422, + 31.369380950927734, + 32.97676086425781, + 35.450096130371094, + 39.27863311767578, + 44.9755744934082, + 52.745452880859375, + 62.792964935302734, + 74.0224380493164, + 84.47477722167969, + 92.343994140625, + 95.3039321899414, + 93.01842498779297, + 85.86998748779297, + 75.78305053710938, + 65.0877685546875, + 55.004825592041016, + 46.931732177734375, + 40.961944580078125, + 36.66611099243164, + 33.75586700439453, + 31.878719329833984, + 30.763017654418945, + 30.08199119567871, + 29.634586334228516, + 29.352930068969727, + 29.13363265991211, + 28.992937088012695, + 28.901622772216797, + 28.88867950439453, + 28.864423751831055, + 28.832475662231445, + 28.789133071899414, + 28.77452278137207, + 28.759431838989258, + 28.73183250427246, + 28.703414916992188, + 28.679792404174805, + 28.681106567382812, + 28.697179794311523, + 28.70294952392578, + 28.698049545288086, + 28.70484161376953, + 28.69279670715332, + 28.66987419128418, + 28.641813278198242, + 28.651212692260742, + 28.665363311767578, + 28.67119598388672, + 28.691638946533203, + 28.714147567749023, + 28.75405502319336, + 28.765581130981445, + 28.7758731842041, + 28.766639709472656, + 28.770111083984375, + 28.76692771911621, + 28.756860733032227, + 28.78663444519043, + 28.83878517150879, + 28.8729248046875, + 28.888229370117188, + 28.904727935791016, + 28.962696075439453, + 29.002389907836914, + 29.03119659423828, + 29.048887252807617, + 29.076555252075195, + 29.12604331970215, + 29.165605545043945, + 29.203832626342773, + 29.22502899169922, + 29.27410316467285, + 29.326318740844727, + 29.415735244750977, + 29.50119400024414, + 29.577377319335938, + 29.674476623535156, + 29.79538917541504, + 29.94753074645996, + 30.1082763671875, + 30.302412033081055, + 30.544050216674805, + 30.897218704223633, + 31.421735763549805, + 32.13908004760742, + 33.25497055053711, + 35.010963439941406, + 37.7086296081543, + 42.08120346069336, + 49.172298431396484, + 59.97819137573242, + 76.46383666992188, + 100.28271484375, + 131.78677368164062, + 169.98683166503906, + 209.3082733154297, + 243.12158203125, + 263.9920654296875, + 266.79644775390625, + 251.98370361328125, + 222.24671936035156, + 184.92462158203125, + 147.40481567382812, + 114.09008026123047, + 87.9200210571289, + 68.70208740234375, + 55.284507751464844, + 46.166568756103516, + 40.31603240966797, + 36.72982406616211, + 34.50929260253906, + 33.08772277832031, + 32.16036605834961, + 31.558500289916992, + 31.158100128173828, + 30.86819839477539, + 30.6284122467041, + 30.46746826171875, + 30.331846237182617, + 30.245079040527344, + 30.177661895751953, + 30.14061737060547, + 30.082595825195312, + 29.996522903442383, + 29.94425392150879, + 29.917375564575195, + 29.908138275146484, + 29.866371154785156, + 29.83689308166504, + 29.81285858154297, + 29.805747985839844, + 29.7939453125, + 29.750547409057617, + 29.707265853881836, + 29.70246124267578, + 29.73244857788086, + 29.741989135742188, + 29.746599197387695, + 29.74420166015625, + 29.757396697998047, + 29.786901473999023, + 29.837657928466797, + 29.860349655151367, + 29.901771545410156, + 29.936298370361328, + 29.986478805541992, + 30.032424926757812, + 30.096115112304688, + 30.16325569152832, + 30.195960998535156, + 30.2333984375, + 30.277822494506836, + 30.325075149536133, + 30.39037322998047, + 30.478435516357422, + 30.57479476928711, + 30.696205139160156, + 30.852149963378906, + 31.006628036499023, + 31.151966094970703, + 31.30323600769043, + 31.524871826171875, + 31.768964767456055, + 32.07199478149414, + 32.430416107177734, + 32.93757247924805, + 33.6138801574707, + 34.55840301513672, + 35.89319610595703, + 37.90732955932617, + 41.013065338134766, + 45.93663024902344, + 53.85235595703125, + 66.56277465820312, + 86.48184204101562, + 116.81478881835938, + 160.83721923828125, + 220.1365203857422, + 294.63861083984375, + 375.1969909667969, + 447.5987243652344, + 498.7383117675781, + 516.3305053710938, + 496.8477783203125, + 444.4722595214844, + 372.060546875, + 295.14520263671875, + 224.01486206054688, + 166.31808471679688, + 122.86904907226562, + 91.78929901123047, + 70.57913208007812, + 56.417057037353516, + 47.630577087402344, + 42.14964294433594, + 38.66552734375, + 36.464500427246094, + 35.013771057128906, + 33.9697380065918, + 33.23862075805664, + 32.693729400634766, + 32.28078079223633, + 31.922046661376953, + 31.653141021728516, + 31.4528751373291, + 31.28447723388672, + 31.110910415649414, + 30.9545955657959, + 30.807344436645508, + 30.69339942932129, + 30.607521057128906, + 30.536775588989258, + 30.43682861328125, + 30.350074768066406, + 30.273597717285156, + 30.1899471282959, + 30.096633911132812, + 30.01470375061035, + 29.93787956237793, + 29.865690231323242, + 29.802709579467773, + 29.74529266357422, + 29.69835662841797, + 29.637123107910156, + 29.57600212097168, + 29.503421783447266, + 29.437171936035156, + 29.38759994506836, + 29.365488052368164, + 29.333038330078125, + 29.313121795654297, + 29.277490615844727, + 29.251497268676758, + 29.235279083251953, + 29.258506774902344, + 29.265853881835938, + 29.238452911376953, + 29.181325912475586, + 29.13569450378418, + 29.094829559326172, + 29.05992317199707, + 29.04991340637207, + 29.035511016845703, + 29.0283260345459, + 29.010845184326172, + 29.003421783447266, + 28.98662757873535, + 28.978050231933594, + 28.96298599243164, + 28.9501953125, + 28.925357818603516, + 28.913421630859375, + 28.906023025512695, + 28.90715980529785, + 28.884729385375977, + 28.864643096923828, + 28.856914520263672, + 28.858551025390625, + 28.85746955871582, + 28.834922790527344, + 28.828536987304688, + 28.833669662475586, + 28.84366798400879, + 28.862876892089844, + 28.843219757080078, + 28.807723999023438, + 28.762908935546875, + 28.784278869628906, + 28.814319610595703, + 28.82938575744629, + 28.80011558532715, + 28.784229278564453, + 28.77916717529297, + 28.769123077392578, + 28.739246368408203, + 28.746295928955078, + 28.769020080566406, + 28.794347763061523, + 28.795515060424805, + 28.804222106933594, + 28.82859992980957, + 28.835895538330078, + 28.84247589111328, + 28.84349250793457, + 28.85280990600586, + 28.842805862426758, + 28.831804275512695, + 28.82915496826172, + 28.82978057861328, + 28.827585220336914, + 28.80827522277832, + 28.826269149780273, + 28.850698471069336, + 28.892105102539062, + 28.9094181060791, + 28.92119598388672, + 28.909603118896484, + 28.926725387573242, + 28.921354293823242, + 28.907411575317383, + 28.891693115234375, + 28.885066986083984, + 28.908979415893555, + 28.915422439575195, + 28.935518264770508, + 28.919326782226562, + 28.93703842163086, + 28.965641021728516, + 29.00443458557129, + 29.02872657775879, + 29.038835525512695, + 29.063894271850586, + 29.07276153564453, + 29.104154586791992, + 29.119781494140625, + 29.12186622619629, + 29.134023666381836, + 29.14988136291504, + 29.172203063964844, + 29.222150802612305, + 29.270654678344727, + 29.336135864257812, + 29.37772560119629, + 29.44633674621582, + 29.495073318481445, + 29.567291259765625, + 29.677860260009766, + 29.85262680053711, + 30.081005096435547, + 30.40406036376953, + 30.945505142211914, + 31.783159255981445, + 33.11006546020508, + 35.1986198425293, + 38.468177795410156, + 43.4009895324707, + 50.44151306152344, + 59.89277648925781, + 71.63851165771484, + 84.0514144897461, + 95.41179656982422, + 103.75814819335938, + 106.71353149414062, + 103.98152160644531, + 96.2049789428711, + 85.47077178955078, + 73.45314025878906, + 62.00308609008789, + 52.67593002319336, + 45.57542419433594, + 40.26872634887695, + 36.55724334716797, + 34.09657287597656, + 32.5506706237793, + 31.56980323791504, + 30.976972579956055, + 30.58831214904785, + 30.326251983642578, + 30.155799865722656, + 30.050321578979492, + 29.9595947265625, + 29.88959503173828, + 29.857046127319336, + 29.857749938964844, + 29.860197067260742, + 29.835342407226562, + 29.81558609008789, + 29.81177520751953, + 29.842008590698242, + 29.87232208251953, + 29.879417419433594, + 29.883760452270508, + 29.905847549438477, + 29.94163703918457, + 29.97940444946289, + 29.965620040893555, + 29.96569061279297, + 29.990772247314453, + 30.057331085205078, + 30.08119773864746, + 30.079063415527344, + 30.063650131225586, + 30.09963035583496, + 30.18347930908203, + 30.25446891784668, + 30.30783462524414, + 30.339847564697266, + 30.392810821533203, + 30.445030212402344, + 30.52018928527832, + 30.591825485229492, + 30.661592483520508, + 30.734107971191406, + 30.85283660888672, + 30.983383178710938, + 31.06580352783203, + 31.173131942749023, + 31.343700408935547, + 31.572589874267578, + 31.80203628540039, + 32.06095504760742, + 32.4192008972168, + 32.89849853515625, + 33.578243255615234, + 34.540489196777344, + 35.94382095336914, + 38.06315994262695, + 41.44985580444336, + 46.86662673950195, + 55.50145721435547, + 69.09000396728516, + 89.62156677246094, + 119.40182495117188, + 160.50564575195312, + 211.45278930664062, + 268.79510498046875, + 324.6565246582031, + 366.5997314453125, + 387.0666809082031, + 382.53289794921875, + 354.92315673828125, + 309.053955078125, + 253.54957580566406, + 200.14476013183594, + 154.0668487548828, + 117.09932708740234, + 89.50590515136719, + 69.88327026367188, + 56.48881912231445, + 47.622371673583984, + 41.999141693115234, + 38.561492919921875, + 36.37866973876953, + 34.981571197509766, + 34.055381774902344, + 33.40375518798828, + 32.906612396240234, + 32.50883865356445, + 32.224853515625, + 32.025848388671875, + 31.880828857421875, + 31.72968101501465, + 31.59181785583496, + 31.493288040161133, + 31.430269241333008, + 31.365779876708984, + 31.289127349853516, + 31.223241806030273, + 31.17844581604004, + 31.14813995361328, + 31.106420516967773, + 31.08904266357422, + 31.074756622314453, + 31.036449432373047, + 30.987607955932617, + 30.959001541137695, + 30.948881149291992, + 30.927330017089844, + 30.900863647460938, + 30.890331268310547, + 30.917911529541016, + 30.952320098876953, + 30.93143081665039, + 30.925426483154297, + 30.954833984375, + 31.010852813720703, + 31.061981201171875, + 31.109922409057617, + 31.149341583251953, + 31.17387580871582, + 31.246074676513672, + 31.37786102294922, + 31.511751174926758, + 31.668508529663086, + 31.89113998413086, + 32.17825698852539, + 32.53477096557617, + 33.023231506347656, + 33.72785186767578, + 34.79678726196289, + 36.42057800292969, + 38.96210479736328, + 43.07746887207031, + 49.72191619873047, + 60.05735778808594, + 75.82889556884766, + 98.73146057128906, + 130.0057373046875, + 169.75816345214844, + 213.8543243408203, + 256.7907409667969, + 290.3716125488281, + 307.7770690917969, + 306.0857849121094, + 286.26220703125, + 252.7557373046875, + 211.1652069091797, + 169.14688110351562, + 132.56272888183594, + 103.07439422607422, + 80.4866943359375, + 63.876625061035156, + 52.4672966003418, + 44.97917175292969, + 40.0562629699707, + 37.03837585449219, + 35.13416290283203, + 33.900909423828125, + 33.09694290161133, + 32.548248291015625, + 32.148990631103516, + 31.84808921813965, + 31.610923767089844, + 31.421972274780273, + 31.286449432373047, + 31.163694381713867, + 31.06258201599121, + 30.98638153076172, + 30.884389877319336, + 30.79766273498535, + 30.728309631347656, + 30.690998077392578, + 30.6187744140625, + 30.54293441772461, + 30.508041381835938, + 30.48360252380371, + 30.445505142211914, + 30.371448516845703, + 30.312551498413086, + 30.31084632873535, + 30.311674118041992, + 30.302288055419922, + 30.28911590576172, + 30.2708683013916, + 30.249156951904297, + 30.23150062561035, + 30.22079849243164, + 30.2027530670166, + 30.178956985473633, + 30.1860294342041, + 30.2117919921875, + 30.224647521972656, + 30.224668502807617, + 30.220396041870117, + 30.246416091918945, + 30.274532318115234, + 30.3455810546875, + 30.447237014770508, + 30.600305557250977, + 30.772687911987305, + 31.041536331176758, + 31.469263076782227, + 32.11073684692383, + 33.09281539916992, + 34.633541107177734, + 37.10132598876953, + 41.00379943847656, + 46.95497131347656, + 55.56465148925781, + 67.40896606445312, + 82.44755554199219, + 99.17051696777344, + 115.81366729736328, + 129.0194091796875, + 136.2020721435547, + 136.02809143066406, + 128.971435546875, + 116.77609252929688, + 101.10784149169922, + 84.95293426513672, + 70.70428466796875, + 59.062767028808594, + 50.12998580932617, + 43.50055694580078, + 38.871212005615234, + 35.770633697509766, + 33.73649215698242, + 32.48900604248047, + 31.71725082397461, + 31.192989349365234, + 30.830825805664062, + 30.60009765625, + 30.45466423034668, + 30.341585159301758, + 30.253192901611328, + 30.18500328063965, + 30.164819717407227, + 30.141441345214844, + 30.1273193359375, + 30.08716583251953, + 30.0497989654541, + 30.021034240722656, + 30.001924514770508, + 30.008665084838867, + 30.008684158325195, + 30.001453399658203, + 30.00537872314453, + 30.01686668395996, + 30.002084732055664, + 29.98275375366211, + 29.984909057617188, + 29.99074363708496, + 29.992298126220703, + 29.989545822143555, + 29.999526977539062, + 30.013416290283203, + 30.055477142333984, + 30.09935188293457, + 30.102510452270508, + 30.097341537475586, + 30.12301254272461, + 30.16337776184082, + 30.233917236328125, + 30.321443557739258, + 30.41358184814453, + 30.486122131347656, + 30.56496238708496, + 30.70400047302246, + 30.90816307067871, + 31.15389633178711, + 31.476919174194336, + 31.975400924682617, + 32.795379638671875, + 34.05553436279297, + 36.026344299316406, + 39.12825012207031, + 43.99092102050781, + 51.4063720703125, + 62.299190521240234, + 77.12800598144531, + 96.21774291992188, + 118.7330322265625, + 141.08355712890625, + 159.8408660888672, + 171.6062774658203, + 174.38890075683594, + 167.8081817626953, + 152.82962036132812, + 132.83380126953125, + 111.36891174316406, + 91.2326431274414, + 74.51142883300781, + 61.37425231933594, + 51.50141143798828, + 44.43407440185547, + 39.535133361816406, + 36.35798263549805, + 34.35488510131836, + 33.08195877075195, + 32.30260467529297, + 31.803098678588867, + 31.48891258239746, + 31.271883010864258, + 31.084871292114258, + 30.95688247680664, + 30.85614013671875, + 30.794601440429688, + 30.71266746520996, + 30.675952911376953, + 30.668628692626953, + 30.644506454467773, + 30.615478515625, + 30.59978675842285, + 30.59548568725586, + 30.594602584838867, + 30.575599670410156, + 30.595500946044922, + 30.618057250976562, + 30.648372650146484, + 30.67122459411621, + 30.68201446533203, + 30.703899383544922, + 30.729785919189453, + 30.778493881225586, + 30.818994522094727, + 30.842891693115234, + 30.876222610473633, + 30.944387435913086, + 31.042036056518555, + 31.14769744873047, + 31.244224548339844, + 31.324338912963867, + 31.417949676513672, + 31.528852462768555, + 31.703649520874023, + 31.94601058959961, + 32.258365631103516, + 32.67007827758789, + 33.24946975708008, + 34.09284591674805, + 35.332664489746094, + 37.23162841796875, + 40.258399963378906, + 45.110164642333984, + 52.83449172973633, + 64.7091064453125, + 82.17613983154297, + 107.22720336914062, + 140.29383850097656, + 180.78150939941406, + 224.7708282470703, + 264.5953063964844, + 294.34027099609375, + 308.3267517089844, + 304.06805419921875, + 282.9621887207031, + 248.74269104003906, + 208.91165161132812, + 168.80369567871094, + 133.19049072265625, + 104.39984130859375, + 82.1041488647461, + 65.63358306884766, + 53.86428451538086, + 45.932395935058594, + 40.874603271484375, + 37.6680908203125, + 35.59897232055664, + 34.309696197509766, + 33.44706344604492, + 32.8803596496582, + 32.44366455078125, + 32.13410949707031, + 31.913755416870117, + 31.751781463623047, + 31.61446762084961, + 31.496784210205078, + 31.3846378326416, + 31.29560661315918, + 31.225255966186523, + 31.167312622070312, + 31.102481842041016, + 31.027673721313477, + 30.966474533081055, + 30.92737579345703, + 30.895906448364258, + 30.872392654418945, + 30.857791900634766, + 30.830345153808594, + 30.773900985717773, + 30.729040145874023, + 30.7053165435791, + 30.6882266998291, + 30.675561904907227, + 30.66362953186035, + 30.64162826538086, + 30.606624603271484, + 30.619544982910156, + 30.65398597717285, + 30.716901779174805, + 30.772863388061523, + 30.838336944580078, + 30.924869537353516, + 31.038951873779297, + 31.19607925415039, + 31.43889617919922, + 31.829547882080078, + 32.413970947265625, + 33.361419677734375, + 34.878562927246094, + 37.271453857421875, + 41.009769439697266, + 46.6965446472168, + 55.16012954711914, + 67.03713989257812, + 82.71333312988281, + 101.31275177001953, + 120.91876220703125, + 138.95069885253906, + 151.4991912841797, + 156.82290649414062, + 154.1961212158203, + 144.13339233398438, + 128.7662353515625, + 110.25204467773438, + 92.20721435546875, + 76.38623046875, + 63.280784606933594, + 53.29059600830078, + 45.76164627075195, + 40.47312545776367, + 36.921180725097656, + 34.57726287841797, + 33.10329818725586, + 32.192848205566406, + 31.6025390625, + 31.19041633605957, + 30.887800216674805, + 30.67595100402832, + 30.53681182861328, + 30.424049377441406, + 30.3355712890625, + 30.251615524291992, + 30.17924690246582, + 30.111038208007812, + 30.055335998535156, + 29.991195678710938, + 29.939844131469727, + 29.92766571044922, + 29.90761375427246, + 29.858957290649414, + 29.800905227661133, + 29.76039695739746, + 29.72728157043457, + 29.701068878173828, + 29.698884963989258, + 29.695486068725586, + 29.680057525634766, + 29.660438537597656, + 29.647714614868164, + 29.64533042907715, + 29.617334365844727, + 29.593433380126953, + 29.561002731323242, + 29.54296875, + 29.504396438598633, + 29.476119995117188, + 29.452245712280273, + 29.45525360107422, + 29.453638076782227, + 29.437393188476562, + 29.42730712890625, + 29.41933250427246, + 29.420446395874023, + 29.403276443481445, + 29.39614486694336, + 29.391687393188477, + 29.37838363647461, + 29.350387573242188, + 29.329280853271484, + 29.292280197143555, + 29.281661987304688, + 29.28319549560547, + 29.301307678222656, + 29.290061950683594, + 29.281639099121094, + 29.28723907470703, + 29.27684211730957, + 29.283010482788086, + 29.29150390625, + 29.308881759643555, + 29.290740966796875, + 29.29247283935547, + 29.301944732666016, + 29.305410385131836, + 29.295475006103516, + 29.285640716552734, + 29.284893035888672, + 29.284631729125977, + 29.2845401763916, + 29.280197143554688, + 29.281862258911133, + 29.287948608398438, + 29.293222427368164, + 29.29410171508789, + 29.30923080444336, + 29.303787231445312, + 29.33067512512207, + 29.3347225189209, + 29.337751388549805, + 29.304676055908203, + 29.28465461730957, + 29.286672592163086, + 29.317447662353516, + 29.36425018310547, + 29.39453887939453, + 29.41646385192871, + 29.435068130493164, + 29.461275100708008, + 29.478384017944336, + 29.498502731323242, + 29.504356384277344, + 29.53302001953125, + 29.549938201904297, + 29.55924415588379, + 29.565200805664062, + 29.589094161987305, + 29.615375518798828, + 29.630901336669922, + 29.644054412841797, + 29.66581916809082, + 29.69855308532715, + 29.76871681213379, + 29.883926391601562, + 30.025068283081055, + 30.188310623168945, + 30.453670501708984, + 30.875247955322266, + 31.537160873413086, + 32.55244445800781, + 34.1518669128418, + 36.60179901123047, + 40.31931686401367, + 45.696083068847656, + 52.93044662475586, + 62.054534912109375, + 72.3892593383789, + 82.35545349121094, + 90.37982177734375, + 95.16622924804688, + 95.8590087890625, + 92.46504974365234, + 85.55970001220703, + 76.62902069091797, + 67.035888671875, + 58.052310943603516, + 50.534549713134766, + 44.53947830200195, + 39.95093536376953, + 36.55950927734375, + 34.20106506347656, + 32.663963317871094, + 31.7056827545166, + 31.08642578125, + 30.657472610473633, + 30.364974975585938, + 30.20408058166504, + 30.11141586303711, + 30.043100357055664, + 29.987628936767578, + 29.926048278808594, + 29.87297821044922, + 29.848922729492188, + 29.860212326049805, + 29.867809295654297, + 29.836673736572266, + 29.8248348236084, + 29.81886863708496, + 29.821577072143555, + 29.826080322265625, + 29.82938575744629, + 29.87070083618164, + 29.910343170166016, + 29.91452407836914, + 29.901151657104492, + 29.881969451904297, + 29.88119125366211, + 29.8718318939209, + 29.883445739746094, + 29.90826988220215, + 29.94638442993164, + 29.961620330810547, + 30.000471115112305, + 30.066600799560547, + 30.14047622680664, + 30.204700469970703, + 30.29452133178711, + 30.444549560546875, + 30.638708114624023, + 30.92572784423828, + 31.41446876525879, + 32.15808868408203, + 33.30394744873047, + 35.120452880859375, + 37.92226028442383, + 42.0528564453125, + 47.886329650878906, + 55.61728286743164, + 64.98967742919922, + 75.0447769165039, + 84.41014099121094, + 91.51151275634766, + 95.02832794189453, + 94.56305694580078, + 90.27857208251953, + 83.05717468261719, + 74.11333465576172, + 64.95442962646484, + 56.62299728393555, + 49.609580993652344, + 43.98111343383789, + 39.67977523803711, + 36.541683197021484, + 34.35750961303711, + 32.92546844482422, + 32.030364990234375, + 31.461528778076172, + 31.12028694152832, + 30.904544830322266, + 30.768056869506836, + 30.69576072692871, + 30.666255950927734, + 30.630237579345703, + 30.59177589416504, + 30.57338523864746, + 30.560829162597656, + 30.572086334228516, + 30.6099910736084, + 30.63511085510254, + 30.634199142456055, + 30.65355110168457, + 30.677104949951172, + 30.7001953125, + 30.726335525512695, + 30.806039810180664, + 30.86382484436035, + 30.91120147705078, + 30.94740867614746, + 30.996864318847656, + 31.050704956054688, + 31.10665512084961, + 31.20282745361328, + 31.342660903930664, + 31.488353729248047, + 31.623319625854492, + 31.801137924194336, + 32.06563186645508, + 32.41929626464844, + 32.893184661865234, + 33.54471969604492, + 34.497535705566406, + 35.949310302734375, + 38.23460006713867, + 41.83162307739258, + 47.53854751586914, + 56.30129623413086, + 69.38899993896484, + 88.25814819335938, + 113.96260070800781, + 146.5459747314453, + 183.52720642089844, + 220.51039123535156, + 251.54110717773438, + 271.4410705566406, + 277.1863708496094, + 267.9077453613281, + 245.85006713867188, + 215.16737365722656, + 180.9415283203125, + 147.81011962890625, + 118.7743911743164, + 94.90225219726562, + 76.12511444091797, + 61.92520523071289, + 51.62327194213867, + 44.59071731567383, + 39.97676086425781, + 37.04663848876953, + 35.22992706298828, + 34.10171890258789, + 33.400535583496094, + 32.89287567138672, + 32.52018356323242, + 32.24696731567383, + 32.05307388305664, + 31.89338493347168, + 31.732301712036133, + 31.588655471801758, + 31.505661010742188, + 31.470060348510742, + 31.422119140625, + 31.34550666809082, + 31.272415161132812, + 31.21467399597168, + 31.158802032470703, + 31.126232147216797, + 31.124635696411133, + 31.14678382873535, + 31.126291275024414, + 31.089197158813477, + 31.060487747192383, + 31.07082748413086, + 31.076616287231445, + 31.103418350219727, + 31.098783493041992, + 31.118318557739258, + 31.200668334960938, + 31.348447799682617, + 31.523101806640625, + 31.746912002563477, + 32.0958366394043, + 32.651607513427734, + 33.523502349853516, + 34.90431213378906, + 37.08539962768555, + 40.45726013183594, + 45.571006774902344, + 53.1169319152832, + 63.58092498779297, + 77.10919189453125, + 92.95917510986328, + 109.38720703125, + 124.05850219726562, + 134.4947509765625, + 138.90406799316406, + 136.68527221679688, + 128.493896484375, + 116.01158905029297, + 101.43350219726562, + 86.73136901855469, + 73.49887084960938, + 62.286441802978516, + 53.26153564453125, + 46.27127456665039, + 41.09891891479492, + 37.454280853271484, + 35.0238037109375, + 33.431400299072266, + 32.43915939331055, + 31.825885772705078, + 31.443222045898438, + 31.193140029907227, + 31.020339965820312, + 30.872352600097656, + 30.715625762939453, + 30.60443115234375, + 30.553071975708008, + 30.503637313842773, + 30.44032096862793, + 30.373369216918945, + 30.329936981201172, + 30.296709060668945, + 30.29262351989746, + 30.272048950195312, + 30.231220245361328, + 30.191919326782227, + 30.18286895751953, + 30.183319091796875, + 30.1398983001709, + 30.105602264404297, + 30.083450317382812, + 30.03472900390625, + 29.990739822387695, + 29.996898651123047, + 30.014347076416016, + 30.00588607788086, + 29.993999481201172, + 29.987764358520508, + 29.968761444091797, + 29.943681716918945, + 29.929588317871094, + 29.944658279418945, + 29.943050384521484, + 29.896310806274414, + 29.864744186401367, + 29.88098907470703, + 29.92298698425293, + 29.93316078186035, + 29.92523193359375, + 29.910078048706055, + 29.90195655822754, + 29.916452407836914, + 29.92706871032715, + 29.917139053344727, + 29.89938735961914, + 29.874343872070312, + 29.860614776611328, + 29.890443801879883, + 29.93960189819336, + 29.925859451293945, + 29.87398910522461, + 29.843910217285156, + 29.84639549255371, + 29.88616943359375, + 29.947729110717773, + 29.979827880859375, + 29.9876766204834, + 29.982397079467773, + 29.970134735107422, + 29.955596923828125, + 29.974613189697266, + 30.034868240356445, + 30.119930267333984, + 30.149742126464844, + 30.1323299407959, + 30.12746238708496, + 30.165176391601562, + 30.197891235351562, + 30.221210479736328, + 30.25600242614746, + 30.280742645263672, + 30.277450561523438, + 30.316062927246094, + 30.38261604309082, + 30.410045623779297, + 30.436790466308594, + 30.491361618041992, + 30.57541847229004, + 30.65169906616211, + 30.73640251159668, + 30.83116340637207, + 30.94415855407715, + 31.06231689453125, + 31.21202278137207, + 31.423091888427734, + 31.72030258178711, + 32.09766387939453, + 32.63555145263672, + 33.47053909301758, + 34.783687591552734, + 36.82737731933594, + 40.0123176574707, + 44.90111541748047, + 52.2803840637207, + 63.18857192993164, + 78.4337158203125, + 98.6996841430664, + 123.12550354003906, + 149.88333129882812, + 175.52471923828125, + 195.9293212890625, + 207.90818786621094, + 209.39041137695312, + 200.7215576171875, + 183.69833374023438, + 161.4517059326172, + 137.45645141601562, + 114.61248779296875, + 94.57335662841797, + 77.85812377929688, + 64.3421401977539, + 53.90624237060547, + 46.28852462768555, + 40.98337936401367, + 37.48907470703125, + 35.267154693603516, + 33.86491394042969, + 32.948875427246094, + 32.33651351928711, + 31.925933837890625, + 31.657672882080078, + 31.496755599975586, + 31.378671646118164, + 31.27280616760254, + 31.15193748474121, + 31.01993179321289, + 30.942855834960938, + 30.930173873901367, + 30.92750358581543, + 30.859092712402344, + 30.780820846557617, + 30.760467529296875, + 30.742170333862305, + 30.710725784301758, + 30.708927154541016, + 30.717426300048828, + 30.702795028686523, + 30.681650161743164, + 30.655948638916016, + 30.6320743560791, + 30.628360748291016, + 30.70387077331543, + 30.822614669799805, + 30.95932960510254, + 31.11018943786621, + 31.327072143554688, + 31.699575424194336, + 32.36483383178711, + 33.453575134277344, + 35.09557342529297, + 37.52993392944336, + 41.0968017578125, + 46.243125915527344, + 53.107078552246094, + 61.573081970214844, + 70.9297103881836, + 80.02552032470703, + 87.60941314697266, + 92.44087982177734, + 93.80883026123047, + 91.50554656982422, + 86.11131286621094, + 78.68717193603516, + 70.32294464111328, + 62.01930618286133, + 54.576194763183594, + 48.31974792480469, + 43.26261901855469, + 39.29576110839844, + 36.30482482910156, + 34.16850280761719, + 32.74081039428711, + 31.855438232421875, + 31.306886672973633, + 30.936166763305664, + 30.70450210571289, + 30.58814811706543, + 30.495302200317383, + 30.372556686401367, + 30.269275665283203, + 30.19745635986328, + 30.1102352142334, + 30.038921356201172, + 30.046554565429688, + 30.05372428894043, + 30.015830993652344, + 29.97941017150879, + 29.96113395690918, + 29.94439125061035, + 29.923648834228516, + 29.885568618774414, + 29.867403030395508, + 29.87607765197754, + 29.873023986816406, + 29.82857322692871, + 29.7803897857666, + 29.767974853515625, + 29.77971076965332, + 29.78388786315918, + 29.77569580078125, + 29.746135711669922, + 29.71056365966797, + 29.699087142944336, + 29.678573608398438, + 29.654417037963867, + 29.654272079467773, + 29.679794311523438, + 29.6917781829834, + 29.699716567993164, + 29.69624137878418, + 29.66395378112793, + 29.63796615600586, + 29.630884170532227, + 29.641338348388672, + 29.6804141998291, + 29.691904067993164, + 29.651639938354492, + 29.615215301513672, + 29.609403610229492, + 29.59332847595215, + 29.598363876342773, + 29.623661041259766, + 29.648143768310547, + 29.65839385986328, + 29.66329574584961, + 29.673433303833008, + 29.6809139251709, + 29.689794540405273, + 29.680795669555664, + 29.628217697143555, + 29.593156814575195, + 29.599058151245117, + 29.59548568725586, + 29.618467330932617, + 29.67373275756836, + 29.68777847290039, + 29.662336349487305, + 29.663410186767578, + 29.683473587036133, + 29.689170837402344, + 29.726049423217773, + 29.772594451904297, + 29.756860733032227, + 29.7004337310791, + 29.688514709472656, + 29.72561264038086, + 29.770599365234375, + 29.783185958862305, + 29.783666610717773, + 29.796918869018555, + 29.79047966003418, + 29.774127960205078, + 29.8054256439209, + 29.853134155273438, + 29.888282775878906, + 30.0013370513916, + 30.189212799072266, + 30.362707138061523, + 30.597326278686523, + 31.04859161376953, + 31.74017333984375, + 32.72731018066406, + 34.18579864501953, + 36.31795120239258, + 39.32401657104492, + 43.16366958618164, + 47.62659454345703, + 52.3729248046875, + 56.73728942871094, + 60.14522933959961, + 61.97848892211914, + 61.98883819580078, + 60.21903991699219, + 57.075279235839844, + 53.15742874145508, + 49.0327262878418, + 45.17737579345703, + 41.79214859008789, + 38.842891693115234, + 36.38636779785156, + 34.50272750854492, + 33.13079071044922, + 32.118289947509766, + 31.391626358032227, + 30.9219913482666, + 30.64263343811035, + 30.502445220947266, + 30.42673683166504, + 30.378087997436523, + 30.33424949645996, + 30.312633514404297, + 30.332630157470703, + 30.36896514892578, + 30.38372802734375, + 30.377832412719727, + 30.3573055267334, + 30.35792350769043, + 30.383949279785156, + 30.39093017578125, + 30.39678955078125, + 30.429962158203125, + 30.460590362548828, + 30.513051986694336, + 30.583457946777344, + 30.626291275024414, + 30.661497116088867, + 30.73893928527832, + 30.887897491455078, + 31.094022750854492, + 31.33904457092285, + 31.6993350982666, + 32.2338981628418, + 32.96959686279297, + 34.08122634887695, + 35.819087982177734, + 38.52654266357422, + 42.626041412353516, + 48.65345001220703, + 57.22907257080078, + 68.69817352294922, + 83.02875518798828, + 99.05548858642578, + 115.12702178955078, + 129.03585815429688, + 138.5380401611328, + 142.41156005859375, + 139.8553924560547, + 131.96270751953125, + 120.05548858642578, + 105.99380493164062, + 91.73983764648438, + 78.60457611083984, + 67.1855697631836, + 57.66878128051758, + 49.99085998535156, + 44.056236267089844, + 39.73713302612305, + 36.72303009033203, + 34.740909576416016, + 33.42717361450195, + 32.596954345703125, + 32.10026168823242, + 31.828550338745117, + 31.653108596801758, + 31.457073211669922, + 31.275426864624023, + 31.185197830200195, + 31.151697158813477, + 31.108333587646484, + 31.050832748413086, + 31.04364776611328, + 31.062541961669922, + 31.041959762573242, + 31.006858825683594, + 31.00827980041504, + 31.04642105102539, + 31.08395004272461, + 31.103137969970703, + 31.129619598388672, + 31.189556121826172, + 31.300373077392578, + 31.423797607421875, + 31.543546676635742, + 31.76411247253418, + 32.11838150024414, + 32.602874755859375, + 33.35166931152344, + 34.61155700683594, + 36.565006256103516, + 39.55615234375, + 43.983795166015625, + 50.49660873413086, + 59.51631546020508, + 71.2252197265625, + 85.3969497680664, + 100.66380310058594, + 115.4273681640625, + 127.63765716552734, + 135.44168090820312, + 137.6201171875, + 133.7191925048828, + 124.9847412109375, + 112.91549682617188, + 99.40792083740234, + 86.14344787597656, + 74.16242980957031, + 63.9048957824707, + 55.28645706176758, + 48.33675003051758, + 42.922698974609375, + 38.89463424682617, + 36.09357833862305, + 34.3106689453125, + 33.20413589477539, + 32.48525619506836, + 31.987462997436523, + 31.679241180419922, + 31.47954750061035, + 31.341320037841797, + 31.264053344726562, + 31.189842224121094, + 31.07748794555664, + 30.971033096313477, + 30.9276123046875, + 30.930959701538086, + 30.925317764282227, + 30.904726028442383, + 30.883453369140625, + 30.881572723388672, + 30.91551971435547, + 30.96372413635254, + 31.015888214111328, + 31.056142807006836, + 31.103010177612305, + 31.21661376953125, + 31.346715927124023, + 31.459020614624023, + 31.63990592956543, + 32.02668380737305, + 32.70412063598633, + 33.756065368652344, + 35.361995697021484, + 37.75677490234375, + 41.31722640991211, + 46.443199157714844, + 53.66301345825195, + 62.932777404785156, + 74.0482177734375, + 86.00440979003906, + 97.41117858886719, + 106.7637939453125, + 112.49771118164062, + 113.87643432617188, + 110.6514892578125, + 103.80269622802734, + 94.47879028320312, + 84.01749420166016, + 73.77191925048828, + 64.49361419677734, + 56.488197326660156, + 49.795413970947266, + 44.346435546875, + 40.10848617553711, + 36.996891021728516, + 34.7722053527832, + 33.3154182434082, + 32.44480895996094, + 31.898208618164062, + 31.48446273803711, + 31.17637825012207, + 30.97572898864746, + 30.879886627197266, + 30.8364200592041, + 30.760709762573242, + 30.683929443359375, + 30.65656852722168, + 30.678680419921875, + 30.710201263427734, + 30.684696197509766, + 30.614280700683594, + 30.565387725830078, + 30.538223266601562, + 30.532794952392578, + 30.54606819152832, + 30.55691146850586, + 30.5502872467041, + 30.55643081665039, + 30.63329315185547, + 30.766565322875977, + 30.903278350830078, + 31.094247817993164, + 31.416339874267578, + 31.967443466186523, + 32.802520751953125, + 34.02378463745117, + 35.794376373291016, + 38.46184539794922, + 42.25089645385742, + 47.278289794921875, + 53.40412902832031, + 60.151527404785156, + 66.8056869506836, + 72.38545989990234, + 76.12001037597656, + 77.55591583251953, + 76.35692596435547, + 72.9909896850586, + 68.0486831665039, + 62.247337341308594, + 56.28281784057617, + 50.787540435791016, + 46.02597427368164, + 42.00794219970703, + 38.78084945678711, + 36.186309814453125, + 34.22465133666992, + 32.84701919555664, + 31.94753074645996, + 31.3541259765625, + 30.9669246673584, + 30.671510696411133, + 30.478626251220703, + 30.419002532958984, + 30.445100784301758, + 30.445066452026367, + 30.388845443725586, + 30.290945053100586, + 30.174518585205078, + 30.1345272064209, + 30.172639846801758, + 30.214780807495117, + 30.22606086730957, + 30.182825088500977, + 30.13435173034668, + 30.149267196655273, + 30.18755531311035, + 30.200410842895508, + 30.198537826538086, + 30.20624542236328, + 30.232688903808594, + 30.258676528930664, + 30.31012535095215, + 30.425209045410156, + 30.639495849609375, + 31.025375366210938, + 31.64111328125, + 32.514652252197266, + 33.755775451660156, + 35.565181732177734, + 37.97126770019531, + 41.05154037475586, + 44.59870910644531, + 48.29439926147461, + 51.73285675048828, + 54.40562438964844, + 55.91305160522461, + 55.98189926147461, + 54.777278900146484, + 52.43473434448242, + 49.39326095581055, + 46.15497970581055, + 43.10788345336914, + 40.369422912597656, + 37.892513275146484, + 35.781307220458984, + 34.14853286743164, + 32.943695068359375, + 32.00203323364258, + 31.281068801879883, + 30.789644241333008, + 30.506580352783203, + 30.333370208740234, + 30.236759185791016, + 30.17729949951172, + 30.13892364501953, + 30.15947723388672, + 30.19576072692871, + 30.1763916015625, + 30.118501663208008, + 30.064437866210938, + 30.071868896484375, + 30.131147384643555, + 30.16744041442871, + 30.167585372924805, + 30.150245666503906, + 30.153261184692383, + 30.208837509155273, + 30.283706665039062, + 30.34423828125, + 30.4282169342041, + 30.606367111206055, + 30.915739059448242, + 31.316354751586914, + 31.79805564880371, + 32.53007125854492, + 33.76899719238281, + 35.627471923828125, + 38.40385437011719, + 42.43128204345703, + 48.2978515625, + 56.01676940917969, + 65.6145248413086, + 76.42005920410156, + 87.38490295410156, + 97.16390991210938, + 104.03926086425781, + 107.43955993652344, + 106.75151824951172, + 102.34808349609375, + 94.98084259033203, + 85.9357681274414, + 76.39237213134766, + 67.34257507324219, + 59.26047134399414, + 52.351383209228516, + 46.596866607666016, + 41.92122268676758, + 38.232662200927734, + 35.4936637878418, + 33.665931701660156, + 32.501434326171875, + 31.72899627685547, + 31.185672760009766, + 30.768447875976562, + 30.485923767089844, + 30.3428897857666, + 30.30756187438965, + 30.261154174804688, + 30.13445281982422, + 30.01630210876465, + 29.95841407775879, + 29.940135955810547, + 29.943574905395508, + 29.907867431640625, + 29.865949630737305, + 29.82627296447754, + 29.773090362548828, + 29.78112030029297, + 29.780546188354492, + 29.719215393066406, + 29.709360122680664, + 29.730236053466797, + 29.714887619018555, + 29.699142456054688, + 29.7316837310791, + 29.792400360107422, + 29.785400390625, + 29.69415283203125, + 29.609331130981445, + 29.598127365112305, + 29.62703514099121, + 29.610889434814453, + 29.57536506652832, + 29.555912017822266, + 29.514183044433594, + 29.469966888427734, + 29.4973087310791, + 29.565258026123047, + 29.604928970336914, + 29.61190414428711, + 29.562564849853516, + 29.49224090576172, + 29.481027603149414, + 29.528413772583008, + 29.569692611694336, + 29.567455291748047, + 29.569780349731445, + 29.581439971923828, + 29.548309326171875, + 29.53602409362793, + 29.570302963256836, + 29.549156188964844, + 29.50140380859375, + 29.503210067749023, + 29.531421661376953, + 29.58063316345215, + 29.62981605529785, + 29.61091423034668, + 29.55447006225586, + 29.539098739624023, + 29.583541870117188, + 29.64993667602539, + 29.681081771850586, + 29.650850296020508, + 29.60137939453125, + 29.60992431640625, + 29.660297393798828, + 29.657062530517578, + 29.613361358642578, + 29.695419311523438, + 29.856353759765625, + 29.946025848388672, + 30.072154998779297, + 30.368988037109375, + 30.775907516479492, + 31.302942276000977, + 32.117469787597656, + 33.43379592895508, + 35.23917770385742, + 37.7396240234375, + 40.928680419921875, + 44.78203582763672, + 49.06227111816406, + 53.145301818847656, + 56.6176872253418, + 58.981658935546875, + 59.99875259399414, + 59.457435607910156, + 57.461483001708984, + 54.50163650512695, + 51.01047897338867, + 47.393409729003906, + 43.92076110839844, + 40.83103561401367, + 38.262508392333984, + 36.10442352294922, + 34.36376190185547, + 32.98646926879883, + 31.983875274658203, + 31.300399780273438, + 30.853858947753906, + 30.58281898498535, + 30.42336654663086, + 30.324626922607422, + 30.27242660522461, + 30.246179580688477, + 30.294578552246094, + 30.327451705932617, + 30.267704010009766, + 30.220853805541992, + 30.215869903564453, + 30.2138729095459, + 30.263275146484375, + 30.389747619628906, + 30.526567459106445, + 30.552663803100586, + 30.524972915649414, + 30.599580764770508, + 30.800071716308594, + 31.104759216308594, + 31.51682472229004, + 32.03094482421875, + 32.84789276123047, + 34.08676528930664, + 35.983802795410156, + 38.78168869018555, + 43.20317459106445, + 49.37643051147461, + 58.08186721801758, + 69.21331787109375, + 82.47035217285156, + 96.80838775634766, + 110.38455200195312, + 121.72122955322266, + 128.9046630859375, + 131.4391326904297, + 128.78785705566406, + 121.66886901855469, + 111.57731628417969, + 99.87501525878906, + 87.95967864990234, + 76.83345794677734, + 66.97625732421875, + 58.58082962036133, + 51.46177291870117, + 45.56597137451172, + 40.966880798339844, + 37.53813552856445, + 35.082969665527344, + 33.54799270629883, + 32.53702926635742, + 31.82511329650879, + 31.331043243408203, + 31.010042190551758, + 30.791149139404297, + 30.667795181274414, + 30.677494049072266, + 30.718507766723633, + 30.583049774169922, + 30.347896575927734, + 30.26027488708496, + 30.304616928100586, + 30.303556442260742, + 30.27838897705078, + 30.275253295898438, + 30.31279182434082, + 30.392440795898438, + 30.4801025390625, + 30.55842399597168, + 30.678842544555664, + 30.889453887939453, + 31.229127883911133, + 31.82236671447754, + 32.90060806274414, + 34.39177322387695, + 36.43125534057617, + 39.17288589477539, + 42.95650100708008, + 47.600830078125, + 52.72960662841797, + 57.81061553955078, + 62.22370910644531, + 65.50088500976562, + 67.0252456665039, + 66.8958740234375, + 65.0033950805664, + 61.71570587158203, + 57.40927505493164, + 52.84013366699219, + 48.56242370605469, + 44.7805061340332, + 41.52520751953125, + 38.70734786987305, + 36.35051345825195, + 34.42159652709961, + 32.89827346801758, + 31.795791625976562, + 31.131546020507812, + 30.726226806640625, + 30.403453826904297, + 30.12520408630371, + 29.966238021850586, + 29.942630767822266, + 29.92072868347168, + 29.841320037841797, + 29.800086975097656, + 29.800004959106445, + 29.710874557495117, + 29.600915908813477, + 29.644325256347656, + 29.74713897705078, + 29.75161361694336, + 29.7418155670166, + 29.804529190063477, + 29.86874008178711, + 29.894819259643555, + 29.949209213256836, + 30.030881881713867, + 30.10210609436035, + 30.2509822845459, + 30.623592376708984, + 31.19830322265625, + 31.962312698364258, + 33.024044036865234, + 34.60089874267578, + 36.576202392578125, + 39.0525016784668, + 41.736488342285156, + 44.291473388671875, + 46.552642822265625, + 48.196720123291016, + 49.06552505493164, + 48.70117950439453, + 47.51029586791992, + 45.62361526489258, + 43.33018493652344, + 40.94178009033203, + 38.76296615600586, + 36.90371322631836, + 35.253684997558594, + 33.846839904785156, + 32.68029022216797, + 31.750335693359375, + 31.02094268798828, + 30.512699127197266, + 30.039432525634766, + 29.742691040039062, + 29.689435958862305, + 29.65741729736328, + 29.602527618408203, + 29.572792053222656, + 29.53522300720215, + 29.550832748413086, + 29.564075469970703, + 29.55848503112793, + 29.56637954711914, + 29.559185028076172, + 29.592449188232422, + 29.675806045532227, + 29.69530487060547, + 29.658199310302734, + 29.670886993408203, + 29.705507278442383, + 29.7066707611084, + 29.68943977355957, + 29.74953842163086, + 29.964624404907227, + 30.168598175048828, + 30.44056510925293, + 30.98929214477539, + 31.810922622680664, + 32.982479095458984, + 34.62856674194336, + 36.64531326293945, + 38.714881896972656, + 40.90878677368164, + 42.89271545410156, + 44.333675384521484, + 45.20948791503906, + 45.22149658203125, + 44.510459899902344, + 43.036102294921875, + 41.32029724121094, + 39.48122024536133, + 37.69160079956055, + 36.18293762207031, + 34.836212158203125, + 33.55706787109375, + 32.38223648071289, + 31.544889450073242, + 31.005956649780273, + 30.66376304626465, + 30.239561080932617, + 29.939517974853516, + 29.808250427246094, + 29.72195053100586, + 29.698637008666992, + 29.731868743896484, + 29.647319793701172, + 29.574512481689453, + 29.530223846435547, + 29.44261360168457, + 29.444091796875, + 29.572715759277344, + 29.76468849182129, + 29.91396141052246, + 29.977388381958008, + 29.974287033081055, + 29.9780330657959, + 30.227876663208008, + 30.556194305419922, + 30.83600425720215, + 31.20826530456543, + 31.83418846130371, + 32.79304504394531, + 34.63427734375, + 37.14104461669922, + 41.15540313720703, + 46.50031280517578, + 53.74661636352539, + 62.26172637939453, + 71.70237731933594, + 81.16544342041016, + 88.99324035644531, + 94.88410186767578, + 96.7828598022461, + 95.50390625, + 90.98561096191406, + 84.43302154541016, + 76.8470458984375, + 68.98906707763672, + 61.53303909301758, + 54.91680908203125, + 49.355648040771484, + 44.62202453613281, + 40.68199157714844, + 37.524436950683594, + 35.21478271484375, + 33.294456481933594, + 31.898469924926758, + 31.00441551208496, + 30.56802749633789, + 30.46394920349121, + 30.35340118408203, + 30.083477020263672, + 29.924863815307617, + 29.980937957763672, + 29.910890579223633, + 29.65947914123535, + 29.62093162536621, + 29.882713317871094, + 29.943422317504883, + 29.719675064086914, + 29.64065933227539, + 29.770193099975586, + 30.011459350585938, + 30.288705825805664, + 30.33390235900879, + 30.211606979370117, + 30.351030349731445, + 30.913227081298828, + 31.853271484375, + 33.559059143066406, + 35.93317413330078, + 39.59836196899414, + 44.317283630371094, + 50.1629638671875, + 56.34585952758789, + 62.85563278198242, + 68.41734313964844, + 71.92646789550781, + 74.10515594482422, + 73.10478210449219, + 70.51995086669922, + 65.81282806396484, + 60.769752502441406, + 55.385414123535156, + 49.98652648925781, + 46.06501770019531, + 42.67948913574219, + 39.5444450378418, + 36.74254608154297, + 34.997798919677734, + 33.400760650634766, + 32.20330047607422, + 31.243560791015625, + 30.6149845123291, + 30.18441390991211, + 30.01449203491211, + 29.98297691345215, + 29.94528579711914, + 29.849563598632812, + 29.767553329467773, + 29.709352493286133, + 29.84792709350586, + 30.019956588745117, + 29.88170051574707, + 29.646800994873047, + 29.304216384887695, + 28.866010665893555, + 28.880220413208008, + 29.021913528442383, + 28.81537437438965, + 28.702983856201172, + 28.741357803344727, + 28.726898193359375, + 28.70442008972168, + 28.656143188476562, + 28.596546173095703, + 28.52294158935547, + 28.570531845092773, + 28.7730655670166, + 29.17094612121582, + 29.553556442260742, + 29.333995819091797, + 28.767168045043945, + 28.431198120117188, + 28.36183738708496, + 28.404279708862305, + 28.491146087646484, + 28.46747589111328, + 28.182659149169922, + 28.337265014648438, + 28.981464385986328, + 29.027053833007812, + 28.628767013549805, + 28.46184730529785, + 28.41124725341797, + 28.641582489013672, + 29.14205551147461, + 29.028581619262695, + 28.334566116333008, + 28.15032958984375, + 28.534290313720703, + 28.301780700683594, + 27.07602310180664, + 26.682533264160156, + 28.022281646728516, + 29.173826217651367, + 29.173826217651367 + ], + "Itth_weights": [ + 0.032620898098829454, + 0.03351872945828005, + 0.03418768195429427, + 0.034416078446560645, + 0.03448167230533507, + 0.03421723461636433, + 0.03394346868496056, + 0.034337019369783714, + 0.0361574814010224, + 0.03830176196520955, + 0.03969000961499809, + 0.040464952404547644, + 0.04058511717508114, + 0.04054436953183676, + 0.040315884452937906, + 0.03995338385777764, + 0.03939639405411172, + 0.038810757288268896, + 0.03849736562731435, + 0.03806691726206125, + 0.037572609134516675, + 0.037082547441885765, + 0.03677216983702675, + 0.03647015368177514, + 0.0363714111806182, + 0.0361345548466245, + 0.035959231188718126, + 0.03578031082425241, + 0.035602859919674094, + 0.0353493390911216, + 0.035042033021806564, + 0.03479509018957089, + 0.034754039114335715, + 0.03485802161738805, + 0.034957247900833564, + 0.03492560103818608, + 0.034756391431024256, + 0.03457289984444147, + 0.034483590979601735, + 0.0344817788927485, + 0.03437580134725016, + 0.03425954272298046, + 0.034090513783696035, + 0.03397979377688251, + 0.033891003830165405, + 0.03397937755199521, + 0.0341076948278332, + 0.03414077717856582, + 0.034109161573975734, + 0.034111620487402, + 0.034150584269749276, + 0.03419054908030991, + 0.034154806833958044, + 0.03407156974037428, + 0.03396596251491996, + 0.033948114981782664, + 0.03396069537653706, + 0.03400142066024967, + 0.034115427176178756, + 0.03411651051753517, + 0.03385805806321663, + 0.033594556262974695, + 0.0335617887440927, + 0.03379364994855745, + 0.03387478010448506, + 0.033860238167632874, + 0.03384720326805036, + 0.0338309253870029, + 0.033826352576987684, + 0.03372857072183688, + 0.03363382720528895, + 0.03358545743953167, + 0.03367636955416938, + 0.03379021090072792, + 0.03380627086825751, + 0.03373633182381832, + 0.03354387614470378, + 0.03353772431065381, + 0.0335682008703602, + 0.03359467035236124, + 0.033544449171926435, + 0.03348940789397201, + 0.03354220653656155, + 0.03351228266374989, + 0.03351628885450171, + 0.03358574143422278, + 0.03357727314151816, + 0.03352338023154616, + 0.033384686094625686, + 0.03331115292202298, + 0.03335975620541935, + 0.033439106140690594, + 0.033589003414586455, + 0.03358772307630609, + 0.03354149839821764, + 0.03344402924617487, + 0.033450654688893175, + 0.03343911253893374, + 0.033444366322876486, + 0.033440682315240146, + 0.033502290642953264, + 0.03354218507738454, + 0.0335106933069247, + 0.033424876110599286, + 0.033361445910396345, + 0.0333489427513463, + 0.03338696511972522, + 0.033397184163728555, + 0.033410592183960135, + 0.033458271322222906, + 0.033511398003140284, + 0.03348651598773432, + 0.0333849539489771, + 0.03339600136950308, + 0.03341009610831976, + 0.033406679335116034, + 0.0333418465204637, + 0.0333205822890728, + 0.03335600592672747, + 0.033402850399333425, + 0.03345043486560631, + 0.03345545950973581, + 0.03339857979847385, + 0.03335891990723679, + 0.03337185962849517, + 0.03342498052661838, + 0.03346076114220026, + 0.03346972200790243, + 0.033350847753044144, + 0.033341327040625895, + 0.03335336404652808, + 0.033450445536572934, + 0.03344001045000327, + 0.03336372813291019, + 0.033287268912306135, + 0.033219262924794, + 0.03319071066780694, + 0.03324990120881346, + 0.03330811185123773, + 0.033275913139437514, + 0.03322146679269527, + 0.03315264108595943, + 0.033177102706333964, + 0.0332004125481561, + 0.03329736568177965, + 0.033340387777361744, + 0.033317340474409624, + 0.033270306774098646, + 0.033268290633819544, + 0.03329209032821368, + 0.03332278691398253, + 0.03327552031557314, + 0.033186405909100464, + 0.03308454256433602, + 0.0330223338878122, + 0.032928565861245526, + 0.032957383424338564, + 0.033009674139901385, + 0.033053093258445736, + 0.033061455545765187, + 0.033068040801459496, + 0.03315384653812613, + 0.03318612022524796, + 0.03318582614406687, + 0.03317409025900237, + 0.033150098393489105, + 0.03313330923008447, + 0.033121943154672276, + 0.033096935966663174, + 0.03314527610526821, + 0.03311960392519561, + 0.03318061127008452, + 0.03313721275342284, + 0.03311302112359732, + 0.03304066186693276, + 0.033020572293688655, + 0.03304860329737174, + 0.03310237118917829, + 0.03318156465259094, + 0.0331663129077603, + 0.03314128269497451, + 0.03318875458484368, + 0.033214399452744924, + 0.033195607138630824, + 0.03312350840505361, + 0.033112669779737286, + 0.03317078454402192, + 0.03320329520007296, + 0.03315891249179783, + 0.03307199988998877, + 0.03306182456766087, + 0.0330901303508322, + 0.0330992239339066, + 0.03306165986195511, + 0.03300868696710653, + 0.033081227535341665, + 0.03313364007246214, + 0.03321141809729882, + 0.033152651567774374, + 0.03312513240405196, + 0.033062716925837295, + 0.03296708617295559, + 0.03287403313926362, + 0.03287863042664245, + 0.0329672229889738, + 0.0329871397544777, + 0.033001946674733856, + 0.03300293136693553, + 0.03296815585572936, + 0.03293018941541829, + 0.032912235816450856, + 0.03295888343333438, + 0.03302547069774345, + 0.033058622482572096, + 0.03302046414999582, + 0.03291287837650357, + 0.03288688815611486, + 0.03290337063617923, + 0.032949307684195746, + 0.03297891666150868, + 0.032985209667234346, + 0.032994507292563445, + 0.03302410607059069, + 0.03306917336275462, + 0.03302888275908296, + 0.03300184073033996, + 0.03296036285770561, + 0.03292047529639466, + 0.032894054127172084, + 0.032927968185440894, + 0.03295257561415881, + 0.03292215180291368, + 0.03285231340909485, + 0.032786063071623524, + 0.03277057044161902, + 0.03277431929843973, + 0.03279202425677112, + 0.032805771745443406, + 0.032829658201810274, + 0.03280851646730484, + 0.03266945463194366, + 0.032613728908829014, + 0.032615830841210336, + 0.032581209887389974, + 0.032564575204554996, + 0.03253596973185727, + 0.0325316918238225, + 0.032507765181049086, + 0.03250728547537149, + 0.03247962558429662, + 0.03240204322332496, + 0.03236468145368711, + 0.03244525689056675, + 0.03256621767986694, + 0.03254361785680567, + 0.03247548317445915, + 0.032375145816535854, + 0.03234643497788973, + 0.032302242047477926, + 0.03230049873160808, + 0.03231780689042755, + 0.0323104616495993, + 0.03229904014271784, + 0.03225705629258946, + 0.032293557186250876, + 0.032330003219508116, + 0.03234923311188543, + 0.03228447143574787, + 0.032246916037454026, + 0.03220052808109388, + 0.032210633241876306, + 0.03220186900412258, + 0.032184443735356914, + 0.032139417276898424, + 0.03204598982903137, + 0.03205947361089659, + 0.03210150454984799, + 0.03208530296091763, + 0.031989688870426955, + 0.031925301730844, + 0.03190914735017466, + 0.03191796280933448, + 0.031984275308983526, + 0.03192320233033142, + 0.03184876501962118, + 0.03179367681275861, + 0.03181700174909521, + 0.031838643913569616, + 0.031814783356876895, + 0.0317965459658005, + 0.03178366775552823, + 0.03180212957222942, + 0.031803096053432366, + 0.031803898605419, + 0.03174776955157535, + 0.031673961571107946, + 0.03164587485704556, + 0.03168401652537859, + 0.03168996483439514, + 0.03166214229279136, + 0.03159345600970037, + 0.031585918707684034, + 0.031584763686582334, + 0.031537491825960315, + 0.03146694412788056, + 0.031429117624861065, + 0.03146034864240658, + 0.0315042654615093, + 0.03152706705454927, + 0.031515285142916946, + 0.03149734399161045, + 0.03144986915283283, + 0.03146319193376435, + 0.03143255263948957, + 0.03139288565722447, + 0.03138961341037126, + 0.03139096470360576, + 0.03138672891075441, + 0.03134275857500829, + 0.0313519443643635, + 0.03131298724971433, + 0.03125669205414405, + 0.03118109655537047, + 0.03114172464121749, + 0.031129979396623896, + 0.031062428081693863, + 0.031034946516618964, + 0.031034795875397207, + 0.031062840325999617, + 0.031041833484075885, + 0.03096756146046906, + 0.030946617486213003, + 0.03093333245225697, + 0.03092345823597893, + 0.030925285913554916, + 0.0308723053831392, + 0.03082166936991965, + 0.03078316681781667, + 0.030742514088051665, + 0.030685228601698963, + 0.030635078604761393, + 0.03066846021502458, + 0.03069596481973393, + 0.030700580683476267, + 0.03063363946249967, + 0.030560357942669026, + 0.03056691824657661, + 0.030590328077254387, + 0.030579191186085666, + 0.03055433819758497, + 0.030526752539461223, + 0.03052496455459896, + 0.030498102477831218, + 0.03045564736026039, + 0.030370566464867407, + 0.030256481342871438, + 0.03021441719994058, + 0.030274501253276402, + 0.030302823631217928, + 0.030309774955609586, + 0.030307738980517505, + 0.030321547622228474, + 0.03027458866211204, + 0.030248685308852895, + 0.03028075750408768, + 0.03031508870214104, + 0.03029977292276808, + 0.03024568038762431, + 0.030191620691966552, + 0.030155063727971287, + 0.030108625540509002, + 0.03010014512471551, + 0.030098956243279535, + 0.030087276331589, + 0.03005902436367494, + 0.03000449934718833, + 0.029970124081325784, + 0.02987975218899983, + 0.029850644294473577, + 0.02988105665208694, + 0.02990903292864225, + 0.029869865134158822, + 0.029801302670162334, + 0.029714958840184387, + 0.02964999872190481, + 0.029623421921992167, + 0.029614489933949648, + 0.029596625399419638, + 0.029597962069030148, + 0.029570861312926654, + 0.02951688485527894, + 0.029453716831788407, + 0.02943813481817675, + 0.02947506424451764, + 0.029493986813079007, + 0.02944911757909344, + 0.02939876550395617, + 0.029308747187011416, + 0.02917752338763085, + 0.029085073484900928, + 0.02904293822215703, + 0.0290134107779845, + 0.028913434405645744, + 0.028796087289457775, + 0.028707628858753914, + 0.028602325182766113, + 0.028492172543372888, + 0.028383107858495033, + 0.028307422513203773, + 0.028204543623039664, + 0.028044898969188634, + 0.02790779178043224, + 0.02783721794327364, + 0.027740372949623112, + 0.027626969724722013, + 0.0274999569893556, + 0.027345896634213166, + 0.027111349164627624, + 0.026784760037183806, + 0.026534488184417445, + 0.026322715341358154, + 0.026091355775299266, + 0.025747242040418644, + 0.025350532441059268, + 0.024903816721953805, + 0.024341949116501203, + 0.023657702615285093, + 0.02286887958855837, + 0.021842340932625565, + 0.0205173704668018, + 0.018901726510164623, + 0.016934433656360014, + 0.014584674163744656, + 0.011989594723670905, + 0.009341173993832939, + 0.006811360970951526, + 0.004705516761752053, + 0.003143845817235371, + 0.0020714273251910796, + 0.0014048292893187786, + 0.0010100499476603758, + 0.0007782056811294621, + 0.000661781236870101, + 0.0006243575507898329, + 0.0006531258393787206, + 0.0007570436153046644, + 0.0009638116491791482, + 0.0013495875825421818, + 0.001997913434035048, + 0.0030032765850193615, + 0.004529532293444799, + 0.006636523359375396, + 0.009117457240007574, + 0.011837900102183534, + 0.014551702385534626, + 0.016916338130073, + 0.01897745825967621, + 0.020690754734554, + 0.022035044045039098, + 0.02312120170554849, + 0.023984500982412643, + 0.02468616819712171, + 0.02528708467436406, + 0.025799632212732015, + 0.026218036441654463, + 0.02659574036362987, + 0.026948324133617, + 0.02725642399177516, + 0.0275471996314486, + 0.027810228797013246, + 0.02808925676793532, + 0.02831187996481752, + 0.028548201171684634, + 0.028718680420105357, + 0.028916993808102812, + 0.02910530800149488, + 0.029296293953549084, + 0.029417933533362646, + 0.029545907941792723, + 0.02966438923285331, + 0.029843623348117923, + 0.029969092772556074, + 0.030090685058275557, + 0.030166362406938412, + 0.03025582482682573, + 0.030370186464353226, + 0.030495367075952594, + 0.03063914974676394, + 0.030739518393417375, + 0.030837807652845037, + 0.030932609734808898, + 0.03101791128662495, + 0.031100083105500095, + 0.031217545483808014, + 0.031313374377906426, + 0.03139586717214192, + 0.03149885786240122, + 0.03161808579015845, + 0.031675838853471514, + 0.03167029758861075, + 0.03167751539155858, + 0.03171984546158665, + 0.03175436879373518, + 0.03183792080926887, + 0.03187856027459846, + 0.03196130855749943, + 0.031975924377251115, + 0.03202811843600974, + 0.03205176132525054, + 0.03213971083651657, + 0.03220842887398463, + 0.032300017163819854, + 0.03237157166373621, + 0.03235854907684681, + 0.0323713158262435, + 0.03235279434759125, + 0.03236457556557511, + 0.03237242115316624, + 0.032454549900244704, + 0.03251009538145793, + 0.032544005710694365, + 0.03259876959989147, + 0.03264959420601226, + 0.03261371876502463, + 0.03259479938476918, + 0.032664752840911034, + 0.032741996715483515, + 0.032745792213043516, + 0.032703812635737496, + 0.032700075811275764, + 0.03271497107657057, + 0.03271820085341355, + 0.03277901989675154, + 0.03289448546432636, + 0.032971392276103205, + 0.03296435009104543, + 0.032962219578170755, + 0.03295319903816945, + 0.03292874372051819, + 0.032920314063091406, + 0.03297271315038876, + 0.03301987769076753, + 0.03303316964014002, + 0.03305572112866907, + 0.033054645756166755, + 0.03303347350986201, + 0.03303930639437068, + 0.03304522465090259, + 0.033067967802932356, + 0.033116325793780425, + 0.033160781162676616, + 0.03320911459357682, + 0.03319814000045085, + 0.03318151425214415, + 0.03315794782831973, + 0.033161194354030386, + 0.03319458989877476, + 0.03319839015466321, + 0.033159709430051684, + 0.033121972449443926, + 0.033088359427959034, + 0.033050878336320776, + 0.033029228165561426, + 0.03305181177624615, + 0.03308713367608929, + 0.03310971502195566, + 0.03311452905899593, + 0.033112117683020796, + 0.03310838942091072, + 0.03313833120696635, + 0.03316209837711362, + 0.03320500063681847, + 0.03316575692277484, + 0.03315259496605244, + 0.03310309225821356, + 0.033110195944473376, + 0.03311347704519717, + 0.033185076260645596, + 0.03324285549159117, + 0.03322508581178416, + 0.033152515304697115, + 0.03309367694315237, + 0.033137225319897205, + 0.03320543806436049, + 0.033218707267872086, + 0.03317628183893321, + 0.033076886436683564, + 0.03305708211704594, + 0.03303389602294418, + 0.03304522256810305, + 0.03303758670753347, + 0.033042321483244076, + 0.033023904298402344, + 0.03299021798456679, + 0.03299519459901048, + 0.03301419510645763, + 0.03305261190957688, + 0.03304114078551737, + 0.032981636489005255, + 0.03293108502400293, + 0.032944876926106655, + 0.03297006736096774, + 0.03299350649268922, + 0.032992609561820686, + 0.03297356545040921, + 0.032906445643433334, + 0.03289504890262416, + 0.03290013516786795, + 0.032912768870926826, + 0.03289231444668158, + 0.03291327094965404, + 0.03292098381177331, + 0.03290551213521306, + 0.032889122415575955, + 0.032858385203097425, + 0.03278267229476893, + 0.03276665656708075, + 0.03281331108093889, + 0.032867003631689554, + 0.03281684376984594, + 0.03274397615399552, + 0.032708223676966366, + 0.03268175285421772, + 0.032612164808721825, + 0.03257932498418533, + 0.03252290737005924, + 0.03246495586943674, + 0.032408462542087, + 0.03242834952066425, + 0.03243979844914043, + 0.032414824282035085, + 0.03236780446558748, + 0.032293988831925004, + 0.03218891932945564, + 0.03207745263832838, + 0.03201366989957382, + 0.031958218686263445, + 0.03194025044336921, + 0.031927998310450775, + 0.03186870691843947, + 0.03176205790859116, + 0.03165385359621787, + 0.0315566582280919, + 0.031469363606237526, + 0.03133322986297868, + 0.031200769735786567, + 0.031087930515135774, + 0.03102404901095341, + 0.03095726689317615, + 0.030844092047513344, + 0.030725783888771868, + 0.030603273615405116, + 0.030517605097226088, + 0.030384735305401686, + 0.0302330355515882, + 0.030042781716975966, + 0.029892420173780253, + 0.029767059902142887, + 0.02960797756451163, + 0.02942612302544961, + 0.02925204333798059, + 0.029048167873553424, + 0.028821500726958323, + 0.028593602150977462, + 0.02838768755091004, + 0.028114803257294894, + 0.027855279293952658, + 0.027637764202883438, + 0.027396223780696435, + 0.02713041224784776, + 0.026848791295364254, + 0.026564665743696942, + 0.026249648027371154, + 0.025902315946320753, + 0.025537746754444878, + 0.02512907283150022, + 0.024680550668969795, + 0.024197247293589248, + 0.023650383841478627, + 0.023036446223232532, + 0.022310448550281275, + 0.021442410779248047, + 0.020454329816080818, + 0.019277542219261746, + 0.017845120549730788, + 0.016180594754626756, + 0.014289961539690152, + 0.012119576891101805, + 0.009808103972846328, + 0.007557146771192439, + 0.005468831100772492, + 0.0037589862116971825, + 0.002505358522095369, + 0.001622406479169, + 0.0010662507872092337, + 0.0007348950451101043, + 0.0005334864675674158, + 0.00042249387946030956, + 0.00036835698396208224, + 0.0003546339382947337, + 0.0003799804128260829, + 0.0004501681646261462, + 0.000590992330373947, + 0.0008419827048201043, + 0.001252538293621458, + 0.0019200693775068044, + 0.002955402624453089, + 0.004407424185525011, + 0.00626689818183835, + 0.008456319713814688, + 0.010783336966939666, + 0.013045557133433102, + 0.01513890807483891, + 0.01696309021451569, + 0.018530415034246885, + 0.019868589182675526, + 0.020995436321422457, + 0.021928922731967136, + 0.022752942522312757, + 0.02344623230591795, + 0.024075459166205015, + 0.02463943267946875, + 0.025138622803472753, + 0.025561091724930027, + 0.025966124896799253, + 0.026350836727323062, + 0.02674229286107768, + 0.027084077865484057, + 0.02738171824501888, + 0.027699646748775307, + 0.028006218238549645, + 0.028318079317282634, + 0.028571079803364565, + 0.028856224902958198, + 0.029165187884182125, + 0.029459174930932582, + 0.02969184673695389, + 0.02989375642376963, + 0.03013240168841867, + 0.030385179065123485, + 0.03058391472101733, + 0.03071303318032507, + 0.030868877218541587, + 0.031052780273600023, + 0.031235466953811557, + 0.03144193256387692, + 0.0316189247968605, + 0.03179835873530248, + 0.03193638842164599, + 0.03209452448636261, + 0.03223846309463124, + 0.03235981531214111, + 0.03248980200907207, + 0.032640479765645575, + 0.03279536363153006, + 0.03318637650024148, + 0.033420574311579694, + 0.03355673640820262, + 0.03335643673081369, + 0.0333028034767576, + 0.03335566214031698, + 0.03348006874969867, + 0.033642703995886036, + 0.03375935397940329, + 0.03387685291500741, + 0.03390919926602333, + 0.03393651260725313, + 0.03395815259794557, + 0.034015633925009996, + 0.03404827471371649, + 0.034079750912465095, + 0.03415473563349429, + 0.03421594389840315, + 0.03425702886294248, + 0.03430125988539074, + 0.03441326598427114, + 0.03453069485475602, + 0.03457829475442583, + 0.03459548943147284, + 0.03467775833553533, + 0.03473998254015846, + 0.0347668574544123, + 0.03475030048463297, + 0.03479486619630913, + 0.03487052483303101, + 0.034898247945379365, + 0.034943257063358255, + 0.0350471606671346, + 0.03512673147829841, + 0.03512216166679674, + 0.035066513528907696, + 0.03510460883913171, + 0.035185775145335066, + 0.03524215098061529, + 0.03524180038030827, + 0.03521502377286804, + 0.035210192129955784, + 0.03522757378995083, + 0.03521649031934088, + 0.03522014065807212, + 0.035216968156025416, + 0.03526001713744654, + 0.03528118462434604, + 0.03531162192490393, + 0.03534024646527095, + 0.03540898824013773, + 0.035443939931185935, + 0.035418463216952335, + 0.03539170427276011, + 0.03544403098513337, + 0.03544497270208153, + 0.03544169008882189, + 0.035370981476461595, + 0.03537708906222387, + 0.035389547053379836, + 0.03540228633913817, + 0.03538728022581961, + 0.035385264450331695, + 0.035393159290144, + 0.035397759269878, + 0.03537221284803769, + 0.03531858694125481, + 0.03528777899639206, + 0.035219099654800586, + 0.035157956585937414, + 0.03507621675042424, + 0.035039901824542655, + 0.03501571569072568, + 0.03500898415331442, + 0.035012563540609165, + 0.03500753951325253, + 0.03501939703540627, + 0.03507210114054166, + 0.035077153104405796, + 0.035022938779730936, + 0.03501276462522596, + 0.03498072079815248, + 0.03495208361652413, + 0.03489885888836303, + 0.03488449925724856, + 0.034840402980381276, + 0.034748529350652896, + 0.03470456918649582, + 0.034676366129958856, + 0.03468801639550775, + 0.03466548004821409, + 0.03463555565508909, + 0.03461339132512971, + 0.03457132683608741, + 0.03446575735814416, + 0.03433876904320883, + 0.03423702068543261, + 0.03414962110183542, + 0.034084895501366945, + 0.03395506482178655, + 0.033844773586967726, + 0.03370349744627325, + 0.03357477025282835, + 0.03345094707968398, + 0.033346017788214805, + 0.033211247690188156, + 0.03303549875702902, + 0.032861383837520276, + 0.032688314062394405, + 0.03256852996714994, + 0.03242671490562732, + 0.03225763581495371, + 0.03207236837074573, + 0.03181681059607182, + 0.03157331318890175, + 0.03132020586621826, + 0.031058199528648602, + 0.03075370534026296, + 0.030429090760511365, + 0.03002920855559351, + 0.02958981360191845, + 0.029085563998803493, + 0.028445817967555936, + 0.027654485192828385, + 0.026755374952782802, + 0.025620293574334124, + 0.024146536493146287, + 0.02232267015049648, + 0.020036908807850397, + 0.017274902343331698, + 0.01426357824155736, + 0.01111206628038265, + 0.008097084457782537, + 0.005653939981584319, + 0.003824375186518238, + 0.002557840223661146, + 0.0017684164534399391, + 0.0012845884898707329, + 0.00099850029935507, + 0.0008524258549752243, + 0.0008018379629557124, + 0.0008326557163766464, + 0.0009518588553200102, + 0.0011942030422147567, + 0.0016352495282588569, + 0.0023642060587975044, + 0.0034867649667375093, + 0.005200177391305177, + 0.00758114190950012, + 0.010397403695190566, + 0.01351802494427909, + 0.016642491172897445, + 0.019357269306502847, + 0.021720032277129268, + 0.023688080434507985, + 0.025213814966855312, + 0.026461641703088633, + 0.02743978679064591, + 0.0282222918898807, + 0.028897020193212667, + 0.0295230346883044, + 0.030024231821924457, + 0.030431612918204825, + 0.030726594215180397, + 0.031018318679903976, + 0.031299526006991124, + 0.0315983857514115, + 0.031852120155532786, + 0.03210851911238582, + 0.03232457152778189, + 0.0325298590673489, + 0.03268793702723997, + 0.032862652655310465, + 0.03308044480114684, + 0.03327674739292328, + 0.03341523216246688, + 0.0335239654202261, + 0.03367874699089279, + 0.03380239555703987, + 0.033932923630663865, + 0.03410892413449958, + 0.03427923432442667, + 0.0343669164940197, + 0.03442637891867572, + 0.03454561364113171, + 0.03466191856490687, + 0.03473601219067811, + 0.03480930927003149, + 0.034902178796577546, + 0.034961737593450434, + 0.035008689605373, + 0.035054310017036794, + 0.03511688033329314, + 0.035195022344618104, + 0.03527496532976221, + 0.03532115669835628, + 0.035330944233851864, + 0.03536479012240087, + 0.03545106032403403, + 0.03551752240134567, + 0.03554482866159776, + 0.035558051390461504, + 0.03557584587020999, + 0.03560446049960388, + 0.03564915344071841, + 0.035709943618136925, + 0.03572247897466303, + 0.035690846072130106, + 0.03573952969029009, + 0.03582079844289717, + 0.035872257356735014, + 0.03588975357283383, + 0.035928556523669844, + 0.03593984643881302, + 0.03592263117267773, + 0.03592642691412133, + 0.03598275560917975, + 0.03603685342335948, + 0.03604543822954065, + 0.03605610990027297, + 0.03605307508205821, + 0.03606508097287834, + 0.036066165145405074, + 0.03608774057696415, + 0.0361109907689985, + 0.03614344041862549, + 0.03615252730085108, + 0.03612036493219957, + 0.03607073327913311, + 0.03609005828646842, + 0.03613765072460991, + 0.03621579832415725, + 0.03621942357502528, + 0.03618536385516358, + 0.036197200621310904, + 0.03621262651225539, + 0.036222996996179126, + 0.03621650380264724, + 0.03623712491678334, + 0.036205824499315094, + 0.03612894974329459, + 0.036094055979079706, + 0.03613618117495522, + 0.036150852139837424, + 0.03610086080110766, + 0.03612061378202092, + 0.03613838305329523, + 0.036129564700793426, + 0.03604411493654049, + 0.035996306226205886, + 0.03597590636416205, + 0.03589543706724486, + 0.03580372145965615, + 0.03577901669259334, + 0.03580152594608193, + 0.0357875401492763, + 0.03576084525485421, + 0.03573382969710745, + 0.03570137442201843, + 0.035653046773203016, + 0.03561319368946663, + 0.035583753537332063, + 0.03551843434030366, + 0.03544245438023127, + 0.03534005827636868, + 0.03523682639783281, + 0.035094114690031146, + 0.03498745080924096, + 0.0349166762346188, + 0.03482824757093487, + 0.0347530554289121, + 0.03467659777420488, + 0.0346086274028314, + 0.03447433523274194, + 0.03435009900694296, + 0.03426489177915259, + 0.03421262599432108, + 0.0341885469463249, + 0.03409411843812198, + 0.03396709800188815, + 0.033800416831922656, + 0.033648585587871184, + 0.03350970592530738, + 0.03327600184288405, + 0.033036133649247415, + 0.03275104110152962, + 0.03244340976840642, + 0.03206816638370638, + 0.03156514504495051, + 0.030989603497773698, + 0.030261123165301662, + 0.029338143638093655, + 0.028068092620508453, + 0.026416701743622845, + 0.024201561011025233, + 0.02140707869859948, + 0.01813728233984669, + 0.014465722268550875, + 0.010859518566204191, + 0.007802530822115965, + 0.0054075850919440465, + 0.003788061825127214, + 0.002748309669616576, + 0.002081844414531767, + 0.0017144513473155714, + 0.0015470582758647393, + 0.0015299861027507436, + 0.0016615195460271037, + 0.0019689153168128233, + 0.0025550575605313474, + 0.003533860428689796, + 0.005012984146024581, + 0.007202523608827442, + 0.010172060963761487, + 0.013652919479211618, + 0.01728126031691452, + 0.020685972490617318, + 0.023532125924665845, + 0.025777596057053626, + 0.027522919404978974, + 0.028793433606852506, + 0.029755555046028805, + 0.030531641241102636, + 0.031133735727619717, + 0.03160873769187389, + 0.03199831844774271, + 0.03227134600198852, + 0.03248392603656486, + 0.032672984917797486, + 0.032759509144723545, + 0.03284604836956015, + 0.03295305198253945, + 0.03314045521982333, + 0.03321852626243427, + 0.03330951486500507, + 0.03347239090211978, + 0.03371083950784777, + 0.033898353302763126, + 0.034059134975614976, + 0.03417327334655712, + 0.0342602770277657, + 0.034358261391551265, + 0.034483411803580936, + 0.034575492200947626, + 0.0346534440779557, + 0.03474245727501044, + 0.03483329895102398, + 0.03488212028532537, + 0.03493665113172885, + 0.03500025034129864, + 0.0350563492058716, + 0.035108381780616274, + 0.035124357004552, + 0.03513227944357451, + 0.035153854772434434, + 0.035161203354843205, + 0.03516173157149108, + 0.035121740513329086, + 0.03515029592828506, + 0.03521015429559612, + 0.03527123480537206, + 0.03526752404879097, + 0.035244986835430585, + 0.03523407473087788, + 0.03525514706332294, + 0.03526386388200198, + 0.035296761469892315, + 0.03530304312732732, + 0.035311077304135886, + 0.03527760470145568, + 0.0352839745241585, + 0.03527294571764326, + 0.03531525633111016, + 0.03537462572580198, + 0.03539956613439166, + 0.03537681215845801, + 0.03535198960467237, + 0.03534801160018441, + 0.0353475302008174, + 0.03534310765987544, + 0.035303558973780236, + 0.03526723462362481, + 0.035197687573797334, + 0.03514808085276036, + 0.035112545886611404, + 0.03506427382353592, + 0.03503701458289561, + 0.035036834292429875, + 0.03506830080796057, + 0.035041836285044564, + 0.03494397904726256, + 0.034840822044252116, + 0.03479313900492398, + 0.03475073581048187, + 0.0346941498091017, + 0.034646617558934965, + 0.034652264530721726, + 0.03464085569827369, + 0.03458249829606555, + 0.034450936879287415, + 0.03436150851458084, + 0.03435952909262945, + 0.034337408420566186, + 0.03425349933670301, + 0.034084425732867685, + 0.033975491076320634, + 0.03386737740478095, + 0.033797869673385716, + 0.0337064811274102, + 0.03357459179649502, + 0.03338456492383108, + 0.033240212536811226, + 0.033126013531998774, + 0.032996147739023006, + 0.03284397221322572, + 0.032676090326932916, + 0.03252562715782666, + 0.03234370516819574, + 0.032169311026558296, + 0.03198695258763775, + 0.031807616724430894, + 0.03165615472708817, + 0.031443846559872694, + 0.03120170929529895, + 0.03096095971605263, + 0.030735917843702023, + 0.03046376994498732, + 0.03014345115516512, + 0.029802193714486516, + 0.029400226145233157, + 0.02897112414070994, + 0.028485912217698854, + 0.02786626184276797, + 0.02716685358663528, + 0.026376207482421667, + 0.025415287448971934, + 0.024224368155985766, + 0.022802778288335483, + 0.021012453941273913, + 0.01882930270008971, + 0.01624796593619495, + 0.01334178323795975, + 0.010358655157752316, + 0.007625871504484049, + 0.005307921142511883, + 0.00358341920613398, + 0.002416431320011743, + 0.0016437217134193664, + 0.0011792960414550198, + 0.0009047300084431896, + 0.0007478653838657355, + 0.0006801343564241107, + 0.0006799130753708378, + 0.0007490996995737117, + 0.0009016346530599667, + 0.0011741187928161186, + 0.0016467963559001924, + 0.002406121747058214, + 0.003560942950038236, + 0.005254192907833716, + 0.007548914572840009, + 0.010290372983625628, + 0.01322996481248449, + 0.0161173604330065, + 0.01868647371291516, + 0.02087170649035357, + 0.02265683508359194, + 0.02407707780339282, + 0.025262372340909424, + 0.026238127138371224, + 0.02700635320585576, + 0.02763847811243904, + 0.02820759370321941, + 0.02872065008868929, + 0.02917914725705286, + 0.02957193878587012, + 0.02993824460454002, + 0.030294573073650383, + 0.030607593612458246, + 0.030851170500074614, + 0.031080669313790932, + 0.031300036130489095, + 0.031534054701619844, + 0.03173178852938889, + 0.03194953089544038, + 0.03215679381024899, + 0.03238219648716464, + 0.032592570489341124, + 0.03277725547751547, + 0.032924696863547834, + 0.033041344850697665, + 0.033184393623133884, + 0.03334751520342482, + 0.03357146589322249, + 0.033762501926271136, + 0.033867701191539895, + 0.03389392220161547, + 0.033953213305146064, + 0.034088392581394976, + 0.034199757902180716, + 0.03424657221067761, + 0.034306361577566016, + 0.03442660271388698, + 0.0345098638069931, + 0.03454627831271667, + 0.0346212083692397, + 0.03473570150596593, + 0.034817002348856686, + 0.034832174238469724, + 0.03483197753694613, + 0.03487532865577708, + 0.034985365933082664, + 0.035047523805353774, + 0.03505288038243347, + 0.03505049479288013, + 0.035085660022679384, + 0.035105335155486785, + 0.03511403683434924, + 0.03512908979671229, + 0.035160179980248694, + 0.03519968912383935, + 0.03525514232193947, + 0.035282234049783874, + 0.035242354711025235, + 0.03519770884054697, + 0.03514796539371315, + 0.03514369865361631, + 0.03513852388281332, + 0.03512867789193091, + 0.035144506686658535, + 0.035161637245925706, + 0.03516966852214449, + 0.03516935003165516, + 0.0351650710225939, + 0.0351820327694953, + 0.035142000256315246, + 0.035084894606726674, + 0.03504114538177476, + 0.035010384492669015, + 0.03497985726583892, + 0.034951943810547725, + 0.03488183715125099, + 0.03481688674258423, + 0.03477192332731482, + 0.03472607993592716, + 0.034643806209094526, + 0.03457306627253919, + 0.03449670763729715, + 0.03440069120529449, + 0.03433596470420425, + 0.0342623211577649, + 0.03417366983294735, + 0.03402171950082253, + 0.033877360759438875, + 0.03377082898815695, + 0.03367733649657884, + 0.033544932075236296, + 0.033358881701722395, + 0.0331362451635175, + 0.03294720603120485, + 0.0327270911360799, + 0.032489695300660495, + 0.03223730544805101, + 0.03190448516860838, + 0.03149562592456316, + 0.030991127574412032, + 0.030383640049185187, + 0.02964509658992729, + 0.028759324092691947, + 0.02755512780973608, + 0.026027338912501956, + 0.02407253423056809, + 0.02157956303162962, + 0.01850438380050413, + 0.01509891614774894, + 0.011586935030614698, + 0.008395596897846419, + 0.005904759622241706, + 0.004071664931102094, + 0.0028565204341722762, + 0.0021005297863303254, + 0.0016313736735878571, + 0.0013736506736916469, + 0.0012640314316722115, + 0.001272444068068302, + 0.001401481632284717, + 0.0016778403212965908, + 0.0021827415935172685, + 0.0030122038010320256, + 0.004281220307183567, + 0.006163580346477559, + 0.008762271053480057, + 0.011997863173538797, + 0.015481002783278127, + 0.018906990120754346, + 0.02195742967137733, + 0.024396933370696598, + 0.026324927842037573, + 0.027809213923786893, + 0.02892459076808325, + 0.029807215728564034, + 0.030533277083572594, + 0.031122114742378023, + 0.031601541669753264, + 0.03200275609673172, + 0.03233715590332208, + 0.03265854488681185, + 0.032898231762711665, + 0.03310870303933231, + 0.033317264253830615, + 0.033566494455447515, + 0.03375107820200164, + 0.03392588845251636, + 0.034102436880753095, + 0.03424940000118893, + 0.03437039733101823, + 0.03450481268584686, + 0.03465500624273694, + 0.03482291316442517, + 0.03497089071956839, + 0.0350872801850038, + 0.03513966846642902, + 0.035207839460396455, + 0.0353166836585365, + 0.03548173873567746, + 0.03556954639818722, + 0.035634741453260566, + 0.03565359472012784, + 0.03571060520269723, + 0.03577210566133309, + 0.0358396678530782, + 0.03590706275147676, + 0.03596918311038401, + 0.03604358961120637, + 0.03605427754286984, + 0.036093792586125384, + 0.03615273670689369, + 0.0362490582323371, + 0.0363399917974956, + 0.03637446197623097, + 0.036348346174791504, + 0.03633345156008726, + 0.036329554224850374, + 0.036368237281438745, + 0.03640855767214895, + 0.036461674759285204, + 0.03650296005887395, + 0.03653525265684543, + 0.036556592755534904, + 0.03658298579399141, + 0.03659308424433097, + 0.03661914124856179, + 0.03663359785171138, + 0.03665342834499726, + 0.036679702262859916, + 0.03674037380874862, + 0.03680433097840126, + 0.03688055792986372, + 0.036914455427503184, + 0.03689856357635003, + 0.03690358139752267, + 0.036886795751596396, + 0.03691834669057436, + 0.036927905471413856, + 0.03695706221355947, + 0.0369795396827121, + 0.03699617751515198, + 0.03700419385757259, + 0.03697384930628898, + 0.036955272594194045, + 0.03700196094414679, + 0.037071537472383086, + 0.03711208034004306, + 0.037062674466477555, + 0.037055908206110204, + 0.03707310767788693, + 0.03707656312264929, + 0.0370774467502497, + 0.03707048113183867, + 0.03708496584363226, + 0.037080438811030916, + 0.037076673246046875, + 0.03703821706672224, + 0.03704967851619248, + 0.03710056450335162, + 0.037110816794292435, + 0.037064841344638305, + 0.03703438159113884, + 0.0370466469155399, + 0.03709866645532986, + 0.03711340965151955, + 0.037127281152930784, + 0.03715606905446589, + 0.0371634646498463, + 0.03713411821768019, + 0.03711859119721984, + 0.03712960021347707, + 0.0371683993175547, + 0.037176775180236675, + 0.03716416011364285, + 0.03712352709760871, + 0.0370777115845289, + 0.037090645868829535, + 0.03712583254442969, + 0.037129024365284875, + 0.037102880227420455, + 0.037078115398533805, + 0.037106950511019636, + 0.037137287788267706, + 0.03709418069333533, + 0.03703795017981443, + 0.03700542925762925, + 0.036986544222859505, + 0.03700729687942926, + 0.03702157539411968, + 0.037025546799617996, + 0.03702549188958623, + 0.037022294314839915, + 0.03703355494876178, + 0.0370152344156507, + 0.03705062370212964, + 0.03706985731631706, + 0.037070709170483766, + 0.03704410787366759, + 0.03701457325978633, + 0.036991398086012935, + 0.03699324341010577, + 0.03699993719111615, + 0.03704853179024751, + 0.03704222868330975, + 0.03699684323543141, + 0.036935158468348536, + 0.0369245660964861, + 0.03694461401366722, + 0.036964368367562415, + 0.03693684465189732, + 0.03691068191986403, + 0.03686008966283179, + 0.036857843012505526, + 0.03687663572161027, + 0.03691441124285353, + 0.03690525690567503, + 0.036832519130797284, + 0.03679373087285739, + 0.036788970045248025, + 0.03682665403260389, + 0.0368171734451586, + 0.03677820334750341, + 0.03671849207435304, + 0.03667327775394081, + 0.036661940293863056, + 0.03666541951500953, + 0.03665378453219633, + 0.03663791913659156, + 0.03666527592318117, + 0.03673427034141093, + 0.036719255849004276, + 0.036657715863687226, + 0.03662279653967772, + 0.03660181093402029, + 0.036584992273572405, + 0.03656098002684361, + 0.03657922870411191, + 0.036559269350149165, + 0.03653629908296877, + 0.03648954598950319, + 0.036439824781802604, + 0.0363867788670079, + 0.03637393454817516, + 0.03637289992512963, + 0.036357581776438955, + 0.03632196840061907, + 0.03629450323331684, + 0.036283566960422876, + 0.036240912260561184, + 0.03612210695295854, + 0.03604074519091136, + 0.03601396079519656, + 0.036043924132643575, + 0.03604038099878479, + 0.03596145348780582, + 0.035861650070384284, + 0.03575693078341867, + 0.035703329120521, + 0.03570882238557829, + 0.035679884428011066, + 0.03562120993677175, + 0.035520739661300677, + 0.03549261018548173, + 0.03546110707470351, + 0.03537602443869217, + 0.035247666746692295, + 0.035140652962190926, + 0.03505875434725465, + 0.03494939254792302, + 0.03478096809265708, + 0.03462561901397479, + 0.034457706879461515, + 0.03430137209283003, + 0.03409041403472633, + 0.033811762777227486, + 0.033449342194666484, + 0.033004038696500114, + 0.0324035291545112, + 0.03157425630475787, + 0.030381379351987373, + 0.02879261134917258, + 0.026592713257341593, + 0.023673039975978742, + 0.020145550805337115, + 0.016262040792322876, + 0.012454920849221264, + 0.009260179011852877, + 0.006803536767761517, + 0.005117854499434065, + 0.004038265175181997, + 0.003378134230320343, + 0.0030586437629308394, + 0.0030060887792470515, + 0.003204322079742715, + 0.003689234254215801, + 0.004531531747066737, + 0.0059199103052652476, + 0.007956747327439955, + 0.010690021510210214, + 0.014131429017471515, + 0.017976878386771568, + 0.02170124610140587, + 0.024895869916648442, + 0.027397008301540998, + 0.029265772340460204, + 0.030556970208516027, + 0.03147577768502994, + 0.032128382144201585, + 0.032676216592119806, + 0.03309303565961932, + 0.03340359738792289, + 0.03362112124228237, + 0.033790422145678393, + 0.03391427932512209, + 0.033986377652463144, + 0.03406965900383964, + 0.03418153240953503, + 0.03425343667571902, + 0.03432207794792351, + 0.03436719808892243, + 0.03442393996558578, + 0.03447095569772639, + 0.034558362949423084, + 0.034824176063586426, + 0.03491868316187621, + 0.03485084090296787, + 0.03462001958522378, + 0.03456752485055121, + 0.03458419094920968, + 0.03462737306627486, + 0.03465939571748673, + 0.034682412829253974, + 0.034674698841396755, + 0.03465480466517358, + 0.03463281701973396, + 0.03461916462565413, + 0.03460027942196479, + 0.03460563262960115, + 0.034636647111674856, + 0.03463205979600108, + 0.03461393063349499, + 0.03454699536724929, + 0.03454637847092634, + 0.03455791648499122, + 0.03454377682219629, + 0.034518563649889346, + 0.034486596424573066, + 0.034458322877734766, + 0.034365988389890044, + 0.03426886490921255, + 0.034214729193976376, + 0.03419725280781983, + 0.03419101508945397, + 0.034144092279077526, + 0.034097666197734446, + 0.034026676538501124, + 0.033921526965610814, + 0.03382056794309603, + 0.03375289470046823, + 0.03370259182912967, + 0.033590916572489714, + 0.03347716776806069, + 0.03337129248261811, + 0.03324100706515957, + 0.03310444042807048, + 0.03295600370237087, + 0.03282855843138139, + 0.0326965498644088, + 0.03256568770051603, + 0.032383392566300226, + 0.0321933091893339, + 0.03202206598663263, + 0.031867263821275686, + 0.03166437387114195, + 0.03139833590400741, + 0.031090080039071336, + 0.03078677844662438, + 0.03045567566675814, + 0.030081196417897568, + 0.029628487671543143, + 0.029079140222790248, + 0.028358605505730477, + 0.027460215035741517, + 0.026335255119267834, + 0.024883619075137815, + 0.023013656106040645, + 0.020660474083417264, + 0.01777055415163948, + 0.014506869158382002, + 0.011219028524160901, + 0.008198923991310662, + 0.005774456102732029, + 0.004022847534716825, + 0.0028122828651230237, + 0.002034696265635658, + 0.0015630190307870104, + 0.0012842098002514492, + 0.0011437380828620929, + 0.0011094580895841361, + 0.0011726516226953324, + 0.0013486083422093668, + 0.0016672387284577524, + 0.002204749860672431, + 0.0030524213876668314, + 0.004327203854180044, + 0.006150499925202202, + 0.008613215863662635, + 0.011692946326832088, + 0.014969283002042923, + 0.018126736133680252, + 0.02090581886493678, + 0.02312998626286483, + 0.0248595566486066, + 0.026218151817525084, + 0.02724576387011575, + 0.028065808788615993, + 0.02872132034104376, + 0.029236448933132375, + 0.02965562710727765, + 0.030024090832770405, + 0.03030918621180843, + 0.030567039430226213, + 0.03076932828132789, + 0.030978906208638704, + 0.031211650552482078, + 0.03145864404680587, + 0.0316337883140072, + 0.03177295639551286, + 0.0319065588070873, + 0.03203129620297957, + 0.03213960247495928, + 0.03225347641745061, + 0.03236705512754844, + 0.032491108740618155, + 0.03260283404273948, + 0.03270227252001883, + 0.0327867417212364, + 0.03282926762069712, + 0.032897589774419526, + 0.03295793658855987, + 0.033025649605396494, + 0.03309201843020824, + 0.03318990803659191, + 0.033240463325476664, + 0.03328949026801415, + 0.03330010233521439, + 0.03333492922475855, + 0.03335073319222612, + 0.033383661485108365, + 0.03337014975284965, + 0.03334676859999454, + 0.033363611360458324, + 0.033399135106320366, + 0.0334376729959259, + 0.03343053256254946, + 0.033409138064017525, + 0.03336609135836003, + 0.033316288237797455, + 0.03329477748380724, + 0.033259836061985876, + 0.033222929884642885, + 0.03313023773685534, + 0.03307251935603562, + 0.03301382506818585, + 0.032932806052991065, + 0.03285374210682217, + 0.03276383285000939, + 0.03271986703060629, + 0.032643865580405704, + 0.03257000490455987, + 0.0324629738399283, + 0.03234917922028241, + 0.03221766786554202, + 0.03208838406959795, + 0.03195132804898397, + 0.0317786819624849, + 0.03157542767224691, + 0.03133552206873926, + 0.031057629185337905, + 0.03072525089737015, + 0.030348788087211545, + 0.029873153283495362, + 0.029253329476693218, + 0.02843337776410158, + 0.0273547197910997, + 0.025931733729653288, + 0.024041233562238504, + 0.021577470613141796, + 0.018543492895907683, + 0.015112874976795452, + 0.011635726274581726, + 0.008551625237446374, + 0.006116182835939294, + 0.00433774783809245, + 0.003136662993761422, + 0.0023769542792467183, + 0.0019100041128506532, + 0.0016544935900491262, + 0.0015544075860858511, + 0.0015873220402629893, + 0.001755468884517598, + 0.00208922111607814, + 0.002665453026555698, + 0.0035792728990231715, + 0.0049415334316573025, + 0.006884783563083501, + 0.009480861494589765, + 0.012717218853525336, + 0.01619759503923936, + 0.019509865825017913, + 0.022395533742251623, + 0.02463419057705374, + 0.02633350380435673, + 0.02764660179471314, + 0.0286207027566904, + 0.029347757333328856, + 0.029905307010128678, + 0.030354326409748437, + 0.030743941844711575, + 0.03106319368697087, + 0.031303659793854445, + 0.03144818455606269, + 0.03162172816488693, + 0.0318365230296336, + 0.03206610110465751, + 0.032245787532360314, + 0.03233899294083395, + 0.032422968949488463, + 0.03250971438294182, + 0.032623500322229, + 0.03274346900231683, + 0.03286674402407734, + 0.032964905561840674, + 0.033045303797479525, + 0.03314072126428898, + 0.03321417641116126, + 0.03327314667409105, + 0.03331319331136082, + 0.03335219920580127, + 0.0333917027457741, + 0.03343670910455936, + 0.033524241945061824, + 0.033594945892188574, + 0.03362503057619729, + 0.033655320419399955, + 0.03369158099257811, + 0.03374727635609644, + 0.0337511998752149, + 0.033749629054570345, + 0.03376958042831861, + 0.03378403152148705, + 0.03381515168890329, + 0.033801619729714946, + 0.03378366361706762, + 0.033756591313637264, + 0.03374729373401465, + 0.03375627834146838, + 0.03376730541555475, + 0.03375286645198588, + 0.033691403457396754, + 0.0336002207680521, + 0.033526825207480355, + 0.033508294563249046, + 0.03350774632719724, + 0.033482854763851384, + 0.033423337648142946, + 0.033351853376222484, + 0.03327243929306728, + 0.03317365575599829, + 0.033085530103788584, + 0.03298254527277215, + 0.03287477315385708, + 0.032739326488619686, + 0.03255648661083067, + 0.03233001318759274, + 0.032071493356436595, + 0.03178625759450065, + 0.031389432996156125, + 0.030862470083086284, + 0.030169528665563668, + 0.029219232859153163, + 0.027896788353295184, + 0.026076211723591997, + 0.023667010763296845, + 0.02061183360982836, + 0.017029074098662923, + 0.013350963221596226, + 0.010038855068701958, + 0.007358926308217696, + 0.005403132144654155, + 0.004050248644452801, + 0.003188061891286972, + 0.002688988024533405, + 0.00243638143228714, + 0.0023818005665062637, + 0.002514155359118413, + 0.0028672678467254226, + 0.0034991081374766784, + 0.004483928779863153, + 0.005973680475728687, + 0.008083372607633888, + 0.010870334160434791, + 0.014247639479240255, + 0.017879720168301708, + 0.02142017849059255, + 0.024355543514545882, + 0.02661223157221942, + 0.028311864676233485, + 0.02950991703375262, + 0.030372730537950844, + 0.03100079942857413, + 0.03151352155164278, + 0.03190719182534007, + 0.03220516443099887, + 0.03245832727137652, + 0.03270015739221035, + 0.032899034799416395, + 0.03303877339722362, + 0.033164101666523185, + 0.033274996564847586, + 0.03338180374361016, + 0.03348326532854011, + 0.033596887715067775, + 0.033694909040943695, + 0.03378617379868973, + 0.033869186752045075, + 0.033961229936392, + 0.0340440231826728, + 0.03408596139206793, + 0.034135300113320326, + 0.03419953258481848, + 0.034276040825967545, + 0.03435850907002173, + 0.034387870740623994, + 0.03439920153708834, + 0.03444788558861437, + 0.034535951477030334, + 0.034609580082381006, + 0.03462276762895906, + 0.03460965776120361, + 0.03463743886117581, + 0.03471258145692628, + 0.03480756215745169, + 0.0348504679295902, + 0.0348504146483308, + 0.034859101645163856, + 0.03484536525099174, + 0.03483938430361767, + 0.03481974244223945, + 0.03484944866418468, + 0.03487384399175035, + 0.034896540670609315, + 0.03488580841044695, + 0.03489600413303808, + 0.03490778620578901, + 0.034926973773925576, + 0.03493876047395449, + 0.034927825389652695, + 0.03492380733767119, + 0.0349292960369898, + 0.03492956830649076, + 0.034930617863685655, + 0.0348965964157187, + 0.03488817163430237, + 0.03484322548921029, + 0.034827190275531696, + 0.034795757568034796, + 0.03477931841589481, + 0.03470853694640503, + 0.034583289853124186, + 0.03436724990288719, + 0.03414108175852932, + 0.03388613223378514, + 0.03349486152276122, + 0.032893344199741145, + 0.0318782191323551, + 0.030324385227412067, + 0.02820866821693248, + 0.025459134410407726, + 0.022234290751451412, + 0.018958980260512407, + 0.01592535088971076, + 0.013509417230134518, + 0.011837853059686543, + 0.010829074584722436, + 0.010492746490323114, + 0.010750558291341016, + 0.011645512352521972, + 0.013195562766509657, + 0.015363869774699503, + 0.018180223084730513, + 0.02130754510003843, + 0.02441290349497594, + 0.027273140590405483, + 0.029624479793981126, + 0.03136888874529351, + 0.03250656392794922, + 0.03324248030973596, + 0.03374435494802169, + 0.03406814916433654, + 0.034324590128302135, + 0.03449115889722867, + 0.034600133282526355, + 0.03461563550690784, + 0.03464472419743227, + 0.034683112602430156, + 0.034735328691647305, + 0.03475296558688284, + 0.03477120151741998, + 0.03480460217256587, + 0.034839060191685, + 0.03486775587170687, + 0.03486615823732673, + 0.034846629779216994, + 0.034839625076385786, + 0.034845573683393034, + 0.03483732861010828, + 0.03485195292066781, + 0.03487981821364275, + 0.034913990615293426, + 0.03490253661305302, + 0.03488530702101671, + 0.03487821019262686, + 0.03485335926133385, + 0.034826038197392765, + 0.034777703499328634, + 0.03476376838856796, + 0.03475133468926074, + 0.03476248912279827, + 0.03475829471359517, + 0.034762141086602014, + 0.03477431035618318, + 0.034738343654031306, + 0.03467552443880153, + 0.034634523754159145, + 0.03461617488520873, + 0.034596416275614175, + 0.034527172380474834, + 0.03447991710951323, + 0.034445703839795096, + 0.034424726541060484, + 0.03439196945204264, + 0.03433353404798226, + 0.03428696169039178, + 0.03424208092118596, + 0.03421724578216945, + 0.034159885082552126, + 0.034099063330687775, + 0.03399541067661882, + 0.033896933120460285, + 0.033809623794678355, + 0.03369899367346849, + 0.03356223991949487, + 0.03339173464637675, + 0.033213458910913166, + 0.03300067330971221, + 0.03273960044284086, + 0.03236537274027518, + 0.03182510372835708, + 0.031114767395915063, + 0.030070692694805244, + 0.028562481627088684, + 0.026519128655467104, + 0.02376357893219633, + 0.020336653601725894, + 0.0166727268205791, + 0.013078077736496373, + 0.009971808217977496, + 0.0075880148824017495, + 0.005882808628203101, + 0.004777642011756458, + 0.004113168364754485, + 0.003787992636719391, + 0.003748175841240594, + 0.003968510604696474, + 0.0044995039876318576, + 0.0054076087404965, + 0.0067840388757227765, + 0.008765003913664658, + 0.011373973618025153, + 0.014555598495044928, + 0.018088250048197335, + 0.021660695757637252, + 0.024804028080903005, + 0.027225831471413567, + 0.028977702079190797, + 0.03022269035254425, + 0.031094173436510865, + 0.03168718382728416, + 0.03209438302997744, + 0.0323958005974607, + 0.03264942341592027, + 0.0328218935492078, + 0.032968649259936554, + 0.033063229845094314, + 0.033137093372391714, + 0.033177820736188586, + 0.0332418121697617, + 0.033337197221790016, + 0.03339538873205005, + 0.03342539180422256, + 0.033435715416328504, + 0.03348247414516514, + 0.03351555395740941, + 0.03354257349273767, + 0.03355057556264253, + 0.03356386640007866, + 0.03361282689190276, + 0.033661798595623044, + 0.03366724366138466, + 0.033633287799375515, + 0.03362249900085729, + 0.033617288260898694, + 0.033619997989038204, + 0.033605090194844756, + 0.03357180339394816, + 0.033514694832865684, + 0.03348922606562595, + 0.03344283459865766, + 0.03340426353413346, + 0.03334836365699542, + 0.03329734453474105, + 0.03322687982380668, + 0.03315291990449363, + 0.033117011909258705, + 0.03307600374689105, + 0.03302747415807148, + 0.032976010613952146, + 0.032905156920333176, + 0.03281008303274988, + 0.03270667906508785, + 0.03257731682032145, + 0.03241265199303733, + 0.032251168970159026, + 0.032100702631460684, + 0.03194557903707862, + 0.03172098543378699, + 0.0314772611358238, + 0.03117985042130931, + 0.030835250361732878, + 0.03036046450083834, + 0.029749615198105876, + 0.028936522314471417, + 0.027860433410499066, + 0.026380122567984336, + 0.02438247401786328, + 0.021769119645454593, + 0.01856928972240136, + 0.015023412186991235, + 0.011563120955792448, + 0.008560559926662588, + 0.006217466359689385, + 0.004542635625600485, + 0.003393988307063966, + 0.0026652665774936756, + 0.002234143990061986, + 0.0020050595200033876, + 0.0019367439839358055, + 0.0020126888830633164, + 0.0022498591949846156, + 0.0026877345862096115, + 0.003388162812969236, + 0.004463989535344844, + 0.006012575251228874, + 0.008138746149258863, + 0.010894516144824784, + 0.014168493866790735, + 0.017725135845669933, + 0.020994916735209722, + 0.023724993384181915, + 0.025862831020243227, + 0.027423932544892483, + 0.028560191313537393, + 0.029437966221757463, + 0.030085484210641077, + 0.030586905144586677, + 0.03097818502086865, + 0.031326312206977555, + 0.03159244130980692, + 0.03179359583611399, + 0.0319647342202292, + 0.0321430644953733, + 0.03230538088841892, + 0.03245979224390709, + 0.032580294740656976, + 0.03267170830769016, + 0.03274739983878892, + 0.03285493415577618, + 0.03294884798940183, + 0.0330320832475433, + 0.033123608853979664, + 0.03322630706652207, + 0.033317003836150307, + 0.03340249926239503, + 0.03348323752957152, + 0.0335539960664831, + 0.03361876486845227, + 0.03367189681610575, + 0.03374146661803013, + 0.03381119584417809, + 0.03389437358622058, + 0.033970654591851675, + 0.034027957433380454, + 0.03405358011474819, + 0.034091251944214696, + 0.03411441493577975, + 0.03415593273075147, + 0.034186284237519196, + 0.034205248978549034, + 0.03417809417594031, + 0.034169513865462756, + 0.03420153600571974, + 0.03426849084922767, + 0.0343221610821777, + 0.034370368039480605, + 0.034411653261479616, + 0.03442351052862866, + 0.034440585509923495, + 0.03444911011437327, + 0.03446986785963322, + 0.03447869039268728, + 0.03449866657594905, + 0.03450887799545628, + 0.03452682676645673, + 0.03454208129532805, + 0.03457174173163881, + 0.034586013816251246, + 0.03459486623661068, + 0.03459350578664351, + 0.03462036935358269, + 0.03464446092896857, + 0.034653739549936564, + 0.034651774412380223, + 0.034653073027256134, + 0.03468016915684315, + 0.0346878511538887, + 0.03468167637716297, + 0.03466965437802188, + 0.034646580926035814, + 0.03467019314840994, + 0.03471291241313959, + 0.03476699808913075, + 0.03474118648340111, + 0.03470496661084708, + 0.03468682990381478, + 0.03472208286932959, + 0.03474124633744137, + 0.034747357138899565, + 0.03475948840393478, + 0.034795623628435024, + 0.034787090568866544, + 0.03475961284741514, + 0.0347290380816626, + 0.03472763025428056, + 0.034717132658107275, + 0.034687775418672774, + 0.034678999258779784, + 0.03467108731494553, + 0.034669865298902675, + 0.034658669407163875, + 0.03467069066614945, + 0.034683920244606946, + 0.03468710758608462, + 0.034686354870901354, + 0.03468899640246429, + 0.034712248208782506, + 0.034690580137305846, + 0.034661205897762636, + 0.034611531297251134, + 0.03459080346517659, + 0.034576716694466735, + 0.034590582094375405, + 0.03457010728319751, + 0.03457652742816303, + 0.0345932044934058, + 0.03461202484781716, + 0.03461996472024012, + 0.03459132837633904, + 0.03458362062977667, + 0.034559602176454436, + 0.03457895156171432, + 0.03455778664801044, + 0.03452366199145574, + 0.034477486435728205, + 0.03444863477980393, + 0.03443664258235936, + 0.034406951478919166, + 0.03439645727406922, + 0.034359355707030866, + 0.034340917022375884, + 0.034338458676815835, + 0.03432412945946475, + 0.03430545694337598, + 0.03427920742932359, + 0.03422061595516116, + 0.034163909587571636, + 0.03408765232841613, + 0.03403939479778104, + 0.0339600816433817, + 0.03390396725589441, + 0.03382115700807443, + 0.03369515157895251, + 0.033497889706041145, + 0.03324357004675004, + 0.03289034385656044, + 0.032314870783476966, + 0.031463203262646226, + 0.0302022960722291, + 0.02841020484535402, + 0.025995512584932347, + 0.023040949314112855, + 0.019824940595661783, + 0.016696504296797077, + 0.01395897230218781, + 0.011897479727982396, + 0.010480884292627068, + 0.009637797295075481, + 0.009370882829933404, + 0.009617093350344039, + 0.010394472417002708, + 0.011699906050482805, + 0.013614121826198498, + 0.016128229465014722, + 0.01898400274204361, + 0.021941649862345744, + 0.02483316684357684, + 0.027354360133324117, + 0.029328460770453868, + 0.0307213332578613, + 0.031675838853471514, + 0.03228204426429519, + 0.03269222555096515, + 0.032974730953873946, + 0.03316111674877757, + 0.033277514098202204, + 0.03337828862929809, + 0.03345645864181664, + 0.033492931475394526, + 0.03349214197466983, + 0.033489397198132285, + 0.03351729590868664, + 0.033539505042044004, + 0.033543792445736895, + 0.033509808730224015, + 0.033475804031490836, + 0.033467854676095504, + 0.033462990763735094, + 0.033438276522571794, + 0.03339830747033977, + 0.03335623299941557, + 0.03337157711521795, + 0.03337149852214917, + 0.03334358954659948, + 0.03326975363066161, + 0.03324335715247231, + 0.03324571600470054, + 0.03326276069722322, + 0.03322299935840059, + 0.03313070669421155, + 0.03305296823141768, + 0.03299476892245794, + 0.032959954655921754, + 0.0329025178313387, + 0.0328460833516477, + 0.03276519652787209, + 0.032688470993103215, + 0.03261409206118252, + 0.03253714085137428, + 0.032411930633047994, + 0.032275364966828805, + 0.03218973554326687, + 0.03207890698427571, + 0.03190433761659224, + 0.03167304310423467, + 0.031444527357484896, + 0.031190586759349395, + 0.030845917614392846, + 0.03039652399125061, + 0.029781188741396458, + 0.028951529733785605, + 0.027821193559174645, + 0.026272122480301467, + 0.024125536279737833, + 0.021337144778058908, + 0.01801754494729464, + 0.014473873825126866, + 0.011158028541711251, + 0.008375081372574828, + 0.006230310437462175, + 0.004729188029531447, + 0.0037203058443815856, + 0.0030801783548098883, + 0.0027277706834577297, + 0.0025835341798307885, + 0.0026141542475459196, + 0.002817511286639986, + 0.003235680966280507, + 0.003944001865601469, + 0.004996383614246495, + 0.00649068899689757, + 0.008539758723409273, + 0.011172447206794434, + 0.014309576472694636, + 0.017702618244412473, + 0.020998534194270245, + 0.023810010387996246, + 0.025932605930912334, + 0.027488635708256222, + 0.0285864804171857, + 0.029363934505557826, + 0.02993675394793912, + 0.030389029048588905, + 0.030760865088312047, + 0.031031948663944306, + 0.031224777806470795, + 0.031366813092351564, + 0.03151623237330356, + 0.03165376568589267, + 0.03175279757149434, + 0.03181646305100466, + 0.03188187903921884, + 0.03195998369717018, + 0.03202742387265072, + 0.03207343964161103, + 0.03210464578267689, + 0.03214770402317828, + 0.03216567363689394, + 0.03218046120695634, + 0.03222018041009983, + 0.032270964619860204, + 0.03230078330114168, + 0.032311345769696, + 0.03233386132742203, + 0.032361555049357595, + 0.032372589057530425, + 0.032343711154116404, + 0.03230775582591249, + 0.03232957459768398, + 0.03233585155388949, + 0.032305132067733514, + 0.03224677521791828, + 0.032193696645540205, + 0.032144085313078476, + 0.032103407300835836, + 0.03207814152260184, + 0.03200402003620816, + 0.031869603835284296, + 0.031734193204587084, + 0.03157711071436552, + 0.03135667149238326, + 0.031076885250701906, + 0.030736346693759194, + 0.030281712430468292, + 0.0296490865745999, + 0.02873828530408959, + 0.027457005210613613, + 0.025665964536589255, + 0.023213991587336728, + 0.02011185562525711, + 0.016650749164299365, + 0.013187584923903652, + 0.010128483810668939, + 0.007691968221805113, + 0.0058907329088882425, + 0.004676080332171805, + 0.003894221404693482, + 0.003443862818483479, + 0.003249104954280211, + 0.0032670579598694655, + 0.003493300811066667, + 0.003956388925781486, + 0.00473562863237262, + 0.005912021513349771, + 0.007543598479263219, + 0.009701730555958337, + 0.012424413851886792, + 0.01565517901179788, + 0.01905949162232013, + 0.022232512539203567, + 0.024964885035573037, + 0.026999024037354363, + 0.028462326049026022, + 0.02949773374802519, + 0.030214270936525532, + 0.030723619626437246, + 0.031105175632871025, + 0.031399057982744914, + 0.03163463388061758, + 0.03182486418278124, + 0.03196271926482234, + 0.03208862170676327, + 0.03219307395261584, + 0.03227224188817434, + 0.03237881674115158, + 0.03246999646060887, + 0.03254328051224283, + 0.03258284391658849, + 0.03265970043336297, + 0.032740796490715776, + 0.03277824320100032, + 0.03280452168404737, + 0.032845570974400606, + 0.03292566040916172, + 0.03298963467500754, + 0.03299149054284169, + 0.032990589569738875, + 0.033000808327447013, + 0.03301515973960059, + 0.03303506163230965, + 0.03305877256645483, + 0.033078080125233965, + 0.033089794111510175, + 0.03310956447516918, + 0.03313567133818909, + 0.033127907801841924, + 0.03309965857896119, + 0.03308558021307021, + 0.03308555724629728, + 0.03309023477437251, + 0.03306176827565279, + 0.03303106351874623, + 0.03295372720653604, + 0.03284370268195048, + 0.03267941224080497, + 0.032496348803201444, + 0.03221490036224927, + 0.03177703899707114, + 0.031142231483728747, + 0.030218039412418303, + 0.02887374400744578, + 0.026953214564425468, + 0.024387983886723297, + 0.02129699948752795, + 0.01799705339991789, + 0.01483482181055632, + 0.012128922360720324, + 0.010083642100252045, + 0.008634559489705124, + 0.007750771813001277, + 0.007342032204517541, + 0.007351422706020379, + 0.00775365487528087, + 0.008563396653721045, + 0.009890429715899913, + 0.011771223779969935, + 0.01414341442949399, + 0.016931140383454057, + 0.019948140496260827, + 0.022988211420969688, + 0.025725979417764035, + 0.02795589277104746, + 0.02964149311513499, + 0.03077964277184924, + 0.03152858378394241, + 0.03205848560392464, + 0.03243507022170927, + 0.03267963426893679, + 0.032835692833006046, + 0.03295806711316241, + 0.033054362336305286, + 0.03312903400084736, + 0.03315120094760353, + 0.033176913756274524, + 0.03319246524556022, + 0.03323676299610633, + 0.03327809284679813, + 0.0333099783299114, + 0.03333119512075572, + 0.03332370824136476, + 0.03332368706085281, + 0.03333171852305638, + 0.033327358045597805, + 0.03331460310393981, + 0.03333101712533837, + 0.03335250685163832, + 0.0333501094860238, + 0.03334362135533889, + 0.03334189316842487, + 0.03334495313568985, + 0.03333385892213267, + 0.03331843300769957, + 0.03327180584305121, + 0.03322330673063329, + 0.03321982070517225, + 0.033225525874265464, + 0.03319721088923833, + 0.03315278573559102, + 0.03307543617928647, + 0.03297996014258891, + 0.03288004698009643, + 0.032801810466137976, + 0.03271720041188547, + 0.032569045876566886, + 0.032353912385969595, + 0.03209871373230688, + 0.031769309901835255, + 0.031274041015325466, + 0.03049210013781372, + 0.029363802938665386, + 0.02775746525075471, + 0.025556982407346385, + 0.022731963250640225, + 0.019452841344886625, + 0.016051572927886774, + 0.012965459009021577, + 0.010393093515322424, + 0.008422256058380052, + 0.007087998207234828, + 0.00625622235707874, + 0.005827292653668659, + 0.005734309899655702, + 0.005959185002160041, + 0.006543234208367105, + 0.007528204345902243, + 0.008979166486839456, + 0.010960989024543727, + 0.01342075995135138, + 0.01629347751231098, + 0.01941694357647029, + 0.022505251059269104, + 0.025293957929728758, + 0.02750427629677263, + 0.029107941914252693, + 0.030227956177858145, + 0.030957255925707493, + 0.03144347694249179, + 0.03175720969669202, + 0.031977607477381105, + 0.03216999004443953, + 0.03230299435833743, + 0.03240846053878274, + 0.03247322430635903, + 0.032559855021800324, + 0.0325988243263056, + 0.032606609510402076, + 0.03263227624454713, + 0.03266321640178308, + 0.032679966298286095, + 0.03268456040286155, + 0.0326855038311741, + 0.03270581806340695, + 0.032684544102203034, + 0.032660465417612514, + 0.032628159785678554, + 0.03260384980493521, + 0.03259238408644621, + 0.03256915310685027, + 0.032541717102413735, + 0.032490218782602116, + 0.03244752191000524, + 0.03242238146636622, + 0.032387381468767705, + 0.03231603799141395, + 0.03221438175573567, + 0.03210510188260347, + 0.03200591515570626, + 0.03192405760832005, + 0.03182893888036064, + 0.03171698053967771, + 0.031542109981426245, + 0.031302813138287804, + 0.030999710631210653, + 0.030609048178682, + 0.030075667591272247, + 0.029331666896976527, + 0.02830242254416477, + 0.02685888430056901, + 0.02483953661620062, + 0.022167952786887903, + 0.018927029810664, + 0.01545377544109852, + 0.012168982408396778, + 0.009325991619471764, + 0.00712789678210308, + 0.0055315391674854615, + 0.004448975909368409, + 0.0037793565336398834, + 0.003397428413773768, + 0.003243312474370874, + 0.003288737459229511, + 0.0035340410834432956, + 0.004020218627605964, + 0.00478671243220297, + 0.00592404091616175, + 0.007508043514024653, + 0.009578558621024304, + 0.012179652475873607, + 0.01523610251402899, + 0.01856517744544535, + 0.021771126448832487, + 0.02446506925970916, + 0.026547668815238984, + 0.028090698545883298, + 0.02914627964769275, + 0.029897990943604017, + 0.03041329263593974, + 0.03082265871769161, + 0.03111958027314155, + 0.031334450832802466, + 0.03149429587582878, + 0.03163108776630179, + 0.03174927298374785, + 0.031862722308044274, + 0.03195336688503491, + 0.032025357969295384, + 0.03208489651083605, + 0.03215177506022386, + 0.032229293403748846, + 0.03229298830681271, + 0.032333813469281124, + 0.03236674740944342, + 0.03239139937075347, + 0.03240672577027228, + 0.03243557589158116, + 0.032495067832450035, + 0.03254250686819027, + 0.03256764992410129, + 0.03258578639232904, + 0.032599239847666106, + 0.03261192543958218, + 0.03263534141655937, + 0.032672665246892725, + 0.03265887852213791, + 0.03262218494993347, + 0.03255536665738768, + 0.032496163499297716, + 0.0324271701744848, + 0.03233643391096996, + 0.032217582734962384, + 0.032055310279639, + 0.03180773250753077, + 0.031417348549992966, + 0.030850894561079926, + 0.029974743570862074, + 0.02867090602574195, + 0.026830184940608903, + 0.02438443360356971, + 0.021414860725880322, + 0.01812903646547413, + 0.014917104184373368, + 0.01208994925195099, + 0.009870425810464661, + 0.008270015188278626, + 0.007196797196833435, + 0.006600695300902408, + 0.006376619477061936, + 0.006485247437582114, + 0.006938017511464732, + 0.0077660109986889166, + 0.009070126571556926, + 0.010845138387381407, + 0.013091364685276689, + 0.01580258535369726, + 0.01876503689026551, + 0.02185236068832469, + 0.024707753322474803, + 0.027084724279151692, + 0.028920739143414618, + 0.03020847029632175, + 0.031062799837235016, + 0.03164302710052224, + 0.0320611302274888, + 0.03237524177782492, + 0.03259882635321336, + 0.032747360975745037, + 0.03286873445391764, + 0.032964600879646214, + 0.03305608585422493, + 0.0331353530203, + 0.03321041251025537, + 0.03327196209181419, + 0.03334311878435189, + 0.033400307483528326, + 0.03341389902156154, + 0.03343630181318444, + 0.03349078771458502, + 0.03355602765622711, + 0.03360170233722077, + 0.03363913372403871, + 0.03366882195727513, + 0.03367129780166927, + 0.03367515176163999, + 0.033692657069020054, + 0.03371494318037129, + 0.03372941263737427, + 0.03373212527997886, + 0.03376401088793524, + 0.033791280219331886, + 0.03382835180148968, + 0.033849001718894614, + 0.033893253911534575, + 0.03392576771181733, + 0.03395326827600941, + 0.033949801062433574, + 0.03395166320008128, + 0.03397039926726446, + 0.03398204244851567, + 0.03399125387548387, + 0.03398996692790636, + 0.03400981526402969, + 0.034018066128273954, + 0.034023225227679504, + 0.03403863236228062, + 0.03407110033912016, + 0.034095619493802104, + 0.03413868750639342, + 0.034151066986346554, + 0.0341492785563676, + 0.034128169670161884, + 0.03414127295748725, + 0.034151093680750116, + 0.03414456369373573, + 0.03415668930389055, + 0.03414949431472485, + 0.03413959225858074, + 0.03411935017517235, + 0.034140481496646696, + 0.03413846299300702, + 0.03412742768862003, + 0.034123391785270886, + 0.03413496452239319, + 0.0341464272432593, + 0.03414729904509122, + 0.03414760374143336, + 0.03414771049764247, + 0.03415277551230987, + 0.03415083341209548, + 0.03414373650304911, + 0.03413758941951422, + 0.03413656475033509, + 0.03411894384646892, + 0.03412528189963514, + 0.03409399871411375, + 0.034089294669653, + 0.03408577524418892, + 0.034124246863953545, + 0.03414757705248537, + 0.03414522414088084, + 0.03410938126391194, + 0.03405501566579567, + 0.03401992472489496, + 0.03399456865494166, + 0.03397308256827349, + 0.033942862166748786, + 0.03392316211741022, + 0.03390002567615546, + 0.0338932999241052, + 0.033860404365644414, + 0.03384101831845986, + 0.03383036436000848, + 0.03382354838626434, + 0.03379623568485871, + 0.03376624413778694, + 0.03374855150836884, + 0.033733577265557854, + 0.03370882814102842, + 0.033671674075396604, + 0.033592311227617244, + 0.033462804950591604, + 0.0333055029408041, + 0.03312540448131335, + 0.03283676428901674, + 0.03238840385823105, + 0.03170862475585221, + 0.0307196592037807, + 0.029280976133810702, + 0.027321061450918626, + 0.024802007518449132, + 0.02188371371991244, + 0.018892717967966183, + 0.016114857704055713, + 0.01381420405651016, + 0.01214248671591276, + 0.011064416595814511, + 0.010507929208727404, + 0.010431987693514517, + 0.010814897118125968, + 0.011687745514036717, + 0.013049886204777239, + 0.01491738261119751, + 0.017225843101603258, + 0.019788441881378505, + 0.02245199176378885, + 0.02503070305850396, + 0.02735266473118962, + 0.029238855519382743, + 0.030614778441564083, + 0.031540087237438404, + 0.03216838137124009, + 0.03261847487252965, + 0.03293267986566827, + 0.033108109260145326, + 0.03320999598785182, + 0.033285512750522384, + 0.03334708462975238, + 0.0334157049632285, + 0.03347506877135577, + 0.03350204659185074, + 0.033489380084802955, + 0.033480861957475336, + 0.033515800347887016, + 0.03352910438278209, + 0.03353581291666866, + 0.03353276714979986, + 0.03352770425061468, + 0.03352398899968534, + 0.03347762094650036, + 0.03343325064212059, + 0.033428577950303705, + 0.03344352791048437, + 0.03346499639555293, + 0.03346586792711768, + 0.033476353360287425, + 0.03346334317364088, + 0.03343556828725427, + 0.033393012847337, + 0.033376032035612783, + 0.03333280988031766, + 0.033259496364970394, + 0.033177976103463486, + 0.03310742978544657, + 0.033009268872346585, + 0.03284660191839071, + 0.03263845186483873, + 0.03233553645161203, + 0.031832465717386196, + 0.031096375466337686, + 0.030026470632030726, + 0.02847343692840018, + 0.02636973620506317, + 0.02377959750012337, + 0.0208827865340823, + 0.017980022547731827, + 0.015387058984704391, + 0.013325377742312659, + 0.011846917778565533, + 0.010927586812629054, + 0.010523177895032038, + 0.01057495424003852, + 0.01107682561799876, + 0.012039899067374456, + 0.013492848549383929, + 0.015395408838946415, + 0.017660668773599328, + 0.020157396615140776, + 0.022737032374233322, + 0.025201755655142877, + 0.027366008144953494, + 0.029105718408081172, + 0.03037162559056003, + 0.03122037480075192, + 0.031784850858768365, + 0.032133379807162216, + 0.03235770031528959, + 0.03250123997889076, + 0.0325777884736612, + 0.03260913238317074, + 0.03264747775493295, + 0.032688523983033506, + 0.03270818694738166, + 0.032721625276576766, + 0.03270957660748196, + 0.03266907192476084, + 0.03264228436220728, + 0.032643255838018505, + 0.03262264775401649, + 0.03259760012007234, + 0.03257308267328307, + 0.03254537135317291, + 0.032461166906287114, + 0.032400391236108474, + 0.03235073216880373, + 0.03231288313876646, + 0.03226132778185403, + 0.03220538797477467, + 0.03214746156778965, + 0.032048377714699705, + 0.03190539575006507, + 0.03175777332147876, + 0.03162223358683771, + 0.03144541564467726, + 0.03118603756709792, + 0.03084582687534918, + 0.030401434530580786, + 0.029810951144060526, + 0.028987577794974014, + 0.027816945348293317, + 0.026154320909438922, + 0.023905359783671375, + 0.02103556066087597, + 0.017761580405564126, + 0.014411506159183855, + 0.011330398614405109, + 0.008774808523036217, + 0.006823797117816185, + 0.005448783422914505, + 0.004534933679985613, + 0.003975493354624611, + 0.0036840408783730223, + 0.0036076809871094326, + 0.0037326281800897413, + 0.00406751973525372, + 0.0046475447601691455, + 0.005526647250540218, + 0.006765436646087639, + 0.008419323307937432, + 0.010537157726471874, + 0.013136269250223823, + 0.01614851329558505, + 0.019371108462881585, + 0.022426192270481725, + 0.02501453290314159, + 0.026993002355750688, + 0.028384957999262397, + 0.02932403503930451, + 0.029939639665362762, + 0.030401720116854748, + 0.030750133930074367, + 0.031010668079597802, + 0.031198255856783933, + 0.031354464321863604, + 0.031513629520946405, + 0.03165693458819955, + 0.03174032754491453, + 0.031776233948255614, + 0.031824715434520805, + 0.031902499155261145, + 0.031977063327134986, + 0.03203621476646055, + 0.03209366005014879, + 0.03212724223318551, + 0.03212889010987867, + 0.032106043612677, + 0.03212718120396166, + 0.032165513792192284, + 0.03219524458660157, + 0.03218453066661134, + 0.03217853548653151, + 0.032150806986555404, + 0.03215559863374524, + 0.03213541239847279, + 0.03205059549572152, + 0.03189950604221382, + 0.03172276656446737, + 0.03149912658967439, + 0.031156688988511757, + 0.030626363482678682, + 0.02982981878098335, + 0.028649755255653688, + 0.02696478964873996, + 0.02471744247488221, + 0.021943776773234187, + 0.018826388572195988, + 0.015727987603074225, + 0.012968622487547064, + 0.010757410431172133, + 0.009141836848566008, + 0.008060713149751706, + 0.007435234406837655, + 0.00719921320122326, + 0.007316077173361423, + 0.0077824708204844665, + 0.008619828485984131, + 0.00985867566768248, + 0.011529853746296418, + 0.013605651194916482, + 0.016054858345627643, + 0.01877527540088261, + 0.02161168045110953, + 0.024331540254700388, + 0.0266992177454304, + 0.02855201017723019, + 0.02991199863165021, + 0.030826939375198963, + 0.03142096365021309, + 0.03180335649254633, + 0.032058330743273175, + 0.03223691297715781, + 0.03239144139591217, + 0.03255671910179899, + 0.03267500693027644, + 0.03272993304225105, + 0.03278297567307466, + 0.032851164776830345, + 0.032923578311587764, + 0.03297072462167695, + 0.033006885269205546, + 0.033011336880186634, + 0.033033773222461316, + 0.033078386908759985, + 0.03312144515148244, + 0.03313137665632238, + 0.033130882556642906, + 0.033178612284644964, + 0.033216409066240855, + 0.03324086796726837, + 0.033294790170070865, + 0.03334362559650873, + 0.033336779632802516, + 0.033317399757323285, + 0.03332679452972928, + 0.03334000191027385, + 0.03334693403764417, + 0.033368079020067255, + 0.03339602689655142, + 0.03341175259009144, + 0.033394937777176205, + 0.03339673103301899, + 0.03344894313147585, + 0.03348429819986004, + 0.033466094361864915, + 0.033419123583025095, + 0.033407764962997334, + 0.03341661652678489, + 0.03343354699280904, + 0.03344262767731329, + 0.03342642323920867, + 0.03341456557871714, + 0.033425656050096154, + 0.033445501339955816, + 0.03347353850790026, + 0.033488928727055604, + 0.03345550861098648, + 0.03340057771644395, + 0.033415915811125074, + 0.03347393602098863, + 0.03350767351594613, + 0.033504883370237694, + 0.03346029347193433, + 0.033391513470118754, + 0.03335576188008905, + 0.033347031604207024, + 0.03335290361706301, + 0.03336655002850509, + 0.03338274321632869, + 0.03336156479055801, + 0.033294635821186885, + 0.03320060807327072, + 0.033167779538725135, + 0.03318694578098684, + 0.03319230764117326, + 0.033150808966541136, + 0.033114895083446644, + 0.033089343018556844, + 0.03305129296049344, + 0.03302428912378125, + 0.03302787987277896, + 0.03298581357347908, + 0.032913558153837966, + 0.03288387042793664, + 0.03285497533345148, + 0.03279617396319526, + 0.032706011886845715, + 0.03262461887810808, + 0.03253471188187054, + 0.03243471505824927, + 0.032316277020505435, + 0.032193348725254214, + 0.032038935989653926, + 0.031823730253873354, + 0.03152555047107815, + 0.031154915315876365, + 0.030641431061806293, + 0.029877021019019498, + 0.02874910825276764, + 0.027153712069389137, + 0.024992303834049212, + 0.02227116165605743, + 0.019127633010139596, + 0.01582564646513735, + 0.012749619083340985, + 0.010131744682693082, + 0.008121794195747682, + 0.006671855978476098, + 0.005697203244874377, + 0.0051038813048541075, + 0.0048098153817948755, + 0.004775767875061667, + 0.00498202590629145, + 0.00544370751568214, + 0.0061938026248998315, + 0.0072750313986607515, + 0.008725052734274109, + 0.010573802555502337, + 0.012843874877266289, + 0.015541913851894355, + 0.018550727263180376, + 0.021603626558490303, + 0.02440013526259065, + 0.026674438028006207, + 0.028354995141736578, + 0.029529087295454434, + 0.03035004949434723, + 0.030924793404321405, + 0.03132249803804238, + 0.03158791878748779, + 0.03174930182335272, + 0.031868780529583356, + 0.031976663515280015, + 0.032100732113044914, + 0.03223733716328797, + 0.03231763756175812, + 0.032330888409385625, + 0.032333679866054225, + 0.03240535972070552, + 0.03248776259038054, + 0.03250925880913807, + 0.03252860774434349, + 0.0325619136136198, + 0.03256382077327397, + 0.032554810752436325, + 0.03257032459310856, + 0.03259277107744668, + 0.032620096405385934, + 0.03264552012950911, + 0.03264947831254068, + 0.032569183455171874, + 0.032443710915278264, + 0.03230044102231418, + 0.0321438094100075, + 0.03192127229182325, + 0.03154616384031319, + 0.03089773317537785, + 0.029892171344502304, + 0.028493621912993497, + 0.026645397294863607, + 0.024332793726701617, + 0.021624835696157464, + 0.018829881576261292, + 0.01624086318244938, + 0.014098464444972461, + 0.012496013720903736, + 0.011414298579108277, + 0.010817724819668133, + 0.01065997728801531, + 0.010928299294261251, + 0.01161287601727401, + 0.012708551793078806, + 0.01422010988168099, + 0.016124011401410104, + 0.018323007024201463, + 0.02069547220230127, + 0.023114643141949293, + 0.025448037442040442, + 0.02754454827167794, + 0.02926671986859986, + 0.03054292144749381, + 0.0313918142548803, + 0.031941853894506614, + 0.032324625337426444, + 0.03256851378202089, + 0.0326924008662718, + 0.032791936063830594, + 0.032924459087361836, + 0.03303679979190687, + 0.0331153719731554, + 0.0332112981810016, + 0.03329014341567102, + 0.03328168618542901, + 0.03327374638783099, + 0.03331575261772619, + 0.03335622663284948, + 0.033376573845243104, + 0.03339523557619884, + 0.033418384420289625, + 0.03346096615246564, + 0.03348131737407228, + 0.033471595958775684, + 0.03347501747534233, + 0.03352490219335122, + 0.033579144100993115, + 0.03359314850677184, + 0.03357990974912486, + 0.03357520027588265, + 0.033584437680000814, + 0.033617812064498945, + 0.03365806221164016, + 0.03367106858156654, + 0.03369434168888158, + 0.03372178919315091, + 0.03372195403482477, + 0.03369295587105, + 0.03367935708791965, + 0.033670354991794146, + 0.03367429524985029, + 0.03371094788571965, + 0.03374050684639706, + 0.03374857106000554, + 0.03373666830581423, + 0.03369225217907363, + 0.03367921429727253, + 0.03372494749292085, + 0.03376642681199379, + 0.03377305443783133, + 0.03379140000465344, + 0.03378565126700381, + 0.03375679996497402, + 0.03372892440803836, + 0.03371726752045398, + 0.03371169571202878, + 0.033700178532115696, + 0.03369168491647927, + 0.0336816072822291, + 0.03369181915246716, + 0.03375160835598996, + 0.033791596018829625, + 0.033784858791459, + 0.033788936953672334, + 0.033762719347588614, + 0.03369983844533167, + 0.03368389456667565, + 0.03371278608056389, + 0.03371156565289602, + 0.033688779618997716, + 0.03368231485738236, + 0.03364052806892469, + 0.03358793610061211, + 0.03360569547210096, + 0.03366954196879559, + 0.033683059249876586, + 0.03364102237682888, + 0.03359018700737963, + 0.03357599154708429, + 0.03357544969430144, + 0.0335605169244446, + 0.033567771026579464, + 0.03358620616316825, + 0.033550938407885464, + 0.03349732040859616, + 0.03345792755972724, + 0.033331847786884396, + 0.033124414560115015, + 0.03293513965842783, + 0.032682594253229884, + 0.03220758005514545, + 0.03150581407646851, + 0.030555520587537306, + 0.029251912771845925, + 0.02753459286365585, + 0.02542975227856862, + 0.023167631704792278, + 0.020996672333722013, + 0.019093835292362697, + 0.01762509295154955, + 0.01662642259378002, + 0.01613463021430837, + 0.016131936476069357, + 0.016606043559950996, + 0.01752072023805466, + 0.018812046099215204, + 0.02039454208867764, + 0.022134973146112402, + 0.023927939427291767, + 0.02574473620297549, + 0.027482820092283162, + 0.02898321588495694, + 0.030183402766919384, + 0.0311349079180205, + 0.03185562890544944, + 0.03233944375500439, + 0.03263427087687236, + 0.032784256893387015, + 0.0328658313092353, + 0.03291846412731393, + 0.032966037287874915, + 0.03298954541593389, + 0.03296779721404104, + 0.032928352846273136, + 0.032912353582814226, + 0.032918741087704546, + 0.032940999955327885, + 0.03294032939198476, + 0.03291211391882204, + 0.03290455389867952, + 0.03289821111961142, + 0.03286234780053534, + 0.03282930462271986, + 0.032772860624891424, + 0.03269741445654194, + 0.03265168449617323, + 0.03261419350183245, + 0.03253202690955983, + 0.03237513981897418, + 0.03216052191164358, + 0.03190907743651588, + 0.031546403004985506, + 0.031023241276873174, + 0.030330974447810907, + 0.02934166716195505, + 0.027918075426643006, + 0.025956131302315697, + 0.023459837387343894, + 0.020553527031466474, + 0.01747363630194868, + 0.014556427758096674, + 0.012044020143814818, + 0.010095351749514632, + 0.008686058098749174, + 0.007749783775640354, + 0.00721823405930173, + 0.0070219018708071205, + 0.007150242707403789, + 0.007577898474476164, + 0.008329481740271441, + 0.009434513655255015, + 0.010900389903167895, + 0.012721905638036976, + 0.0148841485385152, + 0.017340404596651898, + 0.02000365667430051, + 0.02269826214698697, + 0.02516537867345899, + 0.0272308684098284, + 0.028784508298506196, + 0.029915780841433832, + 0.030677712690413316, + 0.031152394011996116, + 0.03141833320579144, + 0.0315924736725871, + 0.031789352851460465, + 0.03197398405874712, + 0.032066495311169244, + 0.03210097976049048, + 0.03214572703428616, + 0.032205255430745476, + 0.032212709264520877, + 0.032193115464728056, + 0.03221446093122261, + 0.032250928919368003, + 0.03224945099942678, + 0.03220983179853422, + 0.032170943481298515, + 0.03215109681105086, + 0.03212374622309108, + 0.0320620144799114, + 0.03194850098199862, + 0.03182301555314923, + 0.03170220553355525, + 0.0314820696112533, + 0.031134819168655764, + 0.030672141873632798, + 0.02998350669225684, + 0.028892083641383008, + 0.027348552684387347, + 0.025280517460591772, + 0.022735646076595423, + 0.01980331006513901, + 0.016802115390839995, + 0.014039970727209467, + 0.011710020120343256, + 0.009934057418839752, + 0.00866345664728881, + 0.007834678434305218, + 0.007383251546307666, + 0.007266379512215889, + 0.007478358052180762, + 0.008000976681723844, + 0.008856180312782515, + 0.010059560561936114, + 0.01160854394218968, + 0.013483916351820429, + 0.01564825335767628, + 0.01808761228600292, + 0.02068819271814192, + 0.02329769618148996, + 0.025710487304083613, + 0.02770575947383746, + 0.029145453316398232, + 0.030116730131722783, + 0.030783195736403385, + 0.03126224796508995, + 0.03156641266452029, + 0.031766657382245135, + 0.03190676074883224, + 0.03198561584365625, + 0.03206172037723988, + 0.032177632946133176, + 0.03228823516768743, + 0.03233356620447665, + 0.032330067015355936, + 0.03233596523153494, + 0.03235751059820673, + 0.03237979859464876, + 0.032381770480317325, + 0.0323462134629959, + 0.03229585677731715, + 0.03224153998417589, + 0.03219974889394125, + 0.03215122890966328, + 0.032034224063599195, + 0.031901268455835574, + 0.0317873850000003, + 0.03160565654734027, + 0.03122396330555411, + 0.030577186622154254, + 0.029624305708586894, + 0.028278946939757403, + 0.026485312969300383, + 0.024202979892186026, + 0.021531677794290934, + 0.01863480888522906, + 0.015889970874286632, + 0.013504713956244859, + 0.011627310767451122, + 0.010265762251174392, + 0.009366471188839811, + 0.008889069737475672, + 0.00878144811889472, + 0.009037384012699995, + 0.00963366113153036, + 0.010584386156961459, + 0.011902283084041804, + 0.013555293262800411, + 0.01550541107758183, + 0.017702813106553854, + 0.020082170630882638, + 0.02254972666163849, + 0.024932379537423627, + 0.027029298202724473, + 0.028758601585790963, + 0.03001613225125458, + 0.030821571525789127, + 0.03134972286282439, + 0.031761698089638246, + 0.03207556669915898, + 0.03228334030061077, + 0.03238353858201203, + 0.03242918594571157, + 0.032509002806453656, + 0.03259035000213834, + 0.032619436813746586, + 0.03259592610608597, + 0.032562469761176174, + 0.03258953562920253, + 0.032664494383422525, + 0.032716745129162034, + 0.03274584743421076, + 0.032751669198945677, + 0.03273743755595167, + 0.03272582050809263, + 0.032732916450986374, + 0.03272633528439106, + 0.032644221273984364, + 0.03250281562162112, + 0.032359026399965726, + 0.032160289126573906, + 0.03183056982456055, + 0.031281825869427037, + 0.03048546200341808, + 0.02939120414309421, + 0.02793734941967527, + 0.025999792512642148, + 0.023668136866447528, + 0.021151357300310158, + 0.018725143882970134, + 0.016624681751979054, + 0.014968785527768117, + 0.013814929149898916, + 0.013137150074740391, + 0.012893922910529227, + 0.013096388930937512, + 0.013700321153539616, + 0.014695361518652238, + 0.01606494418414874, + 0.01776741176734521, + 0.019689868645327815, + 0.021726862185551074, + 0.023805022279976717, + 0.025785923052414936, + 0.02763476035902924, + 0.029218705259052628, + 0.03044416280352387, + 0.031301323658975054, + 0.03189372909796654, + 0.03229251889691454, + 0.032603545677879174, + 0.03280987770765911, + 0.03287418773565965, + 0.03284600721425842, + 0.032846044254025326, + 0.03290681121307526, + 0.03301316608798376, + 0.03314054529739248, + 0.033184525947595606, + 0.033142608836263236, + 0.03309638439448612, + 0.033084033158999264, + 0.03313142481089284, + 0.03318471918521326, + 0.0331683020179986, + 0.0331262332980539, + 0.03311213232171127, + 0.03311418604914086, + 0.033105736446796104, + 0.033076780010593894, + 0.033048372060948815, + 0.032992275301447625, + 0.03286748165008439, + 0.032637612737115226, + 0.03223168094491705, + 0.03160445054860265, + 0.03075536506568119, + 0.02962456014177623, + 0.02811738760483392, + 0.026335702244538343, + 0.024359621852702455, + 0.02242217364662427, + 0.020706334798489143, + 0.019330074981613335, + 0.018380452595086225, + 0.017884911863879707, + 0.017862916642561566, + 0.018255744353838758, + 0.01907132767051441, + 0.02024567685244846, + 0.02166613454006368, + 0.023197613055665898, + 0.02477122356108639, + 0.026390437412761834, + 0.027947553560262926, + 0.029283834941961042, + 0.03035482200539325, + 0.031248014546423772, + 0.03196821714544176, + 0.032478452565475505, + 0.03277981302511893, + 0.03296699288995789, + 0.033072327422904634, + 0.03313749131250728, + 0.03317968523953079, + 0.03315707338840793, + 0.033117231555891746, + 0.03313848829918489, + 0.03320218287025794, + 0.03326188916121023, + 0.033253669848131974, + 0.03318824826795854, + 0.033148321046213534, + 0.033148161764961576, + 0.03316722560277419, + 0.033163908668945585, + 0.03310289578991359, + 0.03302105686931802, + 0.032955185453375176, + 0.032864232635199477, + 0.032672940122771554, + 0.032345983968783285, + 0.031932196704641244, + 0.031448463737675784, + 0.03074078725657026, + 0.029612961092773216, + 0.0280682278590524, + 0.026039053016983633, + 0.0235675179217028, + 0.020704854722284, + 0.01785179706982756, + 0.015240527953506347, + 0.013085569553528019, + 0.011443624312602879, + 0.010291887192524059, + 0.009611756097582438, + 0.009307558599372634, + 0.009367548269081165, + 0.009770578655126124, + 0.010528438922290509, + 0.011636598145221857, + 0.013090312188245945, + 0.014849447009004245, + 0.016874654846992652, + 0.019101692041323556, + 0.02146067048713276, + 0.023854266071195722, + 0.026155646571107322, + 0.028174042724283248, + 0.02970361874614886, + 0.03076787288722045, + 0.03151691251984055, + 0.032066006967222685, + 0.03250082695204075, + 0.032802023899289545, + 0.032956650044225023, + 0.03299506585665062, + 0.033045666210332315, + 0.03318460786326743, + 0.03331522971672129, + 0.03337960405395434, + 0.03339998193314576, + 0.033396146023292994, + 0.0334360182077731, + 0.03348294671235983, + 0.033527487701563614, + 0.03358737664860906, + 0.03357832042302863, + 0.03357896774878643, + 0.03364826381766806, + 0.0336594257119857, + 0.03363579078893292, + 0.033653164461573314, + 0.03367100587095008, + 0.0336341530148419, + 0.033565606930384115, + 0.03357349529921886, + 0.03367666374106131, + 0.03377313710925606, + 0.03378592123969008, + 0.03375295554351389, + 0.03377135976281309, + 0.03381192413857105, + 0.03383417840048374, + 0.03388201524990545, + 0.03393285115609274, + 0.033901397890797234, + 0.033823482924330565, + 0.033778159069456457, + 0.03377020252150605, + 0.03382656427407228, + 0.03390722336750735, + 0.033920120202769716, + 0.033865686375896535, + 0.033818410395125856, + 0.03382096937774314, + 0.03381831005075701, + 0.03380498045224014, + 0.03384288383343369, + 0.03385696046394203, + 0.033817712359679564, + 0.03384191391473476, + 0.03389669205194568, + 0.03389461681300688, + 0.03386223702558359, + 0.03380590247931316, + 0.033749787650848365, + 0.03377133148341473, + 0.03383582916200228, + 0.03385343638323639, + 0.03380257862261301, + 0.03372688484723101, + 0.033691494389816876, + 0.03372584563398547, + 0.03378220949341119, + 0.033772460520809934, + 0.03371510361892303, + 0.03371878111566122, + 0.033768540757300854, + 0.03367522746553525, + 0.033493708175028336, + 0.03339341270400352, + 0.03325335347734782, + 0.03292832802917405, + 0.03249294921569844, + 0.03194587879896101, + 0.03113570298698173, + 0.029909855348909328, + 0.02837750666045014, + 0.026497349294708622, + 0.02443274470958155, + 0.022330382742065096, + 0.020382260690532433, + 0.018816338712472153, + 0.01766232513207295, + 0.01695442308756974, + 0.016667013175538915, + 0.01681875428658684, + 0.017402961910507227, + 0.018348072904305, + 0.019603815140055506, + 0.021099980054569024, + 0.022768275748499774, + 0.024491174053317147, + 0.02613524418593406, + 0.027697437112224364, + 0.029100422790032335, + 0.030315460313477014, + 0.03126575474086876, + 0.03194847372621207, + 0.032410856667664835, + 0.03269809759822829, + 0.03286947216927055, + 0.03297649803086238, + 0.03303336111903939, + 0.033062026803493495, + 0.033009206524375244, + 0.0329734265079839, + 0.03303851523291269, + 0.033089733547389616, + 0.03309519147360486, + 0.03309737890914527, + 0.03304335023752933, + 0.03290583431348059, + 0.032758350618345984, + 0.03273037030239297, + 0.03276006182751842, + 0.03268018629690857, + 0.03246745686863129, + 0.032149421027367675, + 0.031729084665459886, + 0.03121980963995465, + 0.030443353163289503, + 0.029336899277846995, + 0.027790281246415485, + 0.02578536504659915, + 0.023146447210544253, + 0.02025257779149527, + 0.017217077340960382, + 0.014448086448657884, + 0.012125569658100603, + 0.010329683441447777, + 0.009059238651277092, + 0.008215493744768243, + 0.007757671259210576, + 0.007608084286094895, + 0.007764707192602676, + 0.008219029305248973, + 0.008962395165098518, + 0.010012514114855162, + 0.011368845536375889, + 0.013015163272915575, + 0.014930664088308171, + 0.017070430830027426, + 0.019431899510725967, + 0.021946201734204022, + 0.024409961913442146, + 0.026639575618747902, + 0.028503858411467478, + 0.029808042727165737, + 0.03073421337312987, + 0.03142172631667268, + 0.03191722638250776, + 0.032247618170112756, + 0.03247686520150922, + 0.03260749571624224, + 0.032597186667215464, + 0.032553664637423166, + 0.03269785084823646, + 0.032951212862416646, + 0.03304662643454037, + 0.032998272255760776, + 0.03299942704432605, + 0.03302685624251477, + 0.033030276913834304, + 0.032989373126529754, + 0.03290291841696878, + 0.03280828857837425, + 0.03272420070262208, + 0.03259575385048098, + 0.03237350856469632, + 0.0320213873316388, + 0.03142443831951228, + 0.030394575021012338, + 0.029076721153352345, + 0.02744895806228852, + 0.025527861355075024, + 0.02327936346200963, + 0.0210080370102527, + 0.018964677795662948, + 0.017297861139635436, + 0.016071044532065946, + 0.01526696929134482, + 0.014919751357207685, + 0.014948605046249073, + 0.015383811857220405, + 0.016203330835764865, + 0.017418788149530844, + 0.01892500890141906, + 0.020592052943093152, + 0.0223311455437079, + 0.024081758038888866, + 0.025834888077628442, + 0.02750992777993317, + 0.02905152871723178, + 0.03039673194315687, + 0.031450703028982584, + 0.032121758403558014, + 0.03254548650873974, + 0.03289100000589705, + 0.033194795863794514, + 0.03337088890740394, + 0.033397199055556805, + 0.03342164592911147, + 0.03351058192908019, + 0.03355694903963356, + 0.03355704139553892, + 0.03365771001001152, + 0.03378273844905781, + 0.03373326906085922, + 0.03361667825505762, + 0.03361162230980662, + 0.03362269521666293, + 0.033551947545388164, + 0.03347981860841075, + 0.033450612004533774, + 0.03338986324745282, + 0.03329905541698097, + 0.033220266942961534, + 0.03305677781282702, + 0.03265456213297033, + 0.032053025219454835, + 0.03128684740172688, + 0.030280967372853695, + 0.028900983394591077, + 0.027340181172086784, + 0.025606554177587837, + 0.023959849995018722, + 0.022577709059815633, + 0.021481057559243684, + 0.02074829983123169, + 0.02038090897591421, + 0.020533383588990192, + 0.02104806930228409, + 0.021918473452705554, + 0.02307859985977328, + 0.024424927245313876, + 0.02579781939223611, + 0.027097544192025563, + 0.02836582899260751, + 0.029544855673767738, + 0.03059948345629047, + 0.03149572998716833, + 0.03223628662926525, + 0.03277323962168452, + 0.03328957693014439, + 0.03362170553612041, + 0.033682014080213596, + 0.03371837776612146, + 0.033780899147887435, + 0.03381486598222728, + 0.033857878769229216, + 0.033839993901819944, + 0.03382483585579181, + 0.033831233195710256, + 0.03382219992158077, + 0.03383043203153846, + 0.03379240405683132, + 0.033697484020001965, + 0.033675357244433324, + 0.03371748869637603, + 0.0337030706302162, + 0.03366379138476154, + 0.03366247291868153, + 0.03368200975252375, + 0.0336139669068916, + 0.03337268595418245, + 0.033147048934711786, + 0.03285090130261849, + 0.032269210775393395, + 0.0314357433722157, + 0.030319127834683594, + 0.028877891697110414, + 0.027288619224639876, + 0.025829860534281927, + 0.024444626176089446, + 0.023313982092602072, + 0.022556216946297593, + 0.02211925076168242, + 0.02211337694642662, + 0.02246662924285341, + 0.023236305024723326, + 0.024201181181306868, + 0.025328497796809884, + 0.026531109817221114, + 0.027637335874852665, + 0.02870576156381924, + 0.029799981447765456, + 0.03088112831847201, + 0.03170085606363341, + 0.032251867320052086, + 0.03261178344260055, + 0.033069263053243994, + 0.03340067134146614, + 0.0335477589481721, + 0.03364516736399257, + 0.03367157892492402, + 0.03363394371923848, + 0.033729861820846904, + 0.03381289888105958, + 0.03386361055711081, + 0.03396437604108572, + 0.033962670912000524, + 0.03381495322039495, + 0.03359685757419497, + 0.03342920672646995, + 0.033358476304155074, + 0.03336192780486663, + 0.03335775892318206, + 0.0330820457930859, + 0.03272658859295918, + 0.03242962323065697, + 0.03204279347925535, + 0.031412768734957935, + 0.030494270924213335, + 0.028873130225148383, + 0.02692439080053186, + 0.024298146142952937, + 0.02150523167854246, + 0.018605822424919014, + 0.016061231484434862, + 0.013946538976613968, + 0.012320514222048055, + 0.011236808503597488, + 0.010539173373792248, + 0.010332408052864672, + 0.01047077590085484, + 0.01099074886048293, + 0.011843707375344556, + 0.013012861955964043, + 0.014495050337101266, + 0.016251431990679528, + 0.018209360971906858, + 0.0202611056625966, + 0.022410457848909274, + 0.02458090081710041, + 0.026649300596148794, + 0.0283971651365175, + 0.030035030021968525, + 0.03134946605130296, + 0.03225347046488324, + 0.032713919801328435, + 0.03282568498654792, + 0.03294523713950123, + 0.03324083846180475, + 0.03341702759858392, + 0.03335452684665079, + 0.03343263876919161, + 0.03371603375899166, + 0.033759910479778395, + 0.033464163356342835, + 0.03339631620582666, + 0.03364774338358747, + 0.03373744115439129, + 0.03359064540299607, + 0.03332060558329617, + 0.0330156067331213, + 0.03296641454715477, + 0.03309986127791369, + 0.03294781061720524, + 0.03234861237133528, + 0.031393949613324035, + 0.029798213225730702, + 0.027829436839904933, + 0.02525356985177843, + 0.02256455987556714, + 0.019935026220691838, + 0.017747532975522062, + 0.015909473117048153, + 0.014616177040942287, + 0.013903087823703005, + 0.013494337704984531, + 0.013678995699223227, + 0.014180384241762392, + 0.015194606118856941, + 0.01645555492364109, + 0.018055295167957692, + 0.020005390856972262, + 0.0217084471020568, + 0.023430458523519302, + 0.025288001868354868, + 0.02721640459484472, + 0.02857322548469595, + 0.029939437920585066, + 0.031052717740622914, + 0.03200659510895311, + 0.03266374345534244, + 0.03312968086723774, + 0.03331723884704845, + 0.03335225861283109, + 0.033394237970378764, + 0.033501327304021375, + 0.03359362420323845, + 0.033659434355763386, + 0.03350316411813986, + 0.03331117408660455, + 0.03346529758147531, + 0.033730452070458945, + 0.03412478214280809, + 0.03464281959756716, + 0.034625774515995814, + 0.03445672178093869, + 0.034703696263227245, + 0.03483958340393777, + 0.03479306742716333, + 0.03481058042775965, + 0.03483784019584058, + 0.034896531379775074, + 0.03496925796377547, + 0.035059497522976095, + 0.035001098524238994, + 0.034754725653783965, + 0.034280684481217676, + 0.033836875164372046, + 0.034090139173919086, + 0.034761850677626285, + 0.035172629580194355, + 0.03525864655212242, + 0.035205962279268574, + 0.03509862316256878, + 0.03512780703933681, + 0.035482812133057845, + 0.03528922073047869, + 0.03450481268584686, + 0.034450619954508106, + 0.034929901086089614, + 0.03513475387853203, + 0.03519732840590786, + 0.03491427194651621, + 0.034314669382406904, + 0.034448806804133446, + 0.0352925820672287, + 0.03552356276357013, + 0.035045553578010334, + 0.035333465783509745, + 0.03693304575195444, + 0.03747770086520214, + 0.035685887844780335, + 0.03427730022587709, + 0.03427730022587709 + ] + }, + "fit_range": [ + 1.0, + 15.0 + ], + "instrument": { + "description": "Pair distribution function (PDF) beamline (port 28-ID-1) at NSLS-II, BNL", + "radiation": { + "setup_wavelength": [ + 0.1665, + false, + null, + null + ] + }, + "polarization": { + "setup_polarization_coefficient": 0.01, + "setup_monochromator_twotheta": 0.0 + }, + "corrections": { + "calib_twotheta_offset": [ + 0.0, + false, + null, + null + ] + }, + "broadening": { + "peak_type": "cwl-thompson-cox-hastings", + "parameters": { + "broad_gauss_u": [ + 0.010379135146427253, + true, + null, + null + ], + "broad_gauss_v": [ + 0.0003328998068853359, + true, + null, + null + ], + "broad_gauss_w": [ + 0.0006360390661515072, + true, + null, + null + ], + "broad_lorentz_x": [ + 1e-05, + true, + null, + null + ], + "broad_lorentz_y": [ + 0.0028143034323339765, + true, + null, + null + ], + "asym_fcj_1": [ + 0.001, + false, + null, + null + ], + "asym_fcj_2": [ + 0.001, + false, + null, + null + ] + } + } + }, + "background": { + "chebyshev": { + "num_coefficients": 6, + "coefficients": [ + 30.0, + 0.6, + 0.7, + -0.4, + -0.8, + 0.9 + ], + "refine_flag": true + } + }, + "phases": { + "LaB6": { + "space_group": "P m -3 m", + "unit_cell": { + "a": [ + 4.15682, + true, + null, + null + ], + "b": [ + 4.15682, + true, + null, + null + ], + "c": [ + 4.15682, + true, + null, + null + ], + "alpha": [ + 90.0, + false, + null, + null + ], + "beta": [ + 90.0, + false, + null, + null + ], + "gamma": [ + 90.0, + false, + null, + null + ] + }, + "atoms": { + "La": { + "element": "La", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.0, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.00858, + false, + null, + null + ] + }, + "B": { + "element": "B", + "x": [ + 0.2021, + false, + null, + null + ], + "y": [ + 0.5, + false, + null, + null + ], + "z": [ + 0.5, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.009, + false, + null, + null + ] + } + }, + "scale": [ + 5.4e-06, + true, + null, + null + ] + } + }, + "refinement_controls": { + "calculator": "crysfml", + "minimizer": "lmfit (leastsq)", + "max_iterations": 1000, + "chi_square_change_tolerance": 1e-08, + "parameter_change_tolerance": 1e-08, + "gradient_tolerance": 0.0 + } + } +} diff --git a/tests/data/easydiffraction/native/lab6_cryspy_pv.json b/tests/data/easydiffraction/native/lab6_cryspy_pv.json new file mode 100644 index 0000000..ac480ea --- /dev/null +++ b/tests/data/easydiffraction/native/lab6_cryspy_pv.json @@ -0,0 +1,12506 @@ +{ + "schema_name": "easydiffraction.rietveld", + "core_schema_version": "1.0.0", + "engine_schema_version": "1.0.0", + "payload": { + "xrd_data": { + "tth": [ + 0.6472655703475011, + 0.6509823116902422, + 0.6546990530329833, + 0.6584157943757244, + 0.6621325357184655, + 0.6658492770612067, + 0.6695660184039477, + 0.6732827597466888, + 0.67699950108943, + 0.6807162424321711, + 0.6844329837749121, + 0.6881497251176533, + 0.6918664664603944, + 0.6955832078031355, + 0.6992999491458766, + 0.7030166904886177, + 0.7067334318313588, + 0.7104501731741, + 0.714166914516841, + 0.7178836558595821, + 0.7216003972023233, + 0.7253171385450644, + 0.7290338798878054, + 0.7327506212305466, + 0.7364673625732877, + 0.7401841039160288, + 0.7439008452587699, + 0.747617586601511, + 0.7513343279442521, + 0.7550510692869933, + 0.7587678106297343, + 0.7624845519724754, + 0.7662012933152166, + 0.7699180346579577, + 0.7736347760006987, + 0.7773515173434399, + 0.781068258686181, + 0.7847850000289222, + 0.7885017413716632, + 0.7922184827144042, + 0.7959352240571455, + 0.7996519653998866, + 0.8033687067426276, + 0.8070854480853686, + 0.8108021894281099, + 0.814518930770851, + 0.818235672113592, + 0.8219524134563331, + 0.8256691547990743, + 0.8293858961418155, + 0.8331026374845565, + 0.8368193788272975, + 0.8405361201700388, + 0.8442528615127799, + 0.8479696028555209, + 0.851686344198262, + 0.8554030855410032, + 0.8591198268837443, + 0.8628365682264854, + 0.8665533095692264, + 0.8702700509119676, + 0.8739867922547088, + 0.8777035335974498, + 0.8814202749401908, + 0.8851370162829321, + 0.8888537576256732, + 0.8925704989684142, + 0.8962872403111553, + 0.9000039816538965, + 0.9037207229966376, + 0.9074374643393786, + 0.9111542056821197, + 0.9148709470248608, + 0.9185876883676021, + 0.9223044297103432, + 0.9260211710530841, + 0.9297379123958253, + 0.9334546537385665, + 0.9371713950813074, + 0.9408881364240486, + 0.9446048777667897, + 0.9483216191095309, + 0.9520383604522721, + 0.955755101795013, + 0.9594718431377541, + 0.9631885844804954, + 0.9669053258232363, + 0.9706220671659774, + 0.9743388085087186, + 0.9780555498514598, + 0.981772291194201, + 0.9854890325369419, + 0.989205773879683, + 0.9929225152224243, + 0.9966392565651652, + 1.0003559979079064, + 1.0040727392506474, + 1.0077894805933887, + 1.0115062219361297, + 1.0152229632788707, + 1.018939704621612, + 1.022656445964353, + 1.026373187307094, + 1.0300899286498353, + 1.0338066699925763, + 1.0375234113353176, + 1.0412401526780586, + 1.0449568940207996, + 1.0486736353635409, + 1.0523903767062819, + 1.056107118049023, + 1.0598238593917642, + 1.0635406007345052, + 1.0672573420772464, + 1.0709740834199875, + 1.0746908247627285, + 1.0784075661054697, + 1.0821243074482108, + 1.0858410487909518, + 1.089557790133693, + 1.093274531476434, + 1.0969912728191753, + 1.1007080141619163, + 1.1044247555046574, + 1.1081414968473986, + 1.1118582381901396, + 1.1155749795328807, + 1.1192917208756217, + 1.123008462218363, + 1.1267252035611042, + 1.1304419449038452, + 1.1341586862465862, + 1.1378754275893275, + 1.1415921689320685, + 1.1453089102748095, + 1.1490256516175505, + 1.1527423929602918, + 1.156459134303033, + 1.160175875645774, + 1.163892616988515, + 1.1676093583312563, + 1.1713260996739974, + 1.1750428410167384, + 1.1787595823594794, + 1.1824763237022207, + 1.186193065044962, + 1.189909806387703, + 1.193626547730444, + 1.1973432890731852, + 1.2010600304159262, + 1.2047767717586673, + 1.2084935131014083, + 1.2122102544441495, + 1.2159269957868908, + 1.2196437371296318, + 1.2233604784723728, + 1.227077219815114, + 1.230793961157855, + 1.2345107025005961, + 1.2382274438433372, + 1.2419441851860784, + 1.2456609265288197, + 1.2493776678715607, + 1.2530944092143017, + 1.2568111505570427, + 1.260527891899784, + 1.264244633242525, + 1.267961374585266, + 1.2716781159280073, + 1.2753948572707485, + 1.2791115986134896, + 1.2828283399562306, + 1.2865450812989716, + 1.2902618226417129, + 1.2939785639844539, + 1.297695305327195, + 1.3014120466699362, + 1.3051287880126774, + 1.3088455293554184, + 1.3125622706981595, + 1.3162790120409005, + 1.3199957533836417, + 1.3237124947263827, + 1.3274292360691238, + 1.331145977411865, + 1.3348627187546063, + 1.3385794600973473, + 1.3422962014400883, + 1.3460129427828293, + 1.3497296841255706, + 1.3534464254683116, + 1.3571631668110526, + 1.360879908153794, + 1.364596649496535, + 1.3683133908392762, + 1.3720301321820172, + 1.3757468735247582, + 1.3794636148674995, + 1.3831803562102405, + 1.3868970975529815, + 1.3906138388957228, + 1.3943305802384638, + 1.398047321581205, + 1.401764062923946, + 1.405480804266687, + 1.4091975456094283, + 1.4129142869521694, + 1.4166310282949104, + 1.4203477696376516, + 1.4240645109803927, + 1.427781252323134, + 1.431497993665875, + 1.435214735008616, + 1.4389314763513572, + 1.4426482176940982, + 1.4463649590368393, + 1.4500817003795805, + 1.4537984417223215, + 1.4575151830650628, + 1.4612319244078038, + 1.4649486657505448, + 1.468665407093286, + 1.472382148436027, + 1.4760988897787681, + 1.4798156311215094, + 1.4835323724642504, + 1.4872491138069917, + 1.4909658551497327, + 1.4946825964924737, + 1.498399337835215, + 1.502116079177956, + 1.505832820520697, + 1.5095495618634382, + 1.5132663032061793, + 1.5169830445489205, + 1.5206997858916615, + 1.5244165272344026, + 1.5281332685771438, + 1.5318500099198848, + 1.5355667512626259, + 1.5392834926053671, + 1.5430002339481081, + 1.5467169752908494, + 1.5504337166335904, + 1.5541504579763314, + 1.5578671993190727, + 1.5615839406618137, + 1.5653006820045547, + 1.569017423347296, + 1.572734164690037, + 1.5764509060327783, + 1.5801676473755193, + 1.5838843887182603, + 1.5876011300610016, + 1.5913178714037426, + 1.5950346127464836, + 1.5987513540892249, + 1.6024680954319659, + 1.6061848367747071, + 1.6099015781174482, + 1.6136183194601892, + 1.6173350608029304, + 1.6210518021456712, + 1.6247685434884125, + 1.6284852848311537, + 1.6322020261738948, + 1.635918767516636, + 1.639635508859377, + 1.643352250202118, + 1.6470689915448593, + 1.6507857328876, + 1.6545024742303414, + 1.6582192155730826, + 1.6619359569158236, + 1.6656526982585649, + 1.669369439601306, + 1.673086180944047, + 1.6768029222867882, + 1.680519663629529, + 1.6842364049722702, + 1.6879531463150115, + 1.6916698876577525, + 1.6953866290004938, + 1.6991033703432348, + 1.7028201116859758, + 1.706536853028717, + 1.7102535943714579, + 1.713970335714199, + 1.7176870770569403, + 1.7214038183996814, + 1.7251205597424226, + 1.7288373010851636, + 1.7325540424279047, + 1.736270783770646, + 1.7399875251133867, + 1.743704266456128, + 1.7474210077988692, + 1.7511377491416102, + 1.7548544904843515, + 1.7585712318270923, + 1.7622879731698335, + 1.7660047145125748, + 1.7697214558553156, + 1.7734381971980568, + 1.777154938540798, + 1.7808716798835391, + 1.7845884212262804, + 1.7883051625690212, + 1.7920219039117622, + 1.7957386452545034, + 1.7994553865972445, + 1.8031721279399857, + 1.806888869282727, + 1.810605610625468, + 1.8143223519682092, + 1.8180390933109503, + 1.8217558346536915, + 1.8254725759964328, + 1.8291893173391733, + 1.8329060586819146, + 1.8366228000246558, + 1.8403395413673969, + 1.844056282710138, + 1.847773024052879, + 1.85148976539562, + 1.8552065067383612, + 1.8589232480811022, + 1.8626399894238435, + 1.8663567307665847, + 1.8700734721093257, + 1.873790213452067, + 1.877506954794808, + 1.8812236961375493, + 1.8849404374802903, + 1.888657178823031, + 1.8923739201657723, + 1.8960906615085134, + 1.8998074028512546, + 1.9035241441939958, + 1.9072408855367364, + 1.9109576268794777, + 1.914674368222219, + 1.91839110956496, + 1.9221078509077012, + 1.9258245922504422, + 1.9295413335931835, + 1.9332580749359247, + 1.9369748162786657, + 1.940691557621407, + 1.944408298964148, + 1.9481250403068888, + 1.95184178164963, + 1.955558522992371, + 1.9592752643351123, + 1.9629920056778536, + 1.9667087470205942, + 1.9704254883633354, + 1.9741422297060767, + 1.9778589710488177, + 1.981575712391559, + 1.9852924537343, + 1.9890091950770412, + 1.9927259364197825, + 1.9964426777625235, + 2.0001594191052647, + 2.003876160448006, + 2.007592901790747, + 2.0113096431334876, + 2.015026384476229, + 2.01874312581897, + 2.0224598671617113, + 2.026176608504452, + 2.029893349847193, + 2.033610091189934, + 2.0373268325326754, + 2.0410435738754167, + 2.044760315218158, + 2.0484770565608987, + 2.05219379790364, + 2.0559105392463812, + 2.0596272805891225, + 2.0633440219318637, + 2.0670607632746045, + 2.0707775046173453, + 2.0744942459600866, + 2.078210987302828, + 2.081927728645569, + 2.08564446998831, + 2.0893612113310507, + 2.093077952673792, + 2.096794694016533, + 2.1005114353592744, + 2.1042281767020157, + 2.1079449180447565, + 2.1116616593874977, + 2.115378400730239, + 2.11909514207298, + 2.1228118834157215, + 2.1265286247584623, + 2.130245366101203, + 2.1339621074439443, + 2.1376788487866856, + 2.141395590129427, + 2.1451123314721676, + 2.1488290728149084, + 2.1525458141576497, + 2.156262555500391, + 2.159979296843132, + 2.1636960381858734, + 2.167412779528614, + 2.1711295208713555, + 2.1748462622140967, + 2.178563003556838, + 2.182279744899579, + 2.18599648624232, + 2.189713227585061, + 2.193429968927802, + 2.1971467102705433, + 2.2008634516132846, + 2.2045801929560254, + 2.208296934298766, + 2.2120136756415074, + 2.2157304169842487, + 2.21944715832699, + 2.223163899669731, + 2.226880641012472, + 2.230597382355213, + 2.2343141236979545, + 2.2380308650406957, + 2.241747606383437, + 2.2454643477261778, + 2.2491810890689186, + 2.25289783041166, + 2.256614571754401, + 2.2603313130971423, + 2.264048054439883, + 2.267764795782624, + 2.271481537125365, + 2.2751982784681064, + 2.2789150198108477, + 2.282631761153589, + 2.2863485024963297, + 2.290065243839071, + 2.293781985181812, + 2.2974987265245534, + 2.3012154678672947, + 2.304932209210035, + 2.3086489505527763, + 2.3123656918955175, + 2.316082433238259, + 2.319799174581, + 2.323515915923741, + 2.3272326572664817, + 2.330949398609223, + 2.334666139951964, + 2.3383828812947054, + 2.3420996226374466, + 2.3458163639801874, + 2.3495331053229287, + 2.35324984666567, + 2.356966588008411, + 2.3606833293511524, + 2.364400070693893, + 2.368116812036634, + 2.3718335533793753, + 2.3755502947221165, + 2.379267036064858, + 2.3829837774075986, + 2.3867005187503394, + 2.3904172600930806, + 2.394134001435822, + 2.397850742778563, + 2.4015674841213044, + 2.405284225464045, + 2.4090009668067864, + 2.4127177081495277, + 2.416434449492269, + 2.42015119083501, + 2.4238679321777505, + 2.427584673520492, + 2.431301414863233, + 2.4350181562059743, + 2.4387348975487155, + 2.4424516388914563, + 2.4461683802341976, + 2.4498851215769384, + 2.4536018629196796, + 2.457318604262421, + 2.461035345605162, + 2.464752086947903, + 2.468468828290644, + 2.4721855696333854, + 2.4759023109761262, + 2.4796190523188675, + 2.4833357936616083, + 2.4870525350043495, + 2.4907692763470908, + 2.494486017689832, + 2.4982027590325733, + 2.501919500375314, + 2.5056362417180553, + 2.509352983060796, + 2.5130697244035374, + 2.5167864657462786, + 2.5205032070890194, + 2.5242199484317607, + 2.527936689774502, + 2.531653431117243, + 2.535370172459984, + 2.539086913802725, + 2.542803655145466, + 2.5465203964882073, + 2.5502371378309485, + 2.5539538791736898, + 2.557670620516431, + 2.561387361859172, + 2.565104103201913, + 2.568820844544654, + 2.572537585887395, + 2.5762543272301364, + 2.579971068572877, + 2.5836878099156184, + 2.5874045512583597, + 2.591121292601101, + 2.5948380339438417, + 2.598554775286583, + 2.6022715166293238, + 2.605988257972065, + 2.6097049993148063, + 2.6134217406575475, + 2.6171384820002888, + 2.6208552233430296, + 2.624571964685771, + 2.6282887060285116, + 2.632005447371253, + 2.635722188713994, + 2.639438930056735, + 2.643155671399476, + 2.6468724127422174, + 2.6505891540849587, + 2.6543058954276995, + 2.6580226367704407, + 2.6617393781131815, + 2.6654561194559228, + 2.669172860798664, + 2.6728896021414053, + 2.6766063434841465, + 2.6803230848268873, + 2.6840398261696286, + 2.6877565675123694, + 2.6914733088551106, + 2.695190050197852, + 2.6989067915405927, + 2.702623532883334, + 2.706340274226075, + 2.7100570155688164, + 2.713773756911557, + 2.7174904982542984, + 2.7212072395970393, + 2.7249239809397805, + 2.7286407222825217, + 2.732357463625263, + 2.7360742049680042, + 2.739790946310745, + 2.7435076876534863, + 2.747224428996227, + 2.7509411703389683, + 2.7546579116817096, + 2.7583746530244504, + 2.7620913943671916, + 2.765808135709933, + 2.769524877052674, + 2.773241618395415, + 2.7769583597381557, + 2.780675101080897, + 2.7843918424236382, + 2.7881085837663795, + 2.7918253251091207, + 2.7955420664518615, + 2.799258807794603, + 2.802975549137344, + 2.806692290480085, + 2.810409031822826, + 2.8141257731655673, + 2.817842514508308, + 2.8215592558510494, + 2.8252759971937906, + 2.828992738536532, + 2.8327094798792727, + 2.8364262212220135, + 2.8401429625647547, + 2.843859703907496, + 2.8475764452502372, + 2.8512931865929785, + 2.8550099279357193, + 2.8587266692784605, + 2.862443410621202, + 2.8661601519639426, + 2.869876893306684, + 2.873593634649425, + 2.877310375992166, + 2.881027117334907, + 2.8847438586776484, + 2.8884606000203896, + 2.8921773413631304, + 2.8958940827058712, + 2.8996108240486125, + 2.9033275653913537, + 2.907044306734095, + 2.910761048076836, + 2.914477789419577, + 2.9181945307623183, + 2.9219112721050595, + 2.9256280134478003, + 2.9293447547905416, + 2.933061496133283, + 2.9367782374760236, + 2.940494978818765, + 2.944211720161506, + 2.9479284615042474, + 2.951645202846988, + 2.955361944189729, + 2.95907868553247, + 2.9627954268752115, + 2.9665121682179527, + 2.970228909560694, + 2.9739456509034348, + 2.977662392246176, + 2.9813791335889173, + 2.985095874931658, + 2.9888126162743993, + 2.9925293576171406, + 2.9962460989598814, + 2.9999628403026226, + 3.003679581645364, + 3.007396322988105, + 3.011113064330846, + 3.0148298056735867, + 3.018546547016328, + 3.022263288359069, + 3.0259800297018105, + 3.0296967710445517, + 3.0334135123872925, + 3.0371302537300338, + 3.040846995072775, + 3.044563736415516, + 3.048280477758257, + 3.051997219100998, + 3.055713960443739, + 3.0594307017864804, + 3.0631474431292216, + 3.066864184471963, + 3.0705809258147037, + 3.0742976671574445, + 3.0780144085001857, + 3.081731149842927, + 3.085447891185668, + 3.0891646325284094, + 3.0928813738711503, + 3.0965981152138915, + 3.1003148565566327, + 3.1040315978993736, + 3.107748339242115, + 3.1114650805848556, + 3.115181821927597, + 3.118898563270338, + 3.1226153046130793, + 3.1263320459558206, + 3.1300487872985614, + 3.133765528641302, + 3.1374822699840434, + 3.1411990113267847, + 3.144915752669526, + 3.148632494012267, + 3.152349235355008, + 3.1560659766977492, + 3.1597827180404905, + 3.1634994593832313, + 3.1672162007259725, + 3.1709329420687133, + 3.1746496834114546, + 3.178366424754196, + 3.182083166096937, + 3.1857999074396783, + 3.189516648782419, + 3.19323339012516, + 3.196950131467901, + 3.2006668728106424, + 3.2043836141533837, + 3.208100355496125, + 3.2118170968388657, + 3.215533838181607, + 3.2192505795243482, + 3.222967320867089, + 3.2266840622098303, + 3.230400803552571, + 3.2341175448953123, + 3.2378342862380536, + 3.241551027580795, + 3.245267768923536, + 3.248984510266277, + 3.2527012516090177, + 3.256417992951759, + 3.2601347342945, + 3.2638514756372414, + 3.2675682169799827, + 3.2712849583227235, + 3.2750016996654647, + 3.278718441008206, + 3.282435182350947, + 3.286151923693688, + 3.289868665036429, + 3.29358540637917, + 3.2973021477219113, + 3.3010188890646526, + 3.304735630407394, + 3.308452371750134, + 3.3121691130928754, + 3.3158858544356167, + 3.319602595778358, + 3.323319337121099, + 3.32703607846384, + 3.330752819806581, + 3.3344695611493225, + 3.3381863024920637, + 3.3419030438348045, + 3.3456197851775458, + 3.3493365265202866, + 3.353053267863028, + 3.356770009205769, + 3.3604867505485103, + 3.3642034918912516, + 3.367920233233992, + 3.371636974576733, + 3.3753537159194744, + 3.3790704572622157, + 3.382787198604957, + 3.3865039399476977, + 3.390220681290439, + 3.39393742263318, + 3.3976541639759215, + 3.4013709053186623, + 3.4050876466614035, + 3.4088043880041443, + 3.4125211293468856, + 3.416237870689627, + 3.419954612032368, + 3.4236713533751093, + 3.4273880947178497, + 3.431104836060591, + 3.434821577403332, + 3.4385383187460734, + 3.4422550600888147, + 3.4459718014315555, + 3.4496885427742967, + 3.453405284117038, + 3.457122025459779, + 3.46083876680252, + 3.4645555081452613, + 3.468272249488002, + 3.4719889908307433, + 3.4757057321734846, + 3.479422473516226, + 3.483139214858967, + 3.4868559562017074, + 3.4905726975444487, + 3.49428943888719, + 3.498006180229931, + 3.5017229215726724, + 3.505439662915413, + 3.5091564042581544, + 3.5128731456008957, + 3.516589886943637, + 3.5203066282863777, + 3.524023369629119, + 3.52774011097186, + 3.531456852314601, + 3.5351735936573423, + 3.5388903350000835, + 3.5426070763428243, + 3.546323817685565, + 3.5500405590283064, + 3.5537573003710476, + 3.557474041713789, + 3.56119078305653, + 3.564907524399271, + 3.568624265742012, + 3.5723410070847534, + 3.5760577484274947, + 3.5797744897702355, + 3.5834912311129763, + 3.5872079724557175, + 3.590924713798459, + 3.5946414551412, + 3.5983581964839413, + 3.602074937826682, + 3.6057916791694233, + 3.6095084205121637, + 3.613225161854906, + 3.616941903197646, + 3.620658644540388, + 3.6243753858831282, + 3.6280921272258704, + 3.6318088685686107, + 3.635525609911353, + 3.6392423512540932, + 3.642959092596834, + 3.6466758339395753, + 3.6503925752823165, + 3.654109316625058, + 3.657826057967799, + 3.66154279931054, + 3.66525954065328, + 3.6689762819960223, + 3.6726930233387627, + 3.676409764681505, + 3.680126506024245, + 3.683843247366987, + 3.6875599887097272, + 3.6912767300524694, + 3.6949934713952097, + 3.698710212737951, + 3.702426954080692, + 3.706143695423433, + 3.7098604367661743, + 3.7135771781089155, + 3.7172939194516568, + 3.7210106607943976, + 3.724727402137139, + 3.728444143479879, + 3.7321608848226213, + 3.7358776261653617, + 3.7395943675081034, + 3.7433111088508437, + 3.747027850193586, + 3.7507445915363262, + 3.7544613328790684, + 3.7581780742218087, + 3.7618948155645495, + 3.7656115569072908, + 3.769328298250032, + 3.7730450395927733, + 3.7767617809355145, + 3.7804785222782553, + 3.7841952636209957, + 3.787912004963738, + 3.791628746306478, + 3.7953454876492203, + 3.7990622289919607, + 3.8027789703347024, + 3.8064957116774427, + 3.810212453020185, + 3.813929194362925, + 3.8176459357056665, + 3.8213626770484073, + 3.8250794183911485, + 3.8287961597338898, + 3.832512901076631, + 3.8362296424193723, + 3.839946383762113, + 3.8436631251048543, + 3.8473798664475947, + 3.851096607790337, + 3.854813349133077, + 3.858530090475819, + 3.862246831818559, + 3.8659635731613013, + 3.8696803145040417, + 3.873397055846784, + 3.877113797189524, + 3.880830538532265, + 3.8845472798750063, + 3.8882640212177475, + 3.8919807625604887, + 3.89569750390323, + 3.899414245245971, + 3.903130986588711, + 3.9068477279314533, + 3.9105644692741937, + 3.914281210616936, + 3.917997951959676, + 3.921714693302418, + 3.925431434645158, + 3.9291481759879003, + 3.9328649173306407, + 3.936581658673382, + 3.9402984000161227, + 3.944015141358864, + 3.9477318827016052, + 3.9514486240443465, + 3.9551653653870877, + 3.9588821067298285, + 3.96259884807257, + 3.96631558941531, + 3.9700323307580523, + 3.9737490721007926, + 3.9774658134435343, + 3.9811825547862747, + 3.984899296129017, + 3.988616037471757, + 3.9923327788144993, + 3.9960495201572397, + 3.9997662614999805, + 4.003483002842722, + 4.0071997441854625, + 4.010916485528204, + 4.014633226870945, + 4.018349968213687, + 4.022066709556427, + 4.025783450899168, + 4.029500192241909, + 4.033216933584651, + 4.036933674927392, + 4.040650416270133, + 4.044367157612874, + 4.048083898955616, + 4.051800640298356, + 4.055517381641097, + 4.059234122983838, + 4.06295086432658, + 4.066667605669321, + 4.0703843470120615, + 4.074101088354803, + 4.077817829697544, + 4.081534571040286, + 4.085251312383026, + 4.088968053725767, + 4.092684795068508, + 4.09640153641125, + 4.100118277753991, + 4.103835019096732, + 4.107551760439472, + 4.111268501782215, + 4.114985243124955, + 4.118701984467696, + 4.122418725810437, + 4.126135467153178, + 4.12985220849592, + 4.1335689498386605, + 4.137285691181402, + 4.141002432524142, + 4.144719173866884, + 4.148435915209625, + 4.152152656552366, + 4.155869397895107, + 4.159586139237849, + 4.16330288058059, + 4.167019621923331, + 4.170736363266071, + 4.174453104608813, + 4.178169845951554, + 4.181886587294295, + 4.185603328637036, + 4.189320069979777, + 4.193036811322519, + 4.1967535526652595, + 4.200470294008001, + 4.204187035350741, + 4.207903776693483, + 4.211620518036224, + 4.215337259378965, + 4.219054000721706, + 4.222770742064448, + 4.226487483407188, + 4.23020422474993, + 4.23392096609267, + 4.237637707435413, + 4.241354448778153, + 4.245071190120894, + 4.248787931463635, + 4.252504672806375, + 4.256221414149118, + 4.259938155491858, + 4.263654896834599, + 4.26737163817734, + 4.271088379520082, + 4.274805120862823, + 4.278521862205564, + 4.282238603548305, + 4.285955344891047, + 4.289672086233787, + 4.293388827576529, + 4.297105568919269, + 4.300822310262011, + 4.304539051604752, + 4.308255792947492, + 4.311972534290234, + 4.315689275632974, + 4.319406016975716, + 4.323122758318457, + 4.326839499661198, + 4.330556241003939, + 4.334272982346681, + 4.337989723689422, + 4.341706465032163, + 4.345423206374903, + 4.349139947717646, + 4.352856689060386, + 4.356573430403127, + 4.360290171745868, + 4.36400691308861, + 4.367723654431351, + 4.371440395774091, + 4.375157137116833, + 4.378873878459573, + 4.382590619802315, + 4.386307361145056, + 4.390024102487797, + 4.393740843830538, + 4.39745758517328, + 4.40117432651602, + 4.404891067858762, + 4.408607809201502, + 4.412324550544245, + 4.416041291886985, + 4.419758033229726, + 4.423474774572467, + 4.427191515915207, + 4.43090825725795, + 4.43462499860069, + 4.438341739943431, + 4.442058481286172, + 4.445775222628914, + 4.449491963971655, + 4.453208705314396, + 4.456925446657137, + 4.460642187999879, + 4.464358929342619, + 4.468075670685361, + 4.471792412028101, + 4.475509153370843, + 4.479225894713584, + 4.482942636056325, + 4.486659377399066, + 4.490376118741806, + 4.494092860084549, + 4.497809601427289, + 4.50152634277003, + 4.505243084112771, + 4.508959825455513, + 4.512676566798254, + 4.516393308140995, + 4.520110049483735, + 4.523826790826478, + 4.527543532169218, + 4.53126027351196, + 4.5349770148547, + 4.538693756197442, + 4.542410497540183, + 4.546127238882923, + 4.549843980225665, + 4.553560721568405, + 4.557277462911147, + 4.560994204253888, + 4.564710945596629, + 4.56842768693937, + 4.572144428282112, + 4.575861169624853, + 4.579577910967594, + 4.583294652310334, + 4.587011393653077, + 4.590728134995817, + 4.594444876338558, + 4.598161617681299, + 4.601878359024041, + 4.605595100366782, + 4.609311841709522, + 4.613028583052264, + 4.616745324395004, + 4.620462065737746, + 4.624178807080487, + 4.627895548423228, + 4.631612289765969, + 4.635329031108711, + 4.639045772451451, + 4.642762513794193, + 4.646479255136933, + 4.650195996479676, + 4.653912737822416, + 4.657629479165157, + 4.661346220507898, + 4.665062961850638, + 4.668779703193381, + 4.672496444536121, + 4.676213185878862, + 4.679929927221603, + 4.683646668564345, + 4.6873634099070856, + 4.691080151249827, + 4.694796892592568, + 4.69851363393531, + 4.70223037527805, + 4.705947116620792, + 4.709663857963532, + 4.713380599306274, + 4.717097340649015, + 4.720814081991756, + 4.724530823334497, + 4.728247564677237, + 4.73196430601998, + 4.7356810473627196, + 4.739397788705461, + 4.743114530048202, + 4.746831271390944, + 4.7505480127336845, + 4.754264754076426, + 4.757981495419166, + 4.761698236761909, + 4.765414978104649, + 4.769131719447391, + 4.772848460790131, + 4.776565202132873, + 4.780281943475614, + 4.7839986848183536, + 4.787715426161096, + 4.791432167503836, + 4.795148908846578, + 4.7988656501893185, + 4.80258239153206, + 4.806299132874801, + 4.810015874217543, + 4.8137326155602835, + 4.817449356903025, + 4.821166098245765, + 4.824882839588508, + 4.828599580931248, + 4.832316322273989, + 4.83603306361673, + 4.839749804959472, + 4.843466546302213, + 4.8471832876449525, + 4.850900028987694, + 4.854616770330435, + 4.858333511673177, + 4.8620502530159175, + 4.865766994358659, + 4.8694837357014, + 4.873200477044142, + 4.876917218386882, + 4.880633959729624, + 4.884350701072364, + 4.888067442415106, + 4.891784183757847, + 4.895500925100588, + 4.899217666443329, + 4.902934407786069, + 4.906651149128812, + 4.9103678904715515, + 4.914084631814293, + 4.917801373157034, + 4.921518114499776, + 4.9252348558425165, + 4.928951597185258, + 4.932668338527998, + 4.936385079870741, + 4.940101821213481, + 4.943818562556223, + 4.947535303898963, + 4.951252045241705, + 4.954968786584446, + 4.958685527927187, + 4.962402269269928, + 4.966119010612668, + 4.96983575195541, + 4.9735524932981505, + 4.977269234640892, + 4.980985975983633, + 4.984702717326375, + 4.9884194586691155, + 4.992136200011857, + 4.995852941354597, + 4.99956968269734, + 5.00328642404008, + 5.007003165382821, + 5.010719906725562, + 5.014436648068304, + 5.018153389411045, + 5.0218701307537845, + 5.025586872096527, + 5.029303613439267, + 5.033020354782009, + 5.0367370961247495, + 5.040453837467491, + 5.044170578810232, + 5.047887320152974, + 5.051604061495714, + 5.055320802838456, + 5.059037544181196, + 5.062754285523939, + 5.066471026866679, + 5.07018776820942, + 5.073904509552161, + 5.077621250894903, + 5.081337992237644, + 5.0850547335803835, + 5.088771474923125, + 5.092488216265866, + 5.096204957608608, + 5.0999216989513485, + 5.10363844029409, + 5.107355181636831, + 5.111071922979573, + 5.114788664322313, + 5.118505405665055, + 5.122222147007795, + 5.125938888350537, + 5.129655629693278, + 5.133372371036019, + 5.13708911237876, + 5.1408058537215, + 5.144522595064243, + 5.1482393364069825, + 5.151956077749724, + 5.155672819092465, + 5.159389560435207, + 5.1631063017779475, + 5.166823043120689, + 5.170539784463429, + 5.174256525806172, + 5.177973267148912, + 5.181690008491654, + 5.185406749834394, + 5.189123491177136, + 5.192840232519877, + 5.196556973862618, + 5.200273715205359, + 5.203990456548099, + 5.207707197890841, + 5.2114239392335815, + 5.215140680576323, + 5.218857421919064, + 5.222574163261806, + 5.2262909046045465, + 5.230007645947288, + 5.233724387290028, + 5.237441128632771, + 5.241157869975511, + 5.244874611318252, + 5.248591352660993, + 5.252308094003735, + 5.256024835346476, + 5.2597415766892155, + 5.263458318031958, + 5.267175059374698, + 5.27089180071744, + 5.2746085420601805, + 5.278325283402922, + 5.282042024745663, + 5.285758766088405, + 5.289475507431145, + 5.293192248773887, + 5.296908990116627, + 5.30062573145937, + 5.30434247280211, + 5.308059214144851, + 5.311775955487592, + 5.315492696830334, + 5.319209438173075, + 5.3229261795158145, + 5.326642920858556, + 5.330359662201297, + 5.334076403544039, + 5.3377931448867795, + 5.341509886229521, + 5.345226627572262, + 5.348943368915004, + 5.352660110257744, + 5.356376851600486, + 5.360093592943226, + 5.363810334285968, + 5.367527075628709, + 5.37124381697145, + 5.374960558314191, + 5.378677299656931, + 5.382394040999673, + 5.3861107823424135, + 5.389827523685155, + 5.393544265027896, + 5.397261006370638, + 5.4009777477133785, + 5.40469448905612, + 5.40841123039886, + 5.412127971741603, + 5.415844713084343, + 5.419561454427084, + 5.423278195769825, + 5.426994937112567, + 5.430711678455308, + 5.434428419798049, + 5.43814516114079, + 5.44186190248353, + 5.445578643826272, + 5.4492953851690125, + 5.453012126511754, + 5.456728867854495, + 5.460445609197237, + 5.464162350539977, + 5.467879091882719, + 5.471595833225459, + 5.475312574568202, + 5.4790293159109416, + 5.482746057253683, + 5.486462798596424, + 5.490179539939166, + 5.4938962812819065, + 5.4976130226246465, + 5.501329763967388, + 5.505046505310129, + 5.508763246652871, + 5.5124799879956115, + 5.516196729338353, + 5.519913470681094, + 5.523630212023836, + 5.5273469533665756, + 5.531063694709318, + 5.534780436052058, + 5.5384971773948, + 5.5422139187375405, + 5.545930660080282, + 5.549647401423023, + 5.553364142765765, + 5.5570808841085055, + 5.5607976254512455, + 5.564514366793987, + 5.568231108136728, + 5.57194784947947, + 5.57566459082221, + 5.579381332164952, + 5.583098073507692, + 5.586814814850435, + 5.5905315561931745, + 5.594248297535917, + 5.597965038878657, + 5.601681780221399, + 5.6053985215641395, + 5.609115262906881, + 5.612832004249622, + 5.616548745592362, + 5.620265486935104, + 5.623982228277844, + 5.627698969620586, + 5.631415710963327, + 5.635132452306069, + 5.638849193648809, + 5.642565934991551, + 5.646282676334291, + 5.649999417677034, + 5.6537161590197735, + 5.657432900362515, + 5.661149641705256, + 5.664866383047998, + 5.6685831243907385, + 5.67229986573348, + 5.676016607076221, + 5.679733348418961, + 5.683450089761703, + 5.687166831104443, + 5.690883572447185, + 5.694600313789926, + 5.698317055132668, + 5.7020337964754075, + 5.70575053781815, + 5.70946727916089, + 5.713184020503633, + 5.7169007618463725, + 5.720617503189114, + 5.724334244531855, + 5.728050985874597, + 5.7317677272173375, + 5.735484468560077, + 5.739201209902819, + 5.74291795124556, + 5.746634692588302, + 5.750351433931042, + 5.754068175273784, + 5.757784916616525, + 5.761501657959267, + 5.7652183993020065, + 5.768935140644749, + 5.772651881987489, + 5.776368623330231, + 5.7800853646729715, + 5.783802106015713, + 5.787518847358454, + 5.791235588701196, + 5.7949523300439365, + 5.798669071386676, + 5.802385812729418, + 5.806102554072159, + 5.809819295414901, + 5.813536036757641, + 5.817252778100383, + 5.820969519443123, + 5.824686260785866, + 5.8284030021286055, + 5.832119743471348, + 5.835836484814088, + 5.83955322615683, + 5.8432699674995705, + 5.846986708842312, + 5.850703450185053, + 5.854420191527793, + 5.858136932870535, + 5.861853674213275, + 5.865570415556017, + 5.869287156898758, + 5.8730038982415, + 5.8767206395842395, + 5.880437380926982, + 5.884154122269722, + 5.887870863612465, + 5.8915876049552045, + 5.895304346297946, + 5.899021087640687, + 5.902737828983429, + 5.9064545703261695, + 5.910171311668911, + 5.913888053011651, + 5.917604794354392, + 5.921321535697134, + 5.925038277039874, + 5.928755018382616, + 5.932471759725357, + 5.936188501068099, + 5.9399052424108385, + 5.943621983753581, + 5.947338725096321, + 5.951055466439063, + 5.9547722077818035, + 5.958488949124545, + 5.962205690467286, + 5.965922431810028, + 5.9696391731527685, + 5.973355914495508, + 5.97707265583825, + 5.980789397180991, + 5.984506138523733, + 5.988222879866473, + 5.991939621209215, + 5.995656362551955, + 5.999373103894698, + 6.0030898452374375, + 6.00680658658018, + 6.01052332792292, + 6.014240069265662, + 6.0179568106084025, + 6.021673551951144, + 6.025390293293885, + 6.029107034636627, + 6.032823775979367, + 6.036540517322107, + 6.040257258664849, + 6.04397400000759, + 6.047690741350332, + 6.051407482693072, + 6.055124224035814, + 6.058840965378554, + 6.062557706721297, + 6.0662744480640365, + 6.069991189406778, + 6.073707930749519, + 6.077424672092261, + 6.0811414134350015, + 6.084858154777743, + 6.088574896120484, + 6.092291637463224, + 6.096008378805966, + 6.099725120148706, + 6.103441861491448, + 6.107158602834189, + 6.110875344176931, + 6.1145920855196705, + 6.118308826862413, + 6.122025568205153, + 6.125742309547896, + 6.1294590508906355, + 6.133175792233377, + 6.136892533576118, + 6.14060927491886, + 6.1443260162616005, + 6.148042757604342, + 6.151759498947082, + 6.155476240289823, + 6.159192981632565, + 6.162909722975305, + 6.166626464318047, + 6.170343205660788, + 6.17405994700353, + 6.1777766883462695, + 6.181493429689012, + 6.185210171031752, + 6.188926912374494, + 6.1926436537172345, + 6.196360395059976, + 6.200077136402717, + 6.203793877745459, + 6.2075106190881995, + 6.211227360430939, + 6.214944101773681, + 6.218660843116422, + 6.222377584459164, + 6.226094325801904, + 6.229811067144646, + 6.233527808487386, + 6.2372445498301285, + 6.2409612911728685, + 6.244678032515611, + 6.248394773858351, + 6.252111515201093, + 6.2558282565438335, + 6.259544997886575, + 6.263261739229316, + 6.266978480572058, + 6.270695221914798, + 6.274411963257538, + 6.27812870460028, + 6.281845445943021, + 6.2855621872857625, + 6.289278928628503, + 6.292995669971245, + 6.296712411313985, + 6.3004291526567275, + 6.3041458939994675, + 6.307862635342209, + 6.31157937668495, + 6.315296118027692, + 6.3190128593704324, + 6.322729600713174, + 6.326446342055915, + 6.330163083398655, + 6.3338798247413965, + 6.337596566084137, + 6.341313307426879, + 6.34503004876962, + 6.3487467901123615, + 6.3524635314551015, + 6.356180272797844, + 6.359897014140584, + 6.363613755483326, + 6.367330496826066, + 6.371047238168808, + 6.374763979511549, + 6.378480720854291, + 6.382197462197031, + 6.385914203539773, + 6.389630944882513, + 6.393347686225254, + 6.3970644275679955, + 6.400781168910736, + 6.404497910253478, + 6.408214651596218, + 6.4119313929389605, + 6.4156481342817, + 6.419364875624443, + 6.423081616967183, + 6.426798358309925, + 6.430515099652665, + 6.434231840995407, + 6.437948582338148, + 6.44166532368089, + 6.4453820650236295, + 6.44909880636637, + 6.452815547709112, + 6.456532289051853, + 6.4602490303945945, + 6.463965771737335, + 6.467682513080077, + 6.471399254422817, + 6.4751159957655595, + 6.478832737108299, + 6.482549478451041, + 6.486266219793782, + 6.489982961136524, + 6.493699702479264, + 6.497416443822006, + 6.501133185164747, + 6.504849926507489, + 6.5085666678502285, + 6.512283409192969, + 6.516000150535711, + 6.519716891878452, + 6.5234336332211935, + 6.527150374563933, + 6.530867115906676, + 6.534583857249416, + 6.5383005985921585, + 6.542017339934898, + 6.54573408127764, + 6.549450822620381, + 6.553167563963123, + 6.556884305305863, + 6.560601046648605, + 6.564317787991345, + 6.568034529334086, + 6.5717512706768275, + 6.575468012019568, + 6.57918475336231, + 6.582901494705051, + 6.5866182360477925, + 6.590334977390532, + 6.594051718733275, + 6.597768460076015, + 6.601485201418757, + 6.605201942761497, + 6.608918684104239, + 6.61263542544698, + 6.616352166789722, + 6.620068908132462, + 6.623785649475204, + 6.627502390817944, + 6.631219132160685, + 6.6349358735034265, + 6.638652614846167, + 6.642369356188909, + 6.646086097531649, + 6.6498028388743915, + 6.653519580217131, + 6.657236321559874, + 6.660953062902614, + 6.664669804245356, + 6.668386545588096, + 6.672103286930838, + 6.675820028273579, + 6.679536769616321, + 6.6832535109590605, + 6.686970252301801, + 6.690686993644543, + 6.694403734987284, + 6.6981204763300255, + 6.701837217672766, + 6.705553959015508, + 6.709270700358248, + 6.7129874417009905, + 6.71670418304373, + 6.720420924386472, + 6.724137665729213, + 6.727854407071955, + 6.731571148414695, + 6.735287889757437, + 6.739004631100178, + 6.74272137244292, + 6.7464381137856595, + 6.7501548551284, + 6.753871596471142, + 6.757588337813883, + 6.7613050791566245, + 6.765021820499364, + 6.768738561842107, + 6.772455303184847, + 6.7761720445275895, + 6.779888785870329, + 6.783605527213071, + 6.787322268555812, + 6.791039009898554, + 6.794755751241294, + 6.798472492584036, + 6.802189233926776, + 6.805905975269517, + 6.8096227166122585, + 6.813339457954999, + 6.817056199297741, + 6.820772940640482, + 6.8244896819832235, + 6.828206423325963, + 6.831923164668706, + 6.835639906011446, + 6.839356647354188, + 6.843073388696928, + 6.84679013003967, + 6.850506871382411, + 6.854223612725153, + 6.857940354067893, + 6.861657095410635, + 6.865373836753375, + 6.869090578096116, + 6.8728073194388575, + 6.876524060781598, + 6.88024080212434, + 6.88395754346708, + 6.8876742848098225, + 6.891391026152562, + 6.895107767495304, + 6.898824508838045, + 6.902541250180787, + 6.906257991523527, + 6.909974732866269, + 6.91369147420901, + 6.917408215551752, + 6.9211249568944915, + 6.924841698237232, + 6.928558439579974, + 6.932275180922715, + 6.9359919222654565, + 6.939708663608196, + 6.943425404950939, + 6.947142146293679, + 6.9508588876364215, + 6.954575628979161, + 6.958292370321903, + 6.962009111664644, + 6.965725853007386, + 6.969442594350126, + 6.973159335692868, + 6.976876077035608, + 6.9805928183783506, + 6.9843095597210905, + 6.988026301063831, + 6.991743042406573, + 6.995459783749314, + 6.9991765250920555, + 7.002893266434795, + 7.006610007777538, + 7.010326749120278, + 7.01404349046302, + 7.01776023180576, + 7.021476973148502, + 7.025193714491243, + 7.0289104558339845, + 7.032627197176725, + 7.036343938519467, + 7.040060679862207, + 7.043777421204948, + 7.0474941625476895, + 7.05121090389043, + 7.054927645233172, + 7.058644386575912, + 7.0623611279186544, + 7.066077869261394, + 7.069794610604137, + 7.073511351946877, + 7.0772280932896185, + 7.080944834632359, + 7.084661575975101, + 7.088378317317842, + 7.0920950586605835, + 7.0958118000033235, + 7.099528541346066, + 7.103245282688806, + 7.106962024031547, + 7.1106787653742884, + 7.114395506717029, + 7.118112248059771, + 7.121828989402511, + 7.125545730745253, + 7.129262472087993, + 7.132979213430735, + 7.136695954773476, + 7.1404126961162175, + 7.144129437458958, + 7.1478461788017, + 7.151562920144441, + 7.1552796614871825, + 7.1589964028299224, + 7.162713144172663, + 7.166429885515405, + 7.170146626858146, + 7.173863368200887, + 7.177580109543627, + 7.18129685088637, + 7.18501359222911, + 7.188730333571852, + 7.192447074914592, + 7.196163816257334, + 7.199880557600075, + 7.2035972989428165, + 7.207314040285557, + 7.211030781628299, + 7.214747522971039, + 7.2184642643137815, + 7.222181005656521, + 7.225897746999262, + 7.229614488342004, + 7.233331229684745, + 7.237047971027486, + 7.240764712370226, + 7.244481453712969, + 7.248198195055709, + 7.2519149363984505, + 7.255631677741191, + 7.259348419083933, + 7.263065160426674, + 7.2667819017694155, + 7.270498643112156, + 7.274215384454898, + 7.277932125797638, + 7.281648867140379, + 7.28536560848312, + 7.289082349825861, + 7.292799091168603, + 7.296515832511343, + 7.300232573854085, + 7.303949315196825, + 7.307666056539568, + 7.311382797882308, + 7.3150995392250495, + 7.31881628056779, + 7.322533021910532, + 7.326249763253273, + 7.3299665045960145, + 7.333683245938754, + 7.337399987281497, + 7.341116728624237, + 7.344833469966978, + 7.348550211309719, + 7.35226695265246, + 7.355983693995202, + 7.359700435337942, + 7.363417176680684, + 7.367133918023424, + 7.370850659366166, + 7.374567400708907, + 7.3782841420516485, + 7.382000883394389, + 7.385717624737131, + 7.389434366079872, + 7.3931511074226135, + 7.396867848765353, + 7.400584590108094, + 7.404301331450836, + 7.408018072793577, + 7.411734814136318, + 7.415451555479058, + 7.419168296821801, + 7.422885038164541, + 7.4266017795072825, + 7.430318520850023, + 7.434035262192765, + 7.437752003535506, + 7.4414687448782475, + 7.445185486220988, + 7.44890222756373, + 7.45261896890647, + 7.4563357102492125, + 7.460052451591952, + 7.463769192934693, + 7.467485934277435, + 7.471202675620175, + 7.474919416962917, + 7.478636158305657, + 7.4823528996484, + 7.48606964099114, + 7.4897863823338815, + 7.493503123676622, + 7.497219865019364, + 7.500936606362105, + 7.5046533477048465, + 7.508370089047586, + 7.512086830390329, + 7.515803571733069, + 7.51952031307581, + 7.523237054418551, + 7.526953795761292, + 7.530670537104034, + 7.534387278446774, + 7.538104019789516, + 7.541820761132256, + 7.545537502474998, + 7.549254243817739, + 7.5529709851604805, + 7.556687726503221, + 7.560404467845963, + 7.564121209188704, + 7.5678379505314455, + 7.571554691874185, + 7.575271433216928, + 7.578988174559668, + 7.582704915902409, + 7.58642165724515, + 7.59013839858789, + 7.593855139930633, + 7.597571881273373, + 7.601288622616115, + 7.605005363958855, + 7.608722105301597, + 7.612438846644338, + 7.6161555879870795, + 7.61987232932982, + 7.623589070672562, + 7.627305812015302, + 7.6310225533580445, + 7.634739294700784, + 7.638456036043525, + 7.642172777386267, + 7.645889518729008, + 7.649606260071749, + 7.653323001414489, + 7.657039742757232, + 7.660756484099972, + 7.6644732254427135, + 7.668189966785454, + 7.671906708128196, + 7.675623449470937, + 7.6793401908136785, + 7.683056932156419, + 7.686773673499161, + 7.690490414841901, + 7.6942071561846435, + 7.697923897527383, + 7.701640638870124, + 7.705357380212866, + 7.709074121555606, + 7.712790862898348, + 7.716507604241088, + 7.720224345583831, + 7.723941086926571, + 7.7276578282693125, + 7.731374569612053, + 7.735091310954795, + 7.738808052297536, + 7.7425247936402775, + 7.746241534983017, + 7.74995827632576, + 7.7536750176685, + 7.757391759011241, + 7.761108500353982, + 7.764825241696723, + 7.768541983039465, + 7.772258724382205, + 7.775975465724947, + 7.779692207067687, + 7.783408948410429, + 7.78712568975317, + 7.7908424310959115, + 7.794559172438652, + 7.798275913781394, + 7.801992655124135, + 7.8057093964668764, + 7.809426137809616, + 7.813142879152359, + 7.816859620495099, + 7.8205763618378406, + 7.824293103180581, + 7.828009844523323, + 7.831726585866064, + 7.8354433272088055, + 7.839160068551546, + 7.842876809894288, + 7.846593551237028, + 7.850310292579769, + 7.8540270339225104, + 7.857743775265251, + 7.861460516607993, + 7.865177257950733, + 7.868893999293475, + 7.872610740636215, + 7.876327481978958, + 7.880044223321698, + 7.8837609646644395, + 7.88747770600718, + 7.891194447349922, + 7.894911188692663, + 7.8986279300354045, + 7.9023446713781444, + 7.906061412720885, + 7.909778154063627, + 7.913494895406368, + 7.917211636749109, + 7.920928378091849, + 7.924645119434592, + 7.928361860777332, + 7.932078602120074, + 7.935795343462814, + 7.939512084805556, + 7.943228826148297, + 7.9469455674910385, + 7.950662308833779, + 7.954379050176521, + 7.958095791519261, + 7.961812532862002, + 7.965529274204743, + 7.969246015547484, + 7.972962756890226, + 7.976679498232967, + 7.980396239575708, + 7.984112980918448, + 7.987829722261191, + 7.991546463603931, + 7.9952632049466725, + 7.998979946289413, + 8.002696687632156, + 8.006413428974895, + 8.010130170317638, + 8.013846911660378, + 8.01756365300312, + 8.02128039434586, + 8.0249971356886, + 8.028713877031343, + 8.032430618374082, + 8.036147359716825, + 8.039864101059566, + 8.043580842402307, + 8.047297583745047, + 8.05101432508779, + 8.05473106643053, + 8.058447807773272, + 8.062164549116012, + 8.065881290458755, + 8.069598031801494, + 8.073314773144237, + 8.077031514486977, + 8.080748255829718, + 8.084464997172459, + 8.0881817385152, + 8.091898479857942, + 8.095615221200681, + 8.099331962543424, + 8.103048703886165, + 8.106765445228906, + 8.110482186571646, + 8.114198927914389, + 8.117915669257128, + 8.12163241059987, + 8.125349151942611, + 8.129065893285354, + 8.132782634628093, + 8.136499375970836, + 8.140216117313576, + 8.143932858656315, + 8.147649599999058, + 8.151366341341799, + 8.15508308268454, + 8.15879982402728, + 8.162516565370023, + 8.166233306712764, + 8.169950048055505, + 8.173666789398245, + 8.177383530740988, + 8.181100272083727, + 8.18481701342647, + 8.18853375476921, + 8.192250496111951, + 8.195967237454692, + 8.199683978797433, + 8.203400720140175, + 8.207117461482914, + 8.210834202825657, + 8.214550944168398, + 8.218267685511139, + 8.22198442685388, + 8.225701168196622, + 8.229417909539363, + 8.233134650882104, + 8.236851392224844, + 8.240568133567587, + 8.244284874910326, + 8.248001616253068, + 8.25171835759581, + 8.25543509893855, + 8.259151840281291, + 8.262868581624032, + 8.266585322966774, + 8.270302064309513, + 8.274018805652256, + 8.277735546994997, + 8.281452288337737, + 8.285169029680478, + 8.28888577102322, + 8.292602512365962, + 8.296319253708702, + 8.300035995051443, + 8.303752736394186, + 8.307469477736925, + 8.311186219079667, + 8.314902960422408, + 8.318619701765149, + 8.32233644310789, + 8.32605318445063, + 8.329769925793373, + 8.333486667136112, + 8.337203408478855, + 8.340920149821596, + 8.344636891164336, + 8.348353632507077, + 8.35207037384982, + 8.355787115192559, + 8.359503856535301, + 8.363220597878042, + 8.366937339220785, + 8.370654080563524, + 8.374370821906266, + 8.378087563249007, + 8.381804304591746, + 8.385521045934489, + 8.38923778727723, + 8.39295452861997, + 8.396671269962711, + 8.400388011305454, + 8.404104752648195, + 8.407821493990935, + 8.411538235333676, + 8.415254976676419, + 8.418971718019158, + 8.4226884593619, + 8.426405200704641, + 8.430121942047382, + 8.433838683390123, + 8.437555424732864, + 8.441272166075606, + 8.444988907418345, + 8.448705648761088, + 8.452422390103829, + 8.45613913144657, + 8.45985587278931, + 8.463572614132053, + 8.467289355474794, + 8.471006096817534, + 8.474722838160275, + 8.478439579503018, + 8.482156320845757, + 8.4858730621885, + 8.48958980353124, + 8.493306544873981, + 8.497023286216722, + 8.500740027559463, + 8.504456768902205, + 8.508173510244944, + 8.511890251587687, + 8.515606992930428, + 8.519323734273168, + 8.52304047561591, + 8.526757216958652, + 8.53047395830139, + 8.534190699644133, + 8.537907440986874, + 8.541624182329617, + 8.545340923672356, + 8.549057665015098, + 8.55277440635784, + 8.55649114770058, + 8.56020788904332, + 8.563924630386062, + 8.567641371728802, + 8.571358113071543, + 8.575074854414286, + 8.578791595757027, + 8.582508337099767, + 8.586225078442508, + 8.58994181978525, + 8.59365856112799, + 8.597375302470732, + 8.601092043813473, + 8.604808785156214, + 8.608525526498955, + 8.612242267841697, + 8.615959009184438, + 8.619675750527177, + 8.62339249186992, + 8.62710923321266, + 8.630825974555401, + 8.634542715898142, + 8.638259457240885, + 8.641976198583626, + 8.645692939926366, + 8.649409681269107, + 8.65312642261185, + 8.656843163954589, + 8.660559905297331, + 8.664276646640072, + 8.667993387982813, + 8.671710129325554, + 8.675426870668295, + 8.679143612011037, + 8.682860353353776, + 8.686577094696519, + 8.69029383603926, + 8.694010577382, + 8.697727318724741, + 8.701444060067484, + 8.705160801410225, + 8.708877542752965, + 8.712594284095706, + 8.716311025438449, + 8.720027766781188, + 8.72374450812393, + 8.727461249466671, + 8.731177990809412, + 8.734894732152153, + 8.738611473494894, + 8.742328214837636, + 8.746044956180375, + 8.749761697523118, + 8.753478438865859, + 8.7571951802086, + 8.76091192155134, + 8.764628662894083, + 8.768345404236822, + 8.772062145579564, + 8.775778886922305, + 8.779495628265048, + 8.783212369607787, + 8.78692911095053, + 8.79064585229327, + 8.794362593636011, + 8.798079334978752, + 8.801796076321493, + 8.805512817664233, + 8.809229559006974, + 8.812946300349717, + 8.816663041692458, + 8.820379783035198, + 8.82409652437794, + 8.827813265720682, + 8.83153000706342, + 8.835246748406163, + 8.838963489748904, + 8.842680231091645, + 8.846396972434386, + 8.850113713777128, + 8.85383045511987, + 8.857547196462608, + 8.86126393780535, + 8.864980679148092, + 8.868697420490832, + 8.872414161833573, + 8.876130903176316, + 8.879847644519057, + 8.883564385861797, + 8.887281127204538, + 8.89099786854728, + 8.89471460989002, + 8.898431351232762, + 8.902148092575503, + 8.905864833918244, + 8.909581575260985, + 8.913298316603726, + 8.917015057946468, + 8.920731799289207, + 8.92444854063195, + 8.92816528197469, + 8.931882023317431, + 8.935598764660172, + 8.939315506002915, + 8.943032247345654, + 8.946748988688396, + 8.950465730031137, + 8.95418247137388, + 8.957899212716619, + 8.961615954059361, + 8.965332695402102, + 8.969049436744843, + 8.972766178087584, + 8.976482919430325, + 8.980199660773065, + 8.983916402115806, + 8.987633143458549, + 8.99134988480129, + 8.99506662614403, + 8.998783367486771, + 9.002500108829514, + 9.006216850172253, + 9.009933591514995, + 9.013650332857736, + 9.017367074200477, + 9.021083815543218, + 9.02480055688596, + 9.028517298228701, + 9.032234039571442, + 9.035950780914183, + 9.039667522256924, + 9.043384263599664, + 9.047101004942405, + 9.050817746285148, + 9.054534487627889, + 9.05825122897063, + 9.06196797031337, + 9.065684711656113, + 9.069401452998852, + 9.073118194341594, + 9.076834935684335, + 9.080551677027076, + 9.084268418369817, + 9.08798515971256, + 9.0917019010553, + 9.09541864239804, + 9.099135383740782, + 9.102852125083523, + 9.106568866426263, + 9.110285607769004, + 9.114002349111747, + 9.117719090454488, + 9.121435831797228, + 9.12515257313997, + 9.128869314482712, + 9.13258605582545, + 9.136302797168193, + 9.140019538510934, + 9.143736279853675, + 9.147453021196416, + 9.151169762539157, + 9.1548865038819, + 9.158603245224638, + 9.16231998656738, + 9.166036727910122, + 9.169753469252862, + 9.173470210595603, + 9.177186951938346, + 9.180903693281085, + 9.184620434623827, + 9.188337175966568, + 9.19205391730931, + 9.19577065865205, + 9.199487399994792, + 9.203204141337533, + 9.206920882680274, + 9.210637624023015, + 9.214354365365756, + 9.218071106708496, + 9.221787848051237, + 9.22550458939398, + 9.22922133073672, + 9.232938072079461, + 9.236654813422202, + 9.240371554764945, + 9.244088296107684, + 9.247805037450426, + 9.251521778793167, + 9.255238520135908, + 9.258955261478649, + 9.262672002821391, + 9.266388744164132, + 9.270105485506873, + 9.273822226849614, + 9.277538968192355, + 9.281255709535095, + 9.284972450877836, + 9.288689192220579, + 9.29240593356332, + 9.29612267490606, + 9.299839416248801, + 9.303556157591544, + 9.307272898934283, + 9.310989640277025, + 9.314706381619766, + 9.318423122962507, + 9.322139864305248, + 9.32585660564799, + 9.329573346990731, + 9.33329008833347, + 9.337006829676213, + 9.340723571018954, + 9.344440312361694, + 9.348157053704435, + 9.351873795047178, + 9.355590536389919, + 9.35930727773266, + 9.3630240190754, + 9.366740760418143, + 9.370457501760882, + 9.374174243103624, + 9.377890984446365, + 9.381607725789106, + 9.385324467131847, + 9.389041208474588, + 9.39275794981733, + 9.39647469116007, + 9.400191432502812, + 9.403908173845553, + 9.407624915188293, + 9.411341656531034, + 9.415058397873777, + 9.418775139216516, + 9.422491880559258, + 9.426208621902, + 9.42992536324474, + 9.43364210458748, + 9.437358845930223, + 9.441075587272964, + 9.444792328615705, + 9.448509069958446, + 9.452225811301187, + 9.455942552643927, + 9.459659293986668, + 9.46337603532941, + 9.467092776672152, + 9.470809518014892, + 9.474526259357633, + 9.478243000700376, + 9.481959742043115, + 9.485676483385857, + 9.489393224728598, + 9.493109966071339, + 9.49682670741408, + 9.500543448756822, + 9.504260190099563, + 9.507976931442304, + 9.511693672785045, + 9.515410414127786, + 9.519127155470526, + 9.522843896813267, + 9.52656063815601, + 9.53027737949875, + 9.533994120841491, + 9.537710862184232, + 9.541427603526975, + 9.545144344869714, + 9.548861086212456, + 9.552577827555197, + 9.556294568897938, + 9.560011310240679, + 9.563728051583421, + 9.567444792926162, + 9.571161534268901, + 9.574878275611644, + 9.578595016954385, + 9.582311758297125, + 9.586028499639866, + 9.589745240982609, + 9.593461982325348, + 9.59717872366809, + 9.600895465010831, + 9.604612206353574, + 9.608328947696313, + 9.612045689039055, + 9.615762430381796, + 9.619479171724537, + 9.623195913067278, + 9.626912654410019, + 9.63062939575276, + 9.6343461370955, + 9.638062878438243, + 9.641779619780984, + 9.645496361123724, + 9.649213102466465, + 9.652929843809208, + 9.656646585151947, + 9.66036332649469, + 9.66408006783743, + 9.667796809180171, + 9.671513550522912, + 9.675230291865654, + 9.678947033208395, + 9.682663774551136, + 9.686380515893877, + 9.690097257236618, + 9.693813998579358, + 9.6975307399221, + 9.701247481264842, + 9.704964222607583, + 9.708680963950323, + 9.712397705293064, + 9.716114446635807, + 9.719831187978546, + 9.723547929321288, + 9.727264670664029, + 9.73098141200677, + 9.73469815334951, + 9.738414894692253, + 9.742131636034994, + 9.745848377377735, + 9.749565118720476, + 9.753281860063217, + 9.756998601405957, + 9.760715342748698, + 9.76443208409144, + 9.768148825434182, + 9.771865566776922, + 9.775582308119663, + 9.779299049462406, + 9.783015790805145, + 9.786732532147887, + 9.790449273490628, + 9.794166014833369, + 9.79788275617611, + 9.801599497518852, + 9.805316238861593, + 9.809032980204332, + 9.812749721547075, + 9.816466462889816, + 9.820183204232556, + 9.823899945575297, + 9.82761668691804, + 9.831333428260779, + 9.835050169603521, + 9.838766910946262, + 9.842483652289005, + 9.846200393631744, + 9.849917134974486, + 9.853633876317227, + 9.857350617659968, + 9.861067359002709, + 9.86478410034545, + 9.86850084168819, + 9.872217583030931, + 9.875934324373674, + 9.879651065716414, + 9.883367807059155, + 9.887084548401896, + 9.890801289744639, + 9.894518031087378, + 9.89823477243012, + 9.901951513772861, + 9.905668255115602, + 9.909384996458343, + 9.913101737801085, + 9.916818479143826, + 9.920535220486567, + 9.924251961829308, + 9.927968703172048, + 9.93168544451479, + 9.93540218585753, + 9.939118927200273, + 9.942835668543013, + 9.946552409885754, + 9.950269151228495, + 9.953985892571238, + 9.957702633913977, + 9.96141937525672, + 9.96513611659946, + 9.9688528579422, + 9.972569599284942, + 9.976286340627684, + 9.980003081970425, + 9.983719823313166, + 9.987436564655907, + 9.991153305998647, + 9.994870047341388, + 9.998586788684129, + 10.002303530026872, + 10.00602027136961, + 10.009737012712353, + 10.013453754055094, + 10.017170495397837, + 10.020887236740576, + 10.024603978083318, + 10.028320719426059, + 10.0320374607688, + 10.03575420211154, + 10.039470943454283, + 10.043187684797022, + 10.046904426139763, + 10.050621167482506, + 10.054337908825246, + 10.058054650167987, + 10.061771391510728, + 10.06548813285347, + 10.06920487419621, + 10.072921615538952, + 10.076638356881693, + 10.080355098224434, + 10.084071839567175, + 10.087788580909917, + 10.091505322252658, + 10.095222063595399, + 10.09893880493814, + 10.10265554628088, + 10.106372287623621, + 10.110089028966362, + 10.113805770309105, + 10.117522511651845, + 10.121239252994586, + 10.124955994337327, + 10.12867273568007, + 10.132389477022809, + 10.136106218365551, + 10.139822959708292, + 10.143539701051033, + 10.147256442393774, + 10.150973183736516, + 10.154689925079257, + 10.158406666421998, + 10.162123407764739, + 10.16584014910748, + 10.16955689045022, + 10.173273631792961, + 10.176990373135704, + 10.180707114478444, + 10.184423855821185, + 10.188140597163926, + 10.191857338506669, + 10.195574079849408, + 10.19929082119215, + 10.203007562534891, + 10.206724303877632, + 10.210441045220373, + 10.214157786563115, + 10.217874527905856, + 10.221591269248597, + 10.225308010591338, + 10.229024751934078, + 10.23274149327682, + 10.23645823461956, + 10.240174975962303, + 10.243891717305042, + 10.247608458647784, + 10.251325199990525, + 10.255041941333268, + 10.258758682676007, + 10.26247542401875, + 10.26619216536149, + 10.26990890670423, + 10.273625648046972, + 10.277342389389714, + 10.281059130732453, + 10.284775872075194, + 10.288492613417937, + 10.292209354760677, + 10.295926096103418, + 10.299642837446159, + 10.303359578788902, + 10.30707632013164, + 10.310793061474383, + 10.314509802817124, + 10.318226544159865, + 10.321943285502606, + 10.325660026845348, + 10.329376768188089, + 10.33309350953083, + 10.33681025087357, + 10.340526992216311, + 10.344243733559052, + 10.347960474901793, + 10.351677216244536, + 10.355393957587276, + 10.359110698930017, + 10.362827440272758, + 10.3665441816155, + 10.37026092295824, + 10.373977664300982, + 10.377694405643723, + 10.381411146986464, + 10.385127888329205, + 10.388844629671947, + 10.392561371014688, + 10.396278112357429, + 10.39999485370017, + 10.40371159504291, + 10.407428336385651, + 10.411145077728392, + 10.414861819071135, + 10.418578560413875, + 10.422295301756616, + 10.426012043099357, + 10.4297287844421, + 10.433445525784839, + 10.437162267127581, + 10.440879008470322, + 10.444595749813063, + 10.448312491155804, + 10.452029232498546, + 10.455745973841287, + 10.459462715184028, + 10.463179456526769, + 10.46689619786951, + 10.47061293921225, + 10.474329680554991, + 10.478046421897734, + 10.481763163240473, + 10.485479904583215, + 10.489196645925956, + 10.492913387268697, + 10.496630128611438, + 10.50034686995418, + 10.504063611296921, + 10.507780352639662, + 10.511497093982403, + 10.515213835325145, + 10.518930576667884, + 10.522647318010625, + 10.526364059353368, + 10.530080800696108, + 10.53379754203885, + 10.53751428338159, + 10.541231024724333, + 10.544947766067072, + 10.548664507409814, + 10.552381248752555, + 10.556097990095296, + 10.559814731438037, + 10.56353147278078, + 10.56724821412352, + 10.57096495546626, + 10.574681696809002, + 10.578398438151742, + 10.582115179494483, + 10.585831920837224, + 10.589548662179967, + 10.593265403522707, + 10.596982144865448, + 10.600698886208189, + 10.604415627550932, + 10.60813236889367, + 10.611849110236413, + 10.615565851579154, + 10.619282592921895, + 10.622999334264636, + 10.626716075607378, + 10.630432816950119, + 10.63414955829286, + 10.6378662996356, + 10.641583040978341, + 10.645299782321082, + 10.649016523663823, + 10.652733265006566, + 10.656450006349305, + 10.660166747692047, + 10.663883489034788, + 10.66760023037753, + 10.67131697172027, + 10.675033713063012, + 10.678750454405753, + 10.682467195748494, + 10.686183937091235, + 10.689900678433977, + 10.693617419776716, + 10.697334161119459, + 10.7010509024622, + 10.70476764380494, + 10.708484385147681, + 10.712201126490422, + 10.715917867833165, + 10.719634609175904, + 10.723351350518646, + 10.727068091861387, + 10.730784833204128, + 10.734501574546869, + 10.738218315889611, + 10.741935057232352, + 10.745651798575093, + 10.749368539917834, + 10.753085281260576, + 10.756802022603315, + 10.760518763946056, + 10.764235505288799, + 10.76795224663154, + 10.77166898797428, + 10.775385729317021, + 10.779102470659764, + 10.782819212002503, + 10.786535953345245, + 10.790252694687986, + 10.793969436030727, + 10.797686177373468, + 10.80140291871621, + 10.805119660058951, + 10.808836401401692, + 10.812553142744433, + 10.816269884087173, + 10.819986625429914, + 10.823703366772655, + 10.827420108115398, + 10.831136849458138, + 10.83485359080088, + 10.83857033214362, + 10.842287073486363, + 10.846003814829102, + 10.849720556171844, + 10.853437297514585, + 10.857154038857326, + 10.860870780200067, + 10.86458752154281, + 10.86830426288555, + 10.87202100422829, + 10.875737745571032, + 10.879454486913772, + 10.883171228256513, + 10.886887969599254, + 10.890604710941997, + 10.894321452284736, + 10.898038193627478, + 10.901754934970219, + 10.905471676312962, + 10.9091884176557, + 10.912905158998443, + 10.916621900341184, + 10.920338641683925, + 10.924055383026666, + 10.927772124369408, + 10.931488865712147, + 10.93520560705489, + 10.93892234839763, + 10.942639089740371, + 10.946355831083112, + 10.950072572425853, + 10.953789313768596, + 10.957506055111335, + 10.961222796454077, + 10.964939537796818, + 10.968656279139559, + 10.9723730204823, + 10.976089761825042, + 10.979806503167783, + 10.983523244510524, + 10.987239985853265, + 10.990956727196007, + 10.994673468538746, + 10.998390209881487, + 11.00210695122423, + 11.00582369256697, + 11.009540433909711, + 11.013257175252452, + 11.016973916595195, + 11.020690657937934, + 11.024407399280676, + 11.028124140623417, + 11.031840881966158, + 11.035557623308899, + 11.039274364651641, + 11.042991105994382, + 11.046707847337123, + 11.050424588679864, + 11.054141330022604, + 11.057858071365345, + 11.061574812708086, + 11.065291554050829, + 11.069008295393568, + 11.07272503673631, + 11.076441778079051, + 11.080158519421794, + 11.083875260764533, + 11.087592002107275, + 11.091308743450016, + 11.095025484792757, + 11.098742226135498, + 11.10245896747824, + 11.10617570882098, + 11.109892450163722, + 11.113609191506463, + 11.117325932849203, + 11.121042674191944, + 11.124759415534685, + 11.128476156877428, + 11.132192898220167, + 11.13590963956291, + 11.13962638090565, + 11.14334312224839, + 11.147059863591132, + 11.150776604933874, + 11.154493346276615, + 11.158210087619356, + 11.161926828962097, + 11.16564357030484, + 11.169360311647578, + 11.17307705299032, + 11.176793794333062, + 11.180510535675802, + 11.184227277018543, + 11.187944018361284, + 11.191660759704027, + 11.195377501046766, + 11.199094242389508, + 11.202810983732249, + 11.20652772507499, + 11.21024446641773, + 11.213961207760473, + 11.217677949103214, + 11.221394690445955, + 11.225111431788696, + 11.228828173131438, + 11.232544914474177, + 11.236261655816918, + 11.23997839715966, + 11.243695138502401, + 11.247411879845142, + 11.251128621187883, + 11.254845362530626, + 11.258562103873365, + 11.262278845216107, + 11.265995586558848, + 11.269712327901589, + 11.27342906924433, + 11.277145810587072, + 11.280862551929813, + 11.284579293272554, + 11.288296034615295, + 11.292012775958035, + 11.295729517300776, + 11.299446258643517, + 11.30316299998626, + 11.306879741328999, + 11.310596482671741, + 11.314313224014482, + 11.318029965357224, + 11.321746706699964, + 11.325463448042706, + 11.329180189385447, + 11.332896930728188, + 11.336613672070929, + 11.340330413413671, + 11.34404715475641, + 11.347763896099153, + 11.351480637441894, + 11.355197378784634, + 11.358914120127375, + 11.362630861470116, + 11.366347602812858, + 11.370064344155598, + 11.37378108549834, + 11.377497826841081, + 11.381214568183822, + 11.384931309526563, + 11.388648050869305, + 11.392364792212046, + 11.396081533554787, + 11.399798274897528, + 11.40351501624027, + 11.40723175758301, + 11.410948498925752, + 11.414665240268492, + 11.418381981611233, + 11.422098722953974, + 11.425815464296715, + 11.429532205639457, + 11.433248946982197, + 11.436965688324939, + 11.44068242966768, + 11.44439917101042, + 11.448115912353162, + 11.451832653695904, + 11.455549395038645, + 11.459266136381386, + 11.462982877724126, + 11.466699619066869, + 11.470416360409608, + 11.474133101752349, + 11.477849843095091, + 11.481566584437832, + 11.485283325780573, + 11.489000067123314, + 11.492716808466056, + 11.496433549808796, + 11.500150291151538, + 11.503867032494279, + 11.50758377383702, + 11.51130051517976, + 11.515017256522503, + 11.518733997865242, + 11.522450739207985, + 11.526167480550725, + 11.529884221893466, + 11.533600963236207, + 11.537317704578948, + 11.54103444592169, + 11.54475118726443, + 11.548467928607172, + 11.552184669949913, + 11.555901411292654, + 11.559618152635394, + 11.563334893978137, + 11.567051635320878, + 11.570768376663619, + 11.57448511800636, + 11.578201859349102, + 11.581918600691841, + 11.585635342034584, + 11.589352083377324, + 11.593068824720065, + 11.596785566062806, + 11.600502307405547, + 11.60421904874829, + 11.607935790091028, + 11.611652531433771, + 11.615369272776512, + 11.619086014119253, + 11.622802755461993, + 11.626519496804736, + 11.630236238147477, + 11.633952979490218, + 11.637669720832958, + 11.641386462175701, + 11.64510320351844, + 11.648819944861183, + 11.652536686203923, + 11.656253427546664, + 11.659970168889405, + 11.663686910232146, + 11.667403651574888, + 11.671120392917627, + 11.67483713426037, + 11.67855387560311, + 11.682270616945852, + 11.685987358288592, + 11.689704099631335, + 11.693420840974076, + 11.697137582316817, + 11.700854323659557, + 11.7045710650023, + 11.708287806345039, + 11.71200454768778, + 11.715721289030522, + 11.719438030373261, + 11.723154771716004, + 11.726871513058745, + 11.730588254401487, + 11.734304995744226, + 11.738021737086969, + 11.74173847842971, + 11.74545521977245, + 11.749171961115191, + 11.752888702457934, + 11.756605443800673, + 11.760322185143416, + 11.764038926486156, + 11.767755667828897, + 11.771472409171638, + 11.775189150514379, + 11.778905891857121, + 11.78262263319986, + 11.786339374542603, + 11.790056115885344, + 11.793772857228085, + 11.797489598570825, + 11.801206339913568, + 11.804923081256309, + 11.80863982259905, + 11.81235656394179, + 11.816073305284533, + 11.819790046627272, + 11.823506787970015, + 11.827223529312755, + 11.830940270655496, + 11.834657011998237, + 11.838373753340978, + 11.84209049468372, + 11.84580723602646, + 11.849523977369202, + 11.853240718711943, + 11.856957460054684, + 11.860674201397424, + 11.864390942740167, + 11.868107684082908, + 11.871824425425649, + 11.87554116676839, + 11.879257908111132, + 11.882974649453871, + 11.886691390796614, + 11.890408132139354, + 11.894124873482095, + 11.897841614824836, + 11.901558356167577, + 11.90527509751032, + 11.908991838853058, + 11.912708580195801, + 11.916425321538542, + 11.920142062881283, + 11.923858804224023, + 11.927575545566766, + 11.931292286909507, + 11.935009028252248, + 11.938725769594988, + 11.942442510937731, + 11.94615925228047, + 11.94987599362321, + 11.953592734965953, + 11.957309476308692, + 11.961026217651435, + 11.964742958994176, + 11.968459700336918, + 11.972176441679657, + 11.9758931830224, + 11.97960992436514, + 11.983326665707882, + 11.987043407050622, + 11.990760148393365, + 11.994476889736104, + 11.998193631078847, + 12.001910372421587, + 12.005627113764328, + 12.009343855107069, + 12.01306059644981, + 12.016777337792552, + 12.020494079135291, + 12.024210820478034, + 12.027927561820775, + 12.031644303163516, + 12.035361044506256, + 12.039077785848999, + 12.04279452719174, + 12.04651126853448, + 12.050228009877221, + 12.053944751219964, + 12.057661492562703, + 12.061378233905446, + 12.065094975248186, + 12.068811716590927, + 12.072528457933668, + 12.076245199276409, + 12.079961940619151, + 12.08367868196189, + 12.087395423304633, + 12.091112164647374, + 12.094828905990115, + 12.098545647332855, + 12.102262388675598, + 12.105979130018339, + 12.10969587136108, + 12.11341261270382, + 12.117129354046563, + 12.120846095389302, + 12.124562836732045, + 12.128279578074785, + 12.131996319417524, + 12.135713060760267, + 12.139429802103008, + 12.14314654344575, + 12.14686328478849, + 12.150580026131232, + 12.154296767473973, + 12.158013508816714, + 12.161730250159454, + 12.165446991502197, + 12.169163732844936, + 12.172880474187679, + 12.17659721553042, + 12.180313956873162, + 12.184030698215901, + 12.187747439558642, + 12.191464180901384, + 12.195180922244123, + 12.198897663586866, + 12.202614404929607, + 12.206331146272348, + 12.210047887615088, + 12.213764628957831, + 12.217481370300572, + 12.221198111643313, + 12.224914852986053, + 12.228631594328796, + 12.232348335671535, + 12.236065077014278, + 12.239781818357018, + 12.24349855969976, + 12.2472153010425, + 12.25093204238524, + 12.254648783727983, + 12.258365525070722, + 12.262082266413465, + 12.265799007756206, + 12.269515749098947, + 12.273232490441687, + 12.27694923178443, + 12.28066597312717, + 12.284382714469912, + 12.288099455812652, + 12.291816197155395, + 12.295532938498134, + 12.299249679840877, + 12.302966421183617, + 12.306683162526358, + 12.310399903869099, + 12.31411664521184, + 12.317833386554582, + 12.321550127897321, + 12.325266869240064, + 12.328983610582805, + 12.332700351925546, + 12.336417093268286, + 12.340133834611029, + 12.34385057595377, + 12.34756731729651, + 12.351284058639251, + 12.355000799981994, + 12.358717541324733, + 12.362434282667476, + 12.366151024010216, + 12.369867765352955, + 12.373584506695698, + 12.377301248038439, + 12.381017989381181, + 12.38473473072392, + 12.388451472066663, + 12.392168213409404, + 12.395884954752145, + 12.399601696094885, + 12.403318437437628, + 12.407035178780367, + 12.41075192012311, + 12.41446866146585, + 12.418185402808593, + 12.421902144151332, + 12.425618885494073, + 12.429335626836815, + 12.433052368179554, + 12.436769109522297, + 12.440485850865038, + 12.444202592207779, + 12.44791933355052, + 12.451636074893262, + 12.455352816236003, + 12.459069557578744, + 12.462786298921484, + 12.466503040264227, + 12.470219781606966, + 12.473936522949709, + 12.47765326429245, + 12.48137000563519, + 12.485086746977931, + 12.488803488320672, + 12.492520229663414, + 12.496236971006153, + 12.499953712348896, + 12.503670453691637, + 12.507387195034378, + 12.511103936377118, + 12.514820677719861, + 12.518537419062602, + 12.522254160405343, + 12.525970901748083, + 12.529687643090826, + 12.533404384433565, + 12.537121125776308, + 12.540837867119048, + 12.54455460846179, + 12.54827134980453, + 12.55198809114727, + 12.555704832490013, + 12.559421573832752, + 12.563138315175495, + 12.566855056518236, + 12.570571797860977, + 12.574288539203717, + 12.57800528054646, + 12.581722021889199, + 12.585438763231942, + 12.589155504574682, + 12.592872245917425, + 12.596588987260164, + 12.600305728602907, + 12.604022469945647, + 12.607739211288386, + 12.611455952631129, + 12.61517269397387, + 12.61888943531661, + 12.622606176659351, + 12.626322918002094, + 12.630039659344835, + 12.633756400687576, + 12.637473142030316, + 12.641189883373059, + 12.644906624715798, + 12.64862336605854, + 12.652340107401281, + 12.656056848744022, + 12.659773590086763, + 12.663490331429504, + 12.667207072772246, + 12.670923814114985, + 12.674640555457728, + 12.678357296800469, + 12.68207403814321, + 12.68579077948595, + 12.689507520828693, + 12.693224262171434, + 12.696941003514175, + 12.700657744856915, + 12.704374486199658, + 12.708091227542397, + 12.71180796888514, + 12.71552471022788, + 12.719241451570621, + 12.722958192913362, + 12.726674934256103, + 12.730391675598845, + 12.734108416941584, + 12.737825158284327, + 12.741541899627068, + 12.745258640969809, + 12.74897538231255, + 12.752692123655292, + 12.756408864998033, + 12.760125606340774, + 12.763842347683514, + 12.767559089026257, + 12.771275830368996, + 12.774992571711739, + 12.77870931305448, + 12.782426054397218, + 12.786142795739961, + 12.789859537082702, + 12.793576278425444, + 12.797293019768183, + 12.801009761110926, + 12.804726502453667, + 12.808443243796408, + 12.812159985139148, + 12.815876726481891, + 12.81959346782463, + 12.823310209167373, + 12.827026950510113, + 12.830743691852856, + 12.834460433195595, + 12.838177174538338, + 12.841893915881078, + 12.845610657223817, + 12.84932739856656, + 12.8530441399093, + 12.856760881252042, + 12.860477622594782, + 12.864194363937525, + 12.867911105280266, + 12.871627846623007, + 12.875344587965747, + 12.87906132930849, + 12.882778070651229, + 12.886494811993972, + 12.890211553336712, + 12.893928294679453, + 12.897645036022194, + 12.901361777364935, + 12.905078518707677, + 12.908795260050416, + 12.912512001393159, + 12.9162287427359, + 12.91994548407864, + 12.923662225421381, + 12.927378966764124, + 12.931095708106865, + 12.934812449449606, + 12.938529190792346, + 12.942245932135089, + 12.945962673477828, + 12.94967941482057, + 12.953396156163311, + 12.957112897506052, + 12.960829638848793, + 12.964546380191534, + 12.968263121534276, + 12.971979862877015, + 12.975696604219758, + 12.979413345562499, + 12.98313008690524, + 12.98684682824798, + 12.990563569590723, + 12.994280310933464, + 12.997997052276204, + 13.001713793618945, + 13.005430534961688, + 13.009147276304427, + 13.01286401764717, + 13.01658075898991, + 13.02029750033265, + 13.024014241675392, + 13.027730983018133, + 13.031447724360875, + 13.035164465703614, + 13.038881207046357, + 13.042597948389098, + 13.046314689731838, + 13.05003143107458, + 13.053748172417322, + 13.057464913760061, + 13.061181655102803, + 13.064898396445544, + 13.068615137788285, + 13.072331879131026, + 13.076048620473768, + 13.07976536181651, + 13.083482103159248, + 13.087198844501991, + 13.090915585844732, + 13.094632327187472, + 13.098349068530213, + 13.102065809872956, + 13.105782551215697, + 13.109499292558437, + 13.113216033901178, + 13.11693277524392, + 13.12064951658666, + 13.124366257929402, + 13.128082999272143, + 13.131799740614884, + 13.135516481957625, + 13.139233223300366, + 13.142949964643108, + 13.146666705985847, + 13.15038344732859, + 13.15410018867133, + 13.157816930014071, + 13.161533671356812, + 13.165250412699555, + 13.168967154042296, + 13.172683895385036, + 13.176400636727777, + 13.18011737807052, + 13.183834119413259, + 13.187550860756001, + 13.191267602098742, + 13.194984343441481, + 13.198701084784224, + 13.202417826126965, + 13.206134567469707, + 13.209851308812446, + 13.213568050155189, + 13.21728479149793, + 13.22100153284067, + 13.224718274183411, + 13.228435015526154, + 13.232151756868893, + 13.235868498211635, + 13.239585239554376, + 13.243301980897119, + 13.247018722239858, + 13.2507354635826, + 13.254452204925341, + 13.25816894626808, + 13.261885687610823, + 13.265602428953564, + 13.269319170296304, + 13.273035911639045, + 13.276752652981788, + 13.280469394324529, + 13.28418613566727, + 13.28790287701001, + 13.291619618352753, + 13.295336359695492, + 13.299053101038234, + 13.302769842380975, + 13.306486583723716, + 13.310203325066457, + 13.3139200664092, + 13.31763680775194, + 13.32135354909468, + 13.325070290437422, + 13.328787031780163, + 13.332503773122903, + 13.336220514465644, + 13.339937255808387, + 13.343653997151128, + 13.347370738493868, + 13.35108747983661, + 13.354804221179352, + 13.35852096252209, + 13.362237703864833, + 13.365954445207574, + 13.369671186550315, + 13.373387927893056, + 13.377104669235797, + 13.38082141057854, + 13.384538151921278, + 13.38825489326402, + 13.391971634606762, + 13.395688375949502, + 13.399405117292243, + 13.403121858634986, + 13.406838599977727, + 13.410555341320467, + 13.414272082663208, + 13.41798882400595, + 13.42170556534869, + 13.425422306691432, + 13.429139048034173, + 13.432855789376912, + 13.436572530719655, + 13.440289272062396, + 13.444006013405138, + 13.447722754747877, + 13.45143949609062, + 13.45515623743336, + 13.458872978776101, + 13.462589720118842, + 13.466306461461585, + 13.470023202804324, + 13.473739944147066, + 13.477456685489807, + 13.48117342683255, + 13.484890168175289, + 13.488606909518031, + 13.492323650860772, + 13.496040392203511, + 13.499757133546254, + 13.503473874888995, + 13.507190616231735, + 13.510907357574476, + 13.514624098917219, + 13.51834084025996, + 13.5220575816027, + 13.525774322945441, + 13.529491064288184, + 13.533207805630923, + 13.536924546973665, + 13.540641288316406, + 13.544358029659147, + 13.548074771001888, + 13.55179151234463, + 13.555508253687371, + 13.55922499503011, + 13.562941736372853, + 13.566658477715594, + 13.570375219058334, + 13.574091960401075, + 13.577808701743818, + 13.581525443086559, + 13.5852421844293, + 13.58895892577204, + 13.592675667114783, + 13.596392408457522, + 13.600109149800264, + 13.603825891143005, + 13.607542632485746, + 13.611259373828487, + 13.614976115171228, + 13.61869285651397, + 13.62240959785671, + 13.626126339199452, + 13.629843080542193, + 13.633559821884933, + 13.637276563227674, + 13.640993304570417, + 13.644710045913156, + 13.648426787255898, + 13.65214352859864, + 13.655860269941382, + 13.65957701128412, + 13.663293752626863, + 13.667010493969604, + 13.670727235312343, + 13.674443976655086, + 13.678160717997827, + 13.681877459340567, + 13.685594200683308, + 13.68931094202605, + 13.693027683368792, + 13.696744424711532, + 13.700461166054273, + 13.704177907397016, + 13.707894648739755, + 13.711611390082497, + 13.715328131425238, + 13.719044872767979, + 13.72276161411072, + 13.726478355453462, + 13.730195096796203, + 13.733911838138942, + 13.737628579481685, + 13.741345320824426, + 13.745062062167166, + 13.748778803509907, + 13.75249554485265, + 13.75621228619539, + 13.759929027538131, + 13.763645768880872, + 13.767362510223615, + 13.771079251566354, + 13.774795992909096, + 13.778512734251837, + 13.782229475594578, + 13.785946216937319, + 13.789662958280061, + 13.793379699622802, + 13.797096440965541, + 13.800813182308284, + 13.804529923651025, + 13.808246664993765, + 13.811963406336506, + 13.815680147679249, + 13.81939688902199, + 13.82311363036473, + 13.826830371707471, + 13.830547113050214, + 13.834263854392953, + 13.837980595735695, + 13.841697337078436, + 13.845414078421177, + 13.849130819763918, + 13.852847561106659, + 13.856564302449401, + 13.86028104379214, + 13.863997785134883, + 13.867714526477624, + 13.871431267820364, + 13.875148009163105, + 13.878864750505848, + 13.882581491848587, + 13.88629823319133, + 13.89001497453407, + 13.893731715876813, + 13.897448457219552, + 13.901165198562294, + 13.904881939905035, + 13.908598681247774, + 13.912315422590517, + 13.916032163933258, + 13.919748905275998, + 13.92346564661874, + 13.927182387961482, + 13.930899129304223, + 13.934615870646963, + 13.938332611989704, + 13.942049353332447, + 13.945766094675186, + 13.949482836017928, + 13.95319957736067, + 13.95691631870341, + 13.96063306004615, + 13.964349801388893, + 13.968066542731634, + 13.971783284074373, + 13.975500025417116, + 13.979216766759857, + 13.982933508102597, + 13.986650249445338, + 13.99036699078808, + 13.994083732130822, + 13.997800473473562, + 14.001517214816303, + 14.005233956159046, + 14.008950697501785, + 14.012667438844527, + 14.016384180187268, + 14.020100921530009, + 14.02381766287275, + 14.027534404215492, + 14.031251145558233, + 14.034967886900972, + 14.038684628243715, + 14.042401369586456, + 14.046118110929196, + 14.049834852271937, + 14.05355159361468, + 14.05726833495742, + 14.060985076300161, + 14.064701817642902, + 14.068418558985645, + 14.072135300328384, + 14.075852041671126, + 14.079568783013867, + 14.083285524356608, + 14.087002265699349, + 14.09071900704209, + 14.09443574838483, + 14.098152489727571, + 14.101869231070314, + 14.105585972413055, + 14.109302713755795, + 14.113019455098536, + 14.116736196441279, + 14.120452937784018, + 14.12416967912676, + 14.127886420469501, + 14.131603161812242, + 14.135319903154983, + 14.139036644497725, + 14.142753385840466, + 14.146470127183205, + 14.150186868525948, + 14.153903609868689, + 14.15762035121143, + 14.16133709255417, + 14.165053833896913, + 14.168770575239654, + 14.172487316582394, + 14.176204057925135, + 14.179920799267878, + 14.183637540610617, + 14.18735428195336, + 14.1910710232961, + 14.194787764638841, + 14.198504505981582, + 14.202221247324324, + 14.205937988667065, + 14.209654730009804, + 14.213371471352547, + 14.217088212695288, + 14.220804954038028, + 14.22452169538077, + 14.228238436723512, + 14.231955178066253, + 14.235671919408993, + 14.239388660751734, + 14.243105402094477, + 14.246822143437216, + 14.250538884779958, + 14.2542556261227, + 14.25797236746544, + 14.26168910880818, + 14.265405850150923, + 14.269122591493664, + 14.272839332836403, + 14.276556074179146, + 14.280272815521887, + 14.283989556864627, + 14.287706298207368, + 14.29142303955011, + 14.29513978089285, + 14.298856522235592, + 14.302573263578333, + 14.306290004921076, + 14.310006746263815, + 14.313723487606557, + 14.317440228949298, + 14.321156970292039, + 14.324873711634778, + 14.32859045297752, + 14.332307194320261, + 14.336023935663, + 14.339740677005743, + 14.343457418348486, + 14.347174159691226, + 14.350890901033965, + 14.354607642376708, + 14.358324383719449, + 14.362041125062191, + 14.36575786640493, + 14.369474607747673, + 14.373191349090414, + 14.376908090433156, + 14.380624831775895, + 14.384341573118636, + 14.388058314461379, + 14.391775055804118, + 14.39549179714686, + 14.399208538489601, + 14.402925279832344, + 14.406642021175083, + 14.410358762517824, + 14.414075503860566, + 14.417792245203309, + 14.421508986546046, + 14.425225727888789, + 14.428942469231531, + 14.432659210574272, + 14.436375951917011, + 14.440092693259754, + 14.443809434602496, + 14.447526175945233, + 14.451242917287976, + 14.454959658630719, + 14.45867639997346, + 14.462393141316198, + 14.466109882658941, + 14.469826624001684, + 14.473543365344424, + 14.477260106687163, + 14.480976848029906, + 14.484693589372647, + 14.48841033071539, + 14.492127072058128, + 14.49584381340087, + 14.499560554743612, + 14.503277296086354, + 14.506994037429093, + 14.510710778771834, + 14.514427520114577, + 14.518144261457316, + 14.521861002800057, + 14.5255777441428, + 14.529294485485542, + 14.53301122682828, + 14.536727968171022, + 14.540444709513764, + 14.544161450856507, + 14.547878192199244, + 14.551594933541987, + 14.555311674884729, + 14.55902841622747, + 14.562745157570209, + 14.566461898912952, + 14.570178640255692, + 14.573895381598431, + 14.577612122941174, + 14.581328864283917, + 14.585045605626657, + 14.588762346969396, + 14.592479088312139, + 14.59619582965488, + 14.599912570997622, + 14.603629312340361, + 14.607346053683104, + 14.611062795025845, + 14.614779536368587, + 14.618496277711326, + 14.622213019054067, + 14.62592976039681, + 14.629646501739549, + 14.63336324308229, + 14.637079984425032, + 14.640796725767775, + 14.644513467110514, + 14.648230208453255, + 14.651946949795997, + 14.65566369113874, + 14.659380432481477, + 14.66309717382422, + 14.666813915166962, + 14.670530656509703, + 14.674247397852442, + 14.677964139195185, + 14.681680880537927, + 14.685397621880664, + 14.689114363223407, + 14.69283110456615, + 14.69654784590889, + 14.70026458725163, + 14.703981328594372, + 14.707698069937113, + 14.711414811279855, + 14.715131552622594, + 14.718848293965337, + 14.722565035308078, + 14.72628177665082, + 14.72999851799356, + 14.7337152593363, + 14.737432000679043, + 14.741148742021785, + 14.744865483364524, + 14.748582224707265, + 14.752298966050008, + 14.756015707392747, + 14.759732448735488, + 14.76344919007823, + 14.767165931420973, + 14.770882672763712, + 14.774599414106452, + 14.778316155449195, + 14.782032896791936, + 14.785749638134675, + 14.789466379477417, + 14.79318312082016, + 14.7968998621629, + 14.80061660350564, + 14.804333344848382, + 14.808050086191123, + 14.811766827533862, + 14.815483568876605, + 14.819200310219347, + 14.822917051562088, + 14.826633792904827, + 14.83035053424757, + 14.83406727559031, + 14.837784016933053, + 14.841500758275792, + 14.845217499618535, + 14.848934240961276, + 14.852650982304018, + 14.856367723646757, + 14.860084464989498, + 14.86380120633224, + 14.86751794767498, + 14.87123468901772, + 14.874951430360463, + 14.878668171703206, + 14.882384913045945, + 14.886101654388685, + 14.889818395731428, + 14.89353513707417, + 14.897251878416908, + 14.90096861975965, + 14.904685361102393, + 14.908402102445134, + 14.912118843787873, + 14.915835585130615, + 14.919552326473358, + 14.923269067816095, + 14.926985809158838, + 14.93070255050158, + 14.934419291844321, + 14.93813603318706, + 14.941852774529803, + 14.945569515872544, + 14.949286257215286, + 14.953002998558025, + 14.956719739900768, + 14.960436481243509, + 14.964153222586251, + 14.96786996392899, + 14.971586705271731, + 14.975303446614474, + 14.979020187957216, + 14.982736929299955, + 14.986453670642696, + 14.990170411985439, + 14.993887153328181, + 14.997603894670918, + 15.001320636013661, + 15.005037377356404, + 15.008754118699144, + 15.012470860041883, + 15.016187601384626, + 15.019904342727367, + 15.02362108407011, + 15.027337825412848, + 15.031054566755591, + 15.034771308098332, + 15.038488049441074, + 15.042204790783813, + 15.045921532126554, + 15.049638273469297, + 15.053355014812036, + 15.057071756154778, + 15.06078849749752, + 15.064505238840262, + 15.068221980183, + 15.071938721525742, + 15.075655462868484, + 15.079372204211227, + 15.083088945553966, + 15.086805686896707, + 15.09052242823945, + 15.09423916958219, + 15.097955910924929, + 15.101672652267672, + 15.105389393610414, + 15.109106134953151, + 15.112822876295894, + 15.116539617638637, + 15.120256358981377, + 15.123973100324116, + 15.127689841666859, + 15.131406583009602, + 15.135123324352342, + 15.138840065695081, + 15.142556807037824, + 15.146273548380565, + 15.149990289723307, + 15.153707031066046, + 15.157423772408787, + 15.16114051375153, + 15.164857255094269, + 15.168573996437011, + 15.172290737779752, + 15.176007479122495, + 15.179724220465234, + 15.183440961807975, + 15.187157703150717, + 15.19087444449346, + 15.194591185836199, + 15.19830792717894, + 15.202024668521682, + 15.205741409864425, + 15.209458151207162, + 15.213174892549905, + 15.216891633892647, + 15.220608375235386, + 15.224325116578127, + 15.22804185792087, + 15.23175859926361, + 15.23547534060635, + 15.239192081949092, + 15.242908823291835, + 15.246625564634575, + 15.250342305977314, + 15.254059047320057, + 15.257775788662798, + 15.26149253000554, + 15.26520927134828, + 15.268926012691022, + 15.272642754033763, + 15.276359495376502, + 15.280076236719244, + 15.283792978061985, + 15.287509719404728, + 15.291226460747467, + 15.29494320209021, + 15.29865994343295, + 15.302376684775693, + 15.306093426118432, + 15.309810167461173, + 15.313526908803915, + 15.317243650146658, + 15.320960391489395, + 15.324677132832138, + 15.32839387417488, + 15.332110615517621, + 15.33582735686036, + 15.339544098203103, + 15.343260839545845, + 15.346977580888582, + 15.350694322231325, + 15.354411063574068, + 15.358127804916808, + 15.361844546259547, + 15.36556128760229, + 15.369278028945033, + 15.372994770287773, + 15.376711511630512, + 15.380428252973255, + 15.384144994315996, + 15.387861735658738, + 15.391578477001477, + 15.395295218344218, + 15.39901195968696, + 15.4027287010297, + 15.406445442372442, + 15.410162183715183, + 15.413878925057926, + 15.417595666400665, + 15.421312407743406, + 15.425029149086148, + 15.42874589042889, + 15.43246263177163, + 15.43617937311437, + 15.439896114457113, + 15.443612855799856, + 15.447329597142593, + 15.451046338485336, + 15.454763079828078, + 15.458479821170817, + 15.462196562513558, + 15.4659133038563, + 15.469630045199041, + 15.47334678654178, + 15.477063527884523, + 15.480780269227266, + 15.484497010570006, + 15.488213751912745, + 15.491930493255488, + 15.495647234598229, + 15.499363975940971, + 15.50308071728371, + 15.506797458626453, + 15.510514199969194, + 15.514230941311936, + 15.517947682654675, + 15.521664423997416, + 15.525381165340159, + 15.529097906682898, + 15.53281464802564, + 15.536531389368381, + 15.540248130711124, + 15.543964872053863, + 15.547681613396604, + 15.551398354739346, + 15.555115096082089, + 15.558831837424826, + 15.562548578767569, + 15.566265320110311, + 15.569982061453052, + 15.573698802795791, + 15.577415544138534, + 15.581132285481276, + 15.584849026824013, + 15.588565768166756, + 15.592282509509499, + 15.59599925085224, + 15.599715992194978, + 15.603432733537721, + 15.607149474880462, + 15.610866216223204, + 15.614582957565943, + 15.618299698908686, + 15.622016440251427, + 15.62573318159417, + 15.629449922936908, + 15.63316666427965, + 15.636883405622392, + 15.64060014696513, + 15.644316888307873, + 15.648033629650614, + 15.651750370993357, + 15.655467112336096, + 15.659183853678837, + 15.66290059502158, + 15.666617336364322, + 15.67033407770706, + 15.674050819049802, + 15.677767560392544, + 15.681484301735285, + 15.685201043078024, + 15.688917784420767, + 15.69263452576351, + 15.696351267106246, + 15.700068008448989, + 15.703784749791732, + 15.707501491134472, + 15.711218232477211, + 15.714934973819954, + 15.718651715162697, + 15.722368456505437, + 15.726085197848176, + 15.729801939190919, + 15.73351868053366, + 15.737235421876402, + 15.740952163219141, + 15.744668904561884, + 15.748385645904625, + 15.752102387247364, + 15.755819128590106, + 15.759535869932847, + 15.76325261127559, + 15.766969352618329, + 15.77068609396107, + 15.774402835303812, + 15.778119576646555, + 15.781836317989294, + 15.785553059332035, + 15.789269800674777, + 15.79298654201752, + 15.796703283360257, + 15.800420024703, + 15.804136766045742, + 15.807853507388483, + 15.811570248731222, + 15.815286990073965, + 15.819003731416707, + 15.822720472759444, + 15.826437214102187, + 15.83015395544493, + 15.83387069678767, + 15.83758743813041, + 15.841304179473152, + 15.845020920815893, + 15.848737662158635, + 15.852454403501374, + 15.856171144844117, + 15.859887886186858, + 15.8636046275296, + 15.86732136887234 + ], + "Itth": [ + 30.655195236206055, + 29.83406639099121, + 29.250301361083984, + 29.05618667602539, + 29.000913619995117, + 29.225038528442383, + 29.46074867248535, + 29.12308692932129, + 27.65679359436035, + 26.10845947265625, + 25.19525718688965, + 24.712743759155273, + 24.63957405090332, + 24.664337158203125, + 24.804119110107422, + 25.0291690826416, + 25.383033752441406, + 25.76605224609375, + 25.97580337524414, + 26.269529342651367, + 26.61513328552246, + 26.96686363220215, + 27.19447898864746, + 27.419681549072266, + 27.494121551513672, + 27.674341201782227, + 27.80927085876465, + 27.948331832885742, + 28.087631225585938, + 28.289072036743164, + 28.53715705871582, + 28.739686965942383, + 28.77363395690918, + 28.687801361083984, + 28.60637092590332, + 28.632291793823242, + 28.771686553955078, + 28.924388885498047, + 28.999300003051758, + 29.000823974609375, + 29.09023094177246, + 29.188947677612305, + 29.33367347717285, + 29.42925453186035, + 29.50635528564453, + 29.429615020751953, + 29.318897247314453, + 29.29048728942871, + 29.317636489868164, + 29.315523147583008, + 29.282075881958008, + 29.247848510742188, + 29.27845573425293, + 29.34998321533203, + 29.441238403320312, + 29.456716537475586, + 29.445804595947266, + 29.41053581237793, + 29.312252044677734, + 29.311321258544922, + 29.535066604614258, + 29.766727447509766, + 29.79578971862793, + 29.591358184814453, + 29.52048683166504, + 29.533164978027344, + 29.544538497924805, + 29.558753967285156, + 29.5627498626709, + 29.648454666137695, + 29.731971740722656, + 29.774791717529297, + 29.694412231445312, + 29.594369888305664, + 29.580310821533203, + 29.641633987426758, + 29.81170082092285, + 29.817169189453125, + 29.790098190307617, + 29.766626358032227, + 29.81119155883789, + 29.860187530517578, + 29.81318473815918, + 29.839805603027344, + 29.836238861083984, + 29.774539947509766, + 29.78204917907715, + 29.829927444458008, + 29.953853607177734, + 30.019975662231445, + 29.976238250732422, + 29.905105590820312, + 29.771648406982422, + 29.772783279418945, + 29.813814163208008, + 29.90070343017578, + 29.8947811126709, + 29.905099868774414, + 29.900402069091797, + 29.903696060180664, + 29.848705291748047, + 29.813203811645508, + 29.84122085571289, + 29.917837142944336, + 29.974720001220703, + 29.985958099365234, + 29.95180892944336, + 29.942644119262695, + 29.930627822875977, + 29.887975692749023, + 29.840593338012695, + 29.86276626586914, + 29.95361328125, + 29.94370460510254, + 29.931072235107422, + 29.934133529663086, + 29.992340087890625, + 30.0114803314209, + 29.9796085357666, + 29.937564849853516, + 29.894977569580078, + 29.890487670898438, + 29.94139289855957, + 29.97698974609375, + 29.96536636352539, + 29.917743682861328, + 29.885751724243164, + 29.877750396728516, + 29.98424530029297, + 29.992807388305664, + 29.981983184814453, + 29.894968032836914, + 29.904296875, + 29.97266960144043, + 30.041515350341797, + 30.103015899658203, + 30.1289119720459, + 30.07527732849121, + 30.022716522216797, + 30.051767349243164, + 30.10101890563965, + 30.163509368896484, + 30.14126968383789, + 30.120107650756836, + 30.032405853271484, + 29.99365234375, + 30.014400482177734, + 30.05683135986328, + 30.058652877807617, + 30.03716468811035, + 30.00949478149414, + 30.052122116088867, + 30.13282012939453, + 30.225595474243164, + 30.282535552978516, + 30.3687686920166, + 30.342214584350586, + 30.29414939880371, + 30.25435447692871, + 30.246702194213867, + 30.240678787231445, + 30.162412643432617, + 30.133079528808594, + 30.133346557617188, + 30.144006729125977, + 30.165822982788086, + 30.181108474731445, + 30.191465377807617, + 30.214277267456055, + 30.170211791992188, + 30.1935977935791, + 30.13808250427246, + 30.177553176879883, + 30.199600219726562, + 30.265737533569336, + 30.284151077270508, + 30.258464813232422, + 30.20931625366211, + 30.137216567993164, + 30.15107536315918, + 30.173847198486328, + 30.130687713623047, + 30.107423782348633, + 30.124467849731445, + 30.190038681030273, + 30.199920654296875, + 30.147010803222656, + 30.11749267578125, + 30.157804489135742, + 30.237058639526367, + 30.24636459350586, + 30.220491409301758, + 30.212188720703125, + 30.24651527404785, + 30.295055389404297, + 30.22862434387207, + 30.18080711364746, + 30.110126495361328, + 30.16349983215332, + 30.18855857849121, + 30.245548248291016, + 30.333284378051758, + 30.419145584106445, + 30.414892196655273, + 30.333158493041992, + 30.314844131469727, + 30.30124282836914, + 30.300338745117188, + 30.332300186157227, + 30.367271423339844, + 30.38383674621582, + 30.34083366394043, + 30.279659271240234, + 30.24929428100586, + 30.284250259399414, + 30.383243560791016, + 30.407255172729492, + 30.39202308654785, + 30.349651336669922, + 30.322402954101562, + 30.316617965698242, + 30.308074951171875, + 30.28091049194336, + 30.239643096923828, + 30.276531219482422, + 30.301340103149414, + 30.3394718170166, + 30.376232147216797, + 30.400630950927734, + 30.369319915771484, + 30.346641540527344, + 30.374685287475586, + 30.43925666809082, + 30.500764846801758, + 30.51518440246582, + 30.511693954467773, + 30.495220184326172, + 30.482440948486328, + 30.460262298583984, + 30.479890823364258, + 30.60963249206543, + 30.66193389892578, + 30.659957885742188, + 30.692537307739258, + 30.708215713500977, + 30.735214233398438, + 30.739255905151367, + 30.76188087463379, + 30.7623348236084, + 30.788532257080078, + 30.86225128173828, + 30.897878646850586, + 30.82114601135254, + 30.706666946411133, + 30.727991104125977, + 30.79245948791504, + 30.88789176940918, + 30.915307998657227, + 30.957603454589844, + 30.959274291992188, + 30.94269371032715, + 30.94972801208496, + 30.96067237854004, + 31.00096893310547, + 30.96592903137207, + 30.931020736694336, + 30.912633895874023, + 30.97464370727539, + 31.010717391967773, + 31.055391311645508, + 31.0456485748291, + 31.05409812927246, + 31.070911407470703, + 31.11444091796875, + 31.20515251159668, + 31.192028045654297, + 31.151187896728516, + 31.16691780090332, + 31.260072708129883, + 31.323118209838867, + 31.33897590637207, + 31.330320358276367, + 31.265363693237305, + 31.325178146362305, + 31.398391723632812, + 31.452795028686523, + 31.429737091064453, + 31.40837287902832, + 31.431928634643555, + 31.4499568939209, + 31.46269989013672, + 31.444435119628906, + 31.443479537963867, + 31.442686080932617, + 31.498275756835938, + 31.571674346923828, + 31.599695205688477, + 31.561655044555664, + 31.55573081970215, + 31.583459854125977, + 31.652124404907227, + 31.659677505493164, + 31.66083526611328, + 31.70829200744629, + 31.779380798339844, + 31.817628860473633, + 31.786043167114258, + 31.74173355102539, + 31.71877670288086, + 31.730634689331055, + 31.748708724975586, + 31.796634674072266, + 31.783170700073242, + 31.814151763916016, + 31.854351043701172, + 31.8576717376709, + 31.856300354003906, + 31.860599517822266, + 31.905296325683594, + 31.89594841003418, + 31.935630798339844, + 31.993148803710938, + 32.07071304321289, + 32.11125946044922, + 32.123374938964844, + 32.193233489990234, + 32.22174072265625, + 32.22189712524414, + 32.192806243896484, + 32.21459197998047, + 32.29185485839844, + 32.3137092590332, + 32.32758712768555, + 32.33790969848633, + 32.33599853515625, + 32.3914909362793, + 32.444705963134766, + 32.485286712646484, + 32.52824401855469, + 32.58897018432617, + 32.64231872558594, + 32.606788635253906, + 32.577571868896484, + 32.57267379760742, + 32.64385223388672, + 32.722129821777344, + 32.71510696411133, + 32.69007110595703, + 32.70197677612305, + 32.72857666015625, + 32.75815200805664, + 32.76007080078125, + 32.78892517089844, + 32.834632873535156, + 32.92661666870117, + 33.0507698059082, + 33.09678268432617, + 33.031097412109375, + 33.00022506713867, + 32.99265670776367, + 32.994873046875, + 32.9798469543457, + 33.031002044677734, + 33.059288024902344, + 33.02427291870117, + 32.986873626708984, + 33.00354766845703, + 33.06257247924805, + 33.12177276611328, + 33.16192626953125, + 33.21307373046875, + 33.22243118286133, + 33.2237434387207, + 33.23664093017578, + 33.267879486083984, + 33.32833480834961, + 33.36656188964844, + 33.46747970581055, + 33.50011444091797, + 33.46601867675781, + 33.434715270996094, + 33.47855758666992, + 33.555580139160156, + 33.65308380126953, + 33.72681427001953, + 33.75707244873047, + 33.76725387573242, + 33.787635803222656, + 33.786109924316406, + 33.817073822021484, + 33.87891387939453, + 33.95157241821289, + 33.96954345703125, + 33.92698287963867, + 33.905216217041016, + 33.95687484741211, + 34.01503372192383, + 34.1195068359375, + 34.27295684814453, + 34.38189697265625, + 34.43177795410156, + 34.466819763183594, + 34.58599853515625, + 34.7269401550293, + 34.833946228027344, + 34.96219253540039, + 35.09735870361328, + 35.23222351074219, + 35.32642364501953, + 35.45528030395508, + 35.657108306884766, + 35.8322868347168, + 35.92313003540039, + 36.04854202270508, + 36.19651412963867, + 36.36369323730469, + 36.56855773925781, + 36.88492202758789, + 37.33466339111328, + 37.68680191040039, + 37.9900016784668, + 38.32686996459961, + 38.839111328125, + 39.446903228759766, + 40.15448760986328, + 41.08134460449219, + 42.26953125, + 43.72754669189453, + 45.78263854980469, + 48.73918914794922, + 52.90522003173828, + 59.0512809753418, + 68.56512451171875, + 83.40565490722656, + 107.05292510986328, + 146.81353759765625, + 212.51651000976562, + 318.0817565917969, + 482.7589111328125, + 711.8302612304688, + 990.050048828125, + 1285.00732421875, + 1511.0733642578125, + 1601.6463623046875, + 1531.0985107421875, + 1320.9278564453125, + 1037.547119140625, + 740.9671020507812, + 500.5221862792969, + 332.96966552734375, + 220.77334594726562, + 150.68130493164062, + 109.67970275878906, + 84.47444152832031, + 68.7204818725586, + 59.11444854736328, + 52.694095611572266, + 48.33076477050781, + 45.38225555419922, + 43.25034713745117, + 41.6935920715332, + 40.508514404296875, + 39.54587936401367, + 38.7602424621582, + 38.14168167114258, + 37.600006103515625, + 37.10805892944336, + 36.6885986328125, + 36.30133056640625, + 35.95799255371094, + 35.600799560546875, + 35.32086181640625, + 35.02847671508789, + 34.82054138183594, + 34.58174133300781, + 34.357994079589844, + 34.134010314941406, + 33.99287033081055, + 33.84563446044922, + 33.710453033447266, + 33.50799560546875, + 33.36771011352539, + 33.23287582397461, + 33.149505615234375, + 33.05148696899414, + 32.92702865600586, + 32.791866302490234, + 32.63798141479492, + 32.53141403198242, + 32.42772674560547, + 32.32834243774414, + 32.239437103271484, + 32.15425491333008, + 32.033267974853516, + 31.93523597717285, + 31.85132598876953, + 31.747182846069336, + 31.62746810913086, + 31.56980323791504, + 31.575326919555664, + 31.568132400512695, + 31.526004791259766, + 31.491729736328125, + 31.409086227416992, + 31.36904525756836, + 31.287830352783203, + 31.273529052734375, + 31.222564697265625, + 31.199533462524414, + 31.11415672302246, + 31.047773361206055, + 30.959735870361328, + 30.89130210876465, + 30.90373420715332, + 30.89154624938965, + 30.909231185913086, + 30.897979736328125, + 30.890491485595703, + 30.812320709228516, + 30.759675979614258, + 30.727624893188477, + 30.67600440979004, + 30.628252029418945, + 30.661943435668945, + 30.67974090576172, + 30.614038467407227, + 30.54181480407715, + 30.53827476501465, + 30.57747459411621, + 30.580968856811523, + 30.567045211791992, + 30.564027786254883, + 30.5073184967041, + 30.400232315063477, + 30.329322814941406, + 30.33580207824707, + 30.3377628326416, + 30.346067428588867, + 30.36860466003418, + 30.376380920410156, + 30.328107833862305, + 30.284788131713867, + 30.272602081298828, + 30.251949310302734, + 30.252933502197266, + 30.272323608398438, + 30.266979217529297, + 30.261558532714844, + 30.240745544433594, + 30.19658660888672, + 30.156105041503906, + 30.112215042114258, + 30.122169494628906, + 30.13726234436035, + 30.158681869506836, + 30.155729293823242, + 30.125391006469727, + 30.1219425201416, + 30.157079696655273, + 30.191438674926758, + 30.222108840942383, + 30.25638198852539, + 30.276214599609375, + 30.25552749633789, + 30.223228454589844, + 30.20261573791504, + 30.198225021362305, + 30.200424194335938, + 30.203824996948242, + 30.17653465270996, + 30.1549072265625, + 30.11594581604004, + 30.151580810546875, + 30.163551330566406, + 30.20865821838379, + 30.202177047729492, + 30.19918441772461, + 30.1340274810791, + 30.08165168762207, + 30.097740173339844, + 30.163623809814453, + 30.217252731323242, + 30.177541732788086, + 30.115549087524414, + 30.103519439697266, + 30.14201545715332, + 30.23259162902832, + 30.250703811645508, + 30.271936416625977, + 30.261560440063477, + 30.2685546875, + 30.264217376708984, + 30.281095504760742, + 30.312015533447266, + 30.307443618774414, + 30.290000915527344, + 30.25479507446289, + 30.26529884338379, + 30.319902420043945, + 30.366445541381836, + 30.35373306274414, + 30.330541610717773, + 30.30899429321289, + 30.309818267822266, + 30.32732391357422, + 30.389183044433594, + 30.39971160888672, + 30.39501190185547, + 30.383344650268555, + 30.402238845825195, + 30.38288116455078, + 30.375762939453125, + 30.390045166015625, + 30.405189514160156, + 30.433631896972656, + 30.50391960144043, + 30.518829345703125, + 30.47543716430664, + 30.42565155029297, + 30.472156524658203, + 30.539968490600586, + 30.57335090637207, + 30.598114013671875, + 30.66340446472168, + 30.694313049316406, + 30.74755859375, + 30.802444458007812, + 30.856138229370117, + 30.837215423583984, + 30.826332092285156, + 30.850082397460938, + 30.8948974609375, + 30.96551513671875, + 31.066591262817383, + 31.174545288085938, + 31.236656188964844, + 31.290855407714844, + 31.30845832824707, + 31.320472717285156, + 31.37874412536621, + 31.484106063842773, + 31.59173011779785, + 31.68903350830078, + 31.77693748474121, + 31.91499900817871, + 32.05049133300781, + 32.16682434082031, + 32.23305892944336, + 32.30259323120117, + 32.421119689941406, + 32.545955657958984, + 32.67624282836914, + 32.76797103881836, + 32.91126251220703, + 33.07640075683594, + 33.285865783691406, + 33.45329666137695, + 33.594181060791016, + 33.774681091308594, + 33.9834098815918, + 34.185646057128906, + 34.42557907104492, + 34.696319580078125, + 34.97285842895508, + 35.226539611816406, + 35.568450927734375, + 35.899837493896484, + 36.182376861572266, + 36.501380920410156, + 36.859004974365234, + 37.24562454223633, + 37.64398956298828, + 38.09574890136719, + 38.60658645629883, + 39.15772247314453, + 39.7945442199707, + 40.51773452758789, + 41.3270149230957, + 42.28261184692383, + 43.40947341918945, + 44.82204818725586, + 46.63654708862305, + 48.889404296875, + 51.87383270263672, + 56.03772735595703, + 61.802425384521484, + 69.97919464111328, + 82.5111312866211, + 101.95650482177734, + 132.3250732421875, + 182.85443115234375, + 266.0291748046875, + 399.14447021484375, + 616.3683471679688, + 937.8656616210938, + 1360.738525390625, + 1874.4617919921875, + 2366.898193359375, + 2714.7578125, + 2819.80908203125, + 2631.714599609375, + 2221.39208984375, + 1692.0693359375, + 1187.6728515625, + 798.3787841796875, + 520.8145141601562, + 338.3633728027344, + 226.889892578125, + 159.56857299804688, + 118.25475311279297, + 92.73567199707031, + 76.65444946289062, + 66.05496215820312, + 58.95152282714844, + 53.96533203125, + 50.3306999206543, + 47.629398345947266, + 45.60187530517578, + 43.95035934448242, + 42.65077590942383, + 41.53607177734375, + 40.585350036621094, + 39.77942657470703, + 39.1219596862793, + 38.511714935302734, + 37.949459075927734, + 37.393951416015625, + 36.922061920166016, + 36.52071762084961, + 36.10154342651367, + 35.706356048583984, + 35.31312942504883, + 35.00042724609375, + 34.65456771850586, + 34.287452697753906, + 33.945281982421875, + 33.67927932739258, + 33.45180130004883, + 33.186866760253906, + 32.91078186035156, + 32.69692611694336, + 32.55946731567383, + 32.39508819580078, + 32.2032356262207, + 32.014888763427734, + 31.80466079711914, + 31.626628875732422, + 31.448163986206055, + 31.312244415283203, + 31.157962799072266, + 31.018848419189453, + 30.902524948120117, + 30.778888702392578, + 30.636804580688477, + 30.492115020751953, + 30.13284683227539, + 29.921688079833984, + 29.800275802612305, + 29.97922134399414, + 30.027502059936523, + 29.979917526245117, + 29.86851692199707, + 29.7241268157959, + 29.62141990661621, + 29.518680572509766, + 29.490522384643555, + 29.466787338256836, + 29.448009490966797, + 29.39824676513672, + 29.37006378173828, + 29.342937469482422, + 29.27851676940918, + 29.22614097595215, + 29.191089630126953, + 29.1534481048584, + 29.058561325073242, + 28.959741592407227, + 28.919876098632812, + 28.905502319335938, + 28.83692741394043, + 28.785276412963867, + 28.763025283813477, + 28.776729583740234, + 28.739871978759766, + 28.677515029907227, + 28.654733657836914, + 28.61782455444336, + 28.532981872558594, + 28.468347549438477, + 28.4720516204834, + 28.517234802246094, + 28.48628807067871, + 28.420576095581055, + 28.375112533569336, + 28.375394821166992, + 28.396970748901367, + 28.400867462158203, + 28.38685417175293, + 28.395788192749023, + 28.392845153808594, + 28.395402908325195, + 28.360734939575195, + 28.343719482421875, + 28.31928825378418, + 28.296350479125977, + 28.241416931152344, + 28.21356773376465, + 28.233861923217773, + 28.25520896911621, + 28.2134952545166, + 28.212745666503906, + 28.21535873413086, + 28.27176284790039, + 28.266881942749023, + 28.25693130493164, + 28.246763229370117, + 28.25874137878418, + 28.260351181030273, + 28.254047393798828, + 28.250375747680664, + 28.27077865600586, + 28.313703536987305, + 28.338422775268555, + 28.39368438720703, + 28.443063735961914, + 28.50934600830078, + 28.53889274597168, + 28.558605194091797, + 28.564096450805664, + 28.561176300048828, + 28.565275192260742, + 28.55560302734375, + 28.512691497802734, + 28.50858497619629, + 28.552715301513672, + 28.561012268066406, + 28.587175369262695, + 28.610597610473633, + 28.654232025146484, + 28.666027069091797, + 28.702308654785156, + 28.778196334838867, + 28.81464958190918, + 28.838085174560547, + 28.828399658203125, + 28.84714126586914, + 28.8720645904541, + 28.890552520751953, + 28.925704956054688, + 29.014305114746094, + 29.12160301208496, + 29.208148956298828, + 29.282901763916016, + 29.33850860595703, + 29.450687408447266, + 29.546659469604492, + 29.67051124572754, + 29.784269332885742, + 29.894519805908203, + 29.988588333129883, + 30.110280990600586, + 30.27046775817871, + 30.43085479736328, + 30.59197235107422, + 30.704486846923828, + 30.838769912719727, + 31.000411987304688, + 31.179487228393555, + 31.4299259185791, + 31.672317504882812, + 31.92827033996582, + 32.19761657714844, + 32.51640701293945, + 32.86328887939453, + 33.30091094970703, + 33.795413970947266, + 34.381317138671875, + 35.1545524597168, + 36.160499572753906, + 37.375667572021484, + 39.031558990478516, + 41.4138069152832, + 44.797508239746094, + 49.90789794921875, + 57.887447357177734, + 70.10863494873047, + 89.99226379394531, + 123.5012435913086, + 176.86781311035156, + 261.4806213378906, + 390.954833984375, + 565.4776611328125, + 778.4594116210938, + 1001.501953125, + 1173.12255859375, + 1247.134765625, + 1200.9765625, + 1050.575927734375, + 837.3785400390625, + 611.5274658203125, + 422.9749755859375, + 286.7987976074219, + 192.30113220214844, + 131.90625, + 96.1778564453125, + 73.97530364990234, + 60.087158203125, + 51.660179138183594, + 46.04044723510742, + 42.21532440185547, + 39.660797119140625, + 37.790550231933594, + 36.44343185424805, + 35.4329833984375, + 34.60564422607422, + 33.871856689453125, + 33.30643081665039, + 32.860565185546875, + 32.54509735107422, + 32.239013671875, + 31.949365615844727, + 31.647186279296875, + 31.395084381103516, + 31.14438247680664, + 30.93621826171875, + 30.74098777770996, + 30.59232521057129, + 30.42967987060547, + 30.229339599609375, + 30.051013946533203, + 29.926471710205078, + 29.82940673828125, + 29.69231605529785, + 29.583702087402344, + 29.46990394592285, + 29.317840576171875, + 29.17218017578125, + 29.09775161743164, + 29.04749298095703, + 28.947235107421875, + 28.85010528564453, + 28.78856658935547, + 28.727947235107422, + 28.651506423950195, + 28.602697372436523, + 28.5643367767334, + 28.527162551879883, + 28.476333618164062, + 28.413108825683594, + 28.348716735839844, + 28.311643600463867, + 28.303800582885742, + 28.27671241760254, + 28.207901000976562, + 28.15511703491211, + 28.133487701416016, + 28.12302589416504, + 28.108959197998047, + 28.086368560791016, + 28.051156997680664, + 28.00340461730957, + 27.99357795715332, + 28.018388748168945, + 27.980222702026367, + 27.9167423248291, + 27.87669563293457, + 27.86310577392578, + 27.8330135345459, + 27.824270248413086, + 27.837604522705078, + 27.83466339111328, + 27.79109001159668, + 27.749370574951172, + 27.742761611938477, + 27.73455047607422, + 27.73688507080078, + 27.727651596069336, + 27.726818084716797, + 27.710241317749023, + 27.692399978637695, + 27.667537689208984, + 27.66058349609375, + 27.685213088989258, + 27.72330665588379, + 27.70846176147461, + 27.67197036743164, + 27.612258911132812, + 27.609495162963867, + 27.635482788085938, + 27.626445770263672, + 27.61467742919922, + 27.60677146911621, + 27.61172103881836, + 27.59600830078125, + 27.61986541748047, + 27.678634643554688, + 27.705392837524414, + 27.673095703125, + 27.661865234375, + 27.700170516967773, + 27.685022354125977, + 27.671409606933594, + 27.678163528442383, + 27.7437801361084, + 27.780628204345703, + 27.7963809967041, + 27.858694076538086, + 27.930057525634766, + 27.949342727661133, + 27.93177032470703, + 27.942686080932617, + 27.963544845581055, + 27.98468589782715, + 28.0101261138916, + 28.048093795776367, + 28.07948112487793, + 28.102712631225586, + 28.154394149780273, + 28.214750289916992, + 28.29650115966797, + 28.3794002532959, + 28.49480628967285, + 28.581676483154297, + 28.639610290527344, + 28.712326049804688, + 28.77444839477539, + 28.837892532348633, + 28.894529342651367, + 29.0070858001709, + 29.111997604370117, + 29.184391021728516, + 29.228975296020508, + 29.249561309814453, + 29.3305721282959, + 29.44025421142578, + 29.585433959960938, + 29.718931198120117, + 29.842100143432617, + 30.051687240600586, + 30.269886016845703, + 30.53338050842285, + 30.822900772094727, + 31.18357276916504, + 31.680513381958008, + 32.26888656616211, + 33.04570007324219, + 34.08531951904297, + 35.62764358520508, + 37.85483932495117, + 41.31964874267578, + 46.71352005004883, + 55.13505172729492, + 69.12893676757812, + 92.08511352539062, + 128.16354370117188, + 184.92543029785156, + 263.98724365234375, + 363.8600158691406, + 480.3432922363281, + 583.2769775390625, + 646.3880615234375, + 653.6007080078125, + 601.8587036132812, + 507.89385986328125, + 391.380615234375, + 282.9766540527344, + 199.4819793701172, + 138.84022521972656, + 98.3084945678711, + 73.2444076538086, + 57.86614990234375, + 48.34193801879883, + 42.49509811401367, + 38.79337692260742, + 36.33335494995117, + 34.730140686035156, + 33.60717010498047, + 32.752906799316406, + 32.11949920654297, + 31.636821746826172, + 31.25164222717285, + 30.987241744995117, + 30.784456253051758, + 30.606325149536133, + 30.525487899780273, + 30.4450626373291, + 30.346202850341797, + 30.17460060119629, + 30.103683471679688, + 30.021451950073242, + 29.875368118286133, + 29.66404914855957, + 29.499958038330078, + 29.360698699951172, + 29.26263427734375, + 29.188322067260742, + 29.10508155822754, + 28.99945068359375, + 28.92222023010254, + 28.857160568237305, + 28.783226013183594, + 28.708162307739258, + 28.66798210144043, + 28.62323570251465, + 28.571224212646484, + 28.525503158569336, + 28.483226776123047, + 28.470272064208984, + 28.463851928710938, + 28.446382522583008, + 28.44043731689453, + 28.44001007080078, + 28.472393035888672, + 28.449262619018555, + 28.400897979736328, + 28.351715087890625, + 28.354698181152344, + 28.37282943725586, + 28.381616592407227, + 28.364652633666992, + 28.357641220092773, + 28.33121109008789, + 28.326169967651367, + 28.319725036621094, + 28.346595764160156, + 28.34147834777832, + 28.350339889526367, + 28.316373825073242, + 28.268850326538086, + 28.248933792114258, + 28.26710319519043, + 28.286951065063477, + 28.29013442993164, + 28.29051971435547, + 28.29405975341797, + 28.325756072998047, + 28.354930877685547, + 28.41095733642578, + 28.4510555267334, + 28.479848861694336, + 28.51905632019043, + 28.541244506835938, + 28.541391372680664, + 28.51578140258789, + 28.537317276000977, + 28.617233276367188, + 28.701963424682617, + 28.74129867553711, + 28.776369094848633, + 28.82330322265625, + 28.86284637451172, + 28.858142852783203, + 28.867647171020508, + 28.91636085510254, + 29.02678680419922, + 29.102331161499023, + 29.104007720947266, + 29.122756958007812, + 29.1940975189209, + 29.338912963867188, + 29.432981491088867, + 29.526939392089844, + 29.587663650512695, + 29.667884826660156, + 29.784427642822266, + 29.953962326049805, + 30.084043502807617, + 30.187755584716797, + 30.306568145751953, + 30.44698715209961, + 30.603416442871094, + 30.74498748779297, + 30.917917251586914, + 31.085527420043945, + 31.262746810913086, + 31.439010620117188, + 31.589433670043945, + 31.802724838256836, + 32.04952621459961, + 32.29874038696289, + 32.53522491455078, + 32.82587814331055, + 33.17470169067383, + 33.5545768737793, + 34.013343811035156, + 34.517127990722656, + 35.105072021484375, + 35.88568878173828, + 36.80956268310547, + 37.91295623779297, + 39.346397399902344, + 41.28074645996094, + 43.854305267333984, + 47.590824127197266, + 53.10871124267578, + 61.546165466308594, + 74.95249938964844, + 96.53762817382812, + 131.13255310058594, + 188.39767456054688, + 279.0630798339844, + 413.8334045410156, + 608.37548828125, + 847.9635009765625, + 1105.3021240234375, + 1337.1390380859375, + 1470.2977294921875, + 1470.7762451171875, + 1334.935791015625, + 1109.0966796875, + 851.7025756835938, + 607.2396240234375, + 415.6065673828125, + 280.8244934082031, + 190.32418823242188, + 132.46937561035156, + 97.17820739746094, + 75.58599090576172, + 62.044898986816406, + 53.514644622802734, + 47.91175079345703, + 44.13679122924805, + 41.53327941894531, + 39.584564208984375, + 38.11247634887695, + 37.028324127197266, + 36.18144226074219, + 35.451446533203125, + 34.818153381347656, + 34.27104949951172, + 33.81584167480469, + 33.40209197998047, + 33.009212493896484, + 32.671630859375, + 32.41368103027344, + 32.174339294433594, + 31.94884490966797, + 31.711748123168945, + 31.51413917541504, + 31.29936408996582, + 31.097627639770508, + 30.881166458129883, + 30.681838989257812, + 30.508960723876953, + 30.372337341308594, + 30.265111923217773, + 30.134647369384766, + 29.987241744995117, + 29.787200927734375, + 29.6186580657959, + 29.526657104492188, + 29.503814697265625, + 29.452293395996094, + 29.335498809814453, + 29.239973068237305, + 29.200002670288086, + 29.149112701416016, + 29.047304153442383, + 28.977222442626953, + 28.946678161621094, + 28.884029388427734, + 28.7888240814209, + 28.721599578857422, + 28.709089279174805, + 28.709251403808594, + 28.673564910888672, + 28.5833797454834, + 28.532686233520508, + 28.5283260345459, + 28.5302677154541, + 28.501672744750977, + 28.485698699951172, + 28.478639602661133, + 28.4664363861084, + 28.441265106201172, + 28.40934181213379, + 28.364656448364258, + 28.342876434326172, + 28.374948501586914, + 28.410940170288086, + 28.451148986816406, + 28.45460319519043, + 28.45879364013672, + 28.46677017211914, + 28.453948974609375, + 28.440086364746094, + 28.433591842651367, + 28.433849334716797, + 28.43730926513672, + 28.423599243164062, + 28.455978393554688, + 28.502294540405273, + 28.537879943847656, + 28.56295394897461, + 28.587881088256836, + 28.6107120513916, + 28.668214797973633, + 28.721694946289062, + 28.758834838867188, + 28.79680061340332, + 28.865188598632812, + 28.92424964904785, + 28.98827362060547, + 29.069183349609375, + 29.123981475830078, + 29.186580657958984, + 29.26229476928711, + 29.392988204956055, + 29.518238067626953, + 29.61135482788086, + 29.693559646606445, + 29.810762405395508, + 29.97702407836914, + 30.178434371948242, + 30.351587295532227, + 30.55572509765625, + 30.778989791870117, + 31.019962310791016, + 31.343555450439453, + 31.75044059753418, + 32.26729965209961, + 32.91244888305664, + 33.732391357421875, + 34.771331787109375, + 36.29088592529297, + 38.421138763427734, + 41.54111862182617, + 46.34014129638672, + 54.0412483215332, + 66.22991943359375, + 86.3041000366211, + 119.11005401611328, + 169.3549041748047, + 245.5997772216797, + 350.0762634277344, + 476.07037353515625, + 612.9803466796875, + 727.9871215820312, + 791.1195678710938, + 785.88916015625, + 713.5305786132812, + 596.0042724609375, + 458.1394348144531, + 331.98284912109375, + 233.57826232910156, + 162.2433624267578, + 114.12566375732422, + 83.34817504882812, + 64.59529876708984, + 52.8904914855957, + 45.54267120361328, + 40.9887580871582, + 37.98680877685547, + 35.95930480957031, + 34.57265853881836, + 33.54892349243164, + 32.75115203857422, + 32.131492614746094, + 31.644025802612305, + 31.2473087310791, + 30.924179077148438, + 30.619857788085938, + 30.396770477294922, + 30.20353889465332, + 30.014469146728516, + 29.79161262512207, + 29.62868309020996, + 29.476015090942383, + 29.32341766357422, + 29.19759178161621, + 29.094804763793945, + 28.981464385986328, + 28.855859756469727, + 28.716724395751953, + 28.595211029052734, + 28.500356674194336, + 28.457866668701172, + 28.40276527404785, + 28.315229415893555, + 28.18351173400879, + 28.113937377929688, + 28.062501907348633, + 28.04766273498535, + 28.002885818481445, + 27.954742431640625, + 27.90204429626465, + 27.849674224853516, + 27.801576614379883, + 27.744184494018555, + 27.735960006713867, + 27.705595016479492, + 27.660423278808594, + 27.586923599243164, + 27.517892837524414, + 27.4918155670166, + 27.511568069458008, + 27.522846221923828, + 27.525798797607422, + 27.49652099609375, + 27.4660701751709, + 27.426057815551758, + 27.395038604736328, + 27.370824813842773, + 27.354846954345703, + 27.335111618041992, + 27.32756805419922, + 27.308122634887695, + 27.297346115112305, + 27.282577514648438, + 27.26303482055664, + 27.218013763427734, + 27.17071533203125, + 27.11455726623535, + 27.089658737182617, + 27.10132598876953, + 27.097640991210938, + 27.10997200012207, + 27.086803436279297, + 27.079792022705078, + 27.058427810668945, + 27.041980743408203, + 27.02981948852539, + 27.023963928222656, + 27.046142578125, + 27.059738159179688, + 27.02559471130371, + 26.974872589111328, + 26.945404052734375, + 26.9813232421875, + 26.986249923706055, + 26.973730087280273, + 26.971216201782227, + 26.97057342529297, + 26.97564125061035, + 26.965105056762695, + 26.96839714050293, + 26.97113609313965, + 26.9991397857666, + 26.990787506103516, + 26.953767776489258, + 26.946321487426758, + 26.979745864868164, + 27.001935958862305, + 26.992996215820312, + 26.95514678955078, + 26.944438934326172, + 26.934371948242188, + 26.913503646850586, + 26.90814781188965, + 26.929412841796875, + 26.940677642822266, + 26.932689666748047, + 26.90457534790039, + 26.898513793945312, + 26.907644271850586, + 26.937095642089844, + 26.970380783081055, + 26.960975646972656, + 26.935422897338867, + 26.933107376098633, + 26.952085494995117, + 26.9700870513916, + 26.949129104614258, + 26.927114486694336, + 26.958406448364258, + 26.99933433532715, + 27.023061752319336, + 27.0368595123291, + 27.021697998046875, + 27.011276245117188, + 27.008378982543945, + 27.008419036865234, + 27.010751724243164, + 27.002538681030273, + 27.01590347290039, + 26.99009895324707, + 26.97609519958496, + 26.975475311279297, + 26.99484634399414, + 27.016386032104492, + 27.03331184387207, + 27.031963348388672, + 27.02707290649414, + 26.991622924804688, + 26.9962158203125, + 27.029333114624023, + 27.074474334716797, + 27.08224105834961, + 27.06754493713379, + 27.05307960510254, + 27.073238372802734, + 27.09242820739746, + 27.129613876342773, + 27.131267547607422, + 27.117441177368164, + 27.089691162109375, + 27.096410751342773, + 27.149921417236328, + 27.178543090820312, + 27.18206024169922, + 27.154245376586914, + 27.161237716674805, + 27.190017700195312, + 27.234233856201172, + 27.267810821533203, + 27.276243209838867, + 27.27365493774414, + 27.282312393188477, + 27.294126510620117, + 27.273761749267578, + 27.222536087036133, + 27.233667373657227, + 27.279386520385742, + 27.305397033691406, + 27.32105255126953, + 27.3336124420166, + 27.351564407348633, + 27.337919235229492, + 27.35284423828125, + 27.370040893554688, + 27.405109405517578, + 27.442502975463867, + 27.48250961303711, + 27.49221420288086, + 27.492996215820312, + 27.504579544067383, + 27.53154754638672, + 27.55238151550293, + 27.560686111450195, + 27.593124389648438, + 27.68387794494629, + 27.746374130249023, + 27.767009735107422, + 27.743927001953125, + 27.746654510498047, + 27.807552337646484, + 27.88494110107422, + 27.96660614013672, + 28.00859260559082, + 28.004283905029297, + 28.026996612548828, + 28.073162078857422, + 28.15256690979004, + 28.17487907409668, + 28.199909210205078, + 28.267732620239258, + 28.37067222595215, + 28.457069396972656, + 28.52354621887207, + 28.61280059814453, + 28.75135612487793, + 28.88035011291504, + 29.02108383178711, + 29.153352737426758, + 29.333759307861328, + 29.57550621032715, + 29.895954132080078, + 30.2993221282959, + 30.860836029052734, + 31.671371459960938, + 32.91489791870117, + 34.73113250732422, + 37.604286193847656, + 42.24214553833008, + 49.63875198364258, + 61.492897033691406, + 80.28955078125, + 107.98927307128906, + 146.9823760986328, + 195.39437866210938, + 247.63108825683594, + 296.0213928222656, + 326.9422912597656, + 332.6581726074219, + 312.0784912109375, + 271.0589599609375, + 220.67593383789062, + 168.92147827148438, + 125.67949676513672, + 93.54518127441406, + 70.76425170898438, + 55.627010345458984, + 46.08030319213867, + 40.16730499267578, + 36.500335693359375, + 34.16960906982422, + 32.72575759887695, + 31.770462036132812, + 31.1251277923584, + 30.60329818725586, + 30.217838287353516, + 29.9368953704834, + 29.743207931518555, + 29.59418487548828, + 29.48610496520996, + 29.423553466796875, + 29.35162925720215, + 29.255563735961914, + 29.194150924682617, + 29.135765075683594, + 29.09751319885254, + 29.049551010131836, + 29.009929656982422, + 28.936555862426758, + 28.715682983398438, + 28.637964248657227, + 28.69371223449707, + 28.885021209716797, + 28.92888641357422, + 28.914945602416992, + 28.878887176513672, + 28.852205276489258, + 28.833057403564453, + 28.8394718170166, + 28.856027603149414, + 28.874347686767578, + 28.88573455810547, + 28.901500701904297, + 28.897029876708984, + 28.87115478515625, + 28.87497901916504, + 28.89010238647461, + 28.946077346801758, + 28.94659423828125, + 28.93692970275879, + 28.948774337768555, + 28.969919204711914, + 28.99677276611328, + 29.020565032958984, + 29.09853744506836, + 29.181007385253906, + 29.2271785736084, + 29.242115020751953, + 29.24744987487793, + 29.287643432617188, + 29.3275203704834, + 29.38870620727539, + 29.47980499267578, + 29.567806243896484, + 29.62708854675293, + 29.671308517456055, + 29.76995277404785, + 29.871105194091797, + 29.96587562561035, + 30.083324432373047, + 30.207427978515625, + 30.34348487854004, + 30.46128273010254, + 30.584266662597656, + 30.70716667175293, + 30.88002586364746, + 31.062355041503906, + 31.228466033935547, + 31.380165100097656, + 31.581233978271484, + 31.84882164001465, + 32.16460037231445, + 32.481475830078125, + 32.83460235595703, + 33.24335861206055, + 33.75130081176758, + 34.388912200927734, + 35.262664794921875, + 36.41632080078125, + 37.9719123840332, + 40.18708038330078, + 43.45246124267578, + 48.4015998840332, + 56.272865295410156, + 68.932861328125, + 89.13427734375, + 121.96722412109375, + 173.17648315429688, + 248.58013916015625, + 355.5830078125, + 491.4738464355469, + 639.7874755859375, + 778.68896484375, + 874.3260498046875, + 901.3409423828125, + 852.7681884765625, + 741.505126953125, + 599.7941284179688, + 453.5661926269531, + 327.6087646484375, + 231.0961151123047, + 162.58840942382812, + 116.10065460205078, + 85.52164459228516, + 66.803466796875, + 55.16712951660156, + 47.83357238769531, + 43.23392105102539, + 40.22597885131836, + 38.14151382446289, + 36.70295333862305, + 35.63054275512695, + 34.81734085083008, + 34.203880310058594, + 33.72041320800781, + 33.30658721923828, + 32.9932975769043, + 32.7149772644043, + 32.49989700317383, + 32.280029296875, + 32.0393180847168, + 31.787765502929688, + 31.61176872253418, + 31.47330665588379, + 31.34151840209961, + 31.219467163085938, + 31.114261627197266, + 31.004409790039062, + 30.895612716674805, + 30.777650833129883, + 30.67218017578125, + 30.578914642333984, + 30.500133514404297, + 30.46062469482422, + 30.397363662719727, + 30.341705322265625, + 30.279495239257812, + 30.218767166137695, + 30.129640579223633, + 30.083816528320312, + 30.03951072692871, + 30.029937744140625, + 29.998563766479492, + 29.98434829711914, + 29.95477294921875, + 29.966901779174805, + 29.987913131713867, + 29.972774505615234, + 29.940895080566406, + 29.906387329101562, + 29.91277503967285, + 29.931930541992188, + 29.97054672241211, + 30.015348434448242, + 30.034740447998047, + 30.066293716430664, + 30.099693298339844, + 30.18390655517578, + 30.236583709716797, + 30.290340423583984, + 30.364858627319336, + 30.43793296813965, + 30.521459579467773, + 30.562471389770508, + 30.63362693786621, + 30.703096389770508, + 30.804325103759766, + 30.91268539428711, + 31.038869857788086, + 31.163925170898438, + 31.297603607177734, + 31.467636108398438, + 31.670196533203125, + 31.91266441345215, + 32.19820785522461, + 32.5465202331543, + 32.95024490356445, + 33.47487258911133, + 34.18414306640625, + 35.1699333190918, + 36.5567626953125, + 38.56278991699219, + 41.5952033996582, + 46.344635009765625, + 53.92727279663086, + 66.16874694824219, + 85.94220733642578, + 116.93683624267578, + 163.50067138671875, + 230.5343780517578, + 318.8101501464844, + 420.7064514160156, + 523.55908203125, + 604.41455078125, + 643.3319091796875, + 629.9918823242188, + 569.6483764648438, + 478.64727783203125, + 375.1707458496094, + 279.3863525390625, + 202.3663330078125, + 145.2478485107422, + 105.47564697265625, + 78.633544921875, + 61.7375602722168, + 51.25611877441406, + 44.65176010131836, + 40.59398651123047, + 37.97443771362305, + 36.17081069946289, + 34.93974304199219, + 34.074153900146484, + 33.438880920410156, + 32.94423294067383, + 32.5267333984375, + 32.192440032958984, + 31.945146560668945, + 31.798337936401367, + 31.623825073242188, + 31.410465240478516, + 31.18558120727539, + 31.011802673339844, + 30.922422409057617, + 30.84233283996582, + 30.76003646850586, + 30.65275001525879, + 30.540441513061523, + 30.425891876220703, + 30.335290908813477, + 30.261486053466797, + 30.174358367919922, + 30.10762596130371, + 30.05426597595215, + 30.018136978149414, + 29.983030319213867, + 29.947559356689453, + 29.907249450683594, + 29.829160690307617, + 29.766382217407227, + 29.739749908447266, + 29.712984085083008, + 29.681005477905273, + 29.632020950317383, + 29.628576278686523, + 29.629955291748047, + 29.612449645996094, + 29.599782943725586, + 29.572542190551758, + 29.584381103515625, + 29.60010528564453, + 29.623844146728516, + 29.63200569152832, + 29.62411880493164, + 29.614444732666016, + 29.627113342285156, + 29.681161880493164, + 29.761709213256836, + 29.826862335205078, + 29.84335708618164, + 29.84384536743164, + 29.866031646728516, + 29.919214248657227, + 29.983341217041016, + 30.05490493774414, + 30.14440155029297, + 30.224693298339844, + 30.319067001342773, + 30.418460845947266, + 30.5443058013916, + 30.715845108032227, + 30.931011199951172, + 31.18033790588379, + 31.46013641357422, + 31.85785484313965, + 32.40181350708008, + 33.146026611328125, + 34.22403335571289, + 35.84642028808594, + 38.34912872314453, + 42.252906799316406, + 48.51581954956055, + 58.72309875488281, + 74.90096282958984, + 99.61295318603516, + 135.88938903808594, + 185.0778350830078, + 246.89842224121094, + 313.6701965332031, + 371.8871154785156, + 410.44476318359375, + 419.8504333496094, + 397.7478942871094, + 348.7640686035156, + 285.787109375, + 223.01870727539062, + 167.40098571777344, + 123.71073913574219, + 91.99349212646484, + 70.18706512451172, + 55.92928695678711, + 46.68495178222656, + 41.058414459228516, + 37.57670593261719, + 35.32088088989258, + 33.88691329956055, + 32.92427062988281, + 32.257232666015625, + 31.732410430908203, + 31.340896606445312, + 31.050920486450195, + 30.808734893798828, + 30.58089256286621, + 30.396028518676758, + 30.267467498779297, + 30.153085708618164, + 30.052595138549805, + 29.956439971923828, + 29.865665435791016, + 29.76466178894043, + 29.67807388305664, + 29.5979061126709, + 29.525362014770508, + 29.445341110229492, + 29.37373161315918, + 29.33759117126465, + 29.29518699645996, + 29.24016571044922, + 29.174898147583008, + 29.10487174987793, + 29.080020904541016, + 29.07044219970703, + 29.02935791015625, + 28.955333709716797, + 28.893733978271484, + 28.882728576660156, + 28.89366912841797, + 28.870494842529297, + 28.807998657226562, + 28.729389190673828, + 28.694019317626953, + 28.694063186645508, + 28.686912536621094, + 28.69822120666504, + 28.703147888183594, + 28.71933937072754, + 28.69485855102539, + 28.674785614013672, + 28.65613555908203, + 28.66495132446289, + 28.65657615661621, + 28.64690399169922, + 28.631166458129883, + 28.62150764465332, + 28.630468368530273, + 28.63376235961914, + 28.629262924194336, + 28.629039764404297, + 28.6281795501709, + 28.656089782714844, + 28.663009643554688, + 28.699983596801758, + 28.713197708129883, + 28.7391357421875, + 28.75271987915039, + 28.811355590820312, + 28.915699005126953, + 29.097469329833984, + 29.290225982666016, + 29.510597229003906, + 29.85532569885254, + 30.401287078857422, + 31.369380950927734, + 32.97676086425781, + 35.450096130371094, + 39.27863311767578, + 44.9755744934082, + 52.745452880859375, + 62.792964935302734, + 74.0224380493164, + 84.47477722167969, + 92.343994140625, + 95.3039321899414, + 93.01842498779297, + 85.86998748779297, + 75.78305053710938, + 65.0877685546875, + 55.004825592041016, + 46.931732177734375, + 40.961944580078125, + 36.66611099243164, + 33.75586700439453, + 31.878719329833984, + 30.763017654418945, + 30.08199119567871, + 29.634586334228516, + 29.352930068969727, + 29.13363265991211, + 28.992937088012695, + 28.901622772216797, + 28.88867950439453, + 28.864423751831055, + 28.832475662231445, + 28.789133071899414, + 28.77452278137207, + 28.759431838989258, + 28.73183250427246, + 28.703414916992188, + 28.679792404174805, + 28.681106567382812, + 28.697179794311523, + 28.70294952392578, + 28.698049545288086, + 28.70484161376953, + 28.69279670715332, + 28.66987419128418, + 28.641813278198242, + 28.651212692260742, + 28.665363311767578, + 28.67119598388672, + 28.691638946533203, + 28.714147567749023, + 28.75405502319336, + 28.765581130981445, + 28.7758731842041, + 28.766639709472656, + 28.770111083984375, + 28.76692771911621, + 28.756860733032227, + 28.78663444519043, + 28.83878517150879, + 28.8729248046875, + 28.888229370117188, + 28.904727935791016, + 28.962696075439453, + 29.002389907836914, + 29.03119659423828, + 29.048887252807617, + 29.076555252075195, + 29.12604331970215, + 29.165605545043945, + 29.203832626342773, + 29.22502899169922, + 29.27410316467285, + 29.326318740844727, + 29.415735244750977, + 29.50119400024414, + 29.577377319335938, + 29.674476623535156, + 29.79538917541504, + 29.94753074645996, + 30.1082763671875, + 30.302412033081055, + 30.544050216674805, + 30.897218704223633, + 31.421735763549805, + 32.13908004760742, + 33.25497055053711, + 35.010963439941406, + 37.7086296081543, + 42.08120346069336, + 49.172298431396484, + 59.97819137573242, + 76.46383666992188, + 100.28271484375, + 131.78677368164062, + 169.98683166503906, + 209.3082733154297, + 243.12158203125, + 263.9920654296875, + 266.79644775390625, + 251.98370361328125, + 222.24671936035156, + 184.92462158203125, + 147.40481567382812, + 114.09008026123047, + 87.9200210571289, + 68.70208740234375, + 55.284507751464844, + 46.166568756103516, + 40.31603240966797, + 36.72982406616211, + 34.50929260253906, + 33.08772277832031, + 32.16036605834961, + 31.558500289916992, + 31.158100128173828, + 30.86819839477539, + 30.6284122467041, + 30.46746826171875, + 30.331846237182617, + 30.245079040527344, + 30.177661895751953, + 30.14061737060547, + 30.082595825195312, + 29.996522903442383, + 29.94425392150879, + 29.917375564575195, + 29.908138275146484, + 29.866371154785156, + 29.83689308166504, + 29.81285858154297, + 29.805747985839844, + 29.7939453125, + 29.750547409057617, + 29.707265853881836, + 29.70246124267578, + 29.73244857788086, + 29.741989135742188, + 29.746599197387695, + 29.74420166015625, + 29.757396697998047, + 29.786901473999023, + 29.837657928466797, + 29.860349655151367, + 29.901771545410156, + 29.936298370361328, + 29.986478805541992, + 30.032424926757812, + 30.096115112304688, + 30.16325569152832, + 30.195960998535156, + 30.2333984375, + 30.277822494506836, + 30.325075149536133, + 30.39037322998047, + 30.478435516357422, + 30.57479476928711, + 30.696205139160156, + 30.852149963378906, + 31.006628036499023, + 31.151966094970703, + 31.30323600769043, + 31.524871826171875, + 31.768964767456055, + 32.07199478149414, + 32.430416107177734, + 32.93757247924805, + 33.6138801574707, + 34.55840301513672, + 35.89319610595703, + 37.90732955932617, + 41.013065338134766, + 45.93663024902344, + 53.85235595703125, + 66.56277465820312, + 86.48184204101562, + 116.81478881835938, + 160.83721923828125, + 220.1365203857422, + 294.63861083984375, + 375.1969909667969, + 447.5987243652344, + 498.7383117675781, + 516.3305053710938, + 496.8477783203125, + 444.4722595214844, + 372.060546875, + 295.14520263671875, + 224.01486206054688, + 166.31808471679688, + 122.86904907226562, + 91.78929901123047, + 70.57913208007812, + 56.417057037353516, + 47.630577087402344, + 42.14964294433594, + 38.66552734375, + 36.464500427246094, + 35.013771057128906, + 33.9697380065918, + 33.23862075805664, + 32.693729400634766, + 32.28078079223633, + 31.922046661376953, + 31.653141021728516, + 31.4528751373291, + 31.28447723388672, + 31.110910415649414, + 30.9545955657959, + 30.807344436645508, + 30.69339942932129, + 30.607521057128906, + 30.536775588989258, + 30.43682861328125, + 30.350074768066406, + 30.273597717285156, + 30.1899471282959, + 30.096633911132812, + 30.01470375061035, + 29.93787956237793, + 29.865690231323242, + 29.802709579467773, + 29.74529266357422, + 29.69835662841797, + 29.637123107910156, + 29.57600212097168, + 29.503421783447266, + 29.437171936035156, + 29.38759994506836, + 29.365488052368164, + 29.333038330078125, + 29.313121795654297, + 29.277490615844727, + 29.251497268676758, + 29.235279083251953, + 29.258506774902344, + 29.265853881835938, + 29.238452911376953, + 29.181325912475586, + 29.13569450378418, + 29.094829559326172, + 29.05992317199707, + 29.04991340637207, + 29.035511016845703, + 29.0283260345459, + 29.010845184326172, + 29.003421783447266, + 28.98662757873535, + 28.978050231933594, + 28.96298599243164, + 28.9501953125, + 28.925357818603516, + 28.913421630859375, + 28.906023025512695, + 28.90715980529785, + 28.884729385375977, + 28.864643096923828, + 28.856914520263672, + 28.858551025390625, + 28.85746955871582, + 28.834922790527344, + 28.828536987304688, + 28.833669662475586, + 28.84366798400879, + 28.862876892089844, + 28.843219757080078, + 28.807723999023438, + 28.762908935546875, + 28.784278869628906, + 28.814319610595703, + 28.82938575744629, + 28.80011558532715, + 28.784229278564453, + 28.77916717529297, + 28.769123077392578, + 28.739246368408203, + 28.746295928955078, + 28.769020080566406, + 28.794347763061523, + 28.795515060424805, + 28.804222106933594, + 28.82859992980957, + 28.835895538330078, + 28.84247589111328, + 28.84349250793457, + 28.85280990600586, + 28.842805862426758, + 28.831804275512695, + 28.82915496826172, + 28.82978057861328, + 28.827585220336914, + 28.80827522277832, + 28.826269149780273, + 28.850698471069336, + 28.892105102539062, + 28.9094181060791, + 28.92119598388672, + 28.909603118896484, + 28.926725387573242, + 28.921354293823242, + 28.907411575317383, + 28.891693115234375, + 28.885066986083984, + 28.908979415893555, + 28.915422439575195, + 28.935518264770508, + 28.919326782226562, + 28.93703842163086, + 28.965641021728516, + 29.00443458557129, + 29.02872657775879, + 29.038835525512695, + 29.063894271850586, + 29.07276153564453, + 29.104154586791992, + 29.119781494140625, + 29.12186622619629, + 29.134023666381836, + 29.14988136291504, + 29.172203063964844, + 29.222150802612305, + 29.270654678344727, + 29.336135864257812, + 29.37772560119629, + 29.44633674621582, + 29.495073318481445, + 29.567291259765625, + 29.677860260009766, + 29.85262680053711, + 30.081005096435547, + 30.40406036376953, + 30.945505142211914, + 31.783159255981445, + 33.11006546020508, + 35.1986198425293, + 38.468177795410156, + 43.4009895324707, + 50.44151306152344, + 59.89277648925781, + 71.63851165771484, + 84.0514144897461, + 95.41179656982422, + 103.75814819335938, + 106.71353149414062, + 103.98152160644531, + 96.2049789428711, + 85.47077178955078, + 73.45314025878906, + 62.00308609008789, + 52.67593002319336, + 45.57542419433594, + 40.26872634887695, + 36.55724334716797, + 34.09657287597656, + 32.5506706237793, + 31.56980323791504, + 30.976972579956055, + 30.58831214904785, + 30.326251983642578, + 30.155799865722656, + 30.050321578979492, + 29.9595947265625, + 29.88959503173828, + 29.857046127319336, + 29.857749938964844, + 29.860197067260742, + 29.835342407226562, + 29.81558609008789, + 29.81177520751953, + 29.842008590698242, + 29.87232208251953, + 29.879417419433594, + 29.883760452270508, + 29.905847549438477, + 29.94163703918457, + 29.97940444946289, + 29.965620040893555, + 29.96569061279297, + 29.990772247314453, + 30.057331085205078, + 30.08119773864746, + 30.079063415527344, + 30.063650131225586, + 30.09963035583496, + 30.18347930908203, + 30.25446891784668, + 30.30783462524414, + 30.339847564697266, + 30.392810821533203, + 30.445030212402344, + 30.52018928527832, + 30.591825485229492, + 30.661592483520508, + 30.734107971191406, + 30.85283660888672, + 30.983383178710938, + 31.06580352783203, + 31.173131942749023, + 31.343700408935547, + 31.572589874267578, + 31.80203628540039, + 32.06095504760742, + 32.4192008972168, + 32.89849853515625, + 33.578243255615234, + 34.540489196777344, + 35.94382095336914, + 38.06315994262695, + 41.44985580444336, + 46.86662673950195, + 55.50145721435547, + 69.09000396728516, + 89.62156677246094, + 119.40182495117188, + 160.50564575195312, + 211.45278930664062, + 268.79510498046875, + 324.6565246582031, + 366.5997314453125, + 387.0666809082031, + 382.53289794921875, + 354.92315673828125, + 309.053955078125, + 253.54957580566406, + 200.14476013183594, + 154.0668487548828, + 117.09932708740234, + 89.50590515136719, + 69.88327026367188, + 56.48881912231445, + 47.622371673583984, + 41.999141693115234, + 38.561492919921875, + 36.37866973876953, + 34.981571197509766, + 34.055381774902344, + 33.40375518798828, + 32.906612396240234, + 32.50883865356445, + 32.224853515625, + 32.025848388671875, + 31.880828857421875, + 31.72968101501465, + 31.59181785583496, + 31.493288040161133, + 31.430269241333008, + 31.365779876708984, + 31.289127349853516, + 31.223241806030273, + 31.17844581604004, + 31.14813995361328, + 31.106420516967773, + 31.08904266357422, + 31.074756622314453, + 31.036449432373047, + 30.987607955932617, + 30.959001541137695, + 30.948881149291992, + 30.927330017089844, + 30.900863647460938, + 30.890331268310547, + 30.917911529541016, + 30.952320098876953, + 30.93143081665039, + 30.925426483154297, + 30.954833984375, + 31.010852813720703, + 31.061981201171875, + 31.109922409057617, + 31.149341583251953, + 31.17387580871582, + 31.246074676513672, + 31.37786102294922, + 31.511751174926758, + 31.668508529663086, + 31.89113998413086, + 32.17825698852539, + 32.53477096557617, + 33.023231506347656, + 33.72785186767578, + 34.79678726196289, + 36.42057800292969, + 38.96210479736328, + 43.07746887207031, + 49.72191619873047, + 60.05735778808594, + 75.82889556884766, + 98.73146057128906, + 130.0057373046875, + 169.75816345214844, + 213.8543243408203, + 256.7907409667969, + 290.3716125488281, + 307.7770690917969, + 306.0857849121094, + 286.26220703125, + 252.7557373046875, + 211.1652069091797, + 169.14688110351562, + 132.56272888183594, + 103.07439422607422, + 80.4866943359375, + 63.876625061035156, + 52.4672966003418, + 44.97917175292969, + 40.0562629699707, + 37.03837585449219, + 35.13416290283203, + 33.900909423828125, + 33.09694290161133, + 32.548248291015625, + 32.148990631103516, + 31.84808921813965, + 31.610923767089844, + 31.421972274780273, + 31.286449432373047, + 31.163694381713867, + 31.06258201599121, + 30.98638153076172, + 30.884389877319336, + 30.79766273498535, + 30.728309631347656, + 30.690998077392578, + 30.6187744140625, + 30.54293441772461, + 30.508041381835938, + 30.48360252380371, + 30.445505142211914, + 30.371448516845703, + 30.312551498413086, + 30.31084632873535, + 30.311674118041992, + 30.302288055419922, + 30.28911590576172, + 30.2708683013916, + 30.249156951904297, + 30.23150062561035, + 30.22079849243164, + 30.2027530670166, + 30.178956985473633, + 30.1860294342041, + 30.2117919921875, + 30.224647521972656, + 30.224668502807617, + 30.220396041870117, + 30.246416091918945, + 30.274532318115234, + 30.3455810546875, + 30.447237014770508, + 30.600305557250977, + 30.772687911987305, + 31.041536331176758, + 31.469263076782227, + 32.11073684692383, + 33.09281539916992, + 34.633541107177734, + 37.10132598876953, + 41.00379943847656, + 46.95497131347656, + 55.56465148925781, + 67.40896606445312, + 82.44755554199219, + 99.17051696777344, + 115.81366729736328, + 129.0194091796875, + 136.2020721435547, + 136.02809143066406, + 128.971435546875, + 116.77609252929688, + 101.10784149169922, + 84.95293426513672, + 70.70428466796875, + 59.062767028808594, + 50.12998580932617, + 43.50055694580078, + 38.871212005615234, + 35.770633697509766, + 33.73649215698242, + 32.48900604248047, + 31.71725082397461, + 31.192989349365234, + 30.830825805664062, + 30.60009765625, + 30.45466423034668, + 30.341585159301758, + 30.253192901611328, + 30.18500328063965, + 30.164819717407227, + 30.141441345214844, + 30.1273193359375, + 30.08716583251953, + 30.0497989654541, + 30.021034240722656, + 30.001924514770508, + 30.008665084838867, + 30.008684158325195, + 30.001453399658203, + 30.00537872314453, + 30.01686668395996, + 30.002084732055664, + 29.98275375366211, + 29.984909057617188, + 29.99074363708496, + 29.992298126220703, + 29.989545822143555, + 29.999526977539062, + 30.013416290283203, + 30.055477142333984, + 30.09935188293457, + 30.102510452270508, + 30.097341537475586, + 30.12301254272461, + 30.16337776184082, + 30.233917236328125, + 30.321443557739258, + 30.41358184814453, + 30.486122131347656, + 30.56496238708496, + 30.70400047302246, + 30.90816307067871, + 31.15389633178711, + 31.476919174194336, + 31.975400924682617, + 32.795379638671875, + 34.05553436279297, + 36.026344299316406, + 39.12825012207031, + 43.99092102050781, + 51.4063720703125, + 62.299190521240234, + 77.12800598144531, + 96.21774291992188, + 118.7330322265625, + 141.08355712890625, + 159.8408660888672, + 171.6062774658203, + 174.38890075683594, + 167.8081817626953, + 152.82962036132812, + 132.83380126953125, + 111.36891174316406, + 91.2326431274414, + 74.51142883300781, + 61.37425231933594, + 51.50141143798828, + 44.43407440185547, + 39.535133361816406, + 36.35798263549805, + 34.35488510131836, + 33.08195877075195, + 32.30260467529297, + 31.803098678588867, + 31.48891258239746, + 31.271883010864258, + 31.084871292114258, + 30.95688247680664, + 30.85614013671875, + 30.794601440429688, + 30.71266746520996, + 30.675952911376953, + 30.668628692626953, + 30.644506454467773, + 30.615478515625, + 30.59978675842285, + 30.59548568725586, + 30.594602584838867, + 30.575599670410156, + 30.595500946044922, + 30.618057250976562, + 30.648372650146484, + 30.67122459411621, + 30.68201446533203, + 30.703899383544922, + 30.729785919189453, + 30.778493881225586, + 30.818994522094727, + 30.842891693115234, + 30.876222610473633, + 30.944387435913086, + 31.042036056518555, + 31.14769744873047, + 31.244224548339844, + 31.324338912963867, + 31.417949676513672, + 31.528852462768555, + 31.703649520874023, + 31.94601058959961, + 32.258365631103516, + 32.67007827758789, + 33.24946975708008, + 34.09284591674805, + 35.332664489746094, + 37.23162841796875, + 40.258399963378906, + 45.110164642333984, + 52.83449172973633, + 64.7091064453125, + 82.17613983154297, + 107.22720336914062, + 140.29383850097656, + 180.78150939941406, + 224.7708282470703, + 264.5953063964844, + 294.34027099609375, + 308.3267517089844, + 304.06805419921875, + 282.9621887207031, + 248.74269104003906, + 208.91165161132812, + 168.80369567871094, + 133.19049072265625, + 104.39984130859375, + 82.1041488647461, + 65.63358306884766, + 53.86428451538086, + 45.932395935058594, + 40.874603271484375, + 37.6680908203125, + 35.59897232055664, + 34.309696197509766, + 33.44706344604492, + 32.8803596496582, + 32.44366455078125, + 32.13410949707031, + 31.913755416870117, + 31.751781463623047, + 31.61446762084961, + 31.496784210205078, + 31.3846378326416, + 31.29560661315918, + 31.225255966186523, + 31.167312622070312, + 31.102481842041016, + 31.027673721313477, + 30.966474533081055, + 30.92737579345703, + 30.895906448364258, + 30.872392654418945, + 30.857791900634766, + 30.830345153808594, + 30.773900985717773, + 30.729040145874023, + 30.7053165435791, + 30.6882266998291, + 30.675561904907227, + 30.66362953186035, + 30.64162826538086, + 30.606624603271484, + 30.619544982910156, + 30.65398597717285, + 30.716901779174805, + 30.772863388061523, + 30.838336944580078, + 30.924869537353516, + 31.038951873779297, + 31.19607925415039, + 31.43889617919922, + 31.829547882080078, + 32.413970947265625, + 33.361419677734375, + 34.878562927246094, + 37.271453857421875, + 41.009769439697266, + 46.6965446472168, + 55.16012954711914, + 67.03713989257812, + 82.71333312988281, + 101.31275177001953, + 120.91876220703125, + 138.95069885253906, + 151.4991912841797, + 156.82290649414062, + 154.1961212158203, + 144.13339233398438, + 128.7662353515625, + 110.25204467773438, + 92.20721435546875, + 76.38623046875, + 63.280784606933594, + 53.29059600830078, + 45.76164627075195, + 40.47312545776367, + 36.921180725097656, + 34.57726287841797, + 33.10329818725586, + 32.192848205566406, + 31.6025390625, + 31.19041633605957, + 30.887800216674805, + 30.67595100402832, + 30.53681182861328, + 30.424049377441406, + 30.3355712890625, + 30.251615524291992, + 30.17924690246582, + 30.111038208007812, + 30.055335998535156, + 29.991195678710938, + 29.939844131469727, + 29.92766571044922, + 29.90761375427246, + 29.858957290649414, + 29.800905227661133, + 29.76039695739746, + 29.72728157043457, + 29.701068878173828, + 29.698884963989258, + 29.695486068725586, + 29.680057525634766, + 29.660438537597656, + 29.647714614868164, + 29.64533042907715, + 29.617334365844727, + 29.593433380126953, + 29.561002731323242, + 29.54296875, + 29.504396438598633, + 29.476119995117188, + 29.452245712280273, + 29.45525360107422, + 29.453638076782227, + 29.437393188476562, + 29.42730712890625, + 29.41933250427246, + 29.420446395874023, + 29.403276443481445, + 29.39614486694336, + 29.391687393188477, + 29.37838363647461, + 29.350387573242188, + 29.329280853271484, + 29.292280197143555, + 29.281661987304688, + 29.28319549560547, + 29.301307678222656, + 29.290061950683594, + 29.281639099121094, + 29.28723907470703, + 29.27684211730957, + 29.283010482788086, + 29.29150390625, + 29.308881759643555, + 29.290740966796875, + 29.29247283935547, + 29.301944732666016, + 29.305410385131836, + 29.295475006103516, + 29.285640716552734, + 29.284893035888672, + 29.284631729125977, + 29.2845401763916, + 29.280197143554688, + 29.281862258911133, + 29.287948608398438, + 29.293222427368164, + 29.29410171508789, + 29.30923080444336, + 29.303787231445312, + 29.33067512512207, + 29.3347225189209, + 29.337751388549805, + 29.304676055908203, + 29.28465461730957, + 29.286672592163086, + 29.317447662353516, + 29.36425018310547, + 29.39453887939453, + 29.41646385192871, + 29.435068130493164, + 29.461275100708008, + 29.478384017944336, + 29.498502731323242, + 29.504356384277344, + 29.53302001953125, + 29.549938201904297, + 29.55924415588379, + 29.565200805664062, + 29.589094161987305, + 29.615375518798828, + 29.630901336669922, + 29.644054412841797, + 29.66581916809082, + 29.69855308532715, + 29.76871681213379, + 29.883926391601562, + 30.025068283081055, + 30.188310623168945, + 30.453670501708984, + 30.875247955322266, + 31.537160873413086, + 32.55244445800781, + 34.1518669128418, + 36.60179901123047, + 40.31931686401367, + 45.696083068847656, + 52.93044662475586, + 62.054534912109375, + 72.3892593383789, + 82.35545349121094, + 90.37982177734375, + 95.16622924804688, + 95.8590087890625, + 92.46504974365234, + 85.55970001220703, + 76.62902069091797, + 67.035888671875, + 58.052310943603516, + 50.534549713134766, + 44.53947830200195, + 39.95093536376953, + 36.55950927734375, + 34.20106506347656, + 32.663963317871094, + 31.7056827545166, + 31.08642578125, + 30.657472610473633, + 30.364974975585938, + 30.20408058166504, + 30.11141586303711, + 30.043100357055664, + 29.987628936767578, + 29.926048278808594, + 29.87297821044922, + 29.848922729492188, + 29.860212326049805, + 29.867809295654297, + 29.836673736572266, + 29.8248348236084, + 29.81886863708496, + 29.821577072143555, + 29.826080322265625, + 29.82938575744629, + 29.87070083618164, + 29.910343170166016, + 29.91452407836914, + 29.901151657104492, + 29.881969451904297, + 29.88119125366211, + 29.8718318939209, + 29.883445739746094, + 29.90826988220215, + 29.94638442993164, + 29.961620330810547, + 30.000471115112305, + 30.066600799560547, + 30.14047622680664, + 30.204700469970703, + 30.29452133178711, + 30.444549560546875, + 30.638708114624023, + 30.92572784423828, + 31.41446876525879, + 32.15808868408203, + 33.30394744873047, + 35.120452880859375, + 37.92226028442383, + 42.0528564453125, + 47.886329650878906, + 55.61728286743164, + 64.98967742919922, + 75.0447769165039, + 84.41014099121094, + 91.51151275634766, + 95.02832794189453, + 94.56305694580078, + 90.27857208251953, + 83.05717468261719, + 74.11333465576172, + 64.95442962646484, + 56.62299728393555, + 49.609580993652344, + 43.98111343383789, + 39.67977523803711, + 36.541683197021484, + 34.35750961303711, + 32.92546844482422, + 32.030364990234375, + 31.461528778076172, + 31.12028694152832, + 30.904544830322266, + 30.768056869506836, + 30.69576072692871, + 30.666255950927734, + 30.630237579345703, + 30.59177589416504, + 30.57338523864746, + 30.560829162597656, + 30.572086334228516, + 30.6099910736084, + 30.63511085510254, + 30.634199142456055, + 30.65355110168457, + 30.677104949951172, + 30.7001953125, + 30.726335525512695, + 30.806039810180664, + 30.86382484436035, + 30.91120147705078, + 30.94740867614746, + 30.996864318847656, + 31.050704956054688, + 31.10665512084961, + 31.20282745361328, + 31.342660903930664, + 31.488353729248047, + 31.623319625854492, + 31.801137924194336, + 32.06563186645508, + 32.41929626464844, + 32.893184661865234, + 33.54471969604492, + 34.497535705566406, + 35.949310302734375, + 38.23460006713867, + 41.83162307739258, + 47.53854751586914, + 56.30129623413086, + 69.38899993896484, + 88.25814819335938, + 113.96260070800781, + 146.5459747314453, + 183.52720642089844, + 220.51039123535156, + 251.54110717773438, + 271.4410705566406, + 277.1863708496094, + 267.9077453613281, + 245.85006713867188, + 215.16737365722656, + 180.9415283203125, + 147.81011962890625, + 118.7743911743164, + 94.90225219726562, + 76.12511444091797, + 61.92520523071289, + 51.62327194213867, + 44.59071731567383, + 39.97676086425781, + 37.04663848876953, + 35.22992706298828, + 34.10171890258789, + 33.400535583496094, + 32.89287567138672, + 32.52018356323242, + 32.24696731567383, + 32.05307388305664, + 31.89338493347168, + 31.732301712036133, + 31.588655471801758, + 31.505661010742188, + 31.470060348510742, + 31.422119140625, + 31.34550666809082, + 31.272415161132812, + 31.21467399597168, + 31.158802032470703, + 31.126232147216797, + 31.124635696411133, + 31.14678382873535, + 31.126291275024414, + 31.089197158813477, + 31.060487747192383, + 31.07082748413086, + 31.076616287231445, + 31.103418350219727, + 31.098783493041992, + 31.118318557739258, + 31.200668334960938, + 31.348447799682617, + 31.523101806640625, + 31.746912002563477, + 32.0958366394043, + 32.651607513427734, + 33.523502349853516, + 34.90431213378906, + 37.08539962768555, + 40.45726013183594, + 45.571006774902344, + 53.1169319152832, + 63.58092498779297, + 77.10919189453125, + 92.95917510986328, + 109.38720703125, + 124.05850219726562, + 134.4947509765625, + 138.90406799316406, + 136.68527221679688, + 128.493896484375, + 116.01158905029297, + 101.43350219726562, + 86.73136901855469, + 73.49887084960938, + 62.286441802978516, + 53.26153564453125, + 46.27127456665039, + 41.09891891479492, + 37.454280853271484, + 35.0238037109375, + 33.431400299072266, + 32.43915939331055, + 31.825885772705078, + 31.443222045898438, + 31.193140029907227, + 31.020339965820312, + 30.872352600097656, + 30.715625762939453, + 30.60443115234375, + 30.553071975708008, + 30.503637313842773, + 30.44032096862793, + 30.373369216918945, + 30.329936981201172, + 30.296709060668945, + 30.29262351989746, + 30.272048950195312, + 30.231220245361328, + 30.191919326782227, + 30.18286895751953, + 30.183319091796875, + 30.1398983001709, + 30.105602264404297, + 30.083450317382812, + 30.03472900390625, + 29.990739822387695, + 29.996898651123047, + 30.014347076416016, + 30.00588607788086, + 29.993999481201172, + 29.987764358520508, + 29.968761444091797, + 29.943681716918945, + 29.929588317871094, + 29.944658279418945, + 29.943050384521484, + 29.896310806274414, + 29.864744186401367, + 29.88098907470703, + 29.92298698425293, + 29.93316078186035, + 29.92523193359375, + 29.910078048706055, + 29.90195655822754, + 29.916452407836914, + 29.92706871032715, + 29.917139053344727, + 29.89938735961914, + 29.874343872070312, + 29.860614776611328, + 29.890443801879883, + 29.93960189819336, + 29.925859451293945, + 29.87398910522461, + 29.843910217285156, + 29.84639549255371, + 29.88616943359375, + 29.947729110717773, + 29.979827880859375, + 29.9876766204834, + 29.982397079467773, + 29.970134735107422, + 29.955596923828125, + 29.974613189697266, + 30.034868240356445, + 30.119930267333984, + 30.149742126464844, + 30.1323299407959, + 30.12746238708496, + 30.165176391601562, + 30.197891235351562, + 30.221210479736328, + 30.25600242614746, + 30.280742645263672, + 30.277450561523438, + 30.316062927246094, + 30.38261604309082, + 30.410045623779297, + 30.436790466308594, + 30.491361618041992, + 30.57541847229004, + 30.65169906616211, + 30.73640251159668, + 30.83116340637207, + 30.94415855407715, + 31.06231689453125, + 31.21202278137207, + 31.423091888427734, + 31.72030258178711, + 32.09766387939453, + 32.63555145263672, + 33.47053909301758, + 34.783687591552734, + 36.82737731933594, + 40.0123176574707, + 44.90111541748047, + 52.2803840637207, + 63.18857192993164, + 78.4337158203125, + 98.6996841430664, + 123.12550354003906, + 149.88333129882812, + 175.52471923828125, + 195.9293212890625, + 207.90818786621094, + 209.39041137695312, + 200.7215576171875, + 183.69833374023438, + 161.4517059326172, + 137.45645141601562, + 114.61248779296875, + 94.57335662841797, + 77.85812377929688, + 64.3421401977539, + 53.90624237060547, + 46.28852462768555, + 40.98337936401367, + 37.48907470703125, + 35.267154693603516, + 33.86491394042969, + 32.948875427246094, + 32.33651351928711, + 31.925933837890625, + 31.657672882080078, + 31.496755599975586, + 31.378671646118164, + 31.27280616760254, + 31.15193748474121, + 31.01993179321289, + 30.942855834960938, + 30.930173873901367, + 30.92750358581543, + 30.859092712402344, + 30.780820846557617, + 30.760467529296875, + 30.742170333862305, + 30.710725784301758, + 30.708927154541016, + 30.717426300048828, + 30.702795028686523, + 30.681650161743164, + 30.655948638916016, + 30.6320743560791, + 30.628360748291016, + 30.70387077331543, + 30.822614669799805, + 30.95932960510254, + 31.11018943786621, + 31.327072143554688, + 31.699575424194336, + 32.36483383178711, + 33.453575134277344, + 35.09557342529297, + 37.52993392944336, + 41.0968017578125, + 46.243125915527344, + 53.107078552246094, + 61.573081970214844, + 70.9297103881836, + 80.02552032470703, + 87.60941314697266, + 92.44087982177734, + 93.80883026123047, + 91.50554656982422, + 86.11131286621094, + 78.68717193603516, + 70.32294464111328, + 62.01930618286133, + 54.576194763183594, + 48.31974792480469, + 43.26261901855469, + 39.29576110839844, + 36.30482482910156, + 34.16850280761719, + 32.74081039428711, + 31.855438232421875, + 31.306886672973633, + 30.936166763305664, + 30.70450210571289, + 30.58814811706543, + 30.495302200317383, + 30.372556686401367, + 30.269275665283203, + 30.19745635986328, + 30.1102352142334, + 30.038921356201172, + 30.046554565429688, + 30.05372428894043, + 30.015830993652344, + 29.97941017150879, + 29.96113395690918, + 29.94439125061035, + 29.923648834228516, + 29.885568618774414, + 29.867403030395508, + 29.87607765197754, + 29.873023986816406, + 29.82857322692871, + 29.7803897857666, + 29.767974853515625, + 29.77971076965332, + 29.78388786315918, + 29.77569580078125, + 29.746135711669922, + 29.71056365966797, + 29.699087142944336, + 29.678573608398438, + 29.654417037963867, + 29.654272079467773, + 29.679794311523438, + 29.6917781829834, + 29.699716567993164, + 29.69624137878418, + 29.66395378112793, + 29.63796615600586, + 29.630884170532227, + 29.641338348388672, + 29.6804141998291, + 29.691904067993164, + 29.651639938354492, + 29.615215301513672, + 29.609403610229492, + 29.59332847595215, + 29.598363876342773, + 29.623661041259766, + 29.648143768310547, + 29.65839385986328, + 29.66329574584961, + 29.673433303833008, + 29.6809139251709, + 29.689794540405273, + 29.680795669555664, + 29.628217697143555, + 29.593156814575195, + 29.599058151245117, + 29.59548568725586, + 29.618467330932617, + 29.67373275756836, + 29.68777847290039, + 29.662336349487305, + 29.663410186767578, + 29.683473587036133, + 29.689170837402344, + 29.726049423217773, + 29.772594451904297, + 29.756860733032227, + 29.7004337310791, + 29.688514709472656, + 29.72561264038086, + 29.770599365234375, + 29.783185958862305, + 29.783666610717773, + 29.796918869018555, + 29.79047966003418, + 29.774127960205078, + 29.8054256439209, + 29.853134155273438, + 29.888282775878906, + 30.0013370513916, + 30.189212799072266, + 30.362707138061523, + 30.597326278686523, + 31.04859161376953, + 31.74017333984375, + 32.72731018066406, + 34.18579864501953, + 36.31795120239258, + 39.32401657104492, + 43.16366958618164, + 47.62659454345703, + 52.3729248046875, + 56.73728942871094, + 60.14522933959961, + 61.97848892211914, + 61.98883819580078, + 60.21903991699219, + 57.075279235839844, + 53.15742874145508, + 49.0327262878418, + 45.17737579345703, + 41.79214859008789, + 38.842891693115234, + 36.38636779785156, + 34.50272750854492, + 33.13079071044922, + 32.118289947509766, + 31.391626358032227, + 30.9219913482666, + 30.64263343811035, + 30.502445220947266, + 30.42673683166504, + 30.378087997436523, + 30.33424949645996, + 30.312633514404297, + 30.332630157470703, + 30.36896514892578, + 30.38372802734375, + 30.377832412719727, + 30.3573055267334, + 30.35792350769043, + 30.383949279785156, + 30.39093017578125, + 30.39678955078125, + 30.429962158203125, + 30.460590362548828, + 30.513051986694336, + 30.583457946777344, + 30.626291275024414, + 30.661497116088867, + 30.73893928527832, + 30.887897491455078, + 31.094022750854492, + 31.33904457092285, + 31.6993350982666, + 32.2338981628418, + 32.96959686279297, + 34.08122634887695, + 35.819087982177734, + 38.52654266357422, + 42.626041412353516, + 48.65345001220703, + 57.22907257080078, + 68.69817352294922, + 83.02875518798828, + 99.05548858642578, + 115.12702178955078, + 129.03585815429688, + 138.5380401611328, + 142.41156005859375, + 139.8553924560547, + 131.96270751953125, + 120.05548858642578, + 105.99380493164062, + 91.73983764648438, + 78.60457611083984, + 67.1855697631836, + 57.66878128051758, + 49.99085998535156, + 44.056236267089844, + 39.73713302612305, + 36.72303009033203, + 34.740909576416016, + 33.42717361450195, + 32.596954345703125, + 32.10026168823242, + 31.828550338745117, + 31.653108596801758, + 31.457073211669922, + 31.275426864624023, + 31.185197830200195, + 31.151697158813477, + 31.108333587646484, + 31.050832748413086, + 31.04364776611328, + 31.062541961669922, + 31.041959762573242, + 31.006858825683594, + 31.00827980041504, + 31.04642105102539, + 31.08395004272461, + 31.103137969970703, + 31.129619598388672, + 31.189556121826172, + 31.300373077392578, + 31.423797607421875, + 31.543546676635742, + 31.76411247253418, + 32.11838150024414, + 32.602874755859375, + 33.35166931152344, + 34.61155700683594, + 36.565006256103516, + 39.55615234375, + 43.983795166015625, + 50.49660873413086, + 59.51631546020508, + 71.2252197265625, + 85.3969497680664, + 100.66380310058594, + 115.4273681640625, + 127.63765716552734, + 135.44168090820312, + 137.6201171875, + 133.7191925048828, + 124.9847412109375, + 112.91549682617188, + 99.40792083740234, + 86.14344787597656, + 74.16242980957031, + 63.9048957824707, + 55.28645706176758, + 48.33675003051758, + 42.922698974609375, + 38.89463424682617, + 36.09357833862305, + 34.3106689453125, + 33.20413589477539, + 32.48525619506836, + 31.987462997436523, + 31.679241180419922, + 31.47954750061035, + 31.341320037841797, + 31.264053344726562, + 31.189842224121094, + 31.07748794555664, + 30.971033096313477, + 30.9276123046875, + 30.930959701538086, + 30.925317764282227, + 30.904726028442383, + 30.883453369140625, + 30.881572723388672, + 30.91551971435547, + 30.96372413635254, + 31.015888214111328, + 31.056142807006836, + 31.103010177612305, + 31.21661376953125, + 31.346715927124023, + 31.459020614624023, + 31.63990592956543, + 32.02668380737305, + 32.70412063598633, + 33.756065368652344, + 35.361995697021484, + 37.75677490234375, + 41.31722640991211, + 46.443199157714844, + 53.66301345825195, + 62.932777404785156, + 74.0482177734375, + 86.00440979003906, + 97.41117858886719, + 106.7637939453125, + 112.49771118164062, + 113.87643432617188, + 110.6514892578125, + 103.80269622802734, + 94.47879028320312, + 84.01749420166016, + 73.77191925048828, + 64.49361419677734, + 56.488197326660156, + 49.795413970947266, + 44.346435546875, + 40.10848617553711, + 36.996891021728516, + 34.7722053527832, + 33.3154182434082, + 32.44480895996094, + 31.898208618164062, + 31.48446273803711, + 31.17637825012207, + 30.97572898864746, + 30.879886627197266, + 30.8364200592041, + 30.760709762573242, + 30.683929443359375, + 30.65656852722168, + 30.678680419921875, + 30.710201263427734, + 30.684696197509766, + 30.614280700683594, + 30.565387725830078, + 30.538223266601562, + 30.532794952392578, + 30.54606819152832, + 30.55691146850586, + 30.5502872467041, + 30.55643081665039, + 30.63329315185547, + 30.766565322875977, + 30.903278350830078, + 31.094247817993164, + 31.416339874267578, + 31.967443466186523, + 32.802520751953125, + 34.02378463745117, + 35.794376373291016, + 38.46184539794922, + 42.25089645385742, + 47.278289794921875, + 53.40412902832031, + 60.151527404785156, + 66.8056869506836, + 72.38545989990234, + 76.12001037597656, + 77.55591583251953, + 76.35692596435547, + 72.9909896850586, + 68.0486831665039, + 62.247337341308594, + 56.28281784057617, + 50.787540435791016, + 46.02597427368164, + 42.00794219970703, + 38.78084945678711, + 36.186309814453125, + 34.22465133666992, + 32.84701919555664, + 31.94753074645996, + 31.3541259765625, + 30.9669246673584, + 30.671510696411133, + 30.478626251220703, + 30.419002532958984, + 30.445100784301758, + 30.445066452026367, + 30.388845443725586, + 30.290945053100586, + 30.174518585205078, + 30.1345272064209, + 30.172639846801758, + 30.214780807495117, + 30.22606086730957, + 30.182825088500977, + 30.13435173034668, + 30.149267196655273, + 30.18755531311035, + 30.200410842895508, + 30.198537826538086, + 30.20624542236328, + 30.232688903808594, + 30.258676528930664, + 30.31012535095215, + 30.425209045410156, + 30.639495849609375, + 31.025375366210938, + 31.64111328125, + 32.514652252197266, + 33.755775451660156, + 35.565181732177734, + 37.97126770019531, + 41.05154037475586, + 44.59870910644531, + 48.29439926147461, + 51.73285675048828, + 54.40562438964844, + 55.91305160522461, + 55.98189926147461, + 54.777278900146484, + 52.43473434448242, + 49.39326095581055, + 46.15497970581055, + 43.10788345336914, + 40.369422912597656, + 37.892513275146484, + 35.781307220458984, + 34.14853286743164, + 32.943695068359375, + 32.00203323364258, + 31.281068801879883, + 30.789644241333008, + 30.506580352783203, + 30.333370208740234, + 30.236759185791016, + 30.17729949951172, + 30.13892364501953, + 30.15947723388672, + 30.19576072692871, + 30.1763916015625, + 30.118501663208008, + 30.064437866210938, + 30.071868896484375, + 30.131147384643555, + 30.16744041442871, + 30.167585372924805, + 30.150245666503906, + 30.153261184692383, + 30.208837509155273, + 30.283706665039062, + 30.34423828125, + 30.4282169342041, + 30.606367111206055, + 30.915739059448242, + 31.316354751586914, + 31.79805564880371, + 32.53007125854492, + 33.76899719238281, + 35.627471923828125, + 38.40385437011719, + 42.43128204345703, + 48.2978515625, + 56.01676940917969, + 65.6145248413086, + 76.42005920410156, + 87.38490295410156, + 97.16390991210938, + 104.03926086425781, + 107.43955993652344, + 106.75151824951172, + 102.34808349609375, + 94.98084259033203, + 85.9357681274414, + 76.39237213134766, + 67.34257507324219, + 59.26047134399414, + 52.351383209228516, + 46.596866607666016, + 41.92122268676758, + 38.232662200927734, + 35.4936637878418, + 33.665931701660156, + 32.501434326171875, + 31.72899627685547, + 31.185672760009766, + 30.768447875976562, + 30.485923767089844, + 30.3428897857666, + 30.30756187438965, + 30.261154174804688, + 30.13445281982422, + 30.01630210876465, + 29.95841407775879, + 29.940135955810547, + 29.943574905395508, + 29.907867431640625, + 29.865949630737305, + 29.82627296447754, + 29.773090362548828, + 29.78112030029297, + 29.780546188354492, + 29.719215393066406, + 29.709360122680664, + 29.730236053466797, + 29.714887619018555, + 29.699142456054688, + 29.7316837310791, + 29.792400360107422, + 29.785400390625, + 29.69415283203125, + 29.609331130981445, + 29.598127365112305, + 29.62703514099121, + 29.610889434814453, + 29.57536506652832, + 29.555912017822266, + 29.514183044433594, + 29.469966888427734, + 29.4973087310791, + 29.565258026123047, + 29.604928970336914, + 29.61190414428711, + 29.562564849853516, + 29.49224090576172, + 29.481027603149414, + 29.528413772583008, + 29.569692611694336, + 29.567455291748047, + 29.569780349731445, + 29.581439971923828, + 29.548309326171875, + 29.53602409362793, + 29.570302963256836, + 29.549156188964844, + 29.50140380859375, + 29.503210067749023, + 29.531421661376953, + 29.58063316345215, + 29.62981605529785, + 29.61091423034668, + 29.55447006225586, + 29.539098739624023, + 29.583541870117188, + 29.64993667602539, + 29.681081771850586, + 29.650850296020508, + 29.60137939453125, + 29.60992431640625, + 29.660297393798828, + 29.657062530517578, + 29.613361358642578, + 29.695419311523438, + 29.856353759765625, + 29.946025848388672, + 30.072154998779297, + 30.368988037109375, + 30.775907516479492, + 31.302942276000977, + 32.117469787597656, + 33.43379592895508, + 35.23917770385742, + 37.7396240234375, + 40.928680419921875, + 44.78203582763672, + 49.06227111816406, + 53.145301818847656, + 56.6176872253418, + 58.981658935546875, + 59.99875259399414, + 59.457435607910156, + 57.461483001708984, + 54.50163650512695, + 51.01047897338867, + 47.393409729003906, + 43.92076110839844, + 40.83103561401367, + 38.262508392333984, + 36.10442352294922, + 34.36376190185547, + 32.98646926879883, + 31.983875274658203, + 31.300399780273438, + 30.853858947753906, + 30.58281898498535, + 30.42336654663086, + 30.324626922607422, + 30.27242660522461, + 30.246179580688477, + 30.294578552246094, + 30.327451705932617, + 30.267704010009766, + 30.220853805541992, + 30.215869903564453, + 30.2138729095459, + 30.263275146484375, + 30.389747619628906, + 30.526567459106445, + 30.552663803100586, + 30.524972915649414, + 30.599580764770508, + 30.800071716308594, + 31.104759216308594, + 31.51682472229004, + 32.03094482421875, + 32.84789276123047, + 34.08676528930664, + 35.983802795410156, + 38.78168869018555, + 43.20317459106445, + 49.37643051147461, + 58.08186721801758, + 69.21331787109375, + 82.47035217285156, + 96.80838775634766, + 110.38455200195312, + 121.72122955322266, + 128.9046630859375, + 131.4391326904297, + 128.78785705566406, + 121.66886901855469, + 111.57731628417969, + 99.87501525878906, + 87.95967864990234, + 76.83345794677734, + 66.97625732421875, + 58.58082962036133, + 51.46177291870117, + 45.56597137451172, + 40.966880798339844, + 37.53813552856445, + 35.082969665527344, + 33.54799270629883, + 32.53702926635742, + 31.82511329650879, + 31.331043243408203, + 31.010042190551758, + 30.791149139404297, + 30.667795181274414, + 30.677494049072266, + 30.718507766723633, + 30.583049774169922, + 30.347896575927734, + 30.26027488708496, + 30.304616928100586, + 30.303556442260742, + 30.27838897705078, + 30.275253295898438, + 30.31279182434082, + 30.392440795898438, + 30.4801025390625, + 30.55842399597168, + 30.678842544555664, + 30.889453887939453, + 31.229127883911133, + 31.82236671447754, + 32.90060806274414, + 34.39177322387695, + 36.43125534057617, + 39.17288589477539, + 42.95650100708008, + 47.600830078125, + 52.72960662841797, + 57.81061553955078, + 62.22370910644531, + 65.50088500976562, + 67.0252456665039, + 66.8958740234375, + 65.0033950805664, + 61.71570587158203, + 57.40927505493164, + 52.84013366699219, + 48.56242370605469, + 44.7805061340332, + 41.52520751953125, + 38.70734786987305, + 36.35051345825195, + 34.42159652709961, + 32.89827346801758, + 31.795791625976562, + 31.131546020507812, + 30.726226806640625, + 30.403453826904297, + 30.12520408630371, + 29.966238021850586, + 29.942630767822266, + 29.92072868347168, + 29.841320037841797, + 29.800086975097656, + 29.800004959106445, + 29.710874557495117, + 29.600915908813477, + 29.644325256347656, + 29.74713897705078, + 29.75161361694336, + 29.7418155670166, + 29.804529190063477, + 29.86874008178711, + 29.894819259643555, + 29.949209213256836, + 30.030881881713867, + 30.10210609436035, + 30.2509822845459, + 30.623592376708984, + 31.19830322265625, + 31.962312698364258, + 33.024044036865234, + 34.60089874267578, + 36.576202392578125, + 39.0525016784668, + 41.736488342285156, + 44.291473388671875, + 46.552642822265625, + 48.196720123291016, + 49.06552505493164, + 48.70117950439453, + 47.51029586791992, + 45.62361526489258, + 43.33018493652344, + 40.94178009033203, + 38.76296615600586, + 36.90371322631836, + 35.253684997558594, + 33.846839904785156, + 32.68029022216797, + 31.750335693359375, + 31.02094268798828, + 30.512699127197266, + 30.039432525634766, + 29.742691040039062, + 29.689435958862305, + 29.65741729736328, + 29.602527618408203, + 29.572792053222656, + 29.53522300720215, + 29.550832748413086, + 29.564075469970703, + 29.55848503112793, + 29.56637954711914, + 29.559185028076172, + 29.592449188232422, + 29.675806045532227, + 29.69530487060547, + 29.658199310302734, + 29.670886993408203, + 29.705507278442383, + 29.7066707611084, + 29.68943977355957, + 29.74953842163086, + 29.964624404907227, + 30.168598175048828, + 30.44056510925293, + 30.98929214477539, + 31.810922622680664, + 32.982479095458984, + 34.62856674194336, + 36.64531326293945, + 38.714881896972656, + 40.90878677368164, + 42.89271545410156, + 44.333675384521484, + 45.20948791503906, + 45.22149658203125, + 44.510459899902344, + 43.036102294921875, + 41.32029724121094, + 39.48122024536133, + 37.69160079956055, + 36.18293762207031, + 34.836212158203125, + 33.55706787109375, + 32.38223648071289, + 31.544889450073242, + 31.005956649780273, + 30.66376304626465, + 30.239561080932617, + 29.939517974853516, + 29.808250427246094, + 29.72195053100586, + 29.698637008666992, + 29.731868743896484, + 29.647319793701172, + 29.574512481689453, + 29.530223846435547, + 29.44261360168457, + 29.444091796875, + 29.572715759277344, + 29.76468849182129, + 29.91396141052246, + 29.977388381958008, + 29.974287033081055, + 29.9780330657959, + 30.227876663208008, + 30.556194305419922, + 30.83600425720215, + 31.20826530456543, + 31.83418846130371, + 32.79304504394531, + 34.63427734375, + 37.14104461669922, + 41.15540313720703, + 46.50031280517578, + 53.74661636352539, + 62.26172637939453, + 71.70237731933594, + 81.16544342041016, + 88.99324035644531, + 94.88410186767578, + 96.7828598022461, + 95.50390625, + 90.98561096191406, + 84.43302154541016, + 76.8470458984375, + 68.98906707763672, + 61.53303909301758, + 54.91680908203125, + 49.355648040771484, + 44.62202453613281, + 40.68199157714844, + 37.524436950683594, + 35.21478271484375, + 33.294456481933594, + 31.898469924926758, + 31.00441551208496, + 30.56802749633789, + 30.46394920349121, + 30.35340118408203, + 30.083477020263672, + 29.924863815307617, + 29.980937957763672, + 29.910890579223633, + 29.65947914123535, + 29.62093162536621, + 29.882713317871094, + 29.943422317504883, + 29.719675064086914, + 29.64065933227539, + 29.770193099975586, + 30.011459350585938, + 30.288705825805664, + 30.33390235900879, + 30.211606979370117, + 30.351030349731445, + 30.913227081298828, + 31.853271484375, + 33.559059143066406, + 35.93317413330078, + 39.59836196899414, + 44.317283630371094, + 50.1629638671875, + 56.34585952758789, + 62.85563278198242, + 68.41734313964844, + 71.92646789550781, + 74.10515594482422, + 73.10478210449219, + 70.51995086669922, + 65.81282806396484, + 60.769752502441406, + 55.385414123535156, + 49.98652648925781, + 46.06501770019531, + 42.67948913574219, + 39.5444450378418, + 36.74254608154297, + 34.997798919677734, + 33.400760650634766, + 32.20330047607422, + 31.243560791015625, + 30.6149845123291, + 30.18441390991211, + 30.01449203491211, + 29.98297691345215, + 29.94528579711914, + 29.849563598632812, + 29.767553329467773, + 29.709352493286133, + 29.84792709350586, + 30.019956588745117, + 29.88170051574707, + 29.646800994873047, + 29.304216384887695, + 28.866010665893555, + 28.880220413208008, + 29.021913528442383, + 28.81537437438965, + 28.702983856201172, + 28.741357803344727, + 28.726898193359375, + 28.70442008972168, + 28.656143188476562, + 28.596546173095703, + 28.52294158935547, + 28.570531845092773, + 28.7730655670166, + 29.17094612121582, + 29.553556442260742, + 29.333995819091797, + 28.767168045043945, + 28.431198120117188, + 28.36183738708496, + 28.404279708862305, + 28.491146087646484, + 28.46747589111328, + 28.182659149169922, + 28.337265014648438, + 28.981464385986328, + 29.027053833007812, + 28.628767013549805, + 28.46184730529785, + 28.41124725341797, + 28.641582489013672, + 29.14205551147461, + 29.028581619262695, + 28.334566116333008, + 28.15032958984375, + 28.534290313720703, + 28.301780700683594, + 27.07602310180664, + 26.682533264160156, + 28.022281646728516, + 29.173826217651367, + 29.173826217651367 + ], + "Itth_weights": [ + 0.032620898098829454, + 0.03351872945828005, + 0.03418768195429427, + 0.034416078446560645, + 0.03448167230533507, + 0.03421723461636433, + 0.03394346868496056, + 0.034337019369783714, + 0.0361574814010224, + 0.03830176196520955, + 0.03969000961499809, + 0.040464952404547644, + 0.04058511717508114, + 0.04054436953183676, + 0.040315884452937906, + 0.03995338385777764, + 0.03939639405411172, + 0.038810757288268896, + 0.03849736562731435, + 0.03806691726206125, + 0.037572609134516675, + 0.037082547441885765, + 0.03677216983702675, + 0.03647015368177514, + 0.0363714111806182, + 0.0361345548466245, + 0.035959231188718126, + 0.03578031082425241, + 0.035602859919674094, + 0.0353493390911216, + 0.035042033021806564, + 0.03479509018957089, + 0.034754039114335715, + 0.03485802161738805, + 0.034957247900833564, + 0.03492560103818608, + 0.034756391431024256, + 0.03457289984444147, + 0.034483590979601735, + 0.0344817788927485, + 0.03437580134725016, + 0.03425954272298046, + 0.034090513783696035, + 0.03397979377688251, + 0.033891003830165405, + 0.03397937755199521, + 0.0341076948278332, + 0.03414077717856582, + 0.034109161573975734, + 0.034111620487402, + 0.034150584269749276, + 0.03419054908030991, + 0.034154806833958044, + 0.03407156974037428, + 0.03396596251491996, + 0.033948114981782664, + 0.03396069537653706, + 0.03400142066024967, + 0.034115427176178756, + 0.03411651051753517, + 0.03385805806321663, + 0.033594556262974695, + 0.0335617887440927, + 0.03379364994855745, + 0.03387478010448506, + 0.033860238167632874, + 0.03384720326805036, + 0.0338309253870029, + 0.033826352576987684, + 0.03372857072183688, + 0.03363382720528895, + 0.03358545743953167, + 0.03367636955416938, + 0.03379021090072792, + 0.03380627086825751, + 0.03373633182381832, + 0.03354387614470378, + 0.03353772431065381, + 0.0335682008703602, + 0.03359467035236124, + 0.033544449171926435, + 0.03348940789397201, + 0.03354220653656155, + 0.03351228266374989, + 0.03351628885450171, + 0.03358574143422278, + 0.03357727314151816, + 0.03352338023154616, + 0.033384686094625686, + 0.03331115292202298, + 0.03335975620541935, + 0.033439106140690594, + 0.033589003414586455, + 0.03358772307630609, + 0.03354149839821764, + 0.03344402924617487, + 0.033450654688893175, + 0.03343911253893374, + 0.033444366322876486, + 0.033440682315240146, + 0.033502290642953264, + 0.03354218507738454, + 0.0335106933069247, + 0.033424876110599286, + 0.033361445910396345, + 0.0333489427513463, + 0.03338696511972522, + 0.033397184163728555, + 0.033410592183960135, + 0.033458271322222906, + 0.033511398003140284, + 0.03348651598773432, + 0.0333849539489771, + 0.03339600136950308, + 0.03341009610831976, + 0.033406679335116034, + 0.0333418465204637, + 0.0333205822890728, + 0.03335600592672747, + 0.033402850399333425, + 0.03345043486560631, + 0.03345545950973581, + 0.03339857979847385, + 0.03335891990723679, + 0.03337185962849517, + 0.03342498052661838, + 0.03346076114220026, + 0.03346972200790243, + 0.033350847753044144, + 0.033341327040625895, + 0.03335336404652808, + 0.033450445536572934, + 0.03344001045000327, + 0.03336372813291019, + 0.033287268912306135, + 0.033219262924794, + 0.03319071066780694, + 0.03324990120881346, + 0.03330811185123773, + 0.033275913139437514, + 0.03322146679269527, + 0.03315264108595943, + 0.033177102706333964, + 0.0332004125481561, + 0.03329736568177965, + 0.033340387777361744, + 0.033317340474409624, + 0.033270306774098646, + 0.033268290633819544, + 0.03329209032821368, + 0.03332278691398253, + 0.03327552031557314, + 0.033186405909100464, + 0.03308454256433602, + 0.0330223338878122, + 0.032928565861245526, + 0.032957383424338564, + 0.033009674139901385, + 0.033053093258445736, + 0.033061455545765187, + 0.033068040801459496, + 0.03315384653812613, + 0.03318612022524796, + 0.03318582614406687, + 0.03317409025900237, + 0.033150098393489105, + 0.03313330923008447, + 0.033121943154672276, + 0.033096935966663174, + 0.03314527610526821, + 0.03311960392519561, + 0.03318061127008452, + 0.03313721275342284, + 0.03311302112359732, + 0.03304066186693276, + 0.033020572293688655, + 0.03304860329737174, + 0.03310237118917829, + 0.03318156465259094, + 0.0331663129077603, + 0.03314128269497451, + 0.03318875458484368, + 0.033214399452744924, + 0.033195607138630824, + 0.03312350840505361, + 0.033112669779737286, + 0.03317078454402192, + 0.03320329520007296, + 0.03315891249179783, + 0.03307199988998877, + 0.03306182456766087, + 0.0330901303508322, + 0.0330992239339066, + 0.03306165986195511, + 0.03300868696710653, + 0.033081227535341665, + 0.03313364007246214, + 0.03321141809729882, + 0.033152651567774374, + 0.03312513240405196, + 0.033062716925837295, + 0.03296708617295559, + 0.03287403313926362, + 0.03287863042664245, + 0.0329672229889738, + 0.0329871397544777, + 0.033001946674733856, + 0.03300293136693553, + 0.03296815585572936, + 0.03293018941541829, + 0.032912235816450856, + 0.03295888343333438, + 0.03302547069774345, + 0.033058622482572096, + 0.03302046414999582, + 0.03291287837650357, + 0.03288688815611486, + 0.03290337063617923, + 0.032949307684195746, + 0.03297891666150868, + 0.032985209667234346, + 0.032994507292563445, + 0.03302410607059069, + 0.03306917336275462, + 0.03302888275908296, + 0.03300184073033996, + 0.03296036285770561, + 0.03292047529639466, + 0.032894054127172084, + 0.032927968185440894, + 0.03295257561415881, + 0.03292215180291368, + 0.03285231340909485, + 0.032786063071623524, + 0.03277057044161902, + 0.03277431929843973, + 0.03279202425677112, + 0.032805771745443406, + 0.032829658201810274, + 0.03280851646730484, + 0.03266945463194366, + 0.032613728908829014, + 0.032615830841210336, + 0.032581209887389974, + 0.032564575204554996, + 0.03253596973185727, + 0.0325316918238225, + 0.032507765181049086, + 0.03250728547537149, + 0.03247962558429662, + 0.03240204322332496, + 0.03236468145368711, + 0.03244525689056675, + 0.03256621767986694, + 0.03254361785680567, + 0.03247548317445915, + 0.032375145816535854, + 0.03234643497788973, + 0.032302242047477926, + 0.03230049873160808, + 0.03231780689042755, + 0.0323104616495993, + 0.03229904014271784, + 0.03225705629258946, + 0.032293557186250876, + 0.032330003219508116, + 0.03234923311188543, + 0.03228447143574787, + 0.032246916037454026, + 0.03220052808109388, + 0.032210633241876306, + 0.03220186900412258, + 0.032184443735356914, + 0.032139417276898424, + 0.03204598982903137, + 0.03205947361089659, + 0.03210150454984799, + 0.03208530296091763, + 0.031989688870426955, + 0.031925301730844, + 0.03190914735017466, + 0.03191796280933448, + 0.031984275308983526, + 0.03192320233033142, + 0.03184876501962118, + 0.03179367681275861, + 0.03181700174909521, + 0.031838643913569616, + 0.031814783356876895, + 0.0317965459658005, + 0.03178366775552823, + 0.03180212957222942, + 0.031803096053432366, + 0.031803898605419, + 0.03174776955157535, + 0.031673961571107946, + 0.03164587485704556, + 0.03168401652537859, + 0.03168996483439514, + 0.03166214229279136, + 0.03159345600970037, + 0.031585918707684034, + 0.031584763686582334, + 0.031537491825960315, + 0.03146694412788056, + 0.031429117624861065, + 0.03146034864240658, + 0.0315042654615093, + 0.03152706705454927, + 0.031515285142916946, + 0.03149734399161045, + 0.03144986915283283, + 0.03146319193376435, + 0.03143255263948957, + 0.03139288565722447, + 0.03138961341037126, + 0.03139096470360576, + 0.03138672891075441, + 0.03134275857500829, + 0.0313519443643635, + 0.03131298724971433, + 0.03125669205414405, + 0.03118109655537047, + 0.03114172464121749, + 0.031129979396623896, + 0.031062428081693863, + 0.031034946516618964, + 0.031034795875397207, + 0.031062840325999617, + 0.031041833484075885, + 0.03096756146046906, + 0.030946617486213003, + 0.03093333245225697, + 0.03092345823597893, + 0.030925285913554916, + 0.0308723053831392, + 0.03082166936991965, + 0.03078316681781667, + 0.030742514088051665, + 0.030685228601698963, + 0.030635078604761393, + 0.03066846021502458, + 0.03069596481973393, + 0.030700580683476267, + 0.03063363946249967, + 0.030560357942669026, + 0.03056691824657661, + 0.030590328077254387, + 0.030579191186085666, + 0.03055433819758497, + 0.030526752539461223, + 0.03052496455459896, + 0.030498102477831218, + 0.03045564736026039, + 0.030370566464867407, + 0.030256481342871438, + 0.03021441719994058, + 0.030274501253276402, + 0.030302823631217928, + 0.030309774955609586, + 0.030307738980517505, + 0.030321547622228474, + 0.03027458866211204, + 0.030248685308852895, + 0.03028075750408768, + 0.03031508870214104, + 0.03029977292276808, + 0.03024568038762431, + 0.030191620691966552, + 0.030155063727971287, + 0.030108625540509002, + 0.03010014512471551, + 0.030098956243279535, + 0.030087276331589, + 0.03005902436367494, + 0.03000449934718833, + 0.029970124081325784, + 0.02987975218899983, + 0.029850644294473577, + 0.02988105665208694, + 0.02990903292864225, + 0.029869865134158822, + 0.029801302670162334, + 0.029714958840184387, + 0.02964999872190481, + 0.029623421921992167, + 0.029614489933949648, + 0.029596625399419638, + 0.029597962069030148, + 0.029570861312926654, + 0.02951688485527894, + 0.029453716831788407, + 0.02943813481817675, + 0.02947506424451764, + 0.029493986813079007, + 0.02944911757909344, + 0.02939876550395617, + 0.029308747187011416, + 0.02917752338763085, + 0.029085073484900928, + 0.02904293822215703, + 0.0290134107779845, + 0.028913434405645744, + 0.028796087289457775, + 0.028707628858753914, + 0.028602325182766113, + 0.028492172543372888, + 0.028383107858495033, + 0.028307422513203773, + 0.028204543623039664, + 0.028044898969188634, + 0.02790779178043224, + 0.02783721794327364, + 0.027740372949623112, + 0.027626969724722013, + 0.0274999569893556, + 0.027345896634213166, + 0.027111349164627624, + 0.026784760037183806, + 0.026534488184417445, + 0.026322715341358154, + 0.026091355775299266, + 0.025747242040418644, + 0.025350532441059268, + 0.024903816721953805, + 0.024341949116501203, + 0.023657702615285093, + 0.02286887958855837, + 0.021842340932625565, + 0.0205173704668018, + 0.018901726510164623, + 0.016934433656360014, + 0.014584674163744656, + 0.011989594723670905, + 0.009341173993832939, + 0.006811360970951526, + 0.004705516761752053, + 0.003143845817235371, + 0.0020714273251910796, + 0.0014048292893187786, + 0.0010100499476603758, + 0.0007782056811294621, + 0.000661781236870101, + 0.0006243575507898329, + 0.0006531258393787206, + 0.0007570436153046644, + 0.0009638116491791482, + 0.0013495875825421818, + 0.001997913434035048, + 0.0030032765850193615, + 0.004529532293444799, + 0.006636523359375396, + 0.009117457240007574, + 0.011837900102183534, + 0.014551702385534626, + 0.016916338130073, + 0.01897745825967621, + 0.020690754734554, + 0.022035044045039098, + 0.02312120170554849, + 0.023984500982412643, + 0.02468616819712171, + 0.02528708467436406, + 0.025799632212732015, + 0.026218036441654463, + 0.02659574036362987, + 0.026948324133617, + 0.02725642399177516, + 0.0275471996314486, + 0.027810228797013246, + 0.02808925676793532, + 0.02831187996481752, + 0.028548201171684634, + 0.028718680420105357, + 0.028916993808102812, + 0.02910530800149488, + 0.029296293953549084, + 0.029417933533362646, + 0.029545907941792723, + 0.02966438923285331, + 0.029843623348117923, + 0.029969092772556074, + 0.030090685058275557, + 0.030166362406938412, + 0.03025582482682573, + 0.030370186464353226, + 0.030495367075952594, + 0.03063914974676394, + 0.030739518393417375, + 0.030837807652845037, + 0.030932609734808898, + 0.03101791128662495, + 0.031100083105500095, + 0.031217545483808014, + 0.031313374377906426, + 0.03139586717214192, + 0.03149885786240122, + 0.03161808579015845, + 0.031675838853471514, + 0.03167029758861075, + 0.03167751539155858, + 0.03171984546158665, + 0.03175436879373518, + 0.03183792080926887, + 0.03187856027459846, + 0.03196130855749943, + 0.031975924377251115, + 0.03202811843600974, + 0.03205176132525054, + 0.03213971083651657, + 0.03220842887398463, + 0.032300017163819854, + 0.03237157166373621, + 0.03235854907684681, + 0.0323713158262435, + 0.03235279434759125, + 0.03236457556557511, + 0.03237242115316624, + 0.032454549900244704, + 0.03251009538145793, + 0.032544005710694365, + 0.03259876959989147, + 0.03264959420601226, + 0.03261371876502463, + 0.03259479938476918, + 0.032664752840911034, + 0.032741996715483515, + 0.032745792213043516, + 0.032703812635737496, + 0.032700075811275764, + 0.03271497107657057, + 0.03271820085341355, + 0.03277901989675154, + 0.03289448546432636, + 0.032971392276103205, + 0.03296435009104543, + 0.032962219578170755, + 0.03295319903816945, + 0.03292874372051819, + 0.032920314063091406, + 0.03297271315038876, + 0.03301987769076753, + 0.03303316964014002, + 0.03305572112866907, + 0.033054645756166755, + 0.03303347350986201, + 0.03303930639437068, + 0.03304522465090259, + 0.033067967802932356, + 0.033116325793780425, + 0.033160781162676616, + 0.03320911459357682, + 0.03319814000045085, + 0.03318151425214415, + 0.03315794782831973, + 0.033161194354030386, + 0.03319458989877476, + 0.03319839015466321, + 0.033159709430051684, + 0.033121972449443926, + 0.033088359427959034, + 0.033050878336320776, + 0.033029228165561426, + 0.03305181177624615, + 0.03308713367608929, + 0.03310971502195566, + 0.03311452905899593, + 0.033112117683020796, + 0.03310838942091072, + 0.03313833120696635, + 0.03316209837711362, + 0.03320500063681847, + 0.03316575692277484, + 0.03315259496605244, + 0.03310309225821356, + 0.033110195944473376, + 0.03311347704519717, + 0.033185076260645596, + 0.03324285549159117, + 0.03322508581178416, + 0.033152515304697115, + 0.03309367694315237, + 0.033137225319897205, + 0.03320543806436049, + 0.033218707267872086, + 0.03317628183893321, + 0.033076886436683564, + 0.03305708211704594, + 0.03303389602294418, + 0.03304522256810305, + 0.03303758670753347, + 0.033042321483244076, + 0.033023904298402344, + 0.03299021798456679, + 0.03299519459901048, + 0.03301419510645763, + 0.03305261190957688, + 0.03304114078551737, + 0.032981636489005255, + 0.03293108502400293, + 0.032944876926106655, + 0.03297006736096774, + 0.03299350649268922, + 0.032992609561820686, + 0.03297356545040921, + 0.032906445643433334, + 0.03289504890262416, + 0.03290013516786795, + 0.032912768870926826, + 0.03289231444668158, + 0.03291327094965404, + 0.03292098381177331, + 0.03290551213521306, + 0.032889122415575955, + 0.032858385203097425, + 0.03278267229476893, + 0.03276665656708075, + 0.03281331108093889, + 0.032867003631689554, + 0.03281684376984594, + 0.03274397615399552, + 0.032708223676966366, + 0.03268175285421772, + 0.032612164808721825, + 0.03257932498418533, + 0.03252290737005924, + 0.03246495586943674, + 0.032408462542087, + 0.03242834952066425, + 0.03243979844914043, + 0.032414824282035085, + 0.03236780446558748, + 0.032293988831925004, + 0.03218891932945564, + 0.03207745263832838, + 0.03201366989957382, + 0.031958218686263445, + 0.03194025044336921, + 0.031927998310450775, + 0.03186870691843947, + 0.03176205790859116, + 0.03165385359621787, + 0.0315566582280919, + 0.031469363606237526, + 0.03133322986297868, + 0.031200769735786567, + 0.031087930515135774, + 0.03102404901095341, + 0.03095726689317615, + 0.030844092047513344, + 0.030725783888771868, + 0.030603273615405116, + 0.030517605097226088, + 0.030384735305401686, + 0.0302330355515882, + 0.030042781716975966, + 0.029892420173780253, + 0.029767059902142887, + 0.02960797756451163, + 0.02942612302544961, + 0.02925204333798059, + 0.029048167873553424, + 0.028821500726958323, + 0.028593602150977462, + 0.02838768755091004, + 0.028114803257294894, + 0.027855279293952658, + 0.027637764202883438, + 0.027396223780696435, + 0.02713041224784776, + 0.026848791295364254, + 0.026564665743696942, + 0.026249648027371154, + 0.025902315946320753, + 0.025537746754444878, + 0.02512907283150022, + 0.024680550668969795, + 0.024197247293589248, + 0.023650383841478627, + 0.023036446223232532, + 0.022310448550281275, + 0.021442410779248047, + 0.020454329816080818, + 0.019277542219261746, + 0.017845120549730788, + 0.016180594754626756, + 0.014289961539690152, + 0.012119576891101805, + 0.009808103972846328, + 0.007557146771192439, + 0.005468831100772492, + 0.0037589862116971825, + 0.002505358522095369, + 0.001622406479169, + 0.0010662507872092337, + 0.0007348950451101043, + 0.0005334864675674158, + 0.00042249387946030956, + 0.00036835698396208224, + 0.0003546339382947337, + 0.0003799804128260829, + 0.0004501681646261462, + 0.000590992330373947, + 0.0008419827048201043, + 0.001252538293621458, + 0.0019200693775068044, + 0.002955402624453089, + 0.004407424185525011, + 0.00626689818183835, + 0.008456319713814688, + 0.010783336966939666, + 0.013045557133433102, + 0.01513890807483891, + 0.01696309021451569, + 0.018530415034246885, + 0.019868589182675526, + 0.020995436321422457, + 0.021928922731967136, + 0.022752942522312757, + 0.02344623230591795, + 0.024075459166205015, + 0.02463943267946875, + 0.025138622803472753, + 0.025561091724930027, + 0.025966124896799253, + 0.026350836727323062, + 0.02674229286107768, + 0.027084077865484057, + 0.02738171824501888, + 0.027699646748775307, + 0.028006218238549645, + 0.028318079317282634, + 0.028571079803364565, + 0.028856224902958198, + 0.029165187884182125, + 0.029459174930932582, + 0.02969184673695389, + 0.02989375642376963, + 0.03013240168841867, + 0.030385179065123485, + 0.03058391472101733, + 0.03071303318032507, + 0.030868877218541587, + 0.031052780273600023, + 0.031235466953811557, + 0.03144193256387692, + 0.0316189247968605, + 0.03179835873530248, + 0.03193638842164599, + 0.03209452448636261, + 0.03223846309463124, + 0.03235981531214111, + 0.03248980200907207, + 0.032640479765645575, + 0.03279536363153006, + 0.03318637650024148, + 0.033420574311579694, + 0.03355673640820262, + 0.03335643673081369, + 0.0333028034767576, + 0.03335566214031698, + 0.03348006874969867, + 0.033642703995886036, + 0.03375935397940329, + 0.03387685291500741, + 0.03390919926602333, + 0.03393651260725313, + 0.03395815259794557, + 0.034015633925009996, + 0.03404827471371649, + 0.034079750912465095, + 0.03415473563349429, + 0.03421594389840315, + 0.03425702886294248, + 0.03430125988539074, + 0.03441326598427114, + 0.03453069485475602, + 0.03457829475442583, + 0.03459548943147284, + 0.03467775833553533, + 0.03473998254015846, + 0.0347668574544123, + 0.03475030048463297, + 0.03479486619630913, + 0.03487052483303101, + 0.034898247945379365, + 0.034943257063358255, + 0.0350471606671346, + 0.03512673147829841, + 0.03512216166679674, + 0.035066513528907696, + 0.03510460883913171, + 0.035185775145335066, + 0.03524215098061529, + 0.03524180038030827, + 0.03521502377286804, + 0.035210192129955784, + 0.03522757378995083, + 0.03521649031934088, + 0.03522014065807212, + 0.035216968156025416, + 0.03526001713744654, + 0.03528118462434604, + 0.03531162192490393, + 0.03534024646527095, + 0.03540898824013773, + 0.035443939931185935, + 0.035418463216952335, + 0.03539170427276011, + 0.03544403098513337, + 0.03544497270208153, + 0.03544169008882189, + 0.035370981476461595, + 0.03537708906222387, + 0.035389547053379836, + 0.03540228633913817, + 0.03538728022581961, + 0.035385264450331695, + 0.035393159290144, + 0.035397759269878, + 0.03537221284803769, + 0.03531858694125481, + 0.03528777899639206, + 0.035219099654800586, + 0.035157956585937414, + 0.03507621675042424, + 0.035039901824542655, + 0.03501571569072568, + 0.03500898415331442, + 0.035012563540609165, + 0.03500753951325253, + 0.03501939703540627, + 0.03507210114054166, + 0.035077153104405796, + 0.035022938779730936, + 0.03501276462522596, + 0.03498072079815248, + 0.03495208361652413, + 0.03489885888836303, + 0.03488449925724856, + 0.034840402980381276, + 0.034748529350652896, + 0.03470456918649582, + 0.034676366129958856, + 0.03468801639550775, + 0.03466548004821409, + 0.03463555565508909, + 0.03461339132512971, + 0.03457132683608741, + 0.03446575735814416, + 0.03433876904320883, + 0.03423702068543261, + 0.03414962110183542, + 0.034084895501366945, + 0.03395506482178655, + 0.033844773586967726, + 0.03370349744627325, + 0.03357477025282835, + 0.03345094707968398, + 0.033346017788214805, + 0.033211247690188156, + 0.03303549875702902, + 0.032861383837520276, + 0.032688314062394405, + 0.03256852996714994, + 0.03242671490562732, + 0.03225763581495371, + 0.03207236837074573, + 0.03181681059607182, + 0.03157331318890175, + 0.03132020586621826, + 0.031058199528648602, + 0.03075370534026296, + 0.030429090760511365, + 0.03002920855559351, + 0.02958981360191845, + 0.029085563998803493, + 0.028445817967555936, + 0.027654485192828385, + 0.026755374952782802, + 0.025620293574334124, + 0.024146536493146287, + 0.02232267015049648, + 0.020036908807850397, + 0.017274902343331698, + 0.01426357824155736, + 0.01111206628038265, + 0.008097084457782537, + 0.005653939981584319, + 0.003824375186518238, + 0.002557840223661146, + 0.0017684164534399391, + 0.0012845884898707329, + 0.00099850029935507, + 0.0008524258549752243, + 0.0008018379629557124, + 0.0008326557163766464, + 0.0009518588553200102, + 0.0011942030422147567, + 0.0016352495282588569, + 0.0023642060587975044, + 0.0034867649667375093, + 0.005200177391305177, + 0.00758114190950012, + 0.010397403695190566, + 0.01351802494427909, + 0.016642491172897445, + 0.019357269306502847, + 0.021720032277129268, + 0.023688080434507985, + 0.025213814966855312, + 0.026461641703088633, + 0.02743978679064591, + 0.0282222918898807, + 0.028897020193212667, + 0.0295230346883044, + 0.030024231821924457, + 0.030431612918204825, + 0.030726594215180397, + 0.031018318679903976, + 0.031299526006991124, + 0.0315983857514115, + 0.031852120155532786, + 0.03210851911238582, + 0.03232457152778189, + 0.0325298590673489, + 0.03268793702723997, + 0.032862652655310465, + 0.03308044480114684, + 0.03327674739292328, + 0.03341523216246688, + 0.0335239654202261, + 0.03367874699089279, + 0.03380239555703987, + 0.033932923630663865, + 0.03410892413449958, + 0.03427923432442667, + 0.0343669164940197, + 0.03442637891867572, + 0.03454561364113171, + 0.03466191856490687, + 0.03473601219067811, + 0.03480930927003149, + 0.034902178796577546, + 0.034961737593450434, + 0.035008689605373, + 0.035054310017036794, + 0.03511688033329314, + 0.035195022344618104, + 0.03527496532976221, + 0.03532115669835628, + 0.035330944233851864, + 0.03536479012240087, + 0.03545106032403403, + 0.03551752240134567, + 0.03554482866159776, + 0.035558051390461504, + 0.03557584587020999, + 0.03560446049960388, + 0.03564915344071841, + 0.035709943618136925, + 0.03572247897466303, + 0.035690846072130106, + 0.03573952969029009, + 0.03582079844289717, + 0.035872257356735014, + 0.03588975357283383, + 0.035928556523669844, + 0.03593984643881302, + 0.03592263117267773, + 0.03592642691412133, + 0.03598275560917975, + 0.03603685342335948, + 0.03604543822954065, + 0.03605610990027297, + 0.03605307508205821, + 0.03606508097287834, + 0.036066165145405074, + 0.03608774057696415, + 0.0361109907689985, + 0.03614344041862549, + 0.03615252730085108, + 0.03612036493219957, + 0.03607073327913311, + 0.03609005828646842, + 0.03613765072460991, + 0.03621579832415725, + 0.03621942357502528, + 0.03618536385516358, + 0.036197200621310904, + 0.03621262651225539, + 0.036222996996179126, + 0.03621650380264724, + 0.03623712491678334, + 0.036205824499315094, + 0.03612894974329459, + 0.036094055979079706, + 0.03613618117495522, + 0.036150852139837424, + 0.03610086080110766, + 0.03612061378202092, + 0.03613838305329523, + 0.036129564700793426, + 0.03604411493654049, + 0.035996306226205886, + 0.03597590636416205, + 0.03589543706724486, + 0.03580372145965615, + 0.03577901669259334, + 0.03580152594608193, + 0.0357875401492763, + 0.03576084525485421, + 0.03573382969710745, + 0.03570137442201843, + 0.035653046773203016, + 0.03561319368946663, + 0.035583753537332063, + 0.03551843434030366, + 0.03544245438023127, + 0.03534005827636868, + 0.03523682639783281, + 0.035094114690031146, + 0.03498745080924096, + 0.0349166762346188, + 0.03482824757093487, + 0.0347530554289121, + 0.03467659777420488, + 0.0346086274028314, + 0.03447433523274194, + 0.03435009900694296, + 0.03426489177915259, + 0.03421262599432108, + 0.0341885469463249, + 0.03409411843812198, + 0.03396709800188815, + 0.033800416831922656, + 0.033648585587871184, + 0.03350970592530738, + 0.03327600184288405, + 0.033036133649247415, + 0.03275104110152962, + 0.03244340976840642, + 0.03206816638370638, + 0.03156514504495051, + 0.030989603497773698, + 0.030261123165301662, + 0.029338143638093655, + 0.028068092620508453, + 0.026416701743622845, + 0.024201561011025233, + 0.02140707869859948, + 0.01813728233984669, + 0.014465722268550875, + 0.010859518566204191, + 0.007802530822115965, + 0.0054075850919440465, + 0.003788061825127214, + 0.002748309669616576, + 0.002081844414531767, + 0.0017144513473155714, + 0.0015470582758647393, + 0.0015299861027507436, + 0.0016615195460271037, + 0.0019689153168128233, + 0.0025550575605313474, + 0.003533860428689796, + 0.005012984146024581, + 0.007202523608827442, + 0.010172060963761487, + 0.013652919479211618, + 0.01728126031691452, + 0.020685972490617318, + 0.023532125924665845, + 0.025777596057053626, + 0.027522919404978974, + 0.028793433606852506, + 0.029755555046028805, + 0.030531641241102636, + 0.031133735727619717, + 0.03160873769187389, + 0.03199831844774271, + 0.03227134600198852, + 0.03248392603656486, + 0.032672984917797486, + 0.032759509144723545, + 0.03284604836956015, + 0.03295305198253945, + 0.03314045521982333, + 0.03321852626243427, + 0.03330951486500507, + 0.03347239090211978, + 0.03371083950784777, + 0.033898353302763126, + 0.034059134975614976, + 0.03417327334655712, + 0.0342602770277657, + 0.034358261391551265, + 0.034483411803580936, + 0.034575492200947626, + 0.0346534440779557, + 0.03474245727501044, + 0.03483329895102398, + 0.03488212028532537, + 0.03493665113172885, + 0.03500025034129864, + 0.0350563492058716, + 0.035108381780616274, + 0.035124357004552, + 0.03513227944357451, + 0.035153854772434434, + 0.035161203354843205, + 0.03516173157149108, + 0.035121740513329086, + 0.03515029592828506, + 0.03521015429559612, + 0.03527123480537206, + 0.03526752404879097, + 0.035244986835430585, + 0.03523407473087788, + 0.03525514706332294, + 0.03526386388200198, + 0.035296761469892315, + 0.03530304312732732, + 0.035311077304135886, + 0.03527760470145568, + 0.0352839745241585, + 0.03527294571764326, + 0.03531525633111016, + 0.03537462572580198, + 0.03539956613439166, + 0.03537681215845801, + 0.03535198960467237, + 0.03534801160018441, + 0.0353475302008174, + 0.03534310765987544, + 0.035303558973780236, + 0.03526723462362481, + 0.035197687573797334, + 0.03514808085276036, + 0.035112545886611404, + 0.03506427382353592, + 0.03503701458289561, + 0.035036834292429875, + 0.03506830080796057, + 0.035041836285044564, + 0.03494397904726256, + 0.034840822044252116, + 0.03479313900492398, + 0.03475073581048187, + 0.0346941498091017, + 0.034646617558934965, + 0.034652264530721726, + 0.03464085569827369, + 0.03458249829606555, + 0.034450936879287415, + 0.03436150851458084, + 0.03435952909262945, + 0.034337408420566186, + 0.03425349933670301, + 0.034084425732867685, + 0.033975491076320634, + 0.03386737740478095, + 0.033797869673385716, + 0.0337064811274102, + 0.03357459179649502, + 0.03338456492383108, + 0.033240212536811226, + 0.033126013531998774, + 0.032996147739023006, + 0.03284397221322572, + 0.032676090326932916, + 0.03252562715782666, + 0.03234370516819574, + 0.032169311026558296, + 0.03198695258763775, + 0.031807616724430894, + 0.03165615472708817, + 0.031443846559872694, + 0.03120170929529895, + 0.03096095971605263, + 0.030735917843702023, + 0.03046376994498732, + 0.03014345115516512, + 0.029802193714486516, + 0.029400226145233157, + 0.02897112414070994, + 0.028485912217698854, + 0.02786626184276797, + 0.02716685358663528, + 0.026376207482421667, + 0.025415287448971934, + 0.024224368155985766, + 0.022802778288335483, + 0.021012453941273913, + 0.01882930270008971, + 0.01624796593619495, + 0.01334178323795975, + 0.010358655157752316, + 0.007625871504484049, + 0.005307921142511883, + 0.00358341920613398, + 0.002416431320011743, + 0.0016437217134193664, + 0.0011792960414550198, + 0.0009047300084431896, + 0.0007478653838657355, + 0.0006801343564241107, + 0.0006799130753708378, + 0.0007490996995737117, + 0.0009016346530599667, + 0.0011741187928161186, + 0.0016467963559001924, + 0.002406121747058214, + 0.003560942950038236, + 0.005254192907833716, + 0.007548914572840009, + 0.010290372983625628, + 0.01322996481248449, + 0.0161173604330065, + 0.01868647371291516, + 0.02087170649035357, + 0.02265683508359194, + 0.02407707780339282, + 0.025262372340909424, + 0.026238127138371224, + 0.02700635320585576, + 0.02763847811243904, + 0.02820759370321941, + 0.02872065008868929, + 0.02917914725705286, + 0.02957193878587012, + 0.02993824460454002, + 0.030294573073650383, + 0.030607593612458246, + 0.030851170500074614, + 0.031080669313790932, + 0.031300036130489095, + 0.031534054701619844, + 0.03173178852938889, + 0.03194953089544038, + 0.03215679381024899, + 0.03238219648716464, + 0.032592570489341124, + 0.03277725547751547, + 0.032924696863547834, + 0.033041344850697665, + 0.033184393623133884, + 0.03334751520342482, + 0.03357146589322249, + 0.033762501926271136, + 0.033867701191539895, + 0.03389392220161547, + 0.033953213305146064, + 0.034088392581394976, + 0.034199757902180716, + 0.03424657221067761, + 0.034306361577566016, + 0.03442660271388698, + 0.0345098638069931, + 0.03454627831271667, + 0.0346212083692397, + 0.03473570150596593, + 0.034817002348856686, + 0.034832174238469724, + 0.03483197753694613, + 0.03487532865577708, + 0.034985365933082664, + 0.035047523805353774, + 0.03505288038243347, + 0.03505049479288013, + 0.035085660022679384, + 0.035105335155486785, + 0.03511403683434924, + 0.03512908979671229, + 0.035160179980248694, + 0.03519968912383935, + 0.03525514232193947, + 0.035282234049783874, + 0.035242354711025235, + 0.03519770884054697, + 0.03514796539371315, + 0.03514369865361631, + 0.03513852388281332, + 0.03512867789193091, + 0.035144506686658535, + 0.035161637245925706, + 0.03516966852214449, + 0.03516935003165516, + 0.0351650710225939, + 0.0351820327694953, + 0.035142000256315246, + 0.035084894606726674, + 0.03504114538177476, + 0.035010384492669015, + 0.03497985726583892, + 0.034951943810547725, + 0.03488183715125099, + 0.03481688674258423, + 0.03477192332731482, + 0.03472607993592716, + 0.034643806209094526, + 0.03457306627253919, + 0.03449670763729715, + 0.03440069120529449, + 0.03433596470420425, + 0.0342623211577649, + 0.03417366983294735, + 0.03402171950082253, + 0.033877360759438875, + 0.03377082898815695, + 0.03367733649657884, + 0.033544932075236296, + 0.033358881701722395, + 0.0331362451635175, + 0.03294720603120485, + 0.0327270911360799, + 0.032489695300660495, + 0.03223730544805101, + 0.03190448516860838, + 0.03149562592456316, + 0.030991127574412032, + 0.030383640049185187, + 0.02964509658992729, + 0.028759324092691947, + 0.02755512780973608, + 0.026027338912501956, + 0.02407253423056809, + 0.02157956303162962, + 0.01850438380050413, + 0.01509891614774894, + 0.011586935030614698, + 0.008395596897846419, + 0.005904759622241706, + 0.004071664931102094, + 0.0028565204341722762, + 0.0021005297863303254, + 0.0016313736735878571, + 0.0013736506736916469, + 0.0012640314316722115, + 0.001272444068068302, + 0.001401481632284717, + 0.0016778403212965908, + 0.0021827415935172685, + 0.0030122038010320256, + 0.004281220307183567, + 0.006163580346477559, + 0.008762271053480057, + 0.011997863173538797, + 0.015481002783278127, + 0.018906990120754346, + 0.02195742967137733, + 0.024396933370696598, + 0.026324927842037573, + 0.027809213923786893, + 0.02892459076808325, + 0.029807215728564034, + 0.030533277083572594, + 0.031122114742378023, + 0.031601541669753264, + 0.03200275609673172, + 0.03233715590332208, + 0.03265854488681185, + 0.032898231762711665, + 0.03310870303933231, + 0.033317264253830615, + 0.033566494455447515, + 0.03375107820200164, + 0.03392588845251636, + 0.034102436880753095, + 0.03424940000118893, + 0.03437039733101823, + 0.03450481268584686, + 0.03465500624273694, + 0.03482291316442517, + 0.03497089071956839, + 0.0350872801850038, + 0.03513966846642902, + 0.035207839460396455, + 0.0353166836585365, + 0.03548173873567746, + 0.03556954639818722, + 0.035634741453260566, + 0.03565359472012784, + 0.03571060520269723, + 0.03577210566133309, + 0.0358396678530782, + 0.03590706275147676, + 0.03596918311038401, + 0.03604358961120637, + 0.03605427754286984, + 0.036093792586125384, + 0.03615273670689369, + 0.0362490582323371, + 0.0363399917974956, + 0.03637446197623097, + 0.036348346174791504, + 0.03633345156008726, + 0.036329554224850374, + 0.036368237281438745, + 0.03640855767214895, + 0.036461674759285204, + 0.03650296005887395, + 0.03653525265684543, + 0.036556592755534904, + 0.03658298579399141, + 0.03659308424433097, + 0.03661914124856179, + 0.03663359785171138, + 0.03665342834499726, + 0.036679702262859916, + 0.03674037380874862, + 0.03680433097840126, + 0.03688055792986372, + 0.036914455427503184, + 0.03689856357635003, + 0.03690358139752267, + 0.036886795751596396, + 0.03691834669057436, + 0.036927905471413856, + 0.03695706221355947, + 0.0369795396827121, + 0.03699617751515198, + 0.03700419385757259, + 0.03697384930628898, + 0.036955272594194045, + 0.03700196094414679, + 0.037071537472383086, + 0.03711208034004306, + 0.037062674466477555, + 0.037055908206110204, + 0.03707310767788693, + 0.03707656312264929, + 0.0370774467502497, + 0.03707048113183867, + 0.03708496584363226, + 0.037080438811030916, + 0.037076673246046875, + 0.03703821706672224, + 0.03704967851619248, + 0.03710056450335162, + 0.037110816794292435, + 0.037064841344638305, + 0.03703438159113884, + 0.0370466469155399, + 0.03709866645532986, + 0.03711340965151955, + 0.037127281152930784, + 0.03715606905446589, + 0.0371634646498463, + 0.03713411821768019, + 0.03711859119721984, + 0.03712960021347707, + 0.0371683993175547, + 0.037176775180236675, + 0.03716416011364285, + 0.03712352709760871, + 0.0370777115845289, + 0.037090645868829535, + 0.03712583254442969, + 0.037129024365284875, + 0.037102880227420455, + 0.037078115398533805, + 0.037106950511019636, + 0.037137287788267706, + 0.03709418069333533, + 0.03703795017981443, + 0.03700542925762925, + 0.036986544222859505, + 0.03700729687942926, + 0.03702157539411968, + 0.037025546799617996, + 0.03702549188958623, + 0.037022294314839915, + 0.03703355494876178, + 0.0370152344156507, + 0.03705062370212964, + 0.03706985731631706, + 0.037070709170483766, + 0.03704410787366759, + 0.03701457325978633, + 0.036991398086012935, + 0.03699324341010577, + 0.03699993719111615, + 0.03704853179024751, + 0.03704222868330975, + 0.03699684323543141, + 0.036935158468348536, + 0.0369245660964861, + 0.03694461401366722, + 0.036964368367562415, + 0.03693684465189732, + 0.03691068191986403, + 0.03686008966283179, + 0.036857843012505526, + 0.03687663572161027, + 0.03691441124285353, + 0.03690525690567503, + 0.036832519130797284, + 0.03679373087285739, + 0.036788970045248025, + 0.03682665403260389, + 0.0368171734451586, + 0.03677820334750341, + 0.03671849207435304, + 0.03667327775394081, + 0.036661940293863056, + 0.03666541951500953, + 0.03665378453219633, + 0.03663791913659156, + 0.03666527592318117, + 0.03673427034141093, + 0.036719255849004276, + 0.036657715863687226, + 0.03662279653967772, + 0.03660181093402029, + 0.036584992273572405, + 0.03656098002684361, + 0.03657922870411191, + 0.036559269350149165, + 0.03653629908296877, + 0.03648954598950319, + 0.036439824781802604, + 0.0363867788670079, + 0.03637393454817516, + 0.03637289992512963, + 0.036357581776438955, + 0.03632196840061907, + 0.03629450323331684, + 0.036283566960422876, + 0.036240912260561184, + 0.03612210695295854, + 0.03604074519091136, + 0.03601396079519656, + 0.036043924132643575, + 0.03604038099878479, + 0.03596145348780582, + 0.035861650070384284, + 0.03575693078341867, + 0.035703329120521, + 0.03570882238557829, + 0.035679884428011066, + 0.03562120993677175, + 0.035520739661300677, + 0.03549261018548173, + 0.03546110707470351, + 0.03537602443869217, + 0.035247666746692295, + 0.035140652962190926, + 0.03505875434725465, + 0.03494939254792302, + 0.03478096809265708, + 0.03462561901397479, + 0.034457706879461515, + 0.03430137209283003, + 0.03409041403472633, + 0.033811762777227486, + 0.033449342194666484, + 0.033004038696500114, + 0.0324035291545112, + 0.03157425630475787, + 0.030381379351987373, + 0.02879261134917258, + 0.026592713257341593, + 0.023673039975978742, + 0.020145550805337115, + 0.016262040792322876, + 0.012454920849221264, + 0.009260179011852877, + 0.006803536767761517, + 0.005117854499434065, + 0.004038265175181997, + 0.003378134230320343, + 0.0030586437629308394, + 0.0030060887792470515, + 0.003204322079742715, + 0.003689234254215801, + 0.004531531747066737, + 0.0059199103052652476, + 0.007956747327439955, + 0.010690021510210214, + 0.014131429017471515, + 0.017976878386771568, + 0.02170124610140587, + 0.024895869916648442, + 0.027397008301540998, + 0.029265772340460204, + 0.030556970208516027, + 0.03147577768502994, + 0.032128382144201585, + 0.032676216592119806, + 0.03309303565961932, + 0.03340359738792289, + 0.03362112124228237, + 0.033790422145678393, + 0.03391427932512209, + 0.033986377652463144, + 0.03406965900383964, + 0.03418153240953503, + 0.03425343667571902, + 0.03432207794792351, + 0.03436719808892243, + 0.03442393996558578, + 0.03447095569772639, + 0.034558362949423084, + 0.034824176063586426, + 0.03491868316187621, + 0.03485084090296787, + 0.03462001958522378, + 0.03456752485055121, + 0.03458419094920968, + 0.03462737306627486, + 0.03465939571748673, + 0.034682412829253974, + 0.034674698841396755, + 0.03465480466517358, + 0.03463281701973396, + 0.03461916462565413, + 0.03460027942196479, + 0.03460563262960115, + 0.034636647111674856, + 0.03463205979600108, + 0.03461393063349499, + 0.03454699536724929, + 0.03454637847092634, + 0.03455791648499122, + 0.03454377682219629, + 0.034518563649889346, + 0.034486596424573066, + 0.034458322877734766, + 0.034365988389890044, + 0.03426886490921255, + 0.034214729193976376, + 0.03419725280781983, + 0.03419101508945397, + 0.034144092279077526, + 0.034097666197734446, + 0.034026676538501124, + 0.033921526965610814, + 0.03382056794309603, + 0.03375289470046823, + 0.03370259182912967, + 0.033590916572489714, + 0.03347716776806069, + 0.03337129248261811, + 0.03324100706515957, + 0.03310444042807048, + 0.03295600370237087, + 0.03282855843138139, + 0.0326965498644088, + 0.03256568770051603, + 0.032383392566300226, + 0.0321933091893339, + 0.03202206598663263, + 0.031867263821275686, + 0.03166437387114195, + 0.03139833590400741, + 0.031090080039071336, + 0.03078677844662438, + 0.03045567566675814, + 0.030081196417897568, + 0.029628487671543143, + 0.029079140222790248, + 0.028358605505730477, + 0.027460215035741517, + 0.026335255119267834, + 0.024883619075137815, + 0.023013656106040645, + 0.020660474083417264, + 0.01777055415163948, + 0.014506869158382002, + 0.011219028524160901, + 0.008198923991310662, + 0.005774456102732029, + 0.004022847534716825, + 0.0028122828651230237, + 0.002034696265635658, + 0.0015630190307870104, + 0.0012842098002514492, + 0.0011437380828620929, + 0.0011094580895841361, + 0.0011726516226953324, + 0.0013486083422093668, + 0.0016672387284577524, + 0.002204749860672431, + 0.0030524213876668314, + 0.004327203854180044, + 0.006150499925202202, + 0.008613215863662635, + 0.011692946326832088, + 0.014969283002042923, + 0.018126736133680252, + 0.02090581886493678, + 0.02312998626286483, + 0.0248595566486066, + 0.026218151817525084, + 0.02724576387011575, + 0.028065808788615993, + 0.02872132034104376, + 0.029236448933132375, + 0.02965562710727765, + 0.030024090832770405, + 0.03030918621180843, + 0.030567039430226213, + 0.03076932828132789, + 0.030978906208638704, + 0.031211650552482078, + 0.03145864404680587, + 0.0316337883140072, + 0.03177295639551286, + 0.0319065588070873, + 0.03203129620297957, + 0.03213960247495928, + 0.03225347641745061, + 0.03236705512754844, + 0.032491108740618155, + 0.03260283404273948, + 0.03270227252001883, + 0.0327867417212364, + 0.03282926762069712, + 0.032897589774419526, + 0.03295793658855987, + 0.033025649605396494, + 0.03309201843020824, + 0.03318990803659191, + 0.033240463325476664, + 0.03328949026801415, + 0.03330010233521439, + 0.03333492922475855, + 0.03335073319222612, + 0.033383661485108365, + 0.03337014975284965, + 0.03334676859999454, + 0.033363611360458324, + 0.033399135106320366, + 0.0334376729959259, + 0.03343053256254946, + 0.033409138064017525, + 0.03336609135836003, + 0.033316288237797455, + 0.03329477748380724, + 0.033259836061985876, + 0.033222929884642885, + 0.03313023773685534, + 0.03307251935603562, + 0.03301382506818585, + 0.032932806052991065, + 0.03285374210682217, + 0.03276383285000939, + 0.03271986703060629, + 0.032643865580405704, + 0.03257000490455987, + 0.0324629738399283, + 0.03234917922028241, + 0.03221766786554202, + 0.03208838406959795, + 0.03195132804898397, + 0.0317786819624849, + 0.03157542767224691, + 0.03133552206873926, + 0.031057629185337905, + 0.03072525089737015, + 0.030348788087211545, + 0.029873153283495362, + 0.029253329476693218, + 0.02843337776410158, + 0.0273547197910997, + 0.025931733729653288, + 0.024041233562238504, + 0.021577470613141796, + 0.018543492895907683, + 0.015112874976795452, + 0.011635726274581726, + 0.008551625237446374, + 0.006116182835939294, + 0.00433774783809245, + 0.003136662993761422, + 0.0023769542792467183, + 0.0019100041128506532, + 0.0016544935900491262, + 0.0015544075860858511, + 0.0015873220402629893, + 0.001755468884517598, + 0.00208922111607814, + 0.002665453026555698, + 0.0035792728990231715, + 0.0049415334316573025, + 0.006884783563083501, + 0.009480861494589765, + 0.012717218853525336, + 0.01619759503923936, + 0.019509865825017913, + 0.022395533742251623, + 0.02463419057705374, + 0.02633350380435673, + 0.02764660179471314, + 0.0286207027566904, + 0.029347757333328856, + 0.029905307010128678, + 0.030354326409748437, + 0.030743941844711575, + 0.03106319368697087, + 0.031303659793854445, + 0.03144818455606269, + 0.03162172816488693, + 0.0318365230296336, + 0.03206610110465751, + 0.032245787532360314, + 0.03233899294083395, + 0.032422968949488463, + 0.03250971438294182, + 0.032623500322229, + 0.03274346900231683, + 0.03286674402407734, + 0.032964905561840674, + 0.033045303797479525, + 0.03314072126428898, + 0.03321417641116126, + 0.03327314667409105, + 0.03331319331136082, + 0.03335219920580127, + 0.0333917027457741, + 0.03343670910455936, + 0.033524241945061824, + 0.033594945892188574, + 0.03362503057619729, + 0.033655320419399955, + 0.03369158099257811, + 0.03374727635609644, + 0.0337511998752149, + 0.033749629054570345, + 0.03376958042831861, + 0.03378403152148705, + 0.03381515168890329, + 0.033801619729714946, + 0.03378366361706762, + 0.033756591313637264, + 0.03374729373401465, + 0.03375627834146838, + 0.03376730541555475, + 0.03375286645198588, + 0.033691403457396754, + 0.0336002207680521, + 0.033526825207480355, + 0.033508294563249046, + 0.03350774632719724, + 0.033482854763851384, + 0.033423337648142946, + 0.033351853376222484, + 0.03327243929306728, + 0.03317365575599829, + 0.033085530103788584, + 0.03298254527277215, + 0.03287477315385708, + 0.032739326488619686, + 0.03255648661083067, + 0.03233001318759274, + 0.032071493356436595, + 0.03178625759450065, + 0.031389432996156125, + 0.030862470083086284, + 0.030169528665563668, + 0.029219232859153163, + 0.027896788353295184, + 0.026076211723591997, + 0.023667010763296845, + 0.02061183360982836, + 0.017029074098662923, + 0.013350963221596226, + 0.010038855068701958, + 0.007358926308217696, + 0.005403132144654155, + 0.004050248644452801, + 0.003188061891286972, + 0.002688988024533405, + 0.00243638143228714, + 0.0023818005665062637, + 0.002514155359118413, + 0.0028672678467254226, + 0.0034991081374766784, + 0.004483928779863153, + 0.005973680475728687, + 0.008083372607633888, + 0.010870334160434791, + 0.014247639479240255, + 0.017879720168301708, + 0.02142017849059255, + 0.024355543514545882, + 0.02661223157221942, + 0.028311864676233485, + 0.02950991703375262, + 0.030372730537950844, + 0.03100079942857413, + 0.03151352155164278, + 0.03190719182534007, + 0.03220516443099887, + 0.03245832727137652, + 0.03270015739221035, + 0.032899034799416395, + 0.03303877339722362, + 0.033164101666523185, + 0.033274996564847586, + 0.03338180374361016, + 0.03348326532854011, + 0.033596887715067775, + 0.033694909040943695, + 0.03378617379868973, + 0.033869186752045075, + 0.033961229936392, + 0.0340440231826728, + 0.03408596139206793, + 0.034135300113320326, + 0.03419953258481848, + 0.034276040825967545, + 0.03435850907002173, + 0.034387870740623994, + 0.03439920153708834, + 0.03444788558861437, + 0.034535951477030334, + 0.034609580082381006, + 0.03462276762895906, + 0.03460965776120361, + 0.03463743886117581, + 0.03471258145692628, + 0.03480756215745169, + 0.0348504679295902, + 0.0348504146483308, + 0.034859101645163856, + 0.03484536525099174, + 0.03483938430361767, + 0.03481974244223945, + 0.03484944866418468, + 0.03487384399175035, + 0.034896540670609315, + 0.03488580841044695, + 0.03489600413303808, + 0.03490778620578901, + 0.034926973773925576, + 0.03493876047395449, + 0.034927825389652695, + 0.03492380733767119, + 0.0349292960369898, + 0.03492956830649076, + 0.034930617863685655, + 0.0348965964157187, + 0.03488817163430237, + 0.03484322548921029, + 0.034827190275531696, + 0.034795757568034796, + 0.03477931841589481, + 0.03470853694640503, + 0.034583289853124186, + 0.03436724990288719, + 0.03414108175852932, + 0.03388613223378514, + 0.03349486152276122, + 0.032893344199741145, + 0.0318782191323551, + 0.030324385227412067, + 0.02820866821693248, + 0.025459134410407726, + 0.022234290751451412, + 0.018958980260512407, + 0.01592535088971076, + 0.013509417230134518, + 0.011837853059686543, + 0.010829074584722436, + 0.010492746490323114, + 0.010750558291341016, + 0.011645512352521972, + 0.013195562766509657, + 0.015363869774699503, + 0.018180223084730513, + 0.02130754510003843, + 0.02441290349497594, + 0.027273140590405483, + 0.029624479793981126, + 0.03136888874529351, + 0.03250656392794922, + 0.03324248030973596, + 0.03374435494802169, + 0.03406814916433654, + 0.034324590128302135, + 0.03449115889722867, + 0.034600133282526355, + 0.03461563550690784, + 0.03464472419743227, + 0.034683112602430156, + 0.034735328691647305, + 0.03475296558688284, + 0.03477120151741998, + 0.03480460217256587, + 0.034839060191685, + 0.03486775587170687, + 0.03486615823732673, + 0.034846629779216994, + 0.034839625076385786, + 0.034845573683393034, + 0.03483732861010828, + 0.03485195292066781, + 0.03487981821364275, + 0.034913990615293426, + 0.03490253661305302, + 0.03488530702101671, + 0.03487821019262686, + 0.03485335926133385, + 0.034826038197392765, + 0.034777703499328634, + 0.03476376838856796, + 0.03475133468926074, + 0.03476248912279827, + 0.03475829471359517, + 0.034762141086602014, + 0.03477431035618318, + 0.034738343654031306, + 0.03467552443880153, + 0.034634523754159145, + 0.03461617488520873, + 0.034596416275614175, + 0.034527172380474834, + 0.03447991710951323, + 0.034445703839795096, + 0.034424726541060484, + 0.03439196945204264, + 0.03433353404798226, + 0.03428696169039178, + 0.03424208092118596, + 0.03421724578216945, + 0.034159885082552126, + 0.034099063330687775, + 0.03399541067661882, + 0.033896933120460285, + 0.033809623794678355, + 0.03369899367346849, + 0.03356223991949487, + 0.03339173464637675, + 0.033213458910913166, + 0.03300067330971221, + 0.03273960044284086, + 0.03236537274027518, + 0.03182510372835708, + 0.031114767395915063, + 0.030070692694805244, + 0.028562481627088684, + 0.026519128655467104, + 0.02376357893219633, + 0.020336653601725894, + 0.0166727268205791, + 0.013078077736496373, + 0.009971808217977496, + 0.0075880148824017495, + 0.005882808628203101, + 0.004777642011756458, + 0.004113168364754485, + 0.003787992636719391, + 0.003748175841240594, + 0.003968510604696474, + 0.0044995039876318576, + 0.0054076087404965, + 0.0067840388757227765, + 0.008765003913664658, + 0.011373973618025153, + 0.014555598495044928, + 0.018088250048197335, + 0.021660695757637252, + 0.024804028080903005, + 0.027225831471413567, + 0.028977702079190797, + 0.03022269035254425, + 0.031094173436510865, + 0.03168718382728416, + 0.03209438302997744, + 0.0323958005974607, + 0.03264942341592027, + 0.0328218935492078, + 0.032968649259936554, + 0.033063229845094314, + 0.033137093372391714, + 0.033177820736188586, + 0.0332418121697617, + 0.033337197221790016, + 0.03339538873205005, + 0.03342539180422256, + 0.033435715416328504, + 0.03348247414516514, + 0.03351555395740941, + 0.03354257349273767, + 0.03355057556264253, + 0.03356386640007866, + 0.03361282689190276, + 0.033661798595623044, + 0.03366724366138466, + 0.033633287799375515, + 0.03362249900085729, + 0.033617288260898694, + 0.033619997989038204, + 0.033605090194844756, + 0.03357180339394816, + 0.033514694832865684, + 0.03348922606562595, + 0.03344283459865766, + 0.03340426353413346, + 0.03334836365699542, + 0.03329734453474105, + 0.03322687982380668, + 0.03315291990449363, + 0.033117011909258705, + 0.03307600374689105, + 0.03302747415807148, + 0.032976010613952146, + 0.032905156920333176, + 0.03281008303274988, + 0.03270667906508785, + 0.03257731682032145, + 0.03241265199303733, + 0.032251168970159026, + 0.032100702631460684, + 0.03194557903707862, + 0.03172098543378699, + 0.0314772611358238, + 0.03117985042130931, + 0.030835250361732878, + 0.03036046450083834, + 0.029749615198105876, + 0.028936522314471417, + 0.027860433410499066, + 0.026380122567984336, + 0.02438247401786328, + 0.021769119645454593, + 0.01856928972240136, + 0.015023412186991235, + 0.011563120955792448, + 0.008560559926662588, + 0.006217466359689385, + 0.004542635625600485, + 0.003393988307063966, + 0.0026652665774936756, + 0.002234143990061986, + 0.0020050595200033876, + 0.0019367439839358055, + 0.0020126888830633164, + 0.0022498591949846156, + 0.0026877345862096115, + 0.003388162812969236, + 0.004463989535344844, + 0.006012575251228874, + 0.008138746149258863, + 0.010894516144824784, + 0.014168493866790735, + 0.017725135845669933, + 0.020994916735209722, + 0.023724993384181915, + 0.025862831020243227, + 0.027423932544892483, + 0.028560191313537393, + 0.029437966221757463, + 0.030085484210641077, + 0.030586905144586677, + 0.03097818502086865, + 0.031326312206977555, + 0.03159244130980692, + 0.03179359583611399, + 0.0319647342202292, + 0.0321430644953733, + 0.03230538088841892, + 0.03245979224390709, + 0.032580294740656976, + 0.03267170830769016, + 0.03274739983878892, + 0.03285493415577618, + 0.03294884798940183, + 0.0330320832475433, + 0.033123608853979664, + 0.03322630706652207, + 0.033317003836150307, + 0.03340249926239503, + 0.03348323752957152, + 0.0335539960664831, + 0.03361876486845227, + 0.03367189681610575, + 0.03374146661803013, + 0.03381119584417809, + 0.03389437358622058, + 0.033970654591851675, + 0.034027957433380454, + 0.03405358011474819, + 0.034091251944214696, + 0.03411441493577975, + 0.03415593273075147, + 0.034186284237519196, + 0.034205248978549034, + 0.03417809417594031, + 0.034169513865462756, + 0.03420153600571974, + 0.03426849084922767, + 0.0343221610821777, + 0.034370368039480605, + 0.034411653261479616, + 0.03442351052862866, + 0.034440585509923495, + 0.03444911011437327, + 0.03446986785963322, + 0.03447869039268728, + 0.03449866657594905, + 0.03450887799545628, + 0.03452682676645673, + 0.03454208129532805, + 0.03457174173163881, + 0.034586013816251246, + 0.03459486623661068, + 0.03459350578664351, + 0.03462036935358269, + 0.03464446092896857, + 0.034653739549936564, + 0.034651774412380223, + 0.034653073027256134, + 0.03468016915684315, + 0.0346878511538887, + 0.03468167637716297, + 0.03466965437802188, + 0.034646580926035814, + 0.03467019314840994, + 0.03471291241313959, + 0.03476699808913075, + 0.03474118648340111, + 0.03470496661084708, + 0.03468682990381478, + 0.03472208286932959, + 0.03474124633744137, + 0.034747357138899565, + 0.03475948840393478, + 0.034795623628435024, + 0.034787090568866544, + 0.03475961284741514, + 0.0347290380816626, + 0.03472763025428056, + 0.034717132658107275, + 0.034687775418672774, + 0.034678999258779784, + 0.03467108731494553, + 0.034669865298902675, + 0.034658669407163875, + 0.03467069066614945, + 0.034683920244606946, + 0.03468710758608462, + 0.034686354870901354, + 0.03468899640246429, + 0.034712248208782506, + 0.034690580137305846, + 0.034661205897762636, + 0.034611531297251134, + 0.03459080346517659, + 0.034576716694466735, + 0.034590582094375405, + 0.03457010728319751, + 0.03457652742816303, + 0.0345932044934058, + 0.03461202484781716, + 0.03461996472024012, + 0.03459132837633904, + 0.03458362062977667, + 0.034559602176454436, + 0.03457895156171432, + 0.03455778664801044, + 0.03452366199145574, + 0.034477486435728205, + 0.03444863477980393, + 0.03443664258235936, + 0.034406951478919166, + 0.03439645727406922, + 0.034359355707030866, + 0.034340917022375884, + 0.034338458676815835, + 0.03432412945946475, + 0.03430545694337598, + 0.03427920742932359, + 0.03422061595516116, + 0.034163909587571636, + 0.03408765232841613, + 0.03403939479778104, + 0.0339600816433817, + 0.03390396725589441, + 0.03382115700807443, + 0.03369515157895251, + 0.033497889706041145, + 0.03324357004675004, + 0.03289034385656044, + 0.032314870783476966, + 0.031463203262646226, + 0.0302022960722291, + 0.02841020484535402, + 0.025995512584932347, + 0.023040949314112855, + 0.019824940595661783, + 0.016696504296797077, + 0.01395897230218781, + 0.011897479727982396, + 0.010480884292627068, + 0.009637797295075481, + 0.009370882829933404, + 0.009617093350344039, + 0.010394472417002708, + 0.011699906050482805, + 0.013614121826198498, + 0.016128229465014722, + 0.01898400274204361, + 0.021941649862345744, + 0.02483316684357684, + 0.027354360133324117, + 0.029328460770453868, + 0.0307213332578613, + 0.031675838853471514, + 0.03228204426429519, + 0.03269222555096515, + 0.032974730953873946, + 0.03316111674877757, + 0.033277514098202204, + 0.03337828862929809, + 0.03345645864181664, + 0.033492931475394526, + 0.03349214197466983, + 0.033489397198132285, + 0.03351729590868664, + 0.033539505042044004, + 0.033543792445736895, + 0.033509808730224015, + 0.033475804031490836, + 0.033467854676095504, + 0.033462990763735094, + 0.033438276522571794, + 0.03339830747033977, + 0.03335623299941557, + 0.03337157711521795, + 0.03337149852214917, + 0.03334358954659948, + 0.03326975363066161, + 0.03324335715247231, + 0.03324571600470054, + 0.03326276069722322, + 0.03322299935840059, + 0.03313070669421155, + 0.03305296823141768, + 0.03299476892245794, + 0.032959954655921754, + 0.0329025178313387, + 0.0328460833516477, + 0.03276519652787209, + 0.032688470993103215, + 0.03261409206118252, + 0.03253714085137428, + 0.032411930633047994, + 0.032275364966828805, + 0.03218973554326687, + 0.03207890698427571, + 0.03190433761659224, + 0.03167304310423467, + 0.031444527357484896, + 0.031190586759349395, + 0.030845917614392846, + 0.03039652399125061, + 0.029781188741396458, + 0.028951529733785605, + 0.027821193559174645, + 0.026272122480301467, + 0.024125536279737833, + 0.021337144778058908, + 0.01801754494729464, + 0.014473873825126866, + 0.011158028541711251, + 0.008375081372574828, + 0.006230310437462175, + 0.004729188029531447, + 0.0037203058443815856, + 0.0030801783548098883, + 0.0027277706834577297, + 0.0025835341798307885, + 0.0026141542475459196, + 0.002817511286639986, + 0.003235680966280507, + 0.003944001865601469, + 0.004996383614246495, + 0.00649068899689757, + 0.008539758723409273, + 0.011172447206794434, + 0.014309576472694636, + 0.017702618244412473, + 0.020998534194270245, + 0.023810010387996246, + 0.025932605930912334, + 0.027488635708256222, + 0.0285864804171857, + 0.029363934505557826, + 0.02993675394793912, + 0.030389029048588905, + 0.030760865088312047, + 0.031031948663944306, + 0.031224777806470795, + 0.031366813092351564, + 0.03151623237330356, + 0.03165376568589267, + 0.03175279757149434, + 0.03181646305100466, + 0.03188187903921884, + 0.03195998369717018, + 0.03202742387265072, + 0.03207343964161103, + 0.03210464578267689, + 0.03214770402317828, + 0.03216567363689394, + 0.03218046120695634, + 0.03222018041009983, + 0.032270964619860204, + 0.03230078330114168, + 0.032311345769696, + 0.03233386132742203, + 0.032361555049357595, + 0.032372589057530425, + 0.032343711154116404, + 0.03230775582591249, + 0.03232957459768398, + 0.03233585155388949, + 0.032305132067733514, + 0.03224677521791828, + 0.032193696645540205, + 0.032144085313078476, + 0.032103407300835836, + 0.03207814152260184, + 0.03200402003620816, + 0.031869603835284296, + 0.031734193204587084, + 0.03157711071436552, + 0.03135667149238326, + 0.031076885250701906, + 0.030736346693759194, + 0.030281712430468292, + 0.0296490865745999, + 0.02873828530408959, + 0.027457005210613613, + 0.025665964536589255, + 0.023213991587336728, + 0.02011185562525711, + 0.016650749164299365, + 0.013187584923903652, + 0.010128483810668939, + 0.007691968221805113, + 0.0058907329088882425, + 0.004676080332171805, + 0.003894221404693482, + 0.003443862818483479, + 0.003249104954280211, + 0.0032670579598694655, + 0.003493300811066667, + 0.003956388925781486, + 0.00473562863237262, + 0.005912021513349771, + 0.007543598479263219, + 0.009701730555958337, + 0.012424413851886792, + 0.01565517901179788, + 0.01905949162232013, + 0.022232512539203567, + 0.024964885035573037, + 0.026999024037354363, + 0.028462326049026022, + 0.02949773374802519, + 0.030214270936525532, + 0.030723619626437246, + 0.031105175632871025, + 0.031399057982744914, + 0.03163463388061758, + 0.03182486418278124, + 0.03196271926482234, + 0.03208862170676327, + 0.03219307395261584, + 0.03227224188817434, + 0.03237881674115158, + 0.03246999646060887, + 0.03254328051224283, + 0.03258284391658849, + 0.03265970043336297, + 0.032740796490715776, + 0.03277824320100032, + 0.03280452168404737, + 0.032845570974400606, + 0.03292566040916172, + 0.03298963467500754, + 0.03299149054284169, + 0.032990589569738875, + 0.033000808327447013, + 0.03301515973960059, + 0.03303506163230965, + 0.03305877256645483, + 0.033078080125233965, + 0.033089794111510175, + 0.03310956447516918, + 0.03313567133818909, + 0.033127907801841924, + 0.03309965857896119, + 0.03308558021307021, + 0.03308555724629728, + 0.03309023477437251, + 0.03306176827565279, + 0.03303106351874623, + 0.03295372720653604, + 0.03284370268195048, + 0.03267941224080497, + 0.032496348803201444, + 0.03221490036224927, + 0.03177703899707114, + 0.031142231483728747, + 0.030218039412418303, + 0.02887374400744578, + 0.026953214564425468, + 0.024387983886723297, + 0.02129699948752795, + 0.01799705339991789, + 0.01483482181055632, + 0.012128922360720324, + 0.010083642100252045, + 0.008634559489705124, + 0.007750771813001277, + 0.007342032204517541, + 0.007351422706020379, + 0.00775365487528087, + 0.008563396653721045, + 0.009890429715899913, + 0.011771223779969935, + 0.01414341442949399, + 0.016931140383454057, + 0.019948140496260827, + 0.022988211420969688, + 0.025725979417764035, + 0.02795589277104746, + 0.02964149311513499, + 0.03077964277184924, + 0.03152858378394241, + 0.03205848560392464, + 0.03243507022170927, + 0.03267963426893679, + 0.032835692833006046, + 0.03295806711316241, + 0.033054362336305286, + 0.03312903400084736, + 0.03315120094760353, + 0.033176913756274524, + 0.03319246524556022, + 0.03323676299610633, + 0.03327809284679813, + 0.0333099783299114, + 0.03333119512075572, + 0.03332370824136476, + 0.03332368706085281, + 0.03333171852305638, + 0.033327358045597805, + 0.03331460310393981, + 0.03333101712533837, + 0.03335250685163832, + 0.0333501094860238, + 0.03334362135533889, + 0.03334189316842487, + 0.03334495313568985, + 0.03333385892213267, + 0.03331843300769957, + 0.03327180584305121, + 0.03322330673063329, + 0.03321982070517225, + 0.033225525874265464, + 0.03319721088923833, + 0.03315278573559102, + 0.03307543617928647, + 0.03297996014258891, + 0.03288004698009643, + 0.032801810466137976, + 0.03271720041188547, + 0.032569045876566886, + 0.032353912385969595, + 0.03209871373230688, + 0.031769309901835255, + 0.031274041015325466, + 0.03049210013781372, + 0.029363802938665386, + 0.02775746525075471, + 0.025556982407346385, + 0.022731963250640225, + 0.019452841344886625, + 0.016051572927886774, + 0.012965459009021577, + 0.010393093515322424, + 0.008422256058380052, + 0.007087998207234828, + 0.00625622235707874, + 0.005827292653668659, + 0.005734309899655702, + 0.005959185002160041, + 0.006543234208367105, + 0.007528204345902243, + 0.008979166486839456, + 0.010960989024543727, + 0.01342075995135138, + 0.01629347751231098, + 0.01941694357647029, + 0.022505251059269104, + 0.025293957929728758, + 0.02750427629677263, + 0.029107941914252693, + 0.030227956177858145, + 0.030957255925707493, + 0.03144347694249179, + 0.03175720969669202, + 0.031977607477381105, + 0.03216999004443953, + 0.03230299435833743, + 0.03240846053878274, + 0.03247322430635903, + 0.032559855021800324, + 0.0325988243263056, + 0.032606609510402076, + 0.03263227624454713, + 0.03266321640178308, + 0.032679966298286095, + 0.03268456040286155, + 0.0326855038311741, + 0.03270581806340695, + 0.032684544102203034, + 0.032660465417612514, + 0.032628159785678554, + 0.03260384980493521, + 0.03259238408644621, + 0.03256915310685027, + 0.032541717102413735, + 0.032490218782602116, + 0.03244752191000524, + 0.03242238146636622, + 0.032387381468767705, + 0.03231603799141395, + 0.03221438175573567, + 0.03210510188260347, + 0.03200591515570626, + 0.03192405760832005, + 0.03182893888036064, + 0.03171698053967771, + 0.031542109981426245, + 0.031302813138287804, + 0.030999710631210653, + 0.030609048178682, + 0.030075667591272247, + 0.029331666896976527, + 0.02830242254416477, + 0.02685888430056901, + 0.02483953661620062, + 0.022167952786887903, + 0.018927029810664, + 0.01545377544109852, + 0.012168982408396778, + 0.009325991619471764, + 0.00712789678210308, + 0.0055315391674854615, + 0.004448975909368409, + 0.0037793565336398834, + 0.003397428413773768, + 0.003243312474370874, + 0.003288737459229511, + 0.0035340410834432956, + 0.004020218627605964, + 0.00478671243220297, + 0.00592404091616175, + 0.007508043514024653, + 0.009578558621024304, + 0.012179652475873607, + 0.01523610251402899, + 0.01856517744544535, + 0.021771126448832487, + 0.02446506925970916, + 0.026547668815238984, + 0.028090698545883298, + 0.02914627964769275, + 0.029897990943604017, + 0.03041329263593974, + 0.03082265871769161, + 0.03111958027314155, + 0.031334450832802466, + 0.03149429587582878, + 0.03163108776630179, + 0.03174927298374785, + 0.031862722308044274, + 0.03195336688503491, + 0.032025357969295384, + 0.03208489651083605, + 0.03215177506022386, + 0.032229293403748846, + 0.03229298830681271, + 0.032333813469281124, + 0.03236674740944342, + 0.03239139937075347, + 0.03240672577027228, + 0.03243557589158116, + 0.032495067832450035, + 0.03254250686819027, + 0.03256764992410129, + 0.03258578639232904, + 0.032599239847666106, + 0.03261192543958218, + 0.03263534141655937, + 0.032672665246892725, + 0.03265887852213791, + 0.03262218494993347, + 0.03255536665738768, + 0.032496163499297716, + 0.0324271701744848, + 0.03233643391096996, + 0.032217582734962384, + 0.032055310279639, + 0.03180773250753077, + 0.031417348549992966, + 0.030850894561079926, + 0.029974743570862074, + 0.02867090602574195, + 0.026830184940608903, + 0.02438443360356971, + 0.021414860725880322, + 0.01812903646547413, + 0.014917104184373368, + 0.01208994925195099, + 0.009870425810464661, + 0.008270015188278626, + 0.007196797196833435, + 0.006600695300902408, + 0.006376619477061936, + 0.006485247437582114, + 0.006938017511464732, + 0.0077660109986889166, + 0.009070126571556926, + 0.010845138387381407, + 0.013091364685276689, + 0.01580258535369726, + 0.01876503689026551, + 0.02185236068832469, + 0.024707753322474803, + 0.027084724279151692, + 0.028920739143414618, + 0.03020847029632175, + 0.031062799837235016, + 0.03164302710052224, + 0.0320611302274888, + 0.03237524177782492, + 0.03259882635321336, + 0.032747360975745037, + 0.03286873445391764, + 0.032964600879646214, + 0.03305608585422493, + 0.0331353530203, + 0.03321041251025537, + 0.03327196209181419, + 0.03334311878435189, + 0.033400307483528326, + 0.03341389902156154, + 0.03343630181318444, + 0.03349078771458502, + 0.03355602765622711, + 0.03360170233722077, + 0.03363913372403871, + 0.03366882195727513, + 0.03367129780166927, + 0.03367515176163999, + 0.033692657069020054, + 0.03371494318037129, + 0.03372941263737427, + 0.03373212527997886, + 0.03376401088793524, + 0.033791280219331886, + 0.03382835180148968, + 0.033849001718894614, + 0.033893253911534575, + 0.03392576771181733, + 0.03395326827600941, + 0.033949801062433574, + 0.03395166320008128, + 0.03397039926726446, + 0.03398204244851567, + 0.03399125387548387, + 0.03398996692790636, + 0.03400981526402969, + 0.034018066128273954, + 0.034023225227679504, + 0.03403863236228062, + 0.03407110033912016, + 0.034095619493802104, + 0.03413868750639342, + 0.034151066986346554, + 0.0341492785563676, + 0.034128169670161884, + 0.03414127295748725, + 0.034151093680750116, + 0.03414456369373573, + 0.03415668930389055, + 0.03414949431472485, + 0.03413959225858074, + 0.03411935017517235, + 0.034140481496646696, + 0.03413846299300702, + 0.03412742768862003, + 0.034123391785270886, + 0.03413496452239319, + 0.0341464272432593, + 0.03414729904509122, + 0.03414760374143336, + 0.03414771049764247, + 0.03415277551230987, + 0.03415083341209548, + 0.03414373650304911, + 0.03413758941951422, + 0.03413656475033509, + 0.03411894384646892, + 0.03412528189963514, + 0.03409399871411375, + 0.034089294669653, + 0.03408577524418892, + 0.034124246863953545, + 0.03414757705248537, + 0.03414522414088084, + 0.03410938126391194, + 0.03405501566579567, + 0.03401992472489496, + 0.03399456865494166, + 0.03397308256827349, + 0.033942862166748786, + 0.03392316211741022, + 0.03390002567615546, + 0.0338932999241052, + 0.033860404365644414, + 0.03384101831845986, + 0.03383036436000848, + 0.03382354838626434, + 0.03379623568485871, + 0.03376624413778694, + 0.03374855150836884, + 0.033733577265557854, + 0.03370882814102842, + 0.033671674075396604, + 0.033592311227617244, + 0.033462804950591604, + 0.0333055029408041, + 0.03312540448131335, + 0.03283676428901674, + 0.03238840385823105, + 0.03170862475585221, + 0.0307196592037807, + 0.029280976133810702, + 0.027321061450918626, + 0.024802007518449132, + 0.02188371371991244, + 0.018892717967966183, + 0.016114857704055713, + 0.01381420405651016, + 0.01214248671591276, + 0.011064416595814511, + 0.010507929208727404, + 0.010431987693514517, + 0.010814897118125968, + 0.011687745514036717, + 0.013049886204777239, + 0.01491738261119751, + 0.017225843101603258, + 0.019788441881378505, + 0.02245199176378885, + 0.02503070305850396, + 0.02735266473118962, + 0.029238855519382743, + 0.030614778441564083, + 0.031540087237438404, + 0.03216838137124009, + 0.03261847487252965, + 0.03293267986566827, + 0.033108109260145326, + 0.03320999598785182, + 0.033285512750522384, + 0.03334708462975238, + 0.0334157049632285, + 0.03347506877135577, + 0.03350204659185074, + 0.033489380084802955, + 0.033480861957475336, + 0.033515800347887016, + 0.03352910438278209, + 0.03353581291666866, + 0.03353276714979986, + 0.03352770425061468, + 0.03352398899968534, + 0.03347762094650036, + 0.03343325064212059, + 0.033428577950303705, + 0.03344352791048437, + 0.03346499639555293, + 0.03346586792711768, + 0.033476353360287425, + 0.03346334317364088, + 0.03343556828725427, + 0.033393012847337, + 0.033376032035612783, + 0.03333280988031766, + 0.033259496364970394, + 0.033177976103463486, + 0.03310742978544657, + 0.033009268872346585, + 0.03284660191839071, + 0.03263845186483873, + 0.03233553645161203, + 0.031832465717386196, + 0.031096375466337686, + 0.030026470632030726, + 0.02847343692840018, + 0.02636973620506317, + 0.02377959750012337, + 0.0208827865340823, + 0.017980022547731827, + 0.015387058984704391, + 0.013325377742312659, + 0.011846917778565533, + 0.010927586812629054, + 0.010523177895032038, + 0.01057495424003852, + 0.01107682561799876, + 0.012039899067374456, + 0.013492848549383929, + 0.015395408838946415, + 0.017660668773599328, + 0.020157396615140776, + 0.022737032374233322, + 0.025201755655142877, + 0.027366008144953494, + 0.029105718408081172, + 0.03037162559056003, + 0.03122037480075192, + 0.031784850858768365, + 0.032133379807162216, + 0.03235770031528959, + 0.03250123997889076, + 0.0325777884736612, + 0.03260913238317074, + 0.03264747775493295, + 0.032688523983033506, + 0.03270818694738166, + 0.032721625276576766, + 0.03270957660748196, + 0.03266907192476084, + 0.03264228436220728, + 0.032643255838018505, + 0.03262264775401649, + 0.03259760012007234, + 0.03257308267328307, + 0.03254537135317291, + 0.032461166906287114, + 0.032400391236108474, + 0.03235073216880373, + 0.03231288313876646, + 0.03226132778185403, + 0.03220538797477467, + 0.03214746156778965, + 0.032048377714699705, + 0.03190539575006507, + 0.03175777332147876, + 0.03162223358683771, + 0.03144541564467726, + 0.03118603756709792, + 0.03084582687534918, + 0.030401434530580786, + 0.029810951144060526, + 0.028987577794974014, + 0.027816945348293317, + 0.026154320909438922, + 0.023905359783671375, + 0.02103556066087597, + 0.017761580405564126, + 0.014411506159183855, + 0.011330398614405109, + 0.008774808523036217, + 0.006823797117816185, + 0.005448783422914505, + 0.004534933679985613, + 0.003975493354624611, + 0.0036840408783730223, + 0.0036076809871094326, + 0.0037326281800897413, + 0.00406751973525372, + 0.0046475447601691455, + 0.005526647250540218, + 0.006765436646087639, + 0.008419323307937432, + 0.010537157726471874, + 0.013136269250223823, + 0.01614851329558505, + 0.019371108462881585, + 0.022426192270481725, + 0.02501453290314159, + 0.026993002355750688, + 0.028384957999262397, + 0.02932403503930451, + 0.029939639665362762, + 0.030401720116854748, + 0.030750133930074367, + 0.031010668079597802, + 0.031198255856783933, + 0.031354464321863604, + 0.031513629520946405, + 0.03165693458819955, + 0.03174032754491453, + 0.031776233948255614, + 0.031824715434520805, + 0.031902499155261145, + 0.031977063327134986, + 0.03203621476646055, + 0.03209366005014879, + 0.03212724223318551, + 0.03212889010987867, + 0.032106043612677, + 0.03212718120396166, + 0.032165513792192284, + 0.03219524458660157, + 0.03218453066661134, + 0.03217853548653151, + 0.032150806986555404, + 0.03215559863374524, + 0.03213541239847279, + 0.03205059549572152, + 0.03189950604221382, + 0.03172276656446737, + 0.03149912658967439, + 0.031156688988511757, + 0.030626363482678682, + 0.02982981878098335, + 0.028649755255653688, + 0.02696478964873996, + 0.02471744247488221, + 0.021943776773234187, + 0.018826388572195988, + 0.015727987603074225, + 0.012968622487547064, + 0.010757410431172133, + 0.009141836848566008, + 0.008060713149751706, + 0.007435234406837655, + 0.00719921320122326, + 0.007316077173361423, + 0.0077824708204844665, + 0.008619828485984131, + 0.00985867566768248, + 0.011529853746296418, + 0.013605651194916482, + 0.016054858345627643, + 0.01877527540088261, + 0.02161168045110953, + 0.024331540254700388, + 0.0266992177454304, + 0.02855201017723019, + 0.02991199863165021, + 0.030826939375198963, + 0.03142096365021309, + 0.03180335649254633, + 0.032058330743273175, + 0.03223691297715781, + 0.03239144139591217, + 0.03255671910179899, + 0.03267500693027644, + 0.03272993304225105, + 0.03278297567307466, + 0.032851164776830345, + 0.032923578311587764, + 0.03297072462167695, + 0.033006885269205546, + 0.033011336880186634, + 0.033033773222461316, + 0.033078386908759985, + 0.03312144515148244, + 0.03313137665632238, + 0.033130882556642906, + 0.033178612284644964, + 0.033216409066240855, + 0.03324086796726837, + 0.033294790170070865, + 0.03334362559650873, + 0.033336779632802516, + 0.033317399757323285, + 0.03332679452972928, + 0.03334000191027385, + 0.03334693403764417, + 0.033368079020067255, + 0.03339602689655142, + 0.03341175259009144, + 0.033394937777176205, + 0.03339673103301899, + 0.03344894313147585, + 0.03348429819986004, + 0.033466094361864915, + 0.033419123583025095, + 0.033407764962997334, + 0.03341661652678489, + 0.03343354699280904, + 0.03344262767731329, + 0.03342642323920867, + 0.03341456557871714, + 0.033425656050096154, + 0.033445501339955816, + 0.03347353850790026, + 0.033488928727055604, + 0.03345550861098648, + 0.03340057771644395, + 0.033415915811125074, + 0.03347393602098863, + 0.03350767351594613, + 0.033504883370237694, + 0.03346029347193433, + 0.033391513470118754, + 0.03335576188008905, + 0.033347031604207024, + 0.03335290361706301, + 0.03336655002850509, + 0.03338274321632869, + 0.03336156479055801, + 0.033294635821186885, + 0.03320060807327072, + 0.033167779538725135, + 0.03318694578098684, + 0.03319230764117326, + 0.033150808966541136, + 0.033114895083446644, + 0.033089343018556844, + 0.03305129296049344, + 0.03302428912378125, + 0.03302787987277896, + 0.03298581357347908, + 0.032913558153837966, + 0.03288387042793664, + 0.03285497533345148, + 0.03279617396319526, + 0.032706011886845715, + 0.03262461887810808, + 0.03253471188187054, + 0.03243471505824927, + 0.032316277020505435, + 0.032193348725254214, + 0.032038935989653926, + 0.031823730253873354, + 0.03152555047107815, + 0.031154915315876365, + 0.030641431061806293, + 0.029877021019019498, + 0.02874910825276764, + 0.027153712069389137, + 0.024992303834049212, + 0.02227116165605743, + 0.019127633010139596, + 0.01582564646513735, + 0.012749619083340985, + 0.010131744682693082, + 0.008121794195747682, + 0.006671855978476098, + 0.005697203244874377, + 0.0051038813048541075, + 0.0048098153817948755, + 0.004775767875061667, + 0.00498202590629145, + 0.00544370751568214, + 0.0061938026248998315, + 0.0072750313986607515, + 0.008725052734274109, + 0.010573802555502337, + 0.012843874877266289, + 0.015541913851894355, + 0.018550727263180376, + 0.021603626558490303, + 0.02440013526259065, + 0.026674438028006207, + 0.028354995141736578, + 0.029529087295454434, + 0.03035004949434723, + 0.030924793404321405, + 0.03132249803804238, + 0.03158791878748779, + 0.03174930182335272, + 0.031868780529583356, + 0.031976663515280015, + 0.032100732113044914, + 0.03223733716328797, + 0.03231763756175812, + 0.032330888409385625, + 0.032333679866054225, + 0.03240535972070552, + 0.03248776259038054, + 0.03250925880913807, + 0.03252860774434349, + 0.0325619136136198, + 0.03256382077327397, + 0.032554810752436325, + 0.03257032459310856, + 0.03259277107744668, + 0.032620096405385934, + 0.03264552012950911, + 0.03264947831254068, + 0.032569183455171874, + 0.032443710915278264, + 0.03230044102231418, + 0.0321438094100075, + 0.03192127229182325, + 0.03154616384031319, + 0.03089773317537785, + 0.029892171344502304, + 0.028493621912993497, + 0.026645397294863607, + 0.024332793726701617, + 0.021624835696157464, + 0.018829881576261292, + 0.01624086318244938, + 0.014098464444972461, + 0.012496013720903736, + 0.011414298579108277, + 0.010817724819668133, + 0.01065997728801531, + 0.010928299294261251, + 0.01161287601727401, + 0.012708551793078806, + 0.01422010988168099, + 0.016124011401410104, + 0.018323007024201463, + 0.02069547220230127, + 0.023114643141949293, + 0.025448037442040442, + 0.02754454827167794, + 0.02926671986859986, + 0.03054292144749381, + 0.0313918142548803, + 0.031941853894506614, + 0.032324625337426444, + 0.03256851378202089, + 0.0326924008662718, + 0.032791936063830594, + 0.032924459087361836, + 0.03303679979190687, + 0.0331153719731554, + 0.0332112981810016, + 0.03329014341567102, + 0.03328168618542901, + 0.03327374638783099, + 0.03331575261772619, + 0.03335622663284948, + 0.033376573845243104, + 0.03339523557619884, + 0.033418384420289625, + 0.03346096615246564, + 0.03348131737407228, + 0.033471595958775684, + 0.03347501747534233, + 0.03352490219335122, + 0.033579144100993115, + 0.03359314850677184, + 0.03357990974912486, + 0.03357520027588265, + 0.033584437680000814, + 0.033617812064498945, + 0.03365806221164016, + 0.03367106858156654, + 0.03369434168888158, + 0.03372178919315091, + 0.03372195403482477, + 0.03369295587105, + 0.03367935708791965, + 0.033670354991794146, + 0.03367429524985029, + 0.03371094788571965, + 0.03374050684639706, + 0.03374857106000554, + 0.03373666830581423, + 0.03369225217907363, + 0.03367921429727253, + 0.03372494749292085, + 0.03376642681199379, + 0.03377305443783133, + 0.03379140000465344, + 0.03378565126700381, + 0.03375679996497402, + 0.03372892440803836, + 0.03371726752045398, + 0.03371169571202878, + 0.033700178532115696, + 0.03369168491647927, + 0.0336816072822291, + 0.03369181915246716, + 0.03375160835598996, + 0.033791596018829625, + 0.033784858791459, + 0.033788936953672334, + 0.033762719347588614, + 0.03369983844533167, + 0.03368389456667565, + 0.03371278608056389, + 0.03371156565289602, + 0.033688779618997716, + 0.03368231485738236, + 0.03364052806892469, + 0.03358793610061211, + 0.03360569547210096, + 0.03366954196879559, + 0.033683059249876586, + 0.03364102237682888, + 0.03359018700737963, + 0.03357599154708429, + 0.03357544969430144, + 0.0335605169244446, + 0.033567771026579464, + 0.03358620616316825, + 0.033550938407885464, + 0.03349732040859616, + 0.03345792755972724, + 0.033331847786884396, + 0.033124414560115015, + 0.03293513965842783, + 0.032682594253229884, + 0.03220758005514545, + 0.03150581407646851, + 0.030555520587537306, + 0.029251912771845925, + 0.02753459286365585, + 0.02542975227856862, + 0.023167631704792278, + 0.020996672333722013, + 0.019093835292362697, + 0.01762509295154955, + 0.01662642259378002, + 0.01613463021430837, + 0.016131936476069357, + 0.016606043559950996, + 0.01752072023805466, + 0.018812046099215204, + 0.02039454208867764, + 0.022134973146112402, + 0.023927939427291767, + 0.02574473620297549, + 0.027482820092283162, + 0.02898321588495694, + 0.030183402766919384, + 0.0311349079180205, + 0.03185562890544944, + 0.03233944375500439, + 0.03263427087687236, + 0.032784256893387015, + 0.0328658313092353, + 0.03291846412731393, + 0.032966037287874915, + 0.03298954541593389, + 0.03296779721404104, + 0.032928352846273136, + 0.032912353582814226, + 0.032918741087704546, + 0.032940999955327885, + 0.03294032939198476, + 0.03291211391882204, + 0.03290455389867952, + 0.03289821111961142, + 0.03286234780053534, + 0.03282930462271986, + 0.032772860624891424, + 0.03269741445654194, + 0.03265168449617323, + 0.03261419350183245, + 0.03253202690955983, + 0.03237513981897418, + 0.03216052191164358, + 0.03190907743651588, + 0.031546403004985506, + 0.031023241276873174, + 0.030330974447810907, + 0.02934166716195505, + 0.027918075426643006, + 0.025956131302315697, + 0.023459837387343894, + 0.020553527031466474, + 0.01747363630194868, + 0.014556427758096674, + 0.012044020143814818, + 0.010095351749514632, + 0.008686058098749174, + 0.007749783775640354, + 0.00721823405930173, + 0.0070219018708071205, + 0.007150242707403789, + 0.007577898474476164, + 0.008329481740271441, + 0.009434513655255015, + 0.010900389903167895, + 0.012721905638036976, + 0.0148841485385152, + 0.017340404596651898, + 0.02000365667430051, + 0.02269826214698697, + 0.02516537867345899, + 0.0272308684098284, + 0.028784508298506196, + 0.029915780841433832, + 0.030677712690413316, + 0.031152394011996116, + 0.03141833320579144, + 0.0315924736725871, + 0.031789352851460465, + 0.03197398405874712, + 0.032066495311169244, + 0.03210097976049048, + 0.03214572703428616, + 0.032205255430745476, + 0.032212709264520877, + 0.032193115464728056, + 0.03221446093122261, + 0.032250928919368003, + 0.03224945099942678, + 0.03220983179853422, + 0.032170943481298515, + 0.03215109681105086, + 0.03212374622309108, + 0.0320620144799114, + 0.03194850098199862, + 0.03182301555314923, + 0.03170220553355525, + 0.0314820696112533, + 0.031134819168655764, + 0.030672141873632798, + 0.02998350669225684, + 0.028892083641383008, + 0.027348552684387347, + 0.025280517460591772, + 0.022735646076595423, + 0.01980331006513901, + 0.016802115390839995, + 0.014039970727209467, + 0.011710020120343256, + 0.009934057418839752, + 0.00866345664728881, + 0.007834678434305218, + 0.007383251546307666, + 0.007266379512215889, + 0.007478358052180762, + 0.008000976681723844, + 0.008856180312782515, + 0.010059560561936114, + 0.01160854394218968, + 0.013483916351820429, + 0.01564825335767628, + 0.01808761228600292, + 0.02068819271814192, + 0.02329769618148996, + 0.025710487304083613, + 0.02770575947383746, + 0.029145453316398232, + 0.030116730131722783, + 0.030783195736403385, + 0.03126224796508995, + 0.03156641266452029, + 0.031766657382245135, + 0.03190676074883224, + 0.03198561584365625, + 0.03206172037723988, + 0.032177632946133176, + 0.03228823516768743, + 0.03233356620447665, + 0.032330067015355936, + 0.03233596523153494, + 0.03235751059820673, + 0.03237979859464876, + 0.032381770480317325, + 0.0323462134629959, + 0.03229585677731715, + 0.03224153998417589, + 0.03219974889394125, + 0.03215122890966328, + 0.032034224063599195, + 0.031901268455835574, + 0.0317873850000003, + 0.03160565654734027, + 0.03122396330555411, + 0.030577186622154254, + 0.029624305708586894, + 0.028278946939757403, + 0.026485312969300383, + 0.024202979892186026, + 0.021531677794290934, + 0.01863480888522906, + 0.015889970874286632, + 0.013504713956244859, + 0.011627310767451122, + 0.010265762251174392, + 0.009366471188839811, + 0.008889069737475672, + 0.00878144811889472, + 0.009037384012699995, + 0.00963366113153036, + 0.010584386156961459, + 0.011902283084041804, + 0.013555293262800411, + 0.01550541107758183, + 0.017702813106553854, + 0.020082170630882638, + 0.02254972666163849, + 0.024932379537423627, + 0.027029298202724473, + 0.028758601585790963, + 0.03001613225125458, + 0.030821571525789127, + 0.03134972286282439, + 0.031761698089638246, + 0.03207556669915898, + 0.03228334030061077, + 0.03238353858201203, + 0.03242918594571157, + 0.032509002806453656, + 0.03259035000213834, + 0.032619436813746586, + 0.03259592610608597, + 0.032562469761176174, + 0.03258953562920253, + 0.032664494383422525, + 0.032716745129162034, + 0.03274584743421076, + 0.032751669198945677, + 0.03273743755595167, + 0.03272582050809263, + 0.032732916450986374, + 0.03272633528439106, + 0.032644221273984364, + 0.03250281562162112, + 0.032359026399965726, + 0.032160289126573906, + 0.03183056982456055, + 0.031281825869427037, + 0.03048546200341808, + 0.02939120414309421, + 0.02793734941967527, + 0.025999792512642148, + 0.023668136866447528, + 0.021151357300310158, + 0.018725143882970134, + 0.016624681751979054, + 0.014968785527768117, + 0.013814929149898916, + 0.013137150074740391, + 0.012893922910529227, + 0.013096388930937512, + 0.013700321153539616, + 0.014695361518652238, + 0.01606494418414874, + 0.01776741176734521, + 0.019689868645327815, + 0.021726862185551074, + 0.023805022279976717, + 0.025785923052414936, + 0.02763476035902924, + 0.029218705259052628, + 0.03044416280352387, + 0.031301323658975054, + 0.03189372909796654, + 0.03229251889691454, + 0.032603545677879174, + 0.03280987770765911, + 0.03287418773565965, + 0.03284600721425842, + 0.032846044254025326, + 0.03290681121307526, + 0.03301316608798376, + 0.03314054529739248, + 0.033184525947595606, + 0.033142608836263236, + 0.03309638439448612, + 0.033084033158999264, + 0.03313142481089284, + 0.03318471918521326, + 0.0331683020179986, + 0.0331262332980539, + 0.03311213232171127, + 0.03311418604914086, + 0.033105736446796104, + 0.033076780010593894, + 0.033048372060948815, + 0.032992275301447625, + 0.03286748165008439, + 0.032637612737115226, + 0.03223168094491705, + 0.03160445054860265, + 0.03075536506568119, + 0.02962456014177623, + 0.02811738760483392, + 0.026335702244538343, + 0.024359621852702455, + 0.02242217364662427, + 0.020706334798489143, + 0.019330074981613335, + 0.018380452595086225, + 0.017884911863879707, + 0.017862916642561566, + 0.018255744353838758, + 0.01907132767051441, + 0.02024567685244846, + 0.02166613454006368, + 0.023197613055665898, + 0.02477122356108639, + 0.026390437412761834, + 0.027947553560262926, + 0.029283834941961042, + 0.03035482200539325, + 0.031248014546423772, + 0.03196821714544176, + 0.032478452565475505, + 0.03277981302511893, + 0.03296699288995789, + 0.033072327422904634, + 0.03313749131250728, + 0.03317968523953079, + 0.03315707338840793, + 0.033117231555891746, + 0.03313848829918489, + 0.03320218287025794, + 0.03326188916121023, + 0.033253669848131974, + 0.03318824826795854, + 0.033148321046213534, + 0.033148161764961576, + 0.03316722560277419, + 0.033163908668945585, + 0.03310289578991359, + 0.03302105686931802, + 0.032955185453375176, + 0.032864232635199477, + 0.032672940122771554, + 0.032345983968783285, + 0.031932196704641244, + 0.031448463737675784, + 0.03074078725657026, + 0.029612961092773216, + 0.0280682278590524, + 0.026039053016983633, + 0.0235675179217028, + 0.020704854722284, + 0.01785179706982756, + 0.015240527953506347, + 0.013085569553528019, + 0.011443624312602879, + 0.010291887192524059, + 0.009611756097582438, + 0.009307558599372634, + 0.009367548269081165, + 0.009770578655126124, + 0.010528438922290509, + 0.011636598145221857, + 0.013090312188245945, + 0.014849447009004245, + 0.016874654846992652, + 0.019101692041323556, + 0.02146067048713276, + 0.023854266071195722, + 0.026155646571107322, + 0.028174042724283248, + 0.02970361874614886, + 0.03076787288722045, + 0.03151691251984055, + 0.032066006967222685, + 0.03250082695204075, + 0.032802023899289545, + 0.032956650044225023, + 0.03299506585665062, + 0.033045666210332315, + 0.03318460786326743, + 0.03331522971672129, + 0.03337960405395434, + 0.03339998193314576, + 0.033396146023292994, + 0.0334360182077731, + 0.03348294671235983, + 0.033527487701563614, + 0.03358737664860906, + 0.03357832042302863, + 0.03357896774878643, + 0.03364826381766806, + 0.0336594257119857, + 0.03363579078893292, + 0.033653164461573314, + 0.03367100587095008, + 0.0336341530148419, + 0.033565606930384115, + 0.03357349529921886, + 0.03367666374106131, + 0.03377313710925606, + 0.03378592123969008, + 0.03375295554351389, + 0.03377135976281309, + 0.03381192413857105, + 0.03383417840048374, + 0.03388201524990545, + 0.03393285115609274, + 0.033901397890797234, + 0.033823482924330565, + 0.033778159069456457, + 0.03377020252150605, + 0.03382656427407228, + 0.03390722336750735, + 0.033920120202769716, + 0.033865686375896535, + 0.033818410395125856, + 0.03382096937774314, + 0.03381831005075701, + 0.03380498045224014, + 0.03384288383343369, + 0.03385696046394203, + 0.033817712359679564, + 0.03384191391473476, + 0.03389669205194568, + 0.03389461681300688, + 0.03386223702558359, + 0.03380590247931316, + 0.033749787650848365, + 0.03377133148341473, + 0.03383582916200228, + 0.03385343638323639, + 0.03380257862261301, + 0.03372688484723101, + 0.033691494389816876, + 0.03372584563398547, + 0.03378220949341119, + 0.033772460520809934, + 0.03371510361892303, + 0.03371878111566122, + 0.033768540757300854, + 0.03367522746553525, + 0.033493708175028336, + 0.03339341270400352, + 0.03325335347734782, + 0.03292832802917405, + 0.03249294921569844, + 0.03194587879896101, + 0.03113570298698173, + 0.029909855348909328, + 0.02837750666045014, + 0.026497349294708622, + 0.02443274470958155, + 0.022330382742065096, + 0.020382260690532433, + 0.018816338712472153, + 0.01766232513207295, + 0.01695442308756974, + 0.016667013175538915, + 0.01681875428658684, + 0.017402961910507227, + 0.018348072904305, + 0.019603815140055506, + 0.021099980054569024, + 0.022768275748499774, + 0.024491174053317147, + 0.02613524418593406, + 0.027697437112224364, + 0.029100422790032335, + 0.030315460313477014, + 0.03126575474086876, + 0.03194847372621207, + 0.032410856667664835, + 0.03269809759822829, + 0.03286947216927055, + 0.03297649803086238, + 0.03303336111903939, + 0.033062026803493495, + 0.033009206524375244, + 0.0329734265079839, + 0.03303851523291269, + 0.033089733547389616, + 0.03309519147360486, + 0.03309737890914527, + 0.03304335023752933, + 0.03290583431348059, + 0.032758350618345984, + 0.03273037030239297, + 0.03276006182751842, + 0.03268018629690857, + 0.03246745686863129, + 0.032149421027367675, + 0.031729084665459886, + 0.03121980963995465, + 0.030443353163289503, + 0.029336899277846995, + 0.027790281246415485, + 0.02578536504659915, + 0.023146447210544253, + 0.02025257779149527, + 0.017217077340960382, + 0.014448086448657884, + 0.012125569658100603, + 0.010329683441447777, + 0.009059238651277092, + 0.008215493744768243, + 0.007757671259210576, + 0.007608084286094895, + 0.007764707192602676, + 0.008219029305248973, + 0.008962395165098518, + 0.010012514114855162, + 0.011368845536375889, + 0.013015163272915575, + 0.014930664088308171, + 0.017070430830027426, + 0.019431899510725967, + 0.021946201734204022, + 0.024409961913442146, + 0.026639575618747902, + 0.028503858411467478, + 0.029808042727165737, + 0.03073421337312987, + 0.03142172631667268, + 0.03191722638250776, + 0.032247618170112756, + 0.03247686520150922, + 0.03260749571624224, + 0.032597186667215464, + 0.032553664637423166, + 0.03269785084823646, + 0.032951212862416646, + 0.03304662643454037, + 0.032998272255760776, + 0.03299942704432605, + 0.03302685624251477, + 0.033030276913834304, + 0.032989373126529754, + 0.03290291841696878, + 0.03280828857837425, + 0.03272420070262208, + 0.03259575385048098, + 0.03237350856469632, + 0.0320213873316388, + 0.03142443831951228, + 0.030394575021012338, + 0.029076721153352345, + 0.02744895806228852, + 0.025527861355075024, + 0.02327936346200963, + 0.0210080370102527, + 0.018964677795662948, + 0.017297861139635436, + 0.016071044532065946, + 0.01526696929134482, + 0.014919751357207685, + 0.014948605046249073, + 0.015383811857220405, + 0.016203330835764865, + 0.017418788149530844, + 0.01892500890141906, + 0.020592052943093152, + 0.0223311455437079, + 0.024081758038888866, + 0.025834888077628442, + 0.02750992777993317, + 0.02905152871723178, + 0.03039673194315687, + 0.031450703028982584, + 0.032121758403558014, + 0.03254548650873974, + 0.03289100000589705, + 0.033194795863794514, + 0.03337088890740394, + 0.033397199055556805, + 0.03342164592911147, + 0.03351058192908019, + 0.03355694903963356, + 0.03355704139553892, + 0.03365771001001152, + 0.03378273844905781, + 0.03373326906085922, + 0.03361667825505762, + 0.03361162230980662, + 0.03362269521666293, + 0.033551947545388164, + 0.03347981860841075, + 0.033450612004533774, + 0.03338986324745282, + 0.03329905541698097, + 0.033220266942961534, + 0.03305677781282702, + 0.03265456213297033, + 0.032053025219454835, + 0.03128684740172688, + 0.030280967372853695, + 0.028900983394591077, + 0.027340181172086784, + 0.025606554177587837, + 0.023959849995018722, + 0.022577709059815633, + 0.021481057559243684, + 0.02074829983123169, + 0.02038090897591421, + 0.020533383588990192, + 0.02104806930228409, + 0.021918473452705554, + 0.02307859985977328, + 0.024424927245313876, + 0.02579781939223611, + 0.027097544192025563, + 0.02836582899260751, + 0.029544855673767738, + 0.03059948345629047, + 0.03149572998716833, + 0.03223628662926525, + 0.03277323962168452, + 0.03328957693014439, + 0.03362170553612041, + 0.033682014080213596, + 0.03371837776612146, + 0.033780899147887435, + 0.03381486598222728, + 0.033857878769229216, + 0.033839993901819944, + 0.03382483585579181, + 0.033831233195710256, + 0.03382219992158077, + 0.03383043203153846, + 0.03379240405683132, + 0.033697484020001965, + 0.033675357244433324, + 0.03371748869637603, + 0.0337030706302162, + 0.03366379138476154, + 0.03366247291868153, + 0.03368200975252375, + 0.0336139669068916, + 0.03337268595418245, + 0.033147048934711786, + 0.03285090130261849, + 0.032269210775393395, + 0.0314357433722157, + 0.030319127834683594, + 0.028877891697110414, + 0.027288619224639876, + 0.025829860534281927, + 0.024444626176089446, + 0.023313982092602072, + 0.022556216946297593, + 0.02211925076168242, + 0.02211337694642662, + 0.02246662924285341, + 0.023236305024723326, + 0.024201181181306868, + 0.025328497796809884, + 0.026531109817221114, + 0.027637335874852665, + 0.02870576156381924, + 0.029799981447765456, + 0.03088112831847201, + 0.03170085606363341, + 0.032251867320052086, + 0.03261178344260055, + 0.033069263053243994, + 0.03340067134146614, + 0.0335477589481721, + 0.03364516736399257, + 0.03367157892492402, + 0.03363394371923848, + 0.033729861820846904, + 0.03381289888105958, + 0.03386361055711081, + 0.03396437604108572, + 0.033962670912000524, + 0.03381495322039495, + 0.03359685757419497, + 0.03342920672646995, + 0.033358476304155074, + 0.03336192780486663, + 0.03335775892318206, + 0.0330820457930859, + 0.03272658859295918, + 0.03242962323065697, + 0.03204279347925535, + 0.031412768734957935, + 0.030494270924213335, + 0.028873130225148383, + 0.02692439080053186, + 0.024298146142952937, + 0.02150523167854246, + 0.018605822424919014, + 0.016061231484434862, + 0.013946538976613968, + 0.012320514222048055, + 0.011236808503597488, + 0.010539173373792248, + 0.010332408052864672, + 0.01047077590085484, + 0.01099074886048293, + 0.011843707375344556, + 0.013012861955964043, + 0.014495050337101266, + 0.016251431990679528, + 0.018209360971906858, + 0.0202611056625966, + 0.022410457848909274, + 0.02458090081710041, + 0.026649300596148794, + 0.0283971651365175, + 0.030035030021968525, + 0.03134946605130296, + 0.03225347046488324, + 0.032713919801328435, + 0.03282568498654792, + 0.03294523713950123, + 0.03324083846180475, + 0.03341702759858392, + 0.03335452684665079, + 0.03343263876919161, + 0.03371603375899166, + 0.033759910479778395, + 0.033464163356342835, + 0.03339631620582666, + 0.03364774338358747, + 0.03373744115439129, + 0.03359064540299607, + 0.03332060558329617, + 0.0330156067331213, + 0.03296641454715477, + 0.03309986127791369, + 0.03294781061720524, + 0.03234861237133528, + 0.031393949613324035, + 0.029798213225730702, + 0.027829436839904933, + 0.02525356985177843, + 0.02256455987556714, + 0.019935026220691838, + 0.017747532975522062, + 0.015909473117048153, + 0.014616177040942287, + 0.013903087823703005, + 0.013494337704984531, + 0.013678995699223227, + 0.014180384241762392, + 0.015194606118856941, + 0.01645555492364109, + 0.018055295167957692, + 0.020005390856972262, + 0.0217084471020568, + 0.023430458523519302, + 0.025288001868354868, + 0.02721640459484472, + 0.02857322548469595, + 0.029939437920585066, + 0.031052717740622914, + 0.03200659510895311, + 0.03266374345534244, + 0.03312968086723774, + 0.03331723884704845, + 0.03335225861283109, + 0.033394237970378764, + 0.033501327304021375, + 0.03359362420323845, + 0.033659434355763386, + 0.03350316411813986, + 0.03331117408660455, + 0.03346529758147531, + 0.033730452070458945, + 0.03412478214280809, + 0.03464281959756716, + 0.034625774515995814, + 0.03445672178093869, + 0.034703696263227245, + 0.03483958340393777, + 0.03479306742716333, + 0.03481058042775965, + 0.03483784019584058, + 0.034896531379775074, + 0.03496925796377547, + 0.035059497522976095, + 0.035001098524238994, + 0.034754725653783965, + 0.034280684481217676, + 0.033836875164372046, + 0.034090139173919086, + 0.034761850677626285, + 0.035172629580194355, + 0.03525864655212242, + 0.035205962279268574, + 0.03509862316256878, + 0.03512780703933681, + 0.035482812133057845, + 0.03528922073047869, + 0.03450481268584686, + 0.034450619954508106, + 0.034929901086089614, + 0.03513475387853203, + 0.03519732840590786, + 0.03491427194651621, + 0.034314669382406904, + 0.034448806804133446, + 0.0352925820672287, + 0.03552356276357013, + 0.035045553578010334, + 0.035333465783509745, + 0.03693304575195444, + 0.03747770086520214, + 0.035685887844780335, + 0.03427730022587709, + 0.03427730022587709 + ] + }, + "fit_range": [ + 1.0, + 15.0 + ], + "instrument": { + "description": "Pair distribution function (PDF) beamline (port 28-ID-1) at NSLS-II, BNL", + "radiation": { + "setup_wavelength": [ + 0.1665, + false, + null, + null + ] + }, + "polarization": { + "setup_polarization_coefficient": 0.01, + "setup_monochromator_twotheta": 0.0 + }, + "corrections": { + "calib_twotheta_offset": [ + 0.0, + false, + null, + null + ] + }, + "broadening": { + "peak_type": "cwl-pseudo-voigt", + "parameters": { + "broad_gauss_u": [ + 0.010379135146427253, + true, + null, + null + ], + "broad_gauss_v": [ + 0.0003328998068853359, + true, + null, + null + ], + "broad_gauss_w": [ + 0.0006360390661515072, + true, + null, + null + ], + "broad_lorentz_x": [ + 1e-05, + true, + null, + null + ], + "broad_lorentz_y": [ + 0.0028143034323339765, + true, + null, + null + ] + } + } + }, + "background": { + "chebyshev": { + "num_coefficients": 6, + "coefficients": [ + 30.0, + 0.6, + 0.7, + -0.4, + -0.8, + 0.9 + ], + "refine_flag": true + } + }, + "phases": { + "LaB6": { + "space_group": "P m -3 m", + "unit_cell": { + "a": [ + 4.15682, + true, + null, + null + ], + "b": [ + 4.15682, + true, + null, + null + ], + "c": [ + 4.15682, + true, + null, + null + ], + "alpha": [ + 90.0, + false, + null, + null + ], + "beta": [ + 90.0, + false, + null, + null + ], + "gamma": [ + 90.0, + false, + null, + null + ] + }, + "atoms": { + "La": { + "element": "La", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.0, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.00858, + false, + null, + null + ] + }, + "B": { + "element": "B", + "x": [ + 0.2021, + false, + null, + null + ], + "y": [ + 0.5, + false, + null, + null + ], + "z": [ + 0.5, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.009, + false, + null, + null + ] + } + }, + "scale": [ + 5.4e-06, + true, + null, + null + ] + } + }, + "refinement_controls": { + "calculator": "cryspy", + "minimizer": "lmfit (leastsq)", + "max_iterations": 1000, + "chi_square_change_tolerance": 1e-08, + "parameter_change_tolerance": 1e-08, + "gradient_tolerance": 0.0 + } + } +} diff --git a/tests/data/easydiffraction/native/lab6_slots_simulation.json b/tests/data/easydiffraction/native/lab6_slots_simulation.json new file mode 100644 index 0000000..aad39da --- /dev/null +++ b/tests/data/easydiffraction/native/lab6_slots_simulation.json @@ -0,0 +1,12536 @@ +{ + "schema_name": "easydiffraction.rietveld", + "core_schema_version": "1.0.0", + "engine_schema_version": "1.0.0", + "payload": { + "xrd_data": { + "tth": [ + 0.6472655703475011, + 0.6509823116902422, + 0.6546990530329833, + 0.6584157943757244, + 0.6621325357184655, + 0.6658492770612067, + 0.6695660184039477, + 0.6732827597466888, + 0.67699950108943, + 0.6807162424321711, + 0.6844329837749121, + 0.6881497251176533, + 0.6918664664603944, + 0.6955832078031355, + 0.6992999491458766, + 0.7030166904886177, + 0.7067334318313588, + 0.7104501731741, + 0.714166914516841, + 0.7178836558595821, + 0.7216003972023233, + 0.7253171385450644, + 0.7290338798878054, + 0.7327506212305466, + 0.7364673625732877, + 0.7401841039160288, + 0.7439008452587699, + 0.747617586601511, + 0.7513343279442521, + 0.7550510692869933, + 0.7587678106297343, + 0.7624845519724754, + 0.7662012933152166, + 0.7699180346579577, + 0.7736347760006987, + 0.7773515173434399, + 0.781068258686181, + 0.7847850000289222, + 0.7885017413716632, + 0.7922184827144042, + 0.7959352240571455, + 0.7996519653998866, + 0.8033687067426276, + 0.8070854480853686, + 0.8108021894281099, + 0.814518930770851, + 0.818235672113592, + 0.8219524134563331, + 0.8256691547990743, + 0.8293858961418155, + 0.8331026374845565, + 0.8368193788272975, + 0.8405361201700388, + 0.8442528615127799, + 0.8479696028555209, + 0.851686344198262, + 0.8554030855410032, + 0.8591198268837443, + 0.8628365682264854, + 0.8665533095692264, + 0.8702700509119676, + 0.8739867922547088, + 0.8777035335974498, + 0.8814202749401908, + 0.8851370162829321, + 0.8888537576256732, + 0.8925704989684142, + 0.8962872403111553, + 0.9000039816538965, + 0.9037207229966376, + 0.9074374643393786, + 0.9111542056821197, + 0.9148709470248608, + 0.9185876883676021, + 0.9223044297103432, + 0.9260211710530841, + 0.9297379123958253, + 0.9334546537385665, + 0.9371713950813074, + 0.9408881364240486, + 0.9446048777667897, + 0.9483216191095309, + 0.9520383604522721, + 0.955755101795013, + 0.9594718431377541, + 0.9631885844804954, + 0.9669053258232363, + 0.9706220671659774, + 0.9743388085087186, + 0.9780555498514598, + 0.981772291194201, + 0.9854890325369419, + 0.989205773879683, + 0.9929225152224243, + 0.9966392565651652, + 1.0003559979079064, + 1.0040727392506474, + 1.0077894805933887, + 1.0115062219361297, + 1.0152229632788707, + 1.018939704621612, + 1.022656445964353, + 1.026373187307094, + 1.0300899286498353, + 1.0338066699925763, + 1.0375234113353176, + 1.0412401526780586, + 1.0449568940207996, + 1.0486736353635409, + 1.0523903767062819, + 1.056107118049023, + 1.0598238593917642, + 1.0635406007345052, + 1.0672573420772464, + 1.0709740834199875, + 1.0746908247627285, + 1.0784075661054697, + 1.0821243074482108, + 1.0858410487909518, + 1.089557790133693, + 1.093274531476434, + 1.0969912728191753, + 1.1007080141619163, + 1.1044247555046574, + 1.1081414968473986, + 1.1118582381901396, + 1.1155749795328807, + 1.1192917208756217, + 1.123008462218363, + 1.1267252035611042, + 1.1304419449038452, + 1.1341586862465862, + 1.1378754275893275, + 1.1415921689320685, + 1.1453089102748095, + 1.1490256516175505, + 1.1527423929602918, + 1.156459134303033, + 1.160175875645774, + 1.163892616988515, + 1.1676093583312563, + 1.1713260996739974, + 1.1750428410167384, + 1.1787595823594794, + 1.1824763237022207, + 1.186193065044962, + 1.189909806387703, + 1.193626547730444, + 1.1973432890731852, + 1.2010600304159262, + 1.2047767717586673, + 1.2084935131014083, + 1.2122102544441495, + 1.2159269957868908, + 1.2196437371296318, + 1.2233604784723728, + 1.227077219815114, + 1.230793961157855, + 1.2345107025005961, + 1.2382274438433372, + 1.2419441851860784, + 1.2456609265288197, + 1.2493776678715607, + 1.2530944092143017, + 1.2568111505570427, + 1.260527891899784, + 1.264244633242525, + 1.267961374585266, + 1.2716781159280073, + 1.2753948572707485, + 1.2791115986134896, + 1.2828283399562306, + 1.2865450812989716, + 1.2902618226417129, + 1.2939785639844539, + 1.297695305327195, + 1.3014120466699362, + 1.3051287880126774, + 1.3088455293554184, + 1.3125622706981595, + 1.3162790120409005, + 1.3199957533836417, + 1.3237124947263827, + 1.3274292360691238, + 1.331145977411865, + 1.3348627187546063, + 1.3385794600973473, + 1.3422962014400883, + 1.3460129427828293, + 1.3497296841255706, + 1.3534464254683116, + 1.3571631668110526, + 1.360879908153794, + 1.364596649496535, + 1.3683133908392762, + 1.3720301321820172, + 1.3757468735247582, + 1.3794636148674995, + 1.3831803562102405, + 1.3868970975529815, + 1.3906138388957228, + 1.3943305802384638, + 1.398047321581205, + 1.401764062923946, + 1.405480804266687, + 1.4091975456094283, + 1.4129142869521694, + 1.4166310282949104, + 1.4203477696376516, + 1.4240645109803927, + 1.427781252323134, + 1.431497993665875, + 1.435214735008616, + 1.4389314763513572, + 1.4426482176940982, + 1.4463649590368393, + 1.4500817003795805, + 1.4537984417223215, + 1.4575151830650628, + 1.4612319244078038, + 1.4649486657505448, + 1.468665407093286, + 1.472382148436027, + 1.4760988897787681, + 1.4798156311215094, + 1.4835323724642504, + 1.4872491138069917, + 1.4909658551497327, + 1.4946825964924737, + 1.498399337835215, + 1.502116079177956, + 1.505832820520697, + 1.5095495618634382, + 1.5132663032061793, + 1.5169830445489205, + 1.5206997858916615, + 1.5244165272344026, + 1.5281332685771438, + 1.5318500099198848, + 1.5355667512626259, + 1.5392834926053671, + 1.5430002339481081, + 1.5467169752908494, + 1.5504337166335904, + 1.5541504579763314, + 1.5578671993190727, + 1.5615839406618137, + 1.5653006820045547, + 1.569017423347296, + 1.572734164690037, + 1.5764509060327783, + 1.5801676473755193, + 1.5838843887182603, + 1.5876011300610016, + 1.5913178714037426, + 1.5950346127464836, + 1.5987513540892249, + 1.6024680954319659, + 1.6061848367747071, + 1.6099015781174482, + 1.6136183194601892, + 1.6173350608029304, + 1.6210518021456712, + 1.6247685434884125, + 1.6284852848311537, + 1.6322020261738948, + 1.635918767516636, + 1.639635508859377, + 1.643352250202118, + 1.6470689915448593, + 1.6507857328876, + 1.6545024742303414, + 1.6582192155730826, + 1.6619359569158236, + 1.6656526982585649, + 1.669369439601306, + 1.673086180944047, + 1.6768029222867882, + 1.680519663629529, + 1.6842364049722702, + 1.6879531463150115, + 1.6916698876577525, + 1.6953866290004938, + 1.6991033703432348, + 1.7028201116859758, + 1.706536853028717, + 1.7102535943714579, + 1.713970335714199, + 1.7176870770569403, + 1.7214038183996814, + 1.7251205597424226, + 1.7288373010851636, + 1.7325540424279047, + 1.736270783770646, + 1.7399875251133867, + 1.743704266456128, + 1.7474210077988692, + 1.7511377491416102, + 1.7548544904843515, + 1.7585712318270923, + 1.7622879731698335, + 1.7660047145125748, + 1.7697214558553156, + 1.7734381971980568, + 1.777154938540798, + 1.7808716798835391, + 1.7845884212262804, + 1.7883051625690212, + 1.7920219039117622, + 1.7957386452545034, + 1.7994553865972445, + 1.8031721279399857, + 1.806888869282727, + 1.810605610625468, + 1.8143223519682092, + 1.8180390933109503, + 1.8217558346536915, + 1.8254725759964328, + 1.8291893173391733, + 1.8329060586819146, + 1.8366228000246558, + 1.8403395413673969, + 1.844056282710138, + 1.847773024052879, + 1.85148976539562, + 1.8552065067383612, + 1.8589232480811022, + 1.8626399894238435, + 1.8663567307665847, + 1.8700734721093257, + 1.873790213452067, + 1.877506954794808, + 1.8812236961375493, + 1.8849404374802903, + 1.888657178823031, + 1.8923739201657723, + 1.8960906615085134, + 1.8998074028512546, + 1.9035241441939958, + 1.9072408855367364, + 1.9109576268794777, + 1.914674368222219, + 1.91839110956496, + 1.9221078509077012, + 1.9258245922504422, + 1.9295413335931835, + 1.9332580749359247, + 1.9369748162786657, + 1.940691557621407, + 1.944408298964148, + 1.9481250403068888, + 1.95184178164963, + 1.955558522992371, + 1.9592752643351123, + 1.9629920056778536, + 1.9667087470205942, + 1.9704254883633354, + 1.9741422297060767, + 1.9778589710488177, + 1.981575712391559, + 1.9852924537343, + 1.9890091950770412, + 1.9927259364197825, + 1.9964426777625235, + 2.0001594191052647, + 2.003876160448006, + 2.007592901790747, + 2.0113096431334876, + 2.015026384476229, + 2.01874312581897, + 2.0224598671617113, + 2.026176608504452, + 2.029893349847193, + 2.033610091189934, + 2.0373268325326754, + 2.0410435738754167, + 2.044760315218158, + 2.0484770565608987, + 2.05219379790364, + 2.0559105392463812, + 2.0596272805891225, + 2.0633440219318637, + 2.0670607632746045, + 2.0707775046173453, + 2.0744942459600866, + 2.078210987302828, + 2.081927728645569, + 2.08564446998831, + 2.0893612113310507, + 2.093077952673792, + 2.096794694016533, + 2.1005114353592744, + 2.1042281767020157, + 2.1079449180447565, + 2.1116616593874977, + 2.115378400730239, + 2.11909514207298, + 2.1228118834157215, + 2.1265286247584623, + 2.130245366101203, + 2.1339621074439443, + 2.1376788487866856, + 2.141395590129427, + 2.1451123314721676, + 2.1488290728149084, + 2.1525458141576497, + 2.156262555500391, + 2.159979296843132, + 2.1636960381858734, + 2.167412779528614, + 2.1711295208713555, + 2.1748462622140967, + 2.178563003556838, + 2.182279744899579, + 2.18599648624232, + 2.189713227585061, + 2.193429968927802, + 2.1971467102705433, + 2.2008634516132846, + 2.2045801929560254, + 2.208296934298766, + 2.2120136756415074, + 2.2157304169842487, + 2.21944715832699, + 2.223163899669731, + 2.226880641012472, + 2.230597382355213, + 2.2343141236979545, + 2.2380308650406957, + 2.241747606383437, + 2.2454643477261778, + 2.2491810890689186, + 2.25289783041166, + 2.256614571754401, + 2.2603313130971423, + 2.264048054439883, + 2.267764795782624, + 2.271481537125365, + 2.2751982784681064, + 2.2789150198108477, + 2.282631761153589, + 2.2863485024963297, + 2.290065243839071, + 2.293781985181812, + 2.2974987265245534, + 2.3012154678672947, + 2.304932209210035, + 2.3086489505527763, + 2.3123656918955175, + 2.316082433238259, + 2.319799174581, + 2.323515915923741, + 2.3272326572664817, + 2.330949398609223, + 2.334666139951964, + 2.3383828812947054, + 2.3420996226374466, + 2.3458163639801874, + 2.3495331053229287, + 2.35324984666567, + 2.356966588008411, + 2.3606833293511524, + 2.364400070693893, + 2.368116812036634, + 2.3718335533793753, + 2.3755502947221165, + 2.379267036064858, + 2.3829837774075986, + 2.3867005187503394, + 2.3904172600930806, + 2.394134001435822, + 2.397850742778563, + 2.4015674841213044, + 2.405284225464045, + 2.4090009668067864, + 2.4127177081495277, + 2.416434449492269, + 2.42015119083501, + 2.4238679321777505, + 2.427584673520492, + 2.431301414863233, + 2.4350181562059743, + 2.4387348975487155, + 2.4424516388914563, + 2.4461683802341976, + 2.4498851215769384, + 2.4536018629196796, + 2.457318604262421, + 2.461035345605162, + 2.464752086947903, + 2.468468828290644, + 2.4721855696333854, + 2.4759023109761262, + 2.4796190523188675, + 2.4833357936616083, + 2.4870525350043495, + 2.4907692763470908, + 2.494486017689832, + 2.4982027590325733, + 2.501919500375314, + 2.5056362417180553, + 2.509352983060796, + 2.5130697244035374, + 2.5167864657462786, + 2.5205032070890194, + 2.5242199484317607, + 2.527936689774502, + 2.531653431117243, + 2.535370172459984, + 2.539086913802725, + 2.542803655145466, + 2.5465203964882073, + 2.5502371378309485, + 2.5539538791736898, + 2.557670620516431, + 2.561387361859172, + 2.565104103201913, + 2.568820844544654, + 2.572537585887395, + 2.5762543272301364, + 2.579971068572877, + 2.5836878099156184, + 2.5874045512583597, + 2.591121292601101, + 2.5948380339438417, + 2.598554775286583, + 2.6022715166293238, + 2.605988257972065, + 2.6097049993148063, + 2.6134217406575475, + 2.6171384820002888, + 2.6208552233430296, + 2.624571964685771, + 2.6282887060285116, + 2.632005447371253, + 2.635722188713994, + 2.639438930056735, + 2.643155671399476, + 2.6468724127422174, + 2.6505891540849587, + 2.6543058954276995, + 2.6580226367704407, + 2.6617393781131815, + 2.6654561194559228, + 2.669172860798664, + 2.6728896021414053, + 2.6766063434841465, + 2.6803230848268873, + 2.6840398261696286, + 2.6877565675123694, + 2.6914733088551106, + 2.695190050197852, + 2.6989067915405927, + 2.702623532883334, + 2.706340274226075, + 2.7100570155688164, + 2.713773756911557, + 2.7174904982542984, + 2.7212072395970393, + 2.7249239809397805, + 2.7286407222825217, + 2.732357463625263, + 2.7360742049680042, + 2.739790946310745, + 2.7435076876534863, + 2.747224428996227, + 2.7509411703389683, + 2.7546579116817096, + 2.7583746530244504, + 2.7620913943671916, + 2.765808135709933, + 2.769524877052674, + 2.773241618395415, + 2.7769583597381557, + 2.780675101080897, + 2.7843918424236382, + 2.7881085837663795, + 2.7918253251091207, + 2.7955420664518615, + 2.799258807794603, + 2.802975549137344, + 2.806692290480085, + 2.810409031822826, + 2.8141257731655673, + 2.817842514508308, + 2.8215592558510494, + 2.8252759971937906, + 2.828992738536532, + 2.8327094798792727, + 2.8364262212220135, + 2.8401429625647547, + 2.843859703907496, + 2.8475764452502372, + 2.8512931865929785, + 2.8550099279357193, + 2.8587266692784605, + 2.862443410621202, + 2.8661601519639426, + 2.869876893306684, + 2.873593634649425, + 2.877310375992166, + 2.881027117334907, + 2.8847438586776484, + 2.8884606000203896, + 2.8921773413631304, + 2.8958940827058712, + 2.8996108240486125, + 2.9033275653913537, + 2.907044306734095, + 2.910761048076836, + 2.914477789419577, + 2.9181945307623183, + 2.9219112721050595, + 2.9256280134478003, + 2.9293447547905416, + 2.933061496133283, + 2.9367782374760236, + 2.940494978818765, + 2.944211720161506, + 2.9479284615042474, + 2.951645202846988, + 2.955361944189729, + 2.95907868553247, + 2.9627954268752115, + 2.9665121682179527, + 2.970228909560694, + 2.9739456509034348, + 2.977662392246176, + 2.9813791335889173, + 2.985095874931658, + 2.9888126162743993, + 2.9925293576171406, + 2.9962460989598814, + 2.9999628403026226, + 3.003679581645364, + 3.007396322988105, + 3.011113064330846, + 3.0148298056735867, + 3.018546547016328, + 3.022263288359069, + 3.0259800297018105, + 3.0296967710445517, + 3.0334135123872925, + 3.0371302537300338, + 3.040846995072775, + 3.044563736415516, + 3.048280477758257, + 3.051997219100998, + 3.055713960443739, + 3.0594307017864804, + 3.0631474431292216, + 3.066864184471963, + 3.0705809258147037, + 3.0742976671574445, + 3.0780144085001857, + 3.081731149842927, + 3.085447891185668, + 3.0891646325284094, + 3.0928813738711503, + 3.0965981152138915, + 3.1003148565566327, + 3.1040315978993736, + 3.107748339242115, + 3.1114650805848556, + 3.115181821927597, + 3.118898563270338, + 3.1226153046130793, + 3.1263320459558206, + 3.1300487872985614, + 3.133765528641302, + 3.1374822699840434, + 3.1411990113267847, + 3.144915752669526, + 3.148632494012267, + 3.152349235355008, + 3.1560659766977492, + 3.1597827180404905, + 3.1634994593832313, + 3.1672162007259725, + 3.1709329420687133, + 3.1746496834114546, + 3.178366424754196, + 3.182083166096937, + 3.1857999074396783, + 3.189516648782419, + 3.19323339012516, + 3.196950131467901, + 3.2006668728106424, + 3.2043836141533837, + 3.208100355496125, + 3.2118170968388657, + 3.215533838181607, + 3.2192505795243482, + 3.222967320867089, + 3.2266840622098303, + 3.230400803552571, + 3.2341175448953123, + 3.2378342862380536, + 3.241551027580795, + 3.245267768923536, + 3.248984510266277, + 3.2527012516090177, + 3.256417992951759, + 3.2601347342945, + 3.2638514756372414, + 3.2675682169799827, + 3.2712849583227235, + 3.2750016996654647, + 3.278718441008206, + 3.282435182350947, + 3.286151923693688, + 3.289868665036429, + 3.29358540637917, + 3.2973021477219113, + 3.3010188890646526, + 3.304735630407394, + 3.308452371750134, + 3.3121691130928754, + 3.3158858544356167, + 3.319602595778358, + 3.323319337121099, + 3.32703607846384, + 3.330752819806581, + 3.3344695611493225, + 3.3381863024920637, + 3.3419030438348045, + 3.3456197851775458, + 3.3493365265202866, + 3.353053267863028, + 3.356770009205769, + 3.3604867505485103, + 3.3642034918912516, + 3.367920233233992, + 3.371636974576733, + 3.3753537159194744, + 3.3790704572622157, + 3.382787198604957, + 3.3865039399476977, + 3.390220681290439, + 3.39393742263318, + 3.3976541639759215, + 3.4013709053186623, + 3.4050876466614035, + 3.4088043880041443, + 3.4125211293468856, + 3.416237870689627, + 3.419954612032368, + 3.4236713533751093, + 3.4273880947178497, + 3.431104836060591, + 3.434821577403332, + 3.4385383187460734, + 3.4422550600888147, + 3.4459718014315555, + 3.4496885427742967, + 3.453405284117038, + 3.457122025459779, + 3.46083876680252, + 3.4645555081452613, + 3.468272249488002, + 3.4719889908307433, + 3.4757057321734846, + 3.479422473516226, + 3.483139214858967, + 3.4868559562017074, + 3.4905726975444487, + 3.49428943888719, + 3.498006180229931, + 3.5017229215726724, + 3.505439662915413, + 3.5091564042581544, + 3.5128731456008957, + 3.516589886943637, + 3.5203066282863777, + 3.524023369629119, + 3.52774011097186, + 3.531456852314601, + 3.5351735936573423, + 3.5388903350000835, + 3.5426070763428243, + 3.546323817685565, + 3.5500405590283064, + 3.5537573003710476, + 3.557474041713789, + 3.56119078305653, + 3.564907524399271, + 3.568624265742012, + 3.5723410070847534, + 3.5760577484274947, + 3.5797744897702355, + 3.5834912311129763, + 3.5872079724557175, + 3.590924713798459, + 3.5946414551412, + 3.5983581964839413, + 3.602074937826682, + 3.6057916791694233, + 3.6095084205121637, + 3.613225161854906, + 3.616941903197646, + 3.620658644540388, + 3.6243753858831282, + 3.6280921272258704, + 3.6318088685686107, + 3.635525609911353, + 3.6392423512540932, + 3.642959092596834, + 3.6466758339395753, + 3.6503925752823165, + 3.654109316625058, + 3.657826057967799, + 3.66154279931054, + 3.66525954065328, + 3.6689762819960223, + 3.6726930233387627, + 3.676409764681505, + 3.680126506024245, + 3.683843247366987, + 3.6875599887097272, + 3.6912767300524694, + 3.6949934713952097, + 3.698710212737951, + 3.702426954080692, + 3.706143695423433, + 3.7098604367661743, + 3.7135771781089155, + 3.7172939194516568, + 3.7210106607943976, + 3.724727402137139, + 3.728444143479879, + 3.7321608848226213, + 3.7358776261653617, + 3.7395943675081034, + 3.7433111088508437, + 3.747027850193586, + 3.7507445915363262, + 3.7544613328790684, + 3.7581780742218087, + 3.7618948155645495, + 3.7656115569072908, + 3.769328298250032, + 3.7730450395927733, + 3.7767617809355145, + 3.7804785222782553, + 3.7841952636209957, + 3.787912004963738, + 3.791628746306478, + 3.7953454876492203, + 3.7990622289919607, + 3.8027789703347024, + 3.8064957116774427, + 3.810212453020185, + 3.813929194362925, + 3.8176459357056665, + 3.8213626770484073, + 3.8250794183911485, + 3.8287961597338898, + 3.832512901076631, + 3.8362296424193723, + 3.839946383762113, + 3.8436631251048543, + 3.8473798664475947, + 3.851096607790337, + 3.854813349133077, + 3.858530090475819, + 3.862246831818559, + 3.8659635731613013, + 3.8696803145040417, + 3.873397055846784, + 3.877113797189524, + 3.880830538532265, + 3.8845472798750063, + 3.8882640212177475, + 3.8919807625604887, + 3.89569750390323, + 3.899414245245971, + 3.903130986588711, + 3.9068477279314533, + 3.9105644692741937, + 3.914281210616936, + 3.917997951959676, + 3.921714693302418, + 3.925431434645158, + 3.9291481759879003, + 3.9328649173306407, + 3.936581658673382, + 3.9402984000161227, + 3.944015141358864, + 3.9477318827016052, + 3.9514486240443465, + 3.9551653653870877, + 3.9588821067298285, + 3.96259884807257, + 3.96631558941531, + 3.9700323307580523, + 3.9737490721007926, + 3.9774658134435343, + 3.9811825547862747, + 3.984899296129017, + 3.988616037471757, + 3.9923327788144993, + 3.9960495201572397, + 3.9997662614999805, + 4.003483002842722, + 4.0071997441854625, + 4.010916485528204, + 4.014633226870945, + 4.018349968213687, + 4.022066709556427, + 4.025783450899168, + 4.029500192241909, + 4.033216933584651, + 4.036933674927392, + 4.040650416270133, + 4.044367157612874, + 4.048083898955616, + 4.051800640298356, + 4.055517381641097, + 4.059234122983838, + 4.06295086432658, + 4.066667605669321, + 4.0703843470120615, + 4.074101088354803, + 4.077817829697544, + 4.081534571040286, + 4.085251312383026, + 4.088968053725767, + 4.092684795068508, + 4.09640153641125, + 4.100118277753991, + 4.103835019096732, + 4.107551760439472, + 4.111268501782215, + 4.114985243124955, + 4.118701984467696, + 4.122418725810437, + 4.126135467153178, + 4.12985220849592, + 4.1335689498386605, + 4.137285691181402, + 4.141002432524142, + 4.144719173866884, + 4.148435915209625, + 4.152152656552366, + 4.155869397895107, + 4.159586139237849, + 4.16330288058059, + 4.167019621923331, + 4.170736363266071, + 4.174453104608813, + 4.178169845951554, + 4.181886587294295, + 4.185603328637036, + 4.189320069979777, + 4.193036811322519, + 4.1967535526652595, + 4.200470294008001, + 4.204187035350741, + 4.207903776693483, + 4.211620518036224, + 4.215337259378965, + 4.219054000721706, + 4.222770742064448, + 4.226487483407188, + 4.23020422474993, + 4.23392096609267, + 4.237637707435413, + 4.241354448778153, + 4.245071190120894, + 4.248787931463635, + 4.252504672806375, + 4.256221414149118, + 4.259938155491858, + 4.263654896834599, + 4.26737163817734, + 4.271088379520082, + 4.274805120862823, + 4.278521862205564, + 4.282238603548305, + 4.285955344891047, + 4.289672086233787, + 4.293388827576529, + 4.297105568919269, + 4.300822310262011, + 4.304539051604752, + 4.308255792947492, + 4.311972534290234, + 4.315689275632974, + 4.319406016975716, + 4.323122758318457, + 4.326839499661198, + 4.330556241003939, + 4.334272982346681, + 4.337989723689422, + 4.341706465032163, + 4.345423206374903, + 4.349139947717646, + 4.352856689060386, + 4.356573430403127, + 4.360290171745868, + 4.36400691308861, + 4.367723654431351, + 4.371440395774091, + 4.375157137116833, + 4.378873878459573, + 4.382590619802315, + 4.386307361145056, + 4.390024102487797, + 4.393740843830538, + 4.39745758517328, + 4.40117432651602, + 4.404891067858762, + 4.408607809201502, + 4.412324550544245, + 4.416041291886985, + 4.419758033229726, + 4.423474774572467, + 4.427191515915207, + 4.43090825725795, + 4.43462499860069, + 4.438341739943431, + 4.442058481286172, + 4.445775222628914, + 4.449491963971655, + 4.453208705314396, + 4.456925446657137, + 4.460642187999879, + 4.464358929342619, + 4.468075670685361, + 4.471792412028101, + 4.475509153370843, + 4.479225894713584, + 4.482942636056325, + 4.486659377399066, + 4.490376118741806, + 4.494092860084549, + 4.497809601427289, + 4.50152634277003, + 4.505243084112771, + 4.508959825455513, + 4.512676566798254, + 4.516393308140995, + 4.520110049483735, + 4.523826790826478, + 4.527543532169218, + 4.53126027351196, + 4.5349770148547, + 4.538693756197442, + 4.542410497540183, + 4.546127238882923, + 4.549843980225665, + 4.553560721568405, + 4.557277462911147, + 4.560994204253888, + 4.564710945596629, + 4.56842768693937, + 4.572144428282112, + 4.575861169624853, + 4.579577910967594, + 4.583294652310334, + 4.587011393653077, + 4.590728134995817, + 4.594444876338558, + 4.598161617681299, + 4.601878359024041, + 4.605595100366782, + 4.609311841709522, + 4.613028583052264, + 4.616745324395004, + 4.620462065737746, + 4.624178807080487, + 4.627895548423228, + 4.631612289765969, + 4.635329031108711, + 4.639045772451451, + 4.642762513794193, + 4.646479255136933, + 4.650195996479676, + 4.653912737822416, + 4.657629479165157, + 4.661346220507898, + 4.665062961850638, + 4.668779703193381, + 4.672496444536121, + 4.676213185878862, + 4.679929927221603, + 4.683646668564345, + 4.6873634099070856, + 4.691080151249827, + 4.694796892592568, + 4.69851363393531, + 4.70223037527805, + 4.705947116620792, + 4.709663857963532, + 4.713380599306274, + 4.717097340649015, + 4.720814081991756, + 4.724530823334497, + 4.728247564677237, + 4.73196430601998, + 4.7356810473627196, + 4.739397788705461, + 4.743114530048202, + 4.746831271390944, + 4.7505480127336845, + 4.754264754076426, + 4.757981495419166, + 4.761698236761909, + 4.765414978104649, + 4.769131719447391, + 4.772848460790131, + 4.776565202132873, + 4.780281943475614, + 4.7839986848183536, + 4.787715426161096, + 4.791432167503836, + 4.795148908846578, + 4.7988656501893185, + 4.80258239153206, + 4.806299132874801, + 4.810015874217543, + 4.8137326155602835, + 4.817449356903025, + 4.821166098245765, + 4.824882839588508, + 4.828599580931248, + 4.832316322273989, + 4.83603306361673, + 4.839749804959472, + 4.843466546302213, + 4.8471832876449525, + 4.850900028987694, + 4.854616770330435, + 4.858333511673177, + 4.8620502530159175, + 4.865766994358659, + 4.8694837357014, + 4.873200477044142, + 4.876917218386882, + 4.880633959729624, + 4.884350701072364, + 4.888067442415106, + 4.891784183757847, + 4.895500925100588, + 4.899217666443329, + 4.902934407786069, + 4.906651149128812, + 4.9103678904715515, + 4.914084631814293, + 4.917801373157034, + 4.921518114499776, + 4.9252348558425165, + 4.928951597185258, + 4.932668338527998, + 4.936385079870741, + 4.940101821213481, + 4.943818562556223, + 4.947535303898963, + 4.951252045241705, + 4.954968786584446, + 4.958685527927187, + 4.962402269269928, + 4.966119010612668, + 4.96983575195541, + 4.9735524932981505, + 4.977269234640892, + 4.980985975983633, + 4.984702717326375, + 4.9884194586691155, + 4.992136200011857, + 4.995852941354597, + 4.99956968269734, + 5.00328642404008, + 5.007003165382821, + 5.010719906725562, + 5.014436648068304, + 5.018153389411045, + 5.0218701307537845, + 5.025586872096527, + 5.029303613439267, + 5.033020354782009, + 5.0367370961247495, + 5.040453837467491, + 5.044170578810232, + 5.047887320152974, + 5.051604061495714, + 5.055320802838456, + 5.059037544181196, + 5.062754285523939, + 5.066471026866679, + 5.07018776820942, + 5.073904509552161, + 5.077621250894903, + 5.081337992237644, + 5.0850547335803835, + 5.088771474923125, + 5.092488216265866, + 5.096204957608608, + 5.0999216989513485, + 5.10363844029409, + 5.107355181636831, + 5.111071922979573, + 5.114788664322313, + 5.118505405665055, + 5.122222147007795, + 5.125938888350537, + 5.129655629693278, + 5.133372371036019, + 5.13708911237876, + 5.1408058537215, + 5.144522595064243, + 5.1482393364069825, + 5.151956077749724, + 5.155672819092465, + 5.159389560435207, + 5.1631063017779475, + 5.166823043120689, + 5.170539784463429, + 5.174256525806172, + 5.177973267148912, + 5.181690008491654, + 5.185406749834394, + 5.189123491177136, + 5.192840232519877, + 5.196556973862618, + 5.200273715205359, + 5.203990456548099, + 5.207707197890841, + 5.2114239392335815, + 5.215140680576323, + 5.218857421919064, + 5.222574163261806, + 5.2262909046045465, + 5.230007645947288, + 5.233724387290028, + 5.237441128632771, + 5.241157869975511, + 5.244874611318252, + 5.248591352660993, + 5.252308094003735, + 5.256024835346476, + 5.2597415766892155, + 5.263458318031958, + 5.267175059374698, + 5.27089180071744, + 5.2746085420601805, + 5.278325283402922, + 5.282042024745663, + 5.285758766088405, + 5.289475507431145, + 5.293192248773887, + 5.296908990116627, + 5.30062573145937, + 5.30434247280211, + 5.308059214144851, + 5.311775955487592, + 5.315492696830334, + 5.319209438173075, + 5.3229261795158145, + 5.326642920858556, + 5.330359662201297, + 5.334076403544039, + 5.3377931448867795, + 5.341509886229521, + 5.345226627572262, + 5.348943368915004, + 5.352660110257744, + 5.356376851600486, + 5.360093592943226, + 5.363810334285968, + 5.367527075628709, + 5.37124381697145, + 5.374960558314191, + 5.378677299656931, + 5.382394040999673, + 5.3861107823424135, + 5.389827523685155, + 5.393544265027896, + 5.397261006370638, + 5.4009777477133785, + 5.40469448905612, + 5.40841123039886, + 5.412127971741603, + 5.415844713084343, + 5.419561454427084, + 5.423278195769825, + 5.426994937112567, + 5.430711678455308, + 5.434428419798049, + 5.43814516114079, + 5.44186190248353, + 5.445578643826272, + 5.4492953851690125, + 5.453012126511754, + 5.456728867854495, + 5.460445609197237, + 5.464162350539977, + 5.467879091882719, + 5.471595833225459, + 5.475312574568202, + 5.4790293159109416, + 5.482746057253683, + 5.486462798596424, + 5.490179539939166, + 5.4938962812819065, + 5.4976130226246465, + 5.501329763967388, + 5.505046505310129, + 5.508763246652871, + 5.5124799879956115, + 5.516196729338353, + 5.519913470681094, + 5.523630212023836, + 5.5273469533665756, + 5.531063694709318, + 5.534780436052058, + 5.5384971773948, + 5.5422139187375405, + 5.545930660080282, + 5.549647401423023, + 5.553364142765765, + 5.5570808841085055, + 5.5607976254512455, + 5.564514366793987, + 5.568231108136728, + 5.57194784947947, + 5.57566459082221, + 5.579381332164952, + 5.583098073507692, + 5.586814814850435, + 5.5905315561931745, + 5.594248297535917, + 5.597965038878657, + 5.601681780221399, + 5.6053985215641395, + 5.609115262906881, + 5.612832004249622, + 5.616548745592362, + 5.620265486935104, + 5.623982228277844, + 5.627698969620586, + 5.631415710963327, + 5.635132452306069, + 5.638849193648809, + 5.642565934991551, + 5.646282676334291, + 5.649999417677034, + 5.6537161590197735, + 5.657432900362515, + 5.661149641705256, + 5.664866383047998, + 5.6685831243907385, + 5.67229986573348, + 5.676016607076221, + 5.679733348418961, + 5.683450089761703, + 5.687166831104443, + 5.690883572447185, + 5.694600313789926, + 5.698317055132668, + 5.7020337964754075, + 5.70575053781815, + 5.70946727916089, + 5.713184020503633, + 5.7169007618463725, + 5.720617503189114, + 5.724334244531855, + 5.728050985874597, + 5.7317677272173375, + 5.735484468560077, + 5.739201209902819, + 5.74291795124556, + 5.746634692588302, + 5.750351433931042, + 5.754068175273784, + 5.757784916616525, + 5.761501657959267, + 5.7652183993020065, + 5.768935140644749, + 5.772651881987489, + 5.776368623330231, + 5.7800853646729715, + 5.783802106015713, + 5.787518847358454, + 5.791235588701196, + 5.7949523300439365, + 5.798669071386676, + 5.802385812729418, + 5.806102554072159, + 5.809819295414901, + 5.813536036757641, + 5.817252778100383, + 5.820969519443123, + 5.824686260785866, + 5.8284030021286055, + 5.832119743471348, + 5.835836484814088, + 5.83955322615683, + 5.8432699674995705, + 5.846986708842312, + 5.850703450185053, + 5.854420191527793, + 5.858136932870535, + 5.861853674213275, + 5.865570415556017, + 5.869287156898758, + 5.8730038982415, + 5.8767206395842395, + 5.880437380926982, + 5.884154122269722, + 5.887870863612465, + 5.8915876049552045, + 5.895304346297946, + 5.899021087640687, + 5.902737828983429, + 5.9064545703261695, + 5.910171311668911, + 5.913888053011651, + 5.917604794354392, + 5.921321535697134, + 5.925038277039874, + 5.928755018382616, + 5.932471759725357, + 5.936188501068099, + 5.9399052424108385, + 5.943621983753581, + 5.947338725096321, + 5.951055466439063, + 5.9547722077818035, + 5.958488949124545, + 5.962205690467286, + 5.965922431810028, + 5.9696391731527685, + 5.973355914495508, + 5.97707265583825, + 5.980789397180991, + 5.984506138523733, + 5.988222879866473, + 5.991939621209215, + 5.995656362551955, + 5.999373103894698, + 6.0030898452374375, + 6.00680658658018, + 6.01052332792292, + 6.014240069265662, + 6.0179568106084025, + 6.021673551951144, + 6.025390293293885, + 6.029107034636627, + 6.032823775979367, + 6.036540517322107, + 6.040257258664849, + 6.04397400000759, + 6.047690741350332, + 6.051407482693072, + 6.055124224035814, + 6.058840965378554, + 6.062557706721297, + 6.0662744480640365, + 6.069991189406778, + 6.073707930749519, + 6.077424672092261, + 6.0811414134350015, + 6.084858154777743, + 6.088574896120484, + 6.092291637463224, + 6.096008378805966, + 6.099725120148706, + 6.103441861491448, + 6.107158602834189, + 6.110875344176931, + 6.1145920855196705, + 6.118308826862413, + 6.122025568205153, + 6.125742309547896, + 6.1294590508906355, + 6.133175792233377, + 6.136892533576118, + 6.14060927491886, + 6.1443260162616005, + 6.148042757604342, + 6.151759498947082, + 6.155476240289823, + 6.159192981632565, + 6.162909722975305, + 6.166626464318047, + 6.170343205660788, + 6.17405994700353, + 6.1777766883462695, + 6.181493429689012, + 6.185210171031752, + 6.188926912374494, + 6.1926436537172345, + 6.196360395059976, + 6.200077136402717, + 6.203793877745459, + 6.2075106190881995, + 6.211227360430939, + 6.214944101773681, + 6.218660843116422, + 6.222377584459164, + 6.226094325801904, + 6.229811067144646, + 6.233527808487386, + 6.2372445498301285, + 6.2409612911728685, + 6.244678032515611, + 6.248394773858351, + 6.252111515201093, + 6.2558282565438335, + 6.259544997886575, + 6.263261739229316, + 6.266978480572058, + 6.270695221914798, + 6.274411963257538, + 6.27812870460028, + 6.281845445943021, + 6.2855621872857625, + 6.289278928628503, + 6.292995669971245, + 6.296712411313985, + 6.3004291526567275, + 6.3041458939994675, + 6.307862635342209, + 6.31157937668495, + 6.315296118027692, + 6.3190128593704324, + 6.322729600713174, + 6.326446342055915, + 6.330163083398655, + 6.3338798247413965, + 6.337596566084137, + 6.341313307426879, + 6.34503004876962, + 6.3487467901123615, + 6.3524635314551015, + 6.356180272797844, + 6.359897014140584, + 6.363613755483326, + 6.367330496826066, + 6.371047238168808, + 6.374763979511549, + 6.378480720854291, + 6.382197462197031, + 6.385914203539773, + 6.389630944882513, + 6.393347686225254, + 6.3970644275679955, + 6.400781168910736, + 6.404497910253478, + 6.408214651596218, + 6.4119313929389605, + 6.4156481342817, + 6.419364875624443, + 6.423081616967183, + 6.426798358309925, + 6.430515099652665, + 6.434231840995407, + 6.437948582338148, + 6.44166532368089, + 6.4453820650236295, + 6.44909880636637, + 6.452815547709112, + 6.456532289051853, + 6.4602490303945945, + 6.463965771737335, + 6.467682513080077, + 6.471399254422817, + 6.4751159957655595, + 6.478832737108299, + 6.482549478451041, + 6.486266219793782, + 6.489982961136524, + 6.493699702479264, + 6.497416443822006, + 6.501133185164747, + 6.504849926507489, + 6.5085666678502285, + 6.512283409192969, + 6.516000150535711, + 6.519716891878452, + 6.5234336332211935, + 6.527150374563933, + 6.530867115906676, + 6.534583857249416, + 6.5383005985921585, + 6.542017339934898, + 6.54573408127764, + 6.549450822620381, + 6.553167563963123, + 6.556884305305863, + 6.560601046648605, + 6.564317787991345, + 6.568034529334086, + 6.5717512706768275, + 6.575468012019568, + 6.57918475336231, + 6.582901494705051, + 6.5866182360477925, + 6.590334977390532, + 6.594051718733275, + 6.597768460076015, + 6.601485201418757, + 6.605201942761497, + 6.608918684104239, + 6.61263542544698, + 6.616352166789722, + 6.620068908132462, + 6.623785649475204, + 6.627502390817944, + 6.631219132160685, + 6.6349358735034265, + 6.638652614846167, + 6.642369356188909, + 6.646086097531649, + 6.6498028388743915, + 6.653519580217131, + 6.657236321559874, + 6.660953062902614, + 6.664669804245356, + 6.668386545588096, + 6.672103286930838, + 6.675820028273579, + 6.679536769616321, + 6.6832535109590605, + 6.686970252301801, + 6.690686993644543, + 6.694403734987284, + 6.6981204763300255, + 6.701837217672766, + 6.705553959015508, + 6.709270700358248, + 6.7129874417009905, + 6.71670418304373, + 6.720420924386472, + 6.724137665729213, + 6.727854407071955, + 6.731571148414695, + 6.735287889757437, + 6.739004631100178, + 6.74272137244292, + 6.7464381137856595, + 6.7501548551284, + 6.753871596471142, + 6.757588337813883, + 6.7613050791566245, + 6.765021820499364, + 6.768738561842107, + 6.772455303184847, + 6.7761720445275895, + 6.779888785870329, + 6.783605527213071, + 6.787322268555812, + 6.791039009898554, + 6.794755751241294, + 6.798472492584036, + 6.802189233926776, + 6.805905975269517, + 6.8096227166122585, + 6.813339457954999, + 6.817056199297741, + 6.820772940640482, + 6.8244896819832235, + 6.828206423325963, + 6.831923164668706, + 6.835639906011446, + 6.839356647354188, + 6.843073388696928, + 6.84679013003967, + 6.850506871382411, + 6.854223612725153, + 6.857940354067893, + 6.861657095410635, + 6.865373836753375, + 6.869090578096116, + 6.8728073194388575, + 6.876524060781598, + 6.88024080212434, + 6.88395754346708, + 6.8876742848098225, + 6.891391026152562, + 6.895107767495304, + 6.898824508838045, + 6.902541250180787, + 6.906257991523527, + 6.909974732866269, + 6.91369147420901, + 6.917408215551752, + 6.9211249568944915, + 6.924841698237232, + 6.928558439579974, + 6.932275180922715, + 6.9359919222654565, + 6.939708663608196, + 6.943425404950939, + 6.947142146293679, + 6.9508588876364215, + 6.954575628979161, + 6.958292370321903, + 6.962009111664644, + 6.965725853007386, + 6.969442594350126, + 6.973159335692868, + 6.976876077035608, + 6.9805928183783506, + 6.9843095597210905, + 6.988026301063831, + 6.991743042406573, + 6.995459783749314, + 6.9991765250920555, + 7.002893266434795, + 7.006610007777538, + 7.010326749120278, + 7.01404349046302, + 7.01776023180576, + 7.021476973148502, + 7.025193714491243, + 7.0289104558339845, + 7.032627197176725, + 7.036343938519467, + 7.040060679862207, + 7.043777421204948, + 7.0474941625476895, + 7.05121090389043, + 7.054927645233172, + 7.058644386575912, + 7.0623611279186544, + 7.066077869261394, + 7.069794610604137, + 7.073511351946877, + 7.0772280932896185, + 7.080944834632359, + 7.084661575975101, + 7.088378317317842, + 7.0920950586605835, + 7.0958118000033235, + 7.099528541346066, + 7.103245282688806, + 7.106962024031547, + 7.1106787653742884, + 7.114395506717029, + 7.118112248059771, + 7.121828989402511, + 7.125545730745253, + 7.129262472087993, + 7.132979213430735, + 7.136695954773476, + 7.1404126961162175, + 7.144129437458958, + 7.1478461788017, + 7.151562920144441, + 7.1552796614871825, + 7.1589964028299224, + 7.162713144172663, + 7.166429885515405, + 7.170146626858146, + 7.173863368200887, + 7.177580109543627, + 7.18129685088637, + 7.18501359222911, + 7.188730333571852, + 7.192447074914592, + 7.196163816257334, + 7.199880557600075, + 7.2035972989428165, + 7.207314040285557, + 7.211030781628299, + 7.214747522971039, + 7.2184642643137815, + 7.222181005656521, + 7.225897746999262, + 7.229614488342004, + 7.233331229684745, + 7.237047971027486, + 7.240764712370226, + 7.244481453712969, + 7.248198195055709, + 7.2519149363984505, + 7.255631677741191, + 7.259348419083933, + 7.263065160426674, + 7.2667819017694155, + 7.270498643112156, + 7.274215384454898, + 7.277932125797638, + 7.281648867140379, + 7.28536560848312, + 7.289082349825861, + 7.292799091168603, + 7.296515832511343, + 7.300232573854085, + 7.303949315196825, + 7.307666056539568, + 7.311382797882308, + 7.3150995392250495, + 7.31881628056779, + 7.322533021910532, + 7.326249763253273, + 7.3299665045960145, + 7.333683245938754, + 7.337399987281497, + 7.341116728624237, + 7.344833469966978, + 7.348550211309719, + 7.35226695265246, + 7.355983693995202, + 7.359700435337942, + 7.363417176680684, + 7.367133918023424, + 7.370850659366166, + 7.374567400708907, + 7.3782841420516485, + 7.382000883394389, + 7.385717624737131, + 7.389434366079872, + 7.3931511074226135, + 7.396867848765353, + 7.400584590108094, + 7.404301331450836, + 7.408018072793577, + 7.411734814136318, + 7.415451555479058, + 7.419168296821801, + 7.422885038164541, + 7.4266017795072825, + 7.430318520850023, + 7.434035262192765, + 7.437752003535506, + 7.4414687448782475, + 7.445185486220988, + 7.44890222756373, + 7.45261896890647, + 7.4563357102492125, + 7.460052451591952, + 7.463769192934693, + 7.467485934277435, + 7.471202675620175, + 7.474919416962917, + 7.478636158305657, + 7.4823528996484, + 7.48606964099114, + 7.4897863823338815, + 7.493503123676622, + 7.497219865019364, + 7.500936606362105, + 7.5046533477048465, + 7.508370089047586, + 7.512086830390329, + 7.515803571733069, + 7.51952031307581, + 7.523237054418551, + 7.526953795761292, + 7.530670537104034, + 7.534387278446774, + 7.538104019789516, + 7.541820761132256, + 7.545537502474998, + 7.549254243817739, + 7.5529709851604805, + 7.556687726503221, + 7.560404467845963, + 7.564121209188704, + 7.5678379505314455, + 7.571554691874185, + 7.575271433216928, + 7.578988174559668, + 7.582704915902409, + 7.58642165724515, + 7.59013839858789, + 7.593855139930633, + 7.597571881273373, + 7.601288622616115, + 7.605005363958855, + 7.608722105301597, + 7.612438846644338, + 7.6161555879870795, + 7.61987232932982, + 7.623589070672562, + 7.627305812015302, + 7.6310225533580445, + 7.634739294700784, + 7.638456036043525, + 7.642172777386267, + 7.645889518729008, + 7.649606260071749, + 7.653323001414489, + 7.657039742757232, + 7.660756484099972, + 7.6644732254427135, + 7.668189966785454, + 7.671906708128196, + 7.675623449470937, + 7.6793401908136785, + 7.683056932156419, + 7.686773673499161, + 7.690490414841901, + 7.6942071561846435, + 7.697923897527383, + 7.701640638870124, + 7.705357380212866, + 7.709074121555606, + 7.712790862898348, + 7.716507604241088, + 7.720224345583831, + 7.723941086926571, + 7.7276578282693125, + 7.731374569612053, + 7.735091310954795, + 7.738808052297536, + 7.7425247936402775, + 7.746241534983017, + 7.74995827632576, + 7.7536750176685, + 7.757391759011241, + 7.761108500353982, + 7.764825241696723, + 7.768541983039465, + 7.772258724382205, + 7.775975465724947, + 7.779692207067687, + 7.783408948410429, + 7.78712568975317, + 7.7908424310959115, + 7.794559172438652, + 7.798275913781394, + 7.801992655124135, + 7.8057093964668764, + 7.809426137809616, + 7.813142879152359, + 7.816859620495099, + 7.8205763618378406, + 7.824293103180581, + 7.828009844523323, + 7.831726585866064, + 7.8354433272088055, + 7.839160068551546, + 7.842876809894288, + 7.846593551237028, + 7.850310292579769, + 7.8540270339225104, + 7.857743775265251, + 7.861460516607993, + 7.865177257950733, + 7.868893999293475, + 7.872610740636215, + 7.876327481978958, + 7.880044223321698, + 7.8837609646644395, + 7.88747770600718, + 7.891194447349922, + 7.894911188692663, + 7.8986279300354045, + 7.9023446713781444, + 7.906061412720885, + 7.909778154063627, + 7.913494895406368, + 7.917211636749109, + 7.920928378091849, + 7.924645119434592, + 7.928361860777332, + 7.932078602120074, + 7.935795343462814, + 7.939512084805556, + 7.943228826148297, + 7.9469455674910385, + 7.950662308833779, + 7.954379050176521, + 7.958095791519261, + 7.961812532862002, + 7.965529274204743, + 7.969246015547484, + 7.972962756890226, + 7.976679498232967, + 7.980396239575708, + 7.984112980918448, + 7.987829722261191, + 7.991546463603931, + 7.9952632049466725, + 7.998979946289413, + 8.002696687632156, + 8.006413428974895, + 8.010130170317638, + 8.013846911660378, + 8.01756365300312, + 8.02128039434586, + 8.0249971356886, + 8.028713877031343, + 8.032430618374082, + 8.036147359716825, + 8.039864101059566, + 8.043580842402307, + 8.047297583745047, + 8.05101432508779, + 8.05473106643053, + 8.058447807773272, + 8.062164549116012, + 8.065881290458755, + 8.069598031801494, + 8.073314773144237, + 8.077031514486977, + 8.080748255829718, + 8.084464997172459, + 8.0881817385152, + 8.091898479857942, + 8.095615221200681, + 8.099331962543424, + 8.103048703886165, + 8.106765445228906, + 8.110482186571646, + 8.114198927914389, + 8.117915669257128, + 8.12163241059987, + 8.125349151942611, + 8.129065893285354, + 8.132782634628093, + 8.136499375970836, + 8.140216117313576, + 8.143932858656315, + 8.147649599999058, + 8.151366341341799, + 8.15508308268454, + 8.15879982402728, + 8.162516565370023, + 8.166233306712764, + 8.169950048055505, + 8.173666789398245, + 8.177383530740988, + 8.181100272083727, + 8.18481701342647, + 8.18853375476921, + 8.192250496111951, + 8.195967237454692, + 8.199683978797433, + 8.203400720140175, + 8.207117461482914, + 8.210834202825657, + 8.214550944168398, + 8.218267685511139, + 8.22198442685388, + 8.225701168196622, + 8.229417909539363, + 8.233134650882104, + 8.236851392224844, + 8.240568133567587, + 8.244284874910326, + 8.248001616253068, + 8.25171835759581, + 8.25543509893855, + 8.259151840281291, + 8.262868581624032, + 8.266585322966774, + 8.270302064309513, + 8.274018805652256, + 8.277735546994997, + 8.281452288337737, + 8.285169029680478, + 8.28888577102322, + 8.292602512365962, + 8.296319253708702, + 8.300035995051443, + 8.303752736394186, + 8.307469477736925, + 8.311186219079667, + 8.314902960422408, + 8.318619701765149, + 8.32233644310789, + 8.32605318445063, + 8.329769925793373, + 8.333486667136112, + 8.337203408478855, + 8.340920149821596, + 8.344636891164336, + 8.348353632507077, + 8.35207037384982, + 8.355787115192559, + 8.359503856535301, + 8.363220597878042, + 8.366937339220785, + 8.370654080563524, + 8.374370821906266, + 8.378087563249007, + 8.381804304591746, + 8.385521045934489, + 8.38923778727723, + 8.39295452861997, + 8.396671269962711, + 8.400388011305454, + 8.404104752648195, + 8.407821493990935, + 8.411538235333676, + 8.415254976676419, + 8.418971718019158, + 8.4226884593619, + 8.426405200704641, + 8.430121942047382, + 8.433838683390123, + 8.437555424732864, + 8.441272166075606, + 8.444988907418345, + 8.448705648761088, + 8.452422390103829, + 8.45613913144657, + 8.45985587278931, + 8.463572614132053, + 8.467289355474794, + 8.471006096817534, + 8.474722838160275, + 8.478439579503018, + 8.482156320845757, + 8.4858730621885, + 8.48958980353124, + 8.493306544873981, + 8.497023286216722, + 8.500740027559463, + 8.504456768902205, + 8.508173510244944, + 8.511890251587687, + 8.515606992930428, + 8.519323734273168, + 8.52304047561591, + 8.526757216958652, + 8.53047395830139, + 8.534190699644133, + 8.537907440986874, + 8.541624182329617, + 8.545340923672356, + 8.549057665015098, + 8.55277440635784, + 8.55649114770058, + 8.56020788904332, + 8.563924630386062, + 8.567641371728802, + 8.571358113071543, + 8.575074854414286, + 8.578791595757027, + 8.582508337099767, + 8.586225078442508, + 8.58994181978525, + 8.59365856112799, + 8.597375302470732, + 8.601092043813473, + 8.604808785156214, + 8.608525526498955, + 8.612242267841697, + 8.615959009184438, + 8.619675750527177, + 8.62339249186992, + 8.62710923321266, + 8.630825974555401, + 8.634542715898142, + 8.638259457240885, + 8.641976198583626, + 8.645692939926366, + 8.649409681269107, + 8.65312642261185, + 8.656843163954589, + 8.660559905297331, + 8.664276646640072, + 8.667993387982813, + 8.671710129325554, + 8.675426870668295, + 8.679143612011037, + 8.682860353353776, + 8.686577094696519, + 8.69029383603926, + 8.694010577382, + 8.697727318724741, + 8.701444060067484, + 8.705160801410225, + 8.708877542752965, + 8.712594284095706, + 8.716311025438449, + 8.720027766781188, + 8.72374450812393, + 8.727461249466671, + 8.731177990809412, + 8.734894732152153, + 8.738611473494894, + 8.742328214837636, + 8.746044956180375, + 8.749761697523118, + 8.753478438865859, + 8.7571951802086, + 8.76091192155134, + 8.764628662894083, + 8.768345404236822, + 8.772062145579564, + 8.775778886922305, + 8.779495628265048, + 8.783212369607787, + 8.78692911095053, + 8.79064585229327, + 8.794362593636011, + 8.798079334978752, + 8.801796076321493, + 8.805512817664233, + 8.809229559006974, + 8.812946300349717, + 8.816663041692458, + 8.820379783035198, + 8.82409652437794, + 8.827813265720682, + 8.83153000706342, + 8.835246748406163, + 8.838963489748904, + 8.842680231091645, + 8.846396972434386, + 8.850113713777128, + 8.85383045511987, + 8.857547196462608, + 8.86126393780535, + 8.864980679148092, + 8.868697420490832, + 8.872414161833573, + 8.876130903176316, + 8.879847644519057, + 8.883564385861797, + 8.887281127204538, + 8.89099786854728, + 8.89471460989002, + 8.898431351232762, + 8.902148092575503, + 8.905864833918244, + 8.909581575260985, + 8.913298316603726, + 8.917015057946468, + 8.920731799289207, + 8.92444854063195, + 8.92816528197469, + 8.931882023317431, + 8.935598764660172, + 8.939315506002915, + 8.943032247345654, + 8.946748988688396, + 8.950465730031137, + 8.95418247137388, + 8.957899212716619, + 8.961615954059361, + 8.965332695402102, + 8.969049436744843, + 8.972766178087584, + 8.976482919430325, + 8.980199660773065, + 8.983916402115806, + 8.987633143458549, + 8.99134988480129, + 8.99506662614403, + 8.998783367486771, + 9.002500108829514, + 9.006216850172253, + 9.009933591514995, + 9.013650332857736, + 9.017367074200477, + 9.021083815543218, + 9.02480055688596, + 9.028517298228701, + 9.032234039571442, + 9.035950780914183, + 9.039667522256924, + 9.043384263599664, + 9.047101004942405, + 9.050817746285148, + 9.054534487627889, + 9.05825122897063, + 9.06196797031337, + 9.065684711656113, + 9.069401452998852, + 9.073118194341594, + 9.076834935684335, + 9.080551677027076, + 9.084268418369817, + 9.08798515971256, + 9.0917019010553, + 9.09541864239804, + 9.099135383740782, + 9.102852125083523, + 9.106568866426263, + 9.110285607769004, + 9.114002349111747, + 9.117719090454488, + 9.121435831797228, + 9.12515257313997, + 9.128869314482712, + 9.13258605582545, + 9.136302797168193, + 9.140019538510934, + 9.143736279853675, + 9.147453021196416, + 9.151169762539157, + 9.1548865038819, + 9.158603245224638, + 9.16231998656738, + 9.166036727910122, + 9.169753469252862, + 9.173470210595603, + 9.177186951938346, + 9.180903693281085, + 9.184620434623827, + 9.188337175966568, + 9.19205391730931, + 9.19577065865205, + 9.199487399994792, + 9.203204141337533, + 9.206920882680274, + 9.210637624023015, + 9.214354365365756, + 9.218071106708496, + 9.221787848051237, + 9.22550458939398, + 9.22922133073672, + 9.232938072079461, + 9.236654813422202, + 9.240371554764945, + 9.244088296107684, + 9.247805037450426, + 9.251521778793167, + 9.255238520135908, + 9.258955261478649, + 9.262672002821391, + 9.266388744164132, + 9.270105485506873, + 9.273822226849614, + 9.277538968192355, + 9.281255709535095, + 9.284972450877836, + 9.288689192220579, + 9.29240593356332, + 9.29612267490606, + 9.299839416248801, + 9.303556157591544, + 9.307272898934283, + 9.310989640277025, + 9.314706381619766, + 9.318423122962507, + 9.322139864305248, + 9.32585660564799, + 9.329573346990731, + 9.33329008833347, + 9.337006829676213, + 9.340723571018954, + 9.344440312361694, + 9.348157053704435, + 9.351873795047178, + 9.355590536389919, + 9.35930727773266, + 9.3630240190754, + 9.366740760418143, + 9.370457501760882, + 9.374174243103624, + 9.377890984446365, + 9.381607725789106, + 9.385324467131847, + 9.389041208474588, + 9.39275794981733, + 9.39647469116007, + 9.400191432502812, + 9.403908173845553, + 9.407624915188293, + 9.411341656531034, + 9.415058397873777, + 9.418775139216516, + 9.422491880559258, + 9.426208621902, + 9.42992536324474, + 9.43364210458748, + 9.437358845930223, + 9.441075587272964, + 9.444792328615705, + 9.448509069958446, + 9.452225811301187, + 9.455942552643927, + 9.459659293986668, + 9.46337603532941, + 9.467092776672152, + 9.470809518014892, + 9.474526259357633, + 9.478243000700376, + 9.481959742043115, + 9.485676483385857, + 9.489393224728598, + 9.493109966071339, + 9.49682670741408, + 9.500543448756822, + 9.504260190099563, + 9.507976931442304, + 9.511693672785045, + 9.515410414127786, + 9.519127155470526, + 9.522843896813267, + 9.52656063815601, + 9.53027737949875, + 9.533994120841491, + 9.537710862184232, + 9.541427603526975, + 9.545144344869714, + 9.548861086212456, + 9.552577827555197, + 9.556294568897938, + 9.560011310240679, + 9.563728051583421, + 9.567444792926162, + 9.571161534268901, + 9.574878275611644, + 9.578595016954385, + 9.582311758297125, + 9.586028499639866, + 9.589745240982609, + 9.593461982325348, + 9.59717872366809, + 9.600895465010831, + 9.604612206353574, + 9.608328947696313, + 9.612045689039055, + 9.615762430381796, + 9.619479171724537, + 9.623195913067278, + 9.626912654410019, + 9.63062939575276, + 9.6343461370955, + 9.638062878438243, + 9.641779619780984, + 9.645496361123724, + 9.649213102466465, + 9.652929843809208, + 9.656646585151947, + 9.66036332649469, + 9.66408006783743, + 9.667796809180171, + 9.671513550522912, + 9.675230291865654, + 9.678947033208395, + 9.682663774551136, + 9.686380515893877, + 9.690097257236618, + 9.693813998579358, + 9.6975307399221, + 9.701247481264842, + 9.704964222607583, + 9.708680963950323, + 9.712397705293064, + 9.716114446635807, + 9.719831187978546, + 9.723547929321288, + 9.727264670664029, + 9.73098141200677, + 9.73469815334951, + 9.738414894692253, + 9.742131636034994, + 9.745848377377735, + 9.749565118720476, + 9.753281860063217, + 9.756998601405957, + 9.760715342748698, + 9.76443208409144, + 9.768148825434182, + 9.771865566776922, + 9.775582308119663, + 9.779299049462406, + 9.783015790805145, + 9.786732532147887, + 9.790449273490628, + 9.794166014833369, + 9.79788275617611, + 9.801599497518852, + 9.805316238861593, + 9.809032980204332, + 9.812749721547075, + 9.816466462889816, + 9.820183204232556, + 9.823899945575297, + 9.82761668691804, + 9.831333428260779, + 9.835050169603521, + 9.838766910946262, + 9.842483652289005, + 9.846200393631744, + 9.849917134974486, + 9.853633876317227, + 9.857350617659968, + 9.861067359002709, + 9.86478410034545, + 9.86850084168819, + 9.872217583030931, + 9.875934324373674, + 9.879651065716414, + 9.883367807059155, + 9.887084548401896, + 9.890801289744639, + 9.894518031087378, + 9.89823477243012, + 9.901951513772861, + 9.905668255115602, + 9.909384996458343, + 9.913101737801085, + 9.916818479143826, + 9.920535220486567, + 9.924251961829308, + 9.927968703172048, + 9.93168544451479, + 9.93540218585753, + 9.939118927200273, + 9.942835668543013, + 9.946552409885754, + 9.950269151228495, + 9.953985892571238, + 9.957702633913977, + 9.96141937525672, + 9.96513611659946, + 9.9688528579422, + 9.972569599284942, + 9.976286340627684, + 9.980003081970425, + 9.983719823313166, + 9.987436564655907, + 9.991153305998647, + 9.994870047341388, + 9.998586788684129, + 10.002303530026872, + 10.00602027136961, + 10.009737012712353, + 10.013453754055094, + 10.017170495397837, + 10.020887236740576, + 10.024603978083318, + 10.028320719426059, + 10.0320374607688, + 10.03575420211154, + 10.039470943454283, + 10.043187684797022, + 10.046904426139763, + 10.050621167482506, + 10.054337908825246, + 10.058054650167987, + 10.061771391510728, + 10.06548813285347, + 10.06920487419621, + 10.072921615538952, + 10.076638356881693, + 10.080355098224434, + 10.084071839567175, + 10.087788580909917, + 10.091505322252658, + 10.095222063595399, + 10.09893880493814, + 10.10265554628088, + 10.106372287623621, + 10.110089028966362, + 10.113805770309105, + 10.117522511651845, + 10.121239252994586, + 10.124955994337327, + 10.12867273568007, + 10.132389477022809, + 10.136106218365551, + 10.139822959708292, + 10.143539701051033, + 10.147256442393774, + 10.150973183736516, + 10.154689925079257, + 10.158406666421998, + 10.162123407764739, + 10.16584014910748, + 10.16955689045022, + 10.173273631792961, + 10.176990373135704, + 10.180707114478444, + 10.184423855821185, + 10.188140597163926, + 10.191857338506669, + 10.195574079849408, + 10.19929082119215, + 10.203007562534891, + 10.206724303877632, + 10.210441045220373, + 10.214157786563115, + 10.217874527905856, + 10.221591269248597, + 10.225308010591338, + 10.229024751934078, + 10.23274149327682, + 10.23645823461956, + 10.240174975962303, + 10.243891717305042, + 10.247608458647784, + 10.251325199990525, + 10.255041941333268, + 10.258758682676007, + 10.26247542401875, + 10.26619216536149, + 10.26990890670423, + 10.273625648046972, + 10.277342389389714, + 10.281059130732453, + 10.284775872075194, + 10.288492613417937, + 10.292209354760677, + 10.295926096103418, + 10.299642837446159, + 10.303359578788902, + 10.30707632013164, + 10.310793061474383, + 10.314509802817124, + 10.318226544159865, + 10.321943285502606, + 10.325660026845348, + 10.329376768188089, + 10.33309350953083, + 10.33681025087357, + 10.340526992216311, + 10.344243733559052, + 10.347960474901793, + 10.351677216244536, + 10.355393957587276, + 10.359110698930017, + 10.362827440272758, + 10.3665441816155, + 10.37026092295824, + 10.373977664300982, + 10.377694405643723, + 10.381411146986464, + 10.385127888329205, + 10.388844629671947, + 10.392561371014688, + 10.396278112357429, + 10.39999485370017, + 10.40371159504291, + 10.407428336385651, + 10.411145077728392, + 10.414861819071135, + 10.418578560413875, + 10.422295301756616, + 10.426012043099357, + 10.4297287844421, + 10.433445525784839, + 10.437162267127581, + 10.440879008470322, + 10.444595749813063, + 10.448312491155804, + 10.452029232498546, + 10.455745973841287, + 10.459462715184028, + 10.463179456526769, + 10.46689619786951, + 10.47061293921225, + 10.474329680554991, + 10.478046421897734, + 10.481763163240473, + 10.485479904583215, + 10.489196645925956, + 10.492913387268697, + 10.496630128611438, + 10.50034686995418, + 10.504063611296921, + 10.507780352639662, + 10.511497093982403, + 10.515213835325145, + 10.518930576667884, + 10.522647318010625, + 10.526364059353368, + 10.530080800696108, + 10.53379754203885, + 10.53751428338159, + 10.541231024724333, + 10.544947766067072, + 10.548664507409814, + 10.552381248752555, + 10.556097990095296, + 10.559814731438037, + 10.56353147278078, + 10.56724821412352, + 10.57096495546626, + 10.574681696809002, + 10.578398438151742, + 10.582115179494483, + 10.585831920837224, + 10.589548662179967, + 10.593265403522707, + 10.596982144865448, + 10.600698886208189, + 10.604415627550932, + 10.60813236889367, + 10.611849110236413, + 10.615565851579154, + 10.619282592921895, + 10.622999334264636, + 10.626716075607378, + 10.630432816950119, + 10.63414955829286, + 10.6378662996356, + 10.641583040978341, + 10.645299782321082, + 10.649016523663823, + 10.652733265006566, + 10.656450006349305, + 10.660166747692047, + 10.663883489034788, + 10.66760023037753, + 10.67131697172027, + 10.675033713063012, + 10.678750454405753, + 10.682467195748494, + 10.686183937091235, + 10.689900678433977, + 10.693617419776716, + 10.697334161119459, + 10.7010509024622, + 10.70476764380494, + 10.708484385147681, + 10.712201126490422, + 10.715917867833165, + 10.719634609175904, + 10.723351350518646, + 10.727068091861387, + 10.730784833204128, + 10.734501574546869, + 10.738218315889611, + 10.741935057232352, + 10.745651798575093, + 10.749368539917834, + 10.753085281260576, + 10.756802022603315, + 10.760518763946056, + 10.764235505288799, + 10.76795224663154, + 10.77166898797428, + 10.775385729317021, + 10.779102470659764, + 10.782819212002503, + 10.786535953345245, + 10.790252694687986, + 10.793969436030727, + 10.797686177373468, + 10.80140291871621, + 10.805119660058951, + 10.808836401401692, + 10.812553142744433, + 10.816269884087173, + 10.819986625429914, + 10.823703366772655, + 10.827420108115398, + 10.831136849458138, + 10.83485359080088, + 10.83857033214362, + 10.842287073486363, + 10.846003814829102, + 10.849720556171844, + 10.853437297514585, + 10.857154038857326, + 10.860870780200067, + 10.86458752154281, + 10.86830426288555, + 10.87202100422829, + 10.875737745571032, + 10.879454486913772, + 10.883171228256513, + 10.886887969599254, + 10.890604710941997, + 10.894321452284736, + 10.898038193627478, + 10.901754934970219, + 10.905471676312962, + 10.9091884176557, + 10.912905158998443, + 10.916621900341184, + 10.920338641683925, + 10.924055383026666, + 10.927772124369408, + 10.931488865712147, + 10.93520560705489, + 10.93892234839763, + 10.942639089740371, + 10.946355831083112, + 10.950072572425853, + 10.953789313768596, + 10.957506055111335, + 10.961222796454077, + 10.964939537796818, + 10.968656279139559, + 10.9723730204823, + 10.976089761825042, + 10.979806503167783, + 10.983523244510524, + 10.987239985853265, + 10.990956727196007, + 10.994673468538746, + 10.998390209881487, + 11.00210695122423, + 11.00582369256697, + 11.009540433909711, + 11.013257175252452, + 11.016973916595195, + 11.020690657937934, + 11.024407399280676, + 11.028124140623417, + 11.031840881966158, + 11.035557623308899, + 11.039274364651641, + 11.042991105994382, + 11.046707847337123, + 11.050424588679864, + 11.054141330022604, + 11.057858071365345, + 11.061574812708086, + 11.065291554050829, + 11.069008295393568, + 11.07272503673631, + 11.076441778079051, + 11.080158519421794, + 11.083875260764533, + 11.087592002107275, + 11.091308743450016, + 11.095025484792757, + 11.098742226135498, + 11.10245896747824, + 11.10617570882098, + 11.109892450163722, + 11.113609191506463, + 11.117325932849203, + 11.121042674191944, + 11.124759415534685, + 11.128476156877428, + 11.132192898220167, + 11.13590963956291, + 11.13962638090565, + 11.14334312224839, + 11.147059863591132, + 11.150776604933874, + 11.154493346276615, + 11.158210087619356, + 11.161926828962097, + 11.16564357030484, + 11.169360311647578, + 11.17307705299032, + 11.176793794333062, + 11.180510535675802, + 11.184227277018543, + 11.187944018361284, + 11.191660759704027, + 11.195377501046766, + 11.199094242389508, + 11.202810983732249, + 11.20652772507499, + 11.21024446641773, + 11.213961207760473, + 11.217677949103214, + 11.221394690445955, + 11.225111431788696, + 11.228828173131438, + 11.232544914474177, + 11.236261655816918, + 11.23997839715966, + 11.243695138502401, + 11.247411879845142, + 11.251128621187883, + 11.254845362530626, + 11.258562103873365, + 11.262278845216107, + 11.265995586558848, + 11.269712327901589, + 11.27342906924433, + 11.277145810587072, + 11.280862551929813, + 11.284579293272554, + 11.288296034615295, + 11.292012775958035, + 11.295729517300776, + 11.299446258643517, + 11.30316299998626, + 11.306879741328999, + 11.310596482671741, + 11.314313224014482, + 11.318029965357224, + 11.321746706699964, + 11.325463448042706, + 11.329180189385447, + 11.332896930728188, + 11.336613672070929, + 11.340330413413671, + 11.34404715475641, + 11.347763896099153, + 11.351480637441894, + 11.355197378784634, + 11.358914120127375, + 11.362630861470116, + 11.366347602812858, + 11.370064344155598, + 11.37378108549834, + 11.377497826841081, + 11.381214568183822, + 11.384931309526563, + 11.388648050869305, + 11.392364792212046, + 11.396081533554787, + 11.399798274897528, + 11.40351501624027, + 11.40723175758301, + 11.410948498925752, + 11.414665240268492, + 11.418381981611233, + 11.422098722953974, + 11.425815464296715, + 11.429532205639457, + 11.433248946982197, + 11.436965688324939, + 11.44068242966768, + 11.44439917101042, + 11.448115912353162, + 11.451832653695904, + 11.455549395038645, + 11.459266136381386, + 11.462982877724126, + 11.466699619066869, + 11.470416360409608, + 11.474133101752349, + 11.477849843095091, + 11.481566584437832, + 11.485283325780573, + 11.489000067123314, + 11.492716808466056, + 11.496433549808796, + 11.500150291151538, + 11.503867032494279, + 11.50758377383702, + 11.51130051517976, + 11.515017256522503, + 11.518733997865242, + 11.522450739207985, + 11.526167480550725, + 11.529884221893466, + 11.533600963236207, + 11.537317704578948, + 11.54103444592169, + 11.54475118726443, + 11.548467928607172, + 11.552184669949913, + 11.555901411292654, + 11.559618152635394, + 11.563334893978137, + 11.567051635320878, + 11.570768376663619, + 11.57448511800636, + 11.578201859349102, + 11.581918600691841, + 11.585635342034584, + 11.589352083377324, + 11.593068824720065, + 11.596785566062806, + 11.600502307405547, + 11.60421904874829, + 11.607935790091028, + 11.611652531433771, + 11.615369272776512, + 11.619086014119253, + 11.622802755461993, + 11.626519496804736, + 11.630236238147477, + 11.633952979490218, + 11.637669720832958, + 11.641386462175701, + 11.64510320351844, + 11.648819944861183, + 11.652536686203923, + 11.656253427546664, + 11.659970168889405, + 11.663686910232146, + 11.667403651574888, + 11.671120392917627, + 11.67483713426037, + 11.67855387560311, + 11.682270616945852, + 11.685987358288592, + 11.689704099631335, + 11.693420840974076, + 11.697137582316817, + 11.700854323659557, + 11.7045710650023, + 11.708287806345039, + 11.71200454768778, + 11.715721289030522, + 11.719438030373261, + 11.723154771716004, + 11.726871513058745, + 11.730588254401487, + 11.734304995744226, + 11.738021737086969, + 11.74173847842971, + 11.74545521977245, + 11.749171961115191, + 11.752888702457934, + 11.756605443800673, + 11.760322185143416, + 11.764038926486156, + 11.767755667828897, + 11.771472409171638, + 11.775189150514379, + 11.778905891857121, + 11.78262263319986, + 11.786339374542603, + 11.790056115885344, + 11.793772857228085, + 11.797489598570825, + 11.801206339913568, + 11.804923081256309, + 11.80863982259905, + 11.81235656394179, + 11.816073305284533, + 11.819790046627272, + 11.823506787970015, + 11.827223529312755, + 11.830940270655496, + 11.834657011998237, + 11.838373753340978, + 11.84209049468372, + 11.84580723602646, + 11.849523977369202, + 11.853240718711943, + 11.856957460054684, + 11.860674201397424, + 11.864390942740167, + 11.868107684082908, + 11.871824425425649, + 11.87554116676839, + 11.879257908111132, + 11.882974649453871, + 11.886691390796614, + 11.890408132139354, + 11.894124873482095, + 11.897841614824836, + 11.901558356167577, + 11.90527509751032, + 11.908991838853058, + 11.912708580195801, + 11.916425321538542, + 11.920142062881283, + 11.923858804224023, + 11.927575545566766, + 11.931292286909507, + 11.935009028252248, + 11.938725769594988, + 11.942442510937731, + 11.94615925228047, + 11.94987599362321, + 11.953592734965953, + 11.957309476308692, + 11.961026217651435, + 11.964742958994176, + 11.968459700336918, + 11.972176441679657, + 11.9758931830224, + 11.97960992436514, + 11.983326665707882, + 11.987043407050622, + 11.990760148393365, + 11.994476889736104, + 11.998193631078847, + 12.001910372421587, + 12.005627113764328, + 12.009343855107069, + 12.01306059644981, + 12.016777337792552, + 12.020494079135291, + 12.024210820478034, + 12.027927561820775, + 12.031644303163516, + 12.035361044506256, + 12.039077785848999, + 12.04279452719174, + 12.04651126853448, + 12.050228009877221, + 12.053944751219964, + 12.057661492562703, + 12.061378233905446, + 12.065094975248186, + 12.068811716590927, + 12.072528457933668, + 12.076245199276409, + 12.079961940619151, + 12.08367868196189, + 12.087395423304633, + 12.091112164647374, + 12.094828905990115, + 12.098545647332855, + 12.102262388675598, + 12.105979130018339, + 12.10969587136108, + 12.11341261270382, + 12.117129354046563, + 12.120846095389302, + 12.124562836732045, + 12.128279578074785, + 12.131996319417524, + 12.135713060760267, + 12.139429802103008, + 12.14314654344575, + 12.14686328478849, + 12.150580026131232, + 12.154296767473973, + 12.158013508816714, + 12.161730250159454, + 12.165446991502197, + 12.169163732844936, + 12.172880474187679, + 12.17659721553042, + 12.180313956873162, + 12.184030698215901, + 12.187747439558642, + 12.191464180901384, + 12.195180922244123, + 12.198897663586866, + 12.202614404929607, + 12.206331146272348, + 12.210047887615088, + 12.213764628957831, + 12.217481370300572, + 12.221198111643313, + 12.224914852986053, + 12.228631594328796, + 12.232348335671535, + 12.236065077014278, + 12.239781818357018, + 12.24349855969976, + 12.2472153010425, + 12.25093204238524, + 12.254648783727983, + 12.258365525070722, + 12.262082266413465, + 12.265799007756206, + 12.269515749098947, + 12.273232490441687, + 12.27694923178443, + 12.28066597312717, + 12.284382714469912, + 12.288099455812652, + 12.291816197155395, + 12.295532938498134, + 12.299249679840877, + 12.302966421183617, + 12.306683162526358, + 12.310399903869099, + 12.31411664521184, + 12.317833386554582, + 12.321550127897321, + 12.325266869240064, + 12.328983610582805, + 12.332700351925546, + 12.336417093268286, + 12.340133834611029, + 12.34385057595377, + 12.34756731729651, + 12.351284058639251, + 12.355000799981994, + 12.358717541324733, + 12.362434282667476, + 12.366151024010216, + 12.369867765352955, + 12.373584506695698, + 12.377301248038439, + 12.381017989381181, + 12.38473473072392, + 12.388451472066663, + 12.392168213409404, + 12.395884954752145, + 12.399601696094885, + 12.403318437437628, + 12.407035178780367, + 12.41075192012311, + 12.41446866146585, + 12.418185402808593, + 12.421902144151332, + 12.425618885494073, + 12.429335626836815, + 12.433052368179554, + 12.436769109522297, + 12.440485850865038, + 12.444202592207779, + 12.44791933355052, + 12.451636074893262, + 12.455352816236003, + 12.459069557578744, + 12.462786298921484, + 12.466503040264227, + 12.470219781606966, + 12.473936522949709, + 12.47765326429245, + 12.48137000563519, + 12.485086746977931, + 12.488803488320672, + 12.492520229663414, + 12.496236971006153, + 12.499953712348896, + 12.503670453691637, + 12.507387195034378, + 12.511103936377118, + 12.514820677719861, + 12.518537419062602, + 12.522254160405343, + 12.525970901748083, + 12.529687643090826, + 12.533404384433565, + 12.537121125776308, + 12.540837867119048, + 12.54455460846179, + 12.54827134980453, + 12.55198809114727, + 12.555704832490013, + 12.559421573832752, + 12.563138315175495, + 12.566855056518236, + 12.570571797860977, + 12.574288539203717, + 12.57800528054646, + 12.581722021889199, + 12.585438763231942, + 12.589155504574682, + 12.592872245917425, + 12.596588987260164, + 12.600305728602907, + 12.604022469945647, + 12.607739211288386, + 12.611455952631129, + 12.61517269397387, + 12.61888943531661, + 12.622606176659351, + 12.626322918002094, + 12.630039659344835, + 12.633756400687576, + 12.637473142030316, + 12.641189883373059, + 12.644906624715798, + 12.64862336605854, + 12.652340107401281, + 12.656056848744022, + 12.659773590086763, + 12.663490331429504, + 12.667207072772246, + 12.670923814114985, + 12.674640555457728, + 12.678357296800469, + 12.68207403814321, + 12.68579077948595, + 12.689507520828693, + 12.693224262171434, + 12.696941003514175, + 12.700657744856915, + 12.704374486199658, + 12.708091227542397, + 12.71180796888514, + 12.71552471022788, + 12.719241451570621, + 12.722958192913362, + 12.726674934256103, + 12.730391675598845, + 12.734108416941584, + 12.737825158284327, + 12.741541899627068, + 12.745258640969809, + 12.74897538231255, + 12.752692123655292, + 12.756408864998033, + 12.760125606340774, + 12.763842347683514, + 12.767559089026257, + 12.771275830368996, + 12.774992571711739, + 12.77870931305448, + 12.782426054397218, + 12.786142795739961, + 12.789859537082702, + 12.793576278425444, + 12.797293019768183, + 12.801009761110926, + 12.804726502453667, + 12.808443243796408, + 12.812159985139148, + 12.815876726481891, + 12.81959346782463, + 12.823310209167373, + 12.827026950510113, + 12.830743691852856, + 12.834460433195595, + 12.838177174538338, + 12.841893915881078, + 12.845610657223817, + 12.84932739856656, + 12.8530441399093, + 12.856760881252042, + 12.860477622594782, + 12.864194363937525, + 12.867911105280266, + 12.871627846623007, + 12.875344587965747, + 12.87906132930849, + 12.882778070651229, + 12.886494811993972, + 12.890211553336712, + 12.893928294679453, + 12.897645036022194, + 12.901361777364935, + 12.905078518707677, + 12.908795260050416, + 12.912512001393159, + 12.9162287427359, + 12.91994548407864, + 12.923662225421381, + 12.927378966764124, + 12.931095708106865, + 12.934812449449606, + 12.938529190792346, + 12.942245932135089, + 12.945962673477828, + 12.94967941482057, + 12.953396156163311, + 12.957112897506052, + 12.960829638848793, + 12.964546380191534, + 12.968263121534276, + 12.971979862877015, + 12.975696604219758, + 12.979413345562499, + 12.98313008690524, + 12.98684682824798, + 12.990563569590723, + 12.994280310933464, + 12.997997052276204, + 13.001713793618945, + 13.005430534961688, + 13.009147276304427, + 13.01286401764717, + 13.01658075898991, + 13.02029750033265, + 13.024014241675392, + 13.027730983018133, + 13.031447724360875, + 13.035164465703614, + 13.038881207046357, + 13.042597948389098, + 13.046314689731838, + 13.05003143107458, + 13.053748172417322, + 13.057464913760061, + 13.061181655102803, + 13.064898396445544, + 13.068615137788285, + 13.072331879131026, + 13.076048620473768, + 13.07976536181651, + 13.083482103159248, + 13.087198844501991, + 13.090915585844732, + 13.094632327187472, + 13.098349068530213, + 13.102065809872956, + 13.105782551215697, + 13.109499292558437, + 13.113216033901178, + 13.11693277524392, + 13.12064951658666, + 13.124366257929402, + 13.128082999272143, + 13.131799740614884, + 13.135516481957625, + 13.139233223300366, + 13.142949964643108, + 13.146666705985847, + 13.15038344732859, + 13.15410018867133, + 13.157816930014071, + 13.161533671356812, + 13.165250412699555, + 13.168967154042296, + 13.172683895385036, + 13.176400636727777, + 13.18011737807052, + 13.183834119413259, + 13.187550860756001, + 13.191267602098742, + 13.194984343441481, + 13.198701084784224, + 13.202417826126965, + 13.206134567469707, + 13.209851308812446, + 13.213568050155189, + 13.21728479149793, + 13.22100153284067, + 13.224718274183411, + 13.228435015526154, + 13.232151756868893, + 13.235868498211635, + 13.239585239554376, + 13.243301980897119, + 13.247018722239858, + 13.2507354635826, + 13.254452204925341, + 13.25816894626808, + 13.261885687610823, + 13.265602428953564, + 13.269319170296304, + 13.273035911639045, + 13.276752652981788, + 13.280469394324529, + 13.28418613566727, + 13.28790287701001, + 13.291619618352753, + 13.295336359695492, + 13.299053101038234, + 13.302769842380975, + 13.306486583723716, + 13.310203325066457, + 13.3139200664092, + 13.31763680775194, + 13.32135354909468, + 13.325070290437422, + 13.328787031780163, + 13.332503773122903, + 13.336220514465644, + 13.339937255808387, + 13.343653997151128, + 13.347370738493868, + 13.35108747983661, + 13.354804221179352, + 13.35852096252209, + 13.362237703864833, + 13.365954445207574, + 13.369671186550315, + 13.373387927893056, + 13.377104669235797, + 13.38082141057854, + 13.384538151921278, + 13.38825489326402, + 13.391971634606762, + 13.395688375949502, + 13.399405117292243, + 13.403121858634986, + 13.406838599977727, + 13.410555341320467, + 13.414272082663208, + 13.41798882400595, + 13.42170556534869, + 13.425422306691432, + 13.429139048034173, + 13.432855789376912, + 13.436572530719655, + 13.440289272062396, + 13.444006013405138, + 13.447722754747877, + 13.45143949609062, + 13.45515623743336, + 13.458872978776101, + 13.462589720118842, + 13.466306461461585, + 13.470023202804324, + 13.473739944147066, + 13.477456685489807, + 13.48117342683255, + 13.484890168175289, + 13.488606909518031, + 13.492323650860772, + 13.496040392203511, + 13.499757133546254, + 13.503473874888995, + 13.507190616231735, + 13.510907357574476, + 13.514624098917219, + 13.51834084025996, + 13.5220575816027, + 13.525774322945441, + 13.529491064288184, + 13.533207805630923, + 13.536924546973665, + 13.540641288316406, + 13.544358029659147, + 13.548074771001888, + 13.55179151234463, + 13.555508253687371, + 13.55922499503011, + 13.562941736372853, + 13.566658477715594, + 13.570375219058334, + 13.574091960401075, + 13.577808701743818, + 13.581525443086559, + 13.5852421844293, + 13.58895892577204, + 13.592675667114783, + 13.596392408457522, + 13.600109149800264, + 13.603825891143005, + 13.607542632485746, + 13.611259373828487, + 13.614976115171228, + 13.61869285651397, + 13.62240959785671, + 13.626126339199452, + 13.629843080542193, + 13.633559821884933, + 13.637276563227674, + 13.640993304570417, + 13.644710045913156, + 13.648426787255898, + 13.65214352859864, + 13.655860269941382, + 13.65957701128412, + 13.663293752626863, + 13.667010493969604, + 13.670727235312343, + 13.674443976655086, + 13.678160717997827, + 13.681877459340567, + 13.685594200683308, + 13.68931094202605, + 13.693027683368792, + 13.696744424711532, + 13.700461166054273, + 13.704177907397016, + 13.707894648739755, + 13.711611390082497, + 13.715328131425238, + 13.719044872767979, + 13.72276161411072, + 13.726478355453462, + 13.730195096796203, + 13.733911838138942, + 13.737628579481685, + 13.741345320824426, + 13.745062062167166, + 13.748778803509907, + 13.75249554485265, + 13.75621228619539, + 13.759929027538131, + 13.763645768880872, + 13.767362510223615, + 13.771079251566354, + 13.774795992909096, + 13.778512734251837, + 13.782229475594578, + 13.785946216937319, + 13.789662958280061, + 13.793379699622802, + 13.797096440965541, + 13.800813182308284, + 13.804529923651025, + 13.808246664993765, + 13.811963406336506, + 13.815680147679249, + 13.81939688902199, + 13.82311363036473, + 13.826830371707471, + 13.830547113050214, + 13.834263854392953, + 13.837980595735695, + 13.841697337078436, + 13.845414078421177, + 13.849130819763918, + 13.852847561106659, + 13.856564302449401, + 13.86028104379214, + 13.863997785134883, + 13.867714526477624, + 13.871431267820364, + 13.875148009163105, + 13.878864750505848, + 13.882581491848587, + 13.88629823319133, + 13.89001497453407, + 13.893731715876813, + 13.897448457219552, + 13.901165198562294, + 13.904881939905035, + 13.908598681247774, + 13.912315422590517, + 13.916032163933258, + 13.919748905275998, + 13.92346564661874, + 13.927182387961482, + 13.930899129304223, + 13.934615870646963, + 13.938332611989704, + 13.942049353332447, + 13.945766094675186, + 13.949482836017928, + 13.95319957736067, + 13.95691631870341, + 13.96063306004615, + 13.964349801388893, + 13.968066542731634, + 13.971783284074373, + 13.975500025417116, + 13.979216766759857, + 13.982933508102597, + 13.986650249445338, + 13.99036699078808, + 13.994083732130822, + 13.997800473473562, + 14.001517214816303, + 14.005233956159046, + 14.008950697501785, + 14.012667438844527, + 14.016384180187268, + 14.020100921530009, + 14.02381766287275, + 14.027534404215492, + 14.031251145558233, + 14.034967886900972, + 14.038684628243715, + 14.042401369586456, + 14.046118110929196, + 14.049834852271937, + 14.05355159361468, + 14.05726833495742, + 14.060985076300161, + 14.064701817642902, + 14.068418558985645, + 14.072135300328384, + 14.075852041671126, + 14.079568783013867, + 14.083285524356608, + 14.087002265699349, + 14.09071900704209, + 14.09443574838483, + 14.098152489727571, + 14.101869231070314, + 14.105585972413055, + 14.109302713755795, + 14.113019455098536, + 14.116736196441279, + 14.120452937784018, + 14.12416967912676, + 14.127886420469501, + 14.131603161812242, + 14.135319903154983, + 14.139036644497725, + 14.142753385840466, + 14.146470127183205, + 14.150186868525948, + 14.153903609868689, + 14.15762035121143, + 14.16133709255417, + 14.165053833896913, + 14.168770575239654, + 14.172487316582394, + 14.176204057925135, + 14.179920799267878, + 14.183637540610617, + 14.18735428195336, + 14.1910710232961, + 14.194787764638841, + 14.198504505981582, + 14.202221247324324, + 14.205937988667065, + 14.209654730009804, + 14.213371471352547, + 14.217088212695288, + 14.220804954038028, + 14.22452169538077, + 14.228238436723512, + 14.231955178066253, + 14.235671919408993, + 14.239388660751734, + 14.243105402094477, + 14.246822143437216, + 14.250538884779958, + 14.2542556261227, + 14.25797236746544, + 14.26168910880818, + 14.265405850150923, + 14.269122591493664, + 14.272839332836403, + 14.276556074179146, + 14.280272815521887, + 14.283989556864627, + 14.287706298207368, + 14.29142303955011, + 14.29513978089285, + 14.298856522235592, + 14.302573263578333, + 14.306290004921076, + 14.310006746263815, + 14.313723487606557, + 14.317440228949298, + 14.321156970292039, + 14.324873711634778, + 14.32859045297752, + 14.332307194320261, + 14.336023935663, + 14.339740677005743, + 14.343457418348486, + 14.347174159691226, + 14.350890901033965, + 14.354607642376708, + 14.358324383719449, + 14.362041125062191, + 14.36575786640493, + 14.369474607747673, + 14.373191349090414, + 14.376908090433156, + 14.380624831775895, + 14.384341573118636, + 14.388058314461379, + 14.391775055804118, + 14.39549179714686, + 14.399208538489601, + 14.402925279832344, + 14.406642021175083, + 14.410358762517824, + 14.414075503860566, + 14.417792245203309, + 14.421508986546046, + 14.425225727888789, + 14.428942469231531, + 14.432659210574272, + 14.436375951917011, + 14.440092693259754, + 14.443809434602496, + 14.447526175945233, + 14.451242917287976, + 14.454959658630719, + 14.45867639997346, + 14.462393141316198, + 14.466109882658941, + 14.469826624001684, + 14.473543365344424, + 14.477260106687163, + 14.480976848029906, + 14.484693589372647, + 14.48841033071539, + 14.492127072058128, + 14.49584381340087, + 14.499560554743612, + 14.503277296086354, + 14.506994037429093, + 14.510710778771834, + 14.514427520114577, + 14.518144261457316, + 14.521861002800057, + 14.5255777441428, + 14.529294485485542, + 14.53301122682828, + 14.536727968171022, + 14.540444709513764, + 14.544161450856507, + 14.547878192199244, + 14.551594933541987, + 14.555311674884729, + 14.55902841622747, + 14.562745157570209, + 14.566461898912952, + 14.570178640255692, + 14.573895381598431, + 14.577612122941174, + 14.581328864283917, + 14.585045605626657, + 14.588762346969396, + 14.592479088312139, + 14.59619582965488, + 14.599912570997622, + 14.603629312340361, + 14.607346053683104, + 14.611062795025845, + 14.614779536368587, + 14.618496277711326, + 14.622213019054067, + 14.62592976039681, + 14.629646501739549, + 14.63336324308229, + 14.637079984425032, + 14.640796725767775, + 14.644513467110514, + 14.648230208453255, + 14.651946949795997, + 14.65566369113874, + 14.659380432481477, + 14.66309717382422, + 14.666813915166962, + 14.670530656509703, + 14.674247397852442, + 14.677964139195185, + 14.681680880537927, + 14.685397621880664, + 14.689114363223407, + 14.69283110456615, + 14.69654784590889, + 14.70026458725163, + 14.703981328594372, + 14.707698069937113, + 14.711414811279855, + 14.715131552622594, + 14.718848293965337, + 14.722565035308078, + 14.72628177665082, + 14.72999851799356, + 14.7337152593363, + 14.737432000679043, + 14.741148742021785, + 14.744865483364524, + 14.748582224707265, + 14.752298966050008, + 14.756015707392747, + 14.759732448735488, + 14.76344919007823, + 14.767165931420973, + 14.770882672763712, + 14.774599414106452, + 14.778316155449195, + 14.782032896791936, + 14.785749638134675, + 14.789466379477417, + 14.79318312082016, + 14.7968998621629, + 14.80061660350564, + 14.804333344848382, + 14.808050086191123, + 14.811766827533862, + 14.815483568876605, + 14.819200310219347, + 14.822917051562088, + 14.826633792904827, + 14.83035053424757, + 14.83406727559031, + 14.837784016933053, + 14.841500758275792, + 14.845217499618535, + 14.848934240961276, + 14.852650982304018, + 14.856367723646757, + 14.860084464989498, + 14.86380120633224, + 14.86751794767498, + 14.87123468901772, + 14.874951430360463, + 14.878668171703206, + 14.882384913045945, + 14.886101654388685, + 14.889818395731428, + 14.89353513707417, + 14.897251878416908, + 14.90096861975965, + 14.904685361102393, + 14.908402102445134, + 14.912118843787873, + 14.915835585130615, + 14.919552326473358, + 14.923269067816095, + 14.926985809158838, + 14.93070255050158, + 14.934419291844321, + 14.93813603318706, + 14.941852774529803, + 14.945569515872544, + 14.949286257215286, + 14.953002998558025, + 14.956719739900768, + 14.960436481243509, + 14.964153222586251, + 14.96786996392899, + 14.971586705271731, + 14.975303446614474, + 14.979020187957216, + 14.982736929299955, + 14.986453670642696, + 14.990170411985439, + 14.993887153328181, + 14.997603894670918, + 15.001320636013661, + 15.005037377356404, + 15.008754118699144, + 15.012470860041883, + 15.016187601384626, + 15.019904342727367, + 15.02362108407011, + 15.027337825412848, + 15.031054566755591, + 15.034771308098332, + 15.038488049441074, + 15.042204790783813, + 15.045921532126554, + 15.049638273469297, + 15.053355014812036, + 15.057071756154778, + 15.06078849749752, + 15.064505238840262, + 15.068221980183, + 15.071938721525742, + 15.075655462868484, + 15.079372204211227, + 15.083088945553966, + 15.086805686896707, + 15.09052242823945, + 15.09423916958219, + 15.097955910924929, + 15.101672652267672, + 15.105389393610414, + 15.109106134953151, + 15.112822876295894, + 15.116539617638637, + 15.120256358981377, + 15.123973100324116, + 15.127689841666859, + 15.131406583009602, + 15.135123324352342, + 15.138840065695081, + 15.142556807037824, + 15.146273548380565, + 15.149990289723307, + 15.153707031066046, + 15.157423772408787, + 15.16114051375153, + 15.164857255094269, + 15.168573996437011, + 15.172290737779752, + 15.176007479122495, + 15.179724220465234, + 15.183440961807975, + 15.187157703150717, + 15.19087444449346, + 15.194591185836199, + 15.19830792717894, + 15.202024668521682, + 15.205741409864425, + 15.209458151207162, + 15.213174892549905, + 15.216891633892647, + 15.220608375235386, + 15.224325116578127, + 15.22804185792087, + 15.23175859926361, + 15.23547534060635, + 15.239192081949092, + 15.242908823291835, + 15.246625564634575, + 15.250342305977314, + 15.254059047320057, + 15.257775788662798, + 15.26149253000554, + 15.26520927134828, + 15.268926012691022, + 15.272642754033763, + 15.276359495376502, + 15.280076236719244, + 15.283792978061985, + 15.287509719404728, + 15.291226460747467, + 15.29494320209021, + 15.29865994343295, + 15.302376684775693, + 15.306093426118432, + 15.309810167461173, + 15.313526908803915, + 15.317243650146658, + 15.320960391489395, + 15.324677132832138, + 15.32839387417488, + 15.332110615517621, + 15.33582735686036, + 15.339544098203103, + 15.343260839545845, + 15.346977580888582, + 15.350694322231325, + 15.354411063574068, + 15.358127804916808, + 15.361844546259547, + 15.36556128760229, + 15.369278028945033, + 15.372994770287773, + 15.376711511630512, + 15.380428252973255, + 15.384144994315996, + 15.387861735658738, + 15.391578477001477, + 15.395295218344218, + 15.39901195968696, + 15.4027287010297, + 15.406445442372442, + 15.410162183715183, + 15.413878925057926, + 15.417595666400665, + 15.421312407743406, + 15.425029149086148, + 15.42874589042889, + 15.43246263177163, + 15.43617937311437, + 15.439896114457113, + 15.443612855799856, + 15.447329597142593, + 15.451046338485336, + 15.454763079828078, + 15.458479821170817, + 15.462196562513558, + 15.4659133038563, + 15.469630045199041, + 15.47334678654178, + 15.477063527884523, + 15.480780269227266, + 15.484497010570006, + 15.488213751912745, + 15.491930493255488, + 15.495647234598229, + 15.499363975940971, + 15.50308071728371, + 15.506797458626453, + 15.510514199969194, + 15.514230941311936, + 15.517947682654675, + 15.521664423997416, + 15.525381165340159, + 15.529097906682898, + 15.53281464802564, + 15.536531389368381, + 15.540248130711124, + 15.543964872053863, + 15.547681613396604, + 15.551398354739346, + 15.555115096082089, + 15.558831837424826, + 15.562548578767569, + 15.566265320110311, + 15.569982061453052, + 15.573698802795791, + 15.577415544138534, + 15.581132285481276, + 15.584849026824013, + 15.588565768166756, + 15.592282509509499, + 15.59599925085224, + 15.599715992194978, + 15.603432733537721, + 15.607149474880462, + 15.610866216223204, + 15.614582957565943, + 15.618299698908686, + 15.622016440251427, + 15.62573318159417, + 15.629449922936908, + 15.63316666427965, + 15.636883405622392, + 15.64060014696513, + 15.644316888307873, + 15.648033629650614, + 15.651750370993357, + 15.655467112336096, + 15.659183853678837, + 15.66290059502158, + 15.666617336364322, + 15.67033407770706, + 15.674050819049802, + 15.677767560392544, + 15.681484301735285, + 15.685201043078024, + 15.688917784420767, + 15.69263452576351, + 15.696351267106246, + 15.700068008448989, + 15.703784749791732, + 15.707501491134472, + 15.711218232477211, + 15.714934973819954, + 15.718651715162697, + 15.722368456505437, + 15.726085197848176, + 15.729801939190919, + 15.73351868053366, + 15.737235421876402, + 15.740952163219141, + 15.744668904561884, + 15.748385645904625, + 15.752102387247364, + 15.755819128590106, + 15.759535869932847, + 15.76325261127559, + 15.766969352618329, + 15.77068609396107, + 15.774402835303812, + 15.778119576646555, + 15.781836317989294, + 15.785553059332035, + 15.789269800674777, + 15.79298654201752, + 15.796703283360257, + 15.800420024703, + 15.804136766045742, + 15.807853507388483, + 15.811570248731222, + 15.815286990073965, + 15.819003731416707, + 15.822720472759444, + 15.826437214102187, + 15.83015395544493, + 15.83387069678767, + 15.83758743813041, + 15.841304179473152, + 15.845020920815893, + 15.848737662158635, + 15.852454403501374, + 15.856171144844117, + 15.859887886186858, + 15.8636046275296, + 15.86732136887234 + ], + "Itth": [ + 30.655195236206055, + 29.83406639099121, + 29.250301361083984, + 29.05618667602539, + 29.000913619995117, + 29.225038528442383, + 29.46074867248535, + 29.12308692932129, + 27.65679359436035, + 26.10845947265625, + 25.19525718688965, + 24.712743759155273, + 24.63957405090332, + 24.664337158203125, + 24.804119110107422, + 25.0291690826416, + 25.383033752441406, + 25.76605224609375, + 25.97580337524414, + 26.269529342651367, + 26.61513328552246, + 26.96686363220215, + 27.19447898864746, + 27.419681549072266, + 27.494121551513672, + 27.674341201782227, + 27.80927085876465, + 27.948331832885742, + 28.087631225585938, + 28.289072036743164, + 28.53715705871582, + 28.739686965942383, + 28.77363395690918, + 28.687801361083984, + 28.60637092590332, + 28.632291793823242, + 28.771686553955078, + 28.924388885498047, + 28.999300003051758, + 29.000823974609375, + 29.09023094177246, + 29.188947677612305, + 29.33367347717285, + 29.42925453186035, + 29.50635528564453, + 29.429615020751953, + 29.318897247314453, + 29.29048728942871, + 29.317636489868164, + 29.315523147583008, + 29.282075881958008, + 29.247848510742188, + 29.27845573425293, + 29.34998321533203, + 29.441238403320312, + 29.456716537475586, + 29.445804595947266, + 29.41053581237793, + 29.312252044677734, + 29.311321258544922, + 29.535066604614258, + 29.766727447509766, + 29.79578971862793, + 29.591358184814453, + 29.52048683166504, + 29.533164978027344, + 29.544538497924805, + 29.558753967285156, + 29.5627498626709, + 29.648454666137695, + 29.731971740722656, + 29.774791717529297, + 29.694412231445312, + 29.594369888305664, + 29.580310821533203, + 29.641633987426758, + 29.81170082092285, + 29.817169189453125, + 29.790098190307617, + 29.766626358032227, + 29.81119155883789, + 29.860187530517578, + 29.81318473815918, + 29.839805603027344, + 29.836238861083984, + 29.774539947509766, + 29.78204917907715, + 29.829927444458008, + 29.953853607177734, + 30.019975662231445, + 29.976238250732422, + 29.905105590820312, + 29.771648406982422, + 29.772783279418945, + 29.813814163208008, + 29.90070343017578, + 29.8947811126709, + 29.905099868774414, + 29.900402069091797, + 29.903696060180664, + 29.848705291748047, + 29.813203811645508, + 29.84122085571289, + 29.917837142944336, + 29.974720001220703, + 29.985958099365234, + 29.95180892944336, + 29.942644119262695, + 29.930627822875977, + 29.887975692749023, + 29.840593338012695, + 29.86276626586914, + 29.95361328125, + 29.94370460510254, + 29.931072235107422, + 29.934133529663086, + 29.992340087890625, + 30.0114803314209, + 29.9796085357666, + 29.937564849853516, + 29.894977569580078, + 29.890487670898438, + 29.94139289855957, + 29.97698974609375, + 29.96536636352539, + 29.917743682861328, + 29.885751724243164, + 29.877750396728516, + 29.98424530029297, + 29.992807388305664, + 29.981983184814453, + 29.894968032836914, + 29.904296875, + 29.97266960144043, + 30.041515350341797, + 30.103015899658203, + 30.1289119720459, + 30.07527732849121, + 30.022716522216797, + 30.051767349243164, + 30.10101890563965, + 30.163509368896484, + 30.14126968383789, + 30.120107650756836, + 30.032405853271484, + 29.99365234375, + 30.014400482177734, + 30.05683135986328, + 30.058652877807617, + 30.03716468811035, + 30.00949478149414, + 30.052122116088867, + 30.13282012939453, + 30.225595474243164, + 30.282535552978516, + 30.3687686920166, + 30.342214584350586, + 30.29414939880371, + 30.25435447692871, + 30.246702194213867, + 30.240678787231445, + 30.162412643432617, + 30.133079528808594, + 30.133346557617188, + 30.144006729125977, + 30.165822982788086, + 30.181108474731445, + 30.191465377807617, + 30.214277267456055, + 30.170211791992188, + 30.1935977935791, + 30.13808250427246, + 30.177553176879883, + 30.199600219726562, + 30.265737533569336, + 30.284151077270508, + 30.258464813232422, + 30.20931625366211, + 30.137216567993164, + 30.15107536315918, + 30.173847198486328, + 30.130687713623047, + 30.107423782348633, + 30.124467849731445, + 30.190038681030273, + 30.199920654296875, + 30.147010803222656, + 30.11749267578125, + 30.157804489135742, + 30.237058639526367, + 30.24636459350586, + 30.220491409301758, + 30.212188720703125, + 30.24651527404785, + 30.295055389404297, + 30.22862434387207, + 30.18080711364746, + 30.110126495361328, + 30.16349983215332, + 30.18855857849121, + 30.245548248291016, + 30.333284378051758, + 30.419145584106445, + 30.414892196655273, + 30.333158493041992, + 30.314844131469727, + 30.30124282836914, + 30.300338745117188, + 30.332300186157227, + 30.367271423339844, + 30.38383674621582, + 30.34083366394043, + 30.279659271240234, + 30.24929428100586, + 30.284250259399414, + 30.383243560791016, + 30.407255172729492, + 30.39202308654785, + 30.349651336669922, + 30.322402954101562, + 30.316617965698242, + 30.308074951171875, + 30.28091049194336, + 30.239643096923828, + 30.276531219482422, + 30.301340103149414, + 30.3394718170166, + 30.376232147216797, + 30.400630950927734, + 30.369319915771484, + 30.346641540527344, + 30.374685287475586, + 30.43925666809082, + 30.500764846801758, + 30.51518440246582, + 30.511693954467773, + 30.495220184326172, + 30.482440948486328, + 30.460262298583984, + 30.479890823364258, + 30.60963249206543, + 30.66193389892578, + 30.659957885742188, + 30.692537307739258, + 30.708215713500977, + 30.735214233398438, + 30.739255905151367, + 30.76188087463379, + 30.7623348236084, + 30.788532257080078, + 30.86225128173828, + 30.897878646850586, + 30.82114601135254, + 30.706666946411133, + 30.727991104125977, + 30.79245948791504, + 30.88789176940918, + 30.915307998657227, + 30.957603454589844, + 30.959274291992188, + 30.94269371032715, + 30.94972801208496, + 30.96067237854004, + 31.00096893310547, + 30.96592903137207, + 30.931020736694336, + 30.912633895874023, + 30.97464370727539, + 31.010717391967773, + 31.055391311645508, + 31.0456485748291, + 31.05409812927246, + 31.070911407470703, + 31.11444091796875, + 31.20515251159668, + 31.192028045654297, + 31.151187896728516, + 31.16691780090332, + 31.260072708129883, + 31.323118209838867, + 31.33897590637207, + 31.330320358276367, + 31.265363693237305, + 31.325178146362305, + 31.398391723632812, + 31.452795028686523, + 31.429737091064453, + 31.40837287902832, + 31.431928634643555, + 31.4499568939209, + 31.46269989013672, + 31.444435119628906, + 31.443479537963867, + 31.442686080932617, + 31.498275756835938, + 31.571674346923828, + 31.599695205688477, + 31.561655044555664, + 31.55573081970215, + 31.583459854125977, + 31.652124404907227, + 31.659677505493164, + 31.66083526611328, + 31.70829200744629, + 31.779380798339844, + 31.817628860473633, + 31.786043167114258, + 31.74173355102539, + 31.71877670288086, + 31.730634689331055, + 31.748708724975586, + 31.796634674072266, + 31.783170700073242, + 31.814151763916016, + 31.854351043701172, + 31.8576717376709, + 31.856300354003906, + 31.860599517822266, + 31.905296325683594, + 31.89594841003418, + 31.935630798339844, + 31.993148803710938, + 32.07071304321289, + 32.11125946044922, + 32.123374938964844, + 32.193233489990234, + 32.22174072265625, + 32.22189712524414, + 32.192806243896484, + 32.21459197998047, + 32.29185485839844, + 32.3137092590332, + 32.32758712768555, + 32.33790969848633, + 32.33599853515625, + 32.3914909362793, + 32.444705963134766, + 32.485286712646484, + 32.52824401855469, + 32.58897018432617, + 32.64231872558594, + 32.606788635253906, + 32.577571868896484, + 32.57267379760742, + 32.64385223388672, + 32.722129821777344, + 32.71510696411133, + 32.69007110595703, + 32.70197677612305, + 32.72857666015625, + 32.75815200805664, + 32.76007080078125, + 32.78892517089844, + 32.834632873535156, + 32.92661666870117, + 33.0507698059082, + 33.09678268432617, + 33.031097412109375, + 33.00022506713867, + 32.99265670776367, + 32.994873046875, + 32.9798469543457, + 33.031002044677734, + 33.059288024902344, + 33.02427291870117, + 32.986873626708984, + 33.00354766845703, + 33.06257247924805, + 33.12177276611328, + 33.16192626953125, + 33.21307373046875, + 33.22243118286133, + 33.2237434387207, + 33.23664093017578, + 33.267879486083984, + 33.32833480834961, + 33.36656188964844, + 33.46747970581055, + 33.50011444091797, + 33.46601867675781, + 33.434715270996094, + 33.47855758666992, + 33.555580139160156, + 33.65308380126953, + 33.72681427001953, + 33.75707244873047, + 33.76725387573242, + 33.787635803222656, + 33.786109924316406, + 33.817073822021484, + 33.87891387939453, + 33.95157241821289, + 33.96954345703125, + 33.92698287963867, + 33.905216217041016, + 33.95687484741211, + 34.01503372192383, + 34.1195068359375, + 34.27295684814453, + 34.38189697265625, + 34.43177795410156, + 34.466819763183594, + 34.58599853515625, + 34.7269401550293, + 34.833946228027344, + 34.96219253540039, + 35.09735870361328, + 35.23222351074219, + 35.32642364501953, + 35.45528030395508, + 35.657108306884766, + 35.8322868347168, + 35.92313003540039, + 36.04854202270508, + 36.19651412963867, + 36.36369323730469, + 36.56855773925781, + 36.88492202758789, + 37.33466339111328, + 37.68680191040039, + 37.9900016784668, + 38.32686996459961, + 38.839111328125, + 39.446903228759766, + 40.15448760986328, + 41.08134460449219, + 42.26953125, + 43.72754669189453, + 45.78263854980469, + 48.73918914794922, + 52.90522003173828, + 59.0512809753418, + 68.56512451171875, + 83.40565490722656, + 107.05292510986328, + 146.81353759765625, + 212.51651000976562, + 318.0817565917969, + 482.7589111328125, + 711.8302612304688, + 990.050048828125, + 1285.00732421875, + 1511.0733642578125, + 1601.6463623046875, + 1531.0985107421875, + 1320.9278564453125, + 1037.547119140625, + 740.9671020507812, + 500.5221862792969, + 332.96966552734375, + 220.77334594726562, + 150.68130493164062, + 109.67970275878906, + 84.47444152832031, + 68.7204818725586, + 59.11444854736328, + 52.694095611572266, + 48.33076477050781, + 45.38225555419922, + 43.25034713745117, + 41.6935920715332, + 40.508514404296875, + 39.54587936401367, + 38.7602424621582, + 38.14168167114258, + 37.600006103515625, + 37.10805892944336, + 36.6885986328125, + 36.30133056640625, + 35.95799255371094, + 35.600799560546875, + 35.32086181640625, + 35.02847671508789, + 34.82054138183594, + 34.58174133300781, + 34.357994079589844, + 34.134010314941406, + 33.99287033081055, + 33.84563446044922, + 33.710453033447266, + 33.50799560546875, + 33.36771011352539, + 33.23287582397461, + 33.149505615234375, + 33.05148696899414, + 32.92702865600586, + 32.791866302490234, + 32.63798141479492, + 32.53141403198242, + 32.42772674560547, + 32.32834243774414, + 32.239437103271484, + 32.15425491333008, + 32.033267974853516, + 31.93523597717285, + 31.85132598876953, + 31.747182846069336, + 31.62746810913086, + 31.56980323791504, + 31.575326919555664, + 31.568132400512695, + 31.526004791259766, + 31.491729736328125, + 31.409086227416992, + 31.36904525756836, + 31.287830352783203, + 31.273529052734375, + 31.222564697265625, + 31.199533462524414, + 31.11415672302246, + 31.047773361206055, + 30.959735870361328, + 30.89130210876465, + 30.90373420715332, + 30.89154624938965, + 30.909231185913086, + 30.897979736328125, + 30.890491485595703, + 30.812320709228516, + 30.759675979614258, + 30.727624893188477, + 30.67600440979004, + 30.628252029418945, + 30.661943435668945, + 30.67974090576172, + 30.614038467407227, + 30.54181480407715, + 30.53827476501465, + 30.57747459411621, + 30.580968856811523, + 30.567045211791992, + 30.564027786254883, + 30.5073184967041, + 30.400232315063477, + 30.329322814941406, + 30.33580207824707, + 30.3377628326416, + 30.346067428588867, + 30.36860466003418, + 30.376380920410156, + 30.328107833862305, + 30.284788131713867, + 30.272602081298828, + 30.251949310302734, + 30.252933502197266, + 30.272323608398438, + 30.266979217529297, + 30.261558532714844, + 30.240745544433594, + 30.19658660888672, + 30.156105041503906, + 30.112215042114258, + 30.122169494628906, + 30.13726234436035, + 30.158681869506836, + 30.155729293823242, + 30.125391006469727, + 30.1219425201416, + 30.157079696655273, + 30.191438674926758, + 30.222108840942383, + 30.25638198852539, + 30.276214599609375, + 30.25552749633789, + 30.223228454589844, + 30.20261573791504, + 30.198225021362305, + 30.200424194335938, + 30.203824996948242, + 30.17653465270996, + 30.1549072265625, + 30.11594581604004, + 30.151580810546875, + 30.163551330566406, + 30.20865821838379, + 30.202177047729492, + 30.19918441772461, + 30.1340274810791, + 30.08165168762207, + 30.097740173339844, + 30.163623809814453, + 30.217252731323242, + 30.177541732788086, + 30.115549087524414, + 30.103519439697266, + 30.14201545715332, + 30.23259162902832, + 30.250703811645508, + 30.271936416625977, + 30.261560440063477, + 30.2685546875, + 30.264217376708984, + 30.281095504760742, + 30.312015533447266, + 30.307443618774414, + 30.290000915527344, + 30.25479507446289, + 30.26529884338379, + 30.319902420043945, + 30.366445541381836, + 30.35373306274414, + 30.330541610717773, + 30.30899429321289, + 30.309818267822266, + 30.32732391357422, + 30.389183044433594, + 30.39971160888672, + 30.39501190185547, + 30.383344650268555, + 30.402238845825195, + 30.38288116455078, + 30.375762939453125, + 30.390045166015625, + 30.405189514160156, + 30.433631896972656, + 30.50391960144043, + 30.518829345703125, + 30.47543716430664, + 30.42565155029297, + 30.472156524658203, + 30.539968490600586, + 30.57335090637207, + 30.598114013671875, + 30.66340446472168, + 30.694313049316406, + 30.74755859375, + 30.802444458007812, + 30.856138229370117, + 30.837215423583984, + 30.826332092285156, + 30.850082397460938, + 30.8948974609375, + 30.96551513671875, + 31.066591262817383, + 31.174545288085938, + 31.236656188964844, + 31.290855407714844, + 31.30845832824707, + 31.320472717285156, + 31.37874412536621, + 31.484106063842773, + 31.59173011779785, + 31.68903350830078, + 31.77693748474121, + 31.91499900817871, + 32.05049133300781, + 32.16682434082031, + 32.23305892944336, + 32.30259323120117, + 32.421119689941406, + 32.545955657958984, + 32.67624282836914, + 32.76797103881836, + 32.91126251220703, + 33.07640075683594, + 33.285865783691406, + 33.45329666137695, + 33.594181060791016, + 33.774681091308594, + 33.9834098815918, + 34.185646057128906, + 34.42557907104492, + 34.696319580078125, + 34.97285842895508, + 35.226539611816406, + 35.568450927734375, + 35.899837493896484, + 36.182376861572266, + 36.501380920410156, + 36.859004974365234, + 37.24562454223633, + 37.64398956298828, + 38.09574890136719, + 38.60658645629883, + 39.15772247314453, + 39.7945442199707, + 40.51773452758789, + 41.3270149230957, + 42.28261184692383, + 43.40947341918945, + 44.82204818725586, + 46.63654708862305, + 48.889404296875, + 51.87383270263672, + 56.03772735595703, + 61.802425384521484, + 69.97919464111328, + 82.5111312866211, + 101.95650482177734, + 132.3250732421875, + 182.85443115234375, + 266.0291748046875, + 399.14447021484375, + 616.3683471679688, + 937.8656616210938, + 1360.738525390625, + 1874.4617919921875, + 2366.898193359375, + 2714.7578125, + 2819.80908203125, + 2631.714599609375, + 2221.39208984375, + 1692.0693359375, + 1187.6728515625, + 798.3787841796875, + 520.8145141601562, + 338.3633728027344, + 226.889892578125, + 159.56857299804688, + 118.25475311279297, + 92.73567199707031, + 76.65444946289062, + 66.05496215820312, + 58.95152282714844, + 53.96533203125, + 50.3306999206543, + 47.629398345947266, + 45.60187530517578, + 43.95035934448242, + 42.65077590942383, + 41.53607177734375, + 40.585350036621094, + 39.77942657470703, + 39.1219596862793, + 38.511714935302734, + 37.949459075927734, + 37.393951416015625, + 36.922061920166016, + 36.52071762084961, + 36.10154342651367, + 35.706356048583984, + 35.31312942504883, + 35.00042724609375, + 34.65456771850586, + 34.287452697753906, + 33.945281982421875, + 33.67927932739258, + 33.45180130004883, + 33.186866760253906, + 32.91078186035156, + 32.69692611694336, + 32.55946731567383, + 32.39508819580078, + 32.2032356262207, + 32.014888763427734, + 31.80466079711914, + 31.626628875732422, + 31.448163986206055, + 31.312244415283203, + 31.157962799072266, + 31.018848419189453, + 30.902524948120117, + 30.778888702392578, + 30.636804580688477, + 30.492115020751953, + 30.13284683227539, + 29.921688079833984, + 29.800275802612305, + 29.97922134399414, + 30.027502059936523, + 29.979917526245117, + 29.86851692199707, + 29.7241268157959, + 29.62141990661621, + 29.518680572509766, + 29.490522384643555, + 29.466787338256836, + 29.448009490966797, + 29.39824676513672, + 29.37006378173828, + 29.342937469482422, + 29.27851676940918, + 29.22614097595215, + 29.191089630126953, + 29.1534481048584, + 29.058561325073242, + 28.959741592407227, + 28.919876098632812, + 28.905502319335938, + 28.83692741394043, + 28.785276412963867, + 28.763025283813477, + 28.776729583740234, + 28.739871978759766, + 28.677515029907227, + 28.654733657836914, + 28.61782455444336, + 28.532981872558594, + 28.468347549438477, + 28.4720516204834, + 28.517234802246094, + 28.48628807067871, + 28.420576095581055, + 28.375112533569336, + 28.375394821166992, + 28.396970748901367, + 28.400867462158203, + 28.38685417175293, + 28.395788192749023, + 28.392845153808594, + 28.395402908325195, + 28.360734939575195, + 28.343719482421875, + 28.31928825378418, + 28.296350479125977, + 28.241416931152344, + 28.21356773376465, + 28.233861923217773, + 28.25520896911621, + 28.2134952545166, + 28.212745666503906, + 28.21535873413086, + 28.27176284790039, + 28.266881942749023, + 28.25693130493164, + 28.246763229370117, + 28.25874137878418, + 28.260351181030273, + 28.254047393798828, + 28.250375747680664, + 28.27077865600586, + 28.313703536987305, + 28.338422775268555, + 28.39368438720703, + 28.443063735961914, + 28.50934600830078, + 28.53889274597168, + 28.558605194091797, + 28.564096450805664, + 28.561176300048828, + 28.565275192260742, + 28.55560302734375, + 28.512691497802734, + 28.50858497619629, + 28.552715301513672, + 28.561012268066406, + 28.587175369262695, + 28.610597610473633, + 28.654232025146484, + 28.666027069091797, + 28.702308654785156, + 28.778196334838867, + 28.81464958190918, + 28.838085174560547, + 28.828399658203125, + 28.84714126586914, + 28.8720645904541, + 28.890552520751953, + 28.925704956054688, + 29.014305114746094, + 29.12160301208496, + 29.208148956298828, + 29.282901763916016, + 29.33850860595703, + 29.450687408447266, + 29.546659469604492, + 29.67051124572754, + 29.784269332885742, + 29.894519805908203, + 29.988588333129883, + 30.110280990600586, + 30.27046775817871, + 30.43085479736328, + 30.59197235107422, + 30.704486846923828, + 30.838769912719727, + 31.000411987304688, + 31.179487228393555, + 31.4299259185791, + 31.672317504882812, + 31.92827033996582, + 32.19761657714844, + 32.51640701293945, + 32.86328887939453, + 33.30091094970703, + 33.795413970947266, + 34.381317138671875, + 35.1545524597168, + 36.160499572753906, + 37.375667572021484, + 39.031558990478516, + 41.4138069152832, + 44.797508239746094, + 49.90789794921875, + 57.887447357177734, + 70.10863494873047, + 89.99226379394531, + 123.5012435913086, + 176.86781311035156, + 261.4806213378906, + 390.954833984375, + 565.4776611328125, + 778.4594116210938, + 1001.501953125, + 1173.12255859375, + 1247.134765625, + 1200.9765625, + 1050.575927734375, + 837.3785400390625, + 611.5274658203125, + 422.9749755859375, + 286.7987976074219, + 192.30113220214844, + 131.90625, + 96.1778564453125, + 73.97530364990234, + 60.087158203125, + 51.660179138183594, + 46.04044723510742, + 42.21532440185547, + 39.660797119140625, + 37.790550231933594, + 36.44343185424805, + 35.4329833984375, + 34.60564422607422, + 33.871856689453125, + 33.30643081665039, + 32.860565185546875, + 32.54509735107422, + 32.239013671875, + 31.949365615844727, + 31.647186279296875, + 31.395084381103516, + 31.14438247680664, + 30.93621826171875, + 30.74098777770996, + 30.59232521057129, + 30.42967987060547, + 30.229339599609375, + 30.051013946533203, + 29.926471710205078, + 29.82940673828125, + 29.69231605529785, + 29.583702087402344, + 29.46990394592285, + 29.317840576171875, + 29.17218017578125, + 29.09775161743164, + 29.04749298095703, + 28.947235107421875, + 28.85010528564453, + 28.78856658935547, + 28.727947235107422, + 28.651506423950195, + 28.602697372436523, + 28.5643367767334, + 28.527162551879883, + 28.476333618164062, + 28.413108825683594, + 28.348716735839844, + 28.311643600463867, + 28.303800582885742, + 28.27671241760254, + 28.207901000976562, + 28.15511703491211, + 28.133487701416016, + 28.12302589416504, + 28.108959197998047, + 28.086368560791016, + 28.051156997680664, + 28.00340461730957, + 27.99357795715332, + 28.018388748168945, + 27.980222702026367, + 27.9167423248291, + 27.87669563293457, + 27.86310577392578, + 27.8330135345459, + 27.824270248413086, + 27.837604522705078, + 27.83466339111328, + 27.79109001159668, + 27.749370574951172, + 27.742761611938477, + 27.73455047607422, + 27.73688507080078, + 27.727651596069336, + 27.726818084716797, + 27.710241317749023, + 27.692399978637695, + 27.667537689208984, + 27.66058349609375, + 27.685213088989258, + 27.72330665588379, + 27.70846176147461, + 27.67197036743164, + 27.612258911132812, + 27.609495162963867, + 27.635482788085938, + 27.626445770263672, + 27.61467742919922, + 27.60677146911621, + 27.61172103881836, + 27.59600830078125, + 27.61986541748047, + 27.678634643554688, + 27.705392837524414, + 27.673095703125, + 27.661865234375, + 27.700170516967773, + 27.685022354125977, + 27.671409606933594, + 27.678163528442383, + 27.7437801361084, + 27.780628204345703, + 27.7963809967041, + 27.858694076538086, + 27.930057525634766, + 27.949342727661133, + 27.93177032470703, + 27.942686080932617, + 27.963544845581055, + 27.98468589782715, + 28.0101261138916, + 28.048093795776367, + 28.07948112487793, + 28.102712631225586, + 28.154394149780273, + 28.214750289916992, + 28.29650115966797, + 28.3794002532959, + 28.49480628967285, + 28.581676483154297, + 28.639610290527344, + 28.712326049804688, + 28.77444839477539, + 28.837892532348633, + 28.894529342651367, + 29.0070858001709, + 29.111997604370117, + 29.184391021728516, + 29.228975296020508, + 29.249561309814453, + 29.3305721282959, + 29.44025421142578, + 29.585433959960938, + 29.718931198120117, + 29.842100143432617, + 30.051687240600586, + 30.269886016845703, + 30.53338050842285, + 30.822900772094727, + 31.18357276916504, + 31.680513381958008, + 32.26888656616211, + 33.04570007324219, + 34.08531951904297, + 35.62764358520508, + 37.85483932495117, + 41.31964874267578, + 46.71352005004883, + 55.13505172729492, + 69.12893676757812, + 92.08511352539062, + 128.16354370117188, + 184.92543029785156, + 263.98724365234375, + 363.8600158691406, + 480.3432922363281, + 583.2769775390625, + 646.3880615234375, + 653.6007080078125, + 601.8587036132812, + 507.89385986328125, + 391.380615234375, + 282.9766540527344, + 199.4819793701172, + 138.84022521972656, + 98.3084945678711, + 73.2444076538086, + 57.86614990234375, + 48.34193801879883, + 42.49509811401367, + 38.79337692260742, + 36.33335494995117, + 34.730140686035156, + 33.60717010498047, + 32.752906799316406, + 32.11949920654297, + 31.636821746826172, + 31.25164222717285, + 30.987241744995117, + 30.784456253051758, + 30.606325149536133, + 30.525487899780273, + 30.4450626373291, + 30.346202850341797, + 30.17460060119629, + 30.103683471679688, + 30.021451950073242, + 29.875368118286133, + 29.66404914855957, + 29.499958038330078, + 29.360698699951172, + 29.26263427734375, + 29.188322067260742, + 29.10508155822754, + 28.99945068359375, + 28.92222023010254, + 28.857160568237305, + 28.783226013183594, + 28.708162307739258, + 28.66798210144043, + 28.62323570251465, + 28.571224212646484, + 28.525503158569336, + 28.483226776123047, + 28.470272064208984, + 28.463851928710938, + 28.446382522583008, + 28.44043731689453, + 28.44001007080078, + 28.472393035888672, + 28.449262619018555, + 28.400897979736328, + 28.351715087890625, + 28.354698181152344, + 28.37282943725586, + 28.381616592407227, + 28.364652633666992, + 28.357641220092773, + 28.33121109008789, + 28.326169967651367, + 28.319725036621094, + 28.346595764160156, + 28.34147834777832, + 28.350339889526367, + 28.316373825073242, + 28.268850326538086, + 28.248933792114258, + 28.26710319519043, + 28.286951065063477, + 28.29013442993164, + 28.29051971435547, + 28.29405975341797, + 28.325756072998047, + 28.354930877685547, + 28.41095733642578, + 28.4510555267334, + 28.479848861694336, + 28.51905632019043, + 28.541244506835938, + 28.541391372680664, + 28.51578140258789, + 28.537317276000977, + 28.617233276367188, + 28.701963424682617, + 28.74129867553711, + 28.776369094848633, + 28.82330322265625, + 28.86284637451172, + 28.858142852783203, + 28.867647171020508, + 28.91636085510254, + 29.02678680419922, + 29.102331161499023, + 29.104007720947266, + 29.122756958007812, + 29.1940975189209, + 29.338912963867188, + 29.432981491088867, + 29.526939392089844, + 29.587663650512695, + 29.667884826660156, + 29.784427642822266, + 29.953962326049805, + 30.084043502807617, + 30.187755584716797, + 30.306568145751953, + 30.44698715209961, + 30.603416442871094, + 30.74498748779297, + 30.917917251586914, + 31.085527420043945, + 31.262746810913086, + 31.439010620117188, + 31.589433670043945, + 31.802724838256836, + 32.04952621459961, + 32.29874038696289, + 32.53522491455078, + 32.82587814331055, + 33.17470169067383, + 33.5545768737793, + 34.013343811035156, + 34.517127990722656, + 35.105072021484375, + 35.88568878173828, + 36.80956268310547, + 37.91295623779297, + 39.346397399902344, + 41.28074645996094, + 43.854305267333984, + 47.590824127197266, + 53.10871124267578, + 61.546165466308594, + 74.95249938964844, + 96.53762817382812, + 131.13255310058594, + 188.39767456054688, + 279.0630798339844, + 413.8334045410156, + 608.37548828125, + 847.9635009765625, + 1105.3021240234375, + 1337.1390380859375, + 1470.2977294921875, + 1470.7762451171875, + 1334.935791015625, + 1109.0966796875, + 851.7025756835938, + 607.2396240234375, + 415.6065673828125, + 280.8244934082031, + 190.32418823242188, + 132.46937561035156, + 97.17820739746094, + 75.58599090576172, + 62.044898986816406, + 53.514644622802734, + 47.91175079345703, + 44.13679122924805, + 41.53327941894531, + 39.584564208984375, + 38.11247634887695, + 37.028324127197266, + 36.18144226074219, + 35.451446533203125, + 34.818153381347656, + 34.27104949951172, + 33.81584167480469, + 33.40209197998047, + 33.009212493896484, + 32.671630859375, + 32.41368103027344, + 32.174339294433594, + 31.94884490966797, + 31.711748123168945, + 31.51413917541504, + 31.29936408996582, + 31.097627639770508, + 30.881166458129883, + 30.681838989257812, + 30.508960723876953, + 30.372337341308594, + 30.265111923217773, + 30.134647369384766, + 29.987241744995117, + 29.787200927734375, + 29.6186580657959, + 29.526657104492188, + 29.503814697265625, + 29.452293395996094, + 29.335498809814453, + 29.239973068237305, + 29.200002670288086, + 29.149112701416016, + 29.047304153442383, + 28.977222442626953, + 28.946678161621094, + 28.884029388427734, + 28.7888240814209, + 28.721599578857422, + 28.709089279174805, + 28.709251403808594, + 28.673564910888672, + 28.5833797454834, + 28.532686233520508, + 28.5283260345459, + 28.5302677154541, + 28.501672744750977, + 28.485698699951172, + 28.478639602661133, + 28.4664363861084, + 28.441265106201172, + 28.40934181213379, + 28.364656448364258, + 28.342876434326172, + 28.374948501586914, + 28.410940170288086, + 28.451148986816406, + 28.45460319519043, + 28.45879364013672, + 28.46677017211914, + 28.453948974609375, + 28.440086364746094, + 28.433591842651367, + 28.433849334716797, + 28.43730926513672, + 28.423599243164062, + 28.455978393554688, + 28.502294540405273, + 28.537879943847656, + 28.56295394897461, + 28.587881088256836, + 28.6107120513916, + 28.668214797973633, + 28.721694946289062, + 28.758834838867188, + 28.79680061340332, + 28.865188598632812, + 28.92424964904785, + 28.98827362060547, + 29.069183349609375, + 29.123981475830078, + 29.186580657958984, + 29.26229476928711, + 29.392988204956055, + 29.518238067626953, + 29.61135482788086, + 29.693559646606445, + 29.810762405395508, + 29.97702407836914, + 30.178434371948242, + 30.351587295532227, + 30.55572509765625, + 30.778989791870117, + 31.019962310791016, + 31.343555450439453, + 31.75044059753418, + 32.26729965209961, + 32.91244888305664, + 33.732391357421875, + 34.771331787109375, + 36.29088592529297, + 38.421138763427734, + 41.54111862182617, + 46.34014129638672, + 54.0412483215332, + 66.22991943359375, + 86.3041000366211, + 119.11005401611328, + 169.3549041748047, + 245.5997772216797, + 350.0762634277344, + 476.07037353515625, + 612.9803466796875, + 727.9871215820312, + 791.1195678710938, + 785.88916015625, + 713.5305786132812, + 596.0042724609375, + 458.1394348144531, + 331.98284912109375, + 233.57826232910156, + 162.2433624267578, + 114.12566375732422, + 83.34817504882812, + 64.59529876708984, + 52.8904914855957, + 45.54267120361328, + 40.9887580871582, + 37.98680877685547, + 35.95930480957031, + 34.57265853881836, + 33.54892349243164, + 32.75115203857422, + 32.131492614746094, + 31.644025802612305, + 31.2473087310791, + 30.924179077148438, + 30.619857788085938, + 30.396770477294922, + 30.20353889465332, + 30.014469146728516, + 29.79161262512207, + 29.62868309020996, + 29.476015090942383, + 29.32341766357422, + 29.19759178161621, + 29.094804763793945, + 28.981464385986328, + 28.855859756469727, + 28.716724395751953, + 28.595211029052734, + 28.500356674194336, + 28.457866668701172, + 28.40276527404785, + 28.315229415893555, + 28.18351173400879, + 28.113937377929688, + 28.062501907348633, + 28.04766273498535, + 28.002885818481445, + 27.954742431640625, + 27.90204429626465, + 27.849674224853516, + 27.801576614379883, + 27.744184494018555, + 27.735960006713867, + 27.705595016479492, + 27.660423278808594, + 27.586923599243164, + 27.517892837524414, + 27.4918155670166, + 27.511568069458008, + 27.522846221923828, + 27.525798797607422, + 27.49652099609375, + 27.4660701751709, + 27.426057815551758, + 27.395038604736328, + 27.370824813842773, + 27.354846954345703, + 27.335111618041992, + 27.32756805419922, + 27.308122634887695, + 27.297346115112305, + 27.282577514648438, + 27.26303482055664, + 27.218013763427734, + 27.17071533203125, + 27.11455726623535, + 27.089658737182617, + 27.10132598876953, + 27.097640991210938, + 27.10997200012207, + 27.086803436279297, + 27.079792022705078, + 27.058427810668945, + 27.041980743408203, + 27.02981948852539, + 27.023963928222656, + 27.046142578125, + 27.059738159179688, + 27.02559471130371, + 26.974872589111328, + 26.945404052734375, + 26.9813232421875, + 26.986249923706055, + 26.973730087280273, + 26.971216201782227, + 26.97057342529297, + 26.97564125061035, + 26.965105056762695, + 26.96839714050293, + 26.97113609313965, + 26.9991397857666, + 26.990787506103516, + 26.953767776489258, + 26.946321487426758, + 26.979745864868164, + 27.001935958862305, + 26.992996215820312, + 26.95514678955078, + 26.944438934326172, + 26.934371948242188, + 26.913503646850586, + 26.90814781188965, + 26.929412841796875, + 26.940677642822266, + 26.932689666748047, + 26.90457534790039, + 26.898513793945312, + 26.907644271850586, + 26.937095642089844, + 26.970380783081055, + 26.960975646972656, + 26.935422897338867, + 26.933107376098633, + 26.952085494995117, + 26.9700870513916, + 26.949129104614258, + 26.927114486694336, + 26.958406448364258, + 26.99933433532715, + 27.023061752319336, + 27.0368595123291, + 27.021697998046875, + 27.011276245117188, + 27.008378982543945, + 27.008419036865234, + 27.010751724243164, + 27.002538681030273, + 27.01590347290039, + 26.99009895324707, + 26.97609519958496, + 26.975475311279297, + 26.99484634399414, + 27.016386032104492, + 27.03331184387207, + 27.031963348388672, + 27.02707290649414, + 26.991622924804688, + 26.9962158203125, + 27.029333114624023, + 27.074474334716797, + 27.08224105834961, + 27.06754493713379, + 27.05307960510254, + 27.073238372802734, + 27.09242820739746, + 27.129613876342773, + 27.131267547607422, + 27.117441177368164, + 27.089691162109375, + 27.096410751342773, + 27.149921417236328, + 27.178543090820312, + 27.18206024169922, + 27.154245376586914, + 27.161237716674805, + 27.190017700195312, + 27.234233856201172, + 27.267810821533203, + 27.276243209838867, + 27.27365493774414, + 27.282312393188477, + 27.294126510620117, + 27.273761749267578, + 27.222536087036133, + 27.233667373657227, + 27.279386520385742, + 27.305397033691406, + 27.32105255126953, + 27.3336124420166, + 27.351564407348633, + 27.337919235229492, + 27.35284423828125, + 27.370040893554688, + 27.405109405517578, + 27.442502975463867, + 27.48250961303711, + 27.49221420288086, + 27.492996215820312, + 27.504579544067383, + 27.53154754638672, + 27.55238151550293, + 27.560686111450195, + 27.593124389648438, + 27.68387794494629, + 27.746374130249023, + 27.767009735107422, + 27.743927001953125, + 27.746654510498047, + 27.807552337646484, + 27.88494110107422, + 27.96660614013672, + 28.00859260559082, + 28.004283905029297, + 28.026996612548828, + 28.073162078857422, + 28.15256690979004, + 28.17487907409668, + 28.199909210205078, + 28.267732620239258, + 28.37067222595215, + 28.457069396972656, + 28.52354621887207, + 28.61280059814453, + 28.75135612487793, + 28.88035011291504, + 29.02108383178711, + 29.153352737426758, + 29.333759307861328, + 29.57550621032715, + 29.895954132080078, + 30.2993221282959, + 30.860836029052734, + 31.671371459960938, + 32.91489791870117, + 34.73113250732422, + 37.604286193847656, + 42.24214553833008, + 49.63875198364258, + 61.492897033691406, + 80.28955078125, + 107.98927307128906, + 146.9823760986328, + 195.39437866210938, + 247.63108825683594, + 296.0213928222656, + 326.9422912597656, + 332.6581726074219, + 312.0784912109375, + 271.0589599609375, + 220.67593383789062, + 168.92147827148438, + 125.67949676513672, + 93.54518127441406, + 70.76425170898438, + 55.627010345458984, + 46.08030319213867, + 40.16730499267578, + 36.500335693359375, + 34.16960906982422, + 32.72575759887695, + 31.770462036132812, + 31.1251277923584, + 30.60329818725586, + 30.217838287353516, + 29.9368953704834, + 29.743207931518555, + 29.59418487548828, + 29.48610496520996, + 29.423553466796875, + 29.35162925720215, + 29.255563735961914, + 29.194150924682617, + 29.135765075683594, + 29.09751319885254, + 29.049551010131836, + 29.009929656982422, + 28.936555862426758, + 28.715682983398438, + 28.637964248657227, + 28.69371223449707, + 28.885021209716797, + 28.92888641357422, + 28.914945602416992, + 28.878887176513672, + 28.852205276489258, + 28.833057403564453, + 28.8394718170166, + 28.856027603149414, + 28.874347686767578, + 28.88573455810547, + 28.901500701904297, + 28.897029876708984, + 28.87115478515625, + 28.87497901916504, + 28.89010238647461, + 28.946077346801758, + 28.94659423828125, + 28.93692970275879, + 28.948774337768555, + 28.969919204711914, + 28.99677276611328, + 29.020565032958984, + 29.09853744506836, + 29.181007385253906, + 29.2271785736084, + 29.242115020751953, + 29.24744987487793, + 29.287643432617188, + 29.3275203704834, + 29.38870620727539, + 29.47980499267578, + 29.567806243896484, + 29.62708854675293, + 29.671308517456055, + 29.76995277404785, + 29.871105194091797, + 29.96587562561035, + 30.083324432373047, + 30.207427978515625, + 30.34348487854004, + 30.46128273010254, + 30.584266662597656, + 30.70716667175293, + 30.88002586364746, + 31.062355041503906, + 31.228466033935547, + 31.380165100097656, + 31.581233978271484, + 31.84882164001465, + 32.16460037231445, + 32.481475830078125, + 32.83460235595703, + 33.24335861206055, + 33.75130081176758, + 34.388912200927734, + 35.262664794921875, + 36.41632080078125, + 37.9719123840332, + 40.18708038330078, + 43.45246124267578, + 48.4015998840332, + 56.272865295410156, + 68.932861328125, + 89.13427734375, + 121.96722412109375, + 173.17648315429688, + 248.58013916015625, + 355.5830078125, + 491.4738464355469, + 639.7874755859375, + 778.68896484375, + 874.3260498046875, + 901.3409423828125, + 852.7681884765625, + 741.505126953125, + 599.7941284179688, + 453.5661926269531, + 327.6087646484375, + 231.0961151123047, + 162.58840942382812, + 116.10065460205078, + 85.52164459228516, + 66.803466796875, + 55.16712951660156, + 47.83357238769531, + 43.23392105102539, + 40.22597885131836, + 38.14151382446289, + 36.70295333862305, + 35.63054275512695, + 34.81734085083008, + 34.203880310058594, + 33.72041320800781, + 33.30658721923828, + 32.9932975769043, + 32.7149772644043, + 32.49989700317383, + 32.280029296875, + 32.0393180847168, + 31.787765502929688, + 31.61176872253418, + 31.47330665588379, + 31.34151840209961, + 31.219467163085938, + 31.114261627197266, + 31.004409790039062, + 30.895612716674805, + 30.777650833129883, + 30.67218017578125, + 30.578914642333984, + 30.500133514404297, + 30.46062469482422, + 30.397363662719727, + 30.341705322265625, + 30.279495239257812, + 30.218767166137695, + 30.129640579223633, + 30.083816528320312, + 30.03951072692871, + 30.029937744140625, + 29.998563766479492, + 29.98434829711914, + 29.95477294921875, + 29.966901779174805, + 29.987913131713867, + 29.972774505615234, + 29.940895080566406, + 29.906387329101562, + 29.91277503967285, + 29.931930541992188, + 29.97054672241211, + 30.015348434448242, + 30.034740447998047, + 30.066293716430664, + 30.099693298339844, + 30.18390655517578, + 30.236583709716797, + 30.290340423583984, + 30.364858627319336, + 30.43793296813965, + 30.521459579467773, + 30.562471389770508, + 30.63362693786621, + 30.703096389770508, + 30.804325103759766, + 30.91268539428711, + 31.038869857788086, + 31.163925170898438, + 31.297603607177734, + 31.467636108398438, + 31.670196533203125, + 31.91266441345215, + 32.19820785522461, + 32.5465202331543, + 32.95024490356445, + 33.47487258911133, + 34.18414306640625, + 35.1699333190918, + 36.5567626953125, + 38.56278991699219, + 41.5952033996582, + 46.344635009765625, + 53.92727279663086, + 66.16874694824219, + 85.94220733642578, + 116.93683624267578, + 163.50067138671875, + 230.5343780517578, + 318.8101501464844, + 420.7064514160156, + 523.55908203125, + 604.41455078125, + 643.3319091796875, + 629.9918823242188, + 569.6483764648438, + 478.64727783203125, + 375.1707458496094, + 279.3863525390625, + 202.3663330078125, + 145.2478485107422, + 105.47564697265625, + 78.633544921875, + 61.7375602722168, + 51.25611877441406, + 44.65176010131836, + 40.59398651123047, + 37.97443771362305, + 36.17081069946289, + 34.93974304199219, + 34.074153900146484, + 33.438880920410156, + 32.94423294067383, + 32.5267333984375, + 32.192440032958984, + 31.945146560668945, + 31.798337936401367, + 31.623825073242188, + 31.410465240478516, + 31.18558120727539, + 31.011802673339844, + 30.922422409057617, + 30.84233283996582, + 30.76003646850586, + 30.65275001525879, + 30.540441513061523, + 30.425891876220703, + 30.335290908813477, + 30.261486053466797, + 30.174358367919922, + 30.10762596130371, + 30.05426597595215, + 30.018136978149414, + 29.983030319213867, + 29.947559356689453, + 29.907249450683594, + 29.829160690307617, + 29.766382217407227, + 29.739749908447266, + 29.712984085083008, + 29.681005477905273, + 29.632020950317383, + 29.628576278686523, + 29.629955291748047, + 29.612449645996094, + 29.599782943725586, + 29.572542190551758, + 29.584381103515625, + 29.60010528564453, + 29.623844146728516, + 29.63200569152832, + 29.62411880493164, + 29.614444732666016, + 29.627113342285156, + 29.681161880493164, + 29.761709213256836, + 29.826862335205078, + 29.84335708618164, + 29.84384536743164, + 29.866031646728516, + 29.919214248657227, + 29.983341217041016, + 30.05490493774414, + 30.14440155029297, + 30.224693298339844, + 30.319067001342773, + 30.418460845947266, + 30.5443058013916, + 30.715845108032227, + 30.931011199951172, + 31.18033790588379, + 31.46013641357422, + 31.85785484313965, + 32.40181350708008, + 33.146026611328125, + 34.22403335571289, + 35.84642028808594, + 38.34912872314453, + 42.252906799316406, + 48.51581954956055, + 58.72309875488281, + 74.90096282958984, + 99.61295318603516, + 135.88938903808594, + 185.0778350830078, + 246.89842224121094, + 313.6701965332031, + 371.8871154785156, + 410.44476318359375, + 419.8504333496094, + 397.7478942871094, + 348.7640686035156, + 285.787109375, + 223.01870727539062, + 167.40098571777344, + 123.71073913574219, + 91.99349212646484, + 70.18706512451172, + 55.92928695678711, + 46.68495178222656, + 41.058414459228516, + 37.57670593261719, + 35.32088088989258, + 33.88691329956055, + 32.92427062988281, + 32.257232666015625, + 31.732410430908203, + 31.340896606445312, + 31.050920486450195, + 30.808734893798828, + 30.58089256286621, + 30.396028518676758, + 30.267467498779297, + 30.153085708618164, + 30.052595138549805, + 29.956439971923828, + 29.865665435791016, + 29.76466178894043, + 29.67807388305664, + 29.5979061126709, + 29.525362014770508, + 29.445341110229492, + 29.37373161315918, + 29.33759117126465, + 29.29518699645996, + 29.24016571044922, + 29.174898147583008, + 29.10487174987793, + 29.080020904541016, + 29.07044219970703, + 29.02935791015625, + 28.955333709716797, + 28.893733978271484, + 28.882728576660156, + 28.89366912841797, + 28.870494842529297, + 28.807998657226562, + 28.729389190673828, + 28.694019317626953, + 28.694063186645508, + 28.686912536621094, + 28.69822120666504, + 28.703147888183594, + 28.71933937072754, + 28.69485855102539, + 28.674785614013672, + 28.65613555908203, + 28.66495132446289, + 28.65657615661621, + 28.64690399169922, + 28.631166458129883, + 28.62150764465332, + 28.630468368530273, + 28.63376235961914, + 28.629262924194336, + 28.629039764404297, + 28.6281795501709, + 28.656089782714844, + 28.663009643554688, + 28.699983596801758, + 28.713197708129883, + 28.7391357421875, + 28.75271987915039, + 28.811355590820312, + 28.915699005126953, + 29.097469329833984, + 29.290225982666016, + 29.510597229003906, + 29.85532569885254, + 30.401287078857422, + 31.369380950927734, + 32.97676086425781, + 35.450096130371094, + 39.27863311767578, + 44.9755744934082, + 52.745452880859375, + 62.792964935302734, + 74.0224380493164, + 84.47477722167969, + 92.343994140625, + 95.3039321899414, + 93.01842498779297, + 85.86998748779297, + 75.78305053710938, + 65.0877685546875, + 55.004825592041016, + 46.931732177734375, + 40.961944580078125, + 36.66611099243164, + 33.75586700439453, + 31.878719329833984, + 30.763017654418945, + 30.08199119567871, + 29.634586334228516, + 29.352930068969727, + 29.13363265991211, + 28.992937088012695, + 28.901622772216797, + 28.88867950439453, + 28.864423751831055, + 28.832475662231445, + 28.789133071899414, + 28.77452278137207, + 28.759431838989258, + 28.73183250427246, + 28.703414916992188, + 28.679792404174805, + 28.681106567382812, + 28.697179794311523, + 28.70294952392578, + 28.698049545288086, + 28.70484161376953, + 28.69279670715332, + 28.66987419128418, + 28.641813278198242, + 28.651212692260742, + 28.665363311767578, + 28.67119598388672, + 28.691638946533203, + 28.714147567749023, + 28.75405502319336, + 28.765581130981445, + 28.7758731842041, + 28.766639709472656, + 28.770111083984375, + 28.76692771911621, + 28.756860733032227, + 28.78663444519043, + 28.83878517150879, + 28.8729248046875, + 28.888229370117188, + 28.904727935791016, + 28.962696075439453, + 29.002389907836914, + 29.03119659423828, + 29.048887252807617, + 29.076555252075195, + 29.12604331970215, + 29.165605545043945, + 29.203832626342773, + 29.22502899169922, + 29.27410316467285, + 29.326318740844727, + 29.415735244750977, + 29.50119400024414, + 29.577377319335938, + 29.674476623535156, + 29.79538917541504, + 29.94753074645996, + 30.1082763671875, + 30.302412033081055, + 30.544050216674805, + 30.897218704223633, + 31.421735763549805, + 32.13908004760742, + 33.25497055053711, + 35.010963439941406, + 37.7086296081543, + 42.08120346069336, + 49.172298431396484, + 59.97819137573242, + 76.46383666992188, + 100.28271484375, + 131.78677368164062, + 169.98683166503906, + 209.3082733154297, + 243.12158203125, + 263.9920654296875, + 266.79644775390625, + 251.98370361328125, + 222.24671936035156, + 184.92462158203125, + 147.40481567382812, + 114.09008026123047, + 87.9200210571289, + 68.70208740234375, + 55.284507751464844, + 46.166568756103516, + 40.31603240966797, + 36.72982406616211, + 34.50929260253906, + 33.08772277832031, + 32.16036605834961, + 31.558500289916992, + 31.158100128173828, + 30.86819839477539, + 30.6284122467041, + 30.46746826171875, + 30.331846237182617, + 30.245079040527344, + 30.177661895751953, + 30.14061737060547, + 30.082595825195312, + 29.996522903442383, + 29.94425392150879, + 29.917375564575195, + 29.908138275146484, + 29.866371154785156, + 29.83689308166504, + 29.81285858154297, + 29.805747985839844, + 29.7939453125, + 29.750547409057617, + 29.707265853881836, + 29.70246124267578, + 29.73244857788086, + 29.741989135742188, + 29.746599197387695, + 29.74420166015625, + 29.757396697998047, + 29.786901473999023, + 29.837657928466797, + 29.860349655151367, + 29.901771545410156, + 29.936298370361328, + 29.986478805541992, + 30.032424926757812, + 30.096115112304688, + 30.16325569152832, + 30.195960998535156, + 30.2333984375, + 30.277822494506836, + 30.325075149536133, + 30.39037322998047, + 30.478435516357422, + 30.57479476928711, + 30.696205139160156, + 30.852149963378906, + 31.006628036499023, + 31.151966094970703, + 31.30323600769043, + 31.524871826171875, + 31.768964767456055, + 32.07199478149414, + 32.430416107177734, + 32.93757247924805, + 33.6138801574707, + 34.55840301513672, + 35.89319610595703, + 37.90732955932617, + 41.013065338134766, + 45.93663024902344, + 53.85235595703125, + 66.56277465820312, + 86.48184204101562, + 116.81478881835938, + 160.83721923828125, + 220.1365203857422, + 294.63861083984375, + 375.1969909667969, + 447.5987243652344, + 498.7383117675781, + 516.3305053710938, + 496.8477783203125, + 444.4722595214844, + 372.060546875, + 295.14520263671875, + 224.01486206054688, + 166.31808471679688, + 122.86904907226562, + 91.78929901123047, + 70.57913208007812, + 56.417057037353516, + 47.630577087402344, + 42.14964294433594, + 38.66552734375, + 36.464500427246094, + 35.013771057128906, + 33.9697380065918, + 33.23862075805664, + 32.693729400634766, + 32.28078079223633, + 31.922046661376953, + 31.653141021728516, + 31.4528751373291, + 31.28447723388672, + 31.110910415649414, + 30.9545955657959, + 30.807344436645508, + 30.69339942932129, + 30.607521057128906, + 30.536775588989258, + 30.43682861328125, + 30.350074768066406, + 30.273597717285156, + 30.1899471282959, + 30.096633911132812, + 30.01470375061035, + 29.93787956237793, + 29.865690231323242, + 29.802709579467773, + 29.74529266357422, + 29.69835662841797, + 29.637123107910156, + 29.57600212097168, + 29.503421783447266, + 29.437171936035156, + 29.38759994506836, + 29.365488052368164, + 29.333038330078125, + 29.313121795654297, + 29.277490615844727, + 29.251497268676758, + 29.235279083251953, + 29.258506774902344, + 29.265853881835938, + 29.238452911376953, + 29.181325912475586, + 29.13569450378418, + 29.094829559326172, + 29.05992317199707, + 29.04991340637207, + 29.035511016845703, + 29.0283260345459, + 29.010845184326172, + 29.003421783447266, + 28.98662757873535, + 28.978050231933594, + 28.96298599243164, + 28.9501953125, + 28.925357818603516, + 28.913421630859375, + 28.906023025512695, + 28.90715980529785, + 28.884729385375977, + 28.864643096923828, + 28.856914520263672, + 28.858551025390625, + 28.85746955871582, + 28.834922790527344, + 28.828536987304688, + 28.833669662475586, + 28.84366798400879, + 28.862876892089844, + 28.843219757080078, + 28.807723999023438, + 28.762908935546875, + 28.784278869628906, + 28.814319610595703, + 28.82938575744629, + 28.80011558532715, + 28.784229278564453, + 28.77916717529297, + 28.769123077392578, + 28.739246368408203, + 28.746295928955078, + 28.769020080566406, + 28.794347763061523, + 28.795515060424805, + 28.804222106933594, + 28.82859992980957, + 28.835895538330078, + 28.84247589111328, + 28.84349250793457, + 28.85280990600586, + 28.842805862426758, + 28.831804275512695, + 28.82915496826172, + 28.82978057861328, + 28.827585220336914, + 28.80827522277832, + 28.826269149780273, + 28.850698471069336, + 28.892105102539062, + 28.9094181060791, + 28.92119598388672, + 28.909603118896484, + 28.926725387573242, + 28.921354293823242, + 28.907411575317383, + 28.891693115234375, + 28.885066986083984, + 28.908979415893555, + 28.915422439575195, + 28.935518264770508, + 28.919326782226562, + 28.93703842163086, + 28.965641021728516, + 29.00443458557129, + 29.02872657775879, + 29.038835525512695, + 29.063894271850586, + 29.07276153564453, + 29.104154586791992, + 29.119781494140625, + 29.12186622619629, + 29.134023666381836, + 29.14988136291504, + 29.172203063964844, + 29.222150802612305, + 29.270654678344727, + 29.336135864257812, + 29.37772560119629, + 29.44633674621582, + 29.495073318481445, + 29.567291259765625, + 29.677860260009766, + 29.85262680053711, + 30.081005096435547, + 30.40406036376953, + 30.945505142211914, + 31.783159255981445, + 33.11006546020508, + 35.1986198425293, + 38.468177795410156, + 43.4009895324707, + 50.44151306152344, + 59.89277648925781, + 71.63851165771484, + 84.0514144897461, + 95.41179656982422, + 103.75814819335938, + 106.71353149414062, + 103.98152160644531, + 96.2049789428711, + 85.47077178955078, + 73.45314025878906, + 62.00308609008789, + 52.67593002319336, + 45.57542419433594, + 40.26872634887695, + 36.55724334716797, + 34.09657287597656, + 32.5506706237793, + 31.56980323791504, + 30.976972579956055, + 30.58831214904785, + 30.326251983642578, + 30.155799865722656, + 30.050321578979492, + 29.9595947265625, + 29.88959503173828, + 29.857046127319336, + 29.857749938964844, + 29.860197067260742, + 29.835342407226562, + 29.81558609008789, + 29.81177520751953, + 29.842008590698242, + 29.87232208251953, + 29.879417419433594, + 29.883760452270508, + 29.905847549438477, + 29.94163703918457, + 29.97940444946289, + 29.965620040893555, + 29.96569061279297, + 29.990772247314453, + 30.057331085205078, + 30.08119773864746, + 30.079063415527344, + 30.063650131225586, + 30.09963035583496, + 30.18347930908203, + 30.25446891784668, + 30.30783462524414, + 30.339847564697266, + 30.392810821533203, + 30.445030212402344, + 30.52018928527832, + 30.591825485229492, + 30.661592483520508, + 30.734107971191406, + 30.85283660888672, + 30.983383178710938, + 31.06580352783203, + 31.173131942749023, + 31.343700408935547, + 31.572589874267578, + 31.80203628540039, + 32.06095504760742, + 32.4192008972168, + 32.89849853515625, + 33.578243255615234, + 34.540489196777344, + 35.94382095336914, + 38.06315994262695, + 41.44985580444336, + 46.86662673950195, + 55.50145721435547, + 69.09000396728516, + 89.62156677246094, + 119.40182495117188, + 160.50564575195312, + 211.45278930664062, + 268.79510498046875, + 324.6565246582031, + 366.5997314453125, + 387.0666809082031, + 382.53289794921875, + 354.92315673828125, + 309.053955078125, + 253.54957580566406, + 200.14476013183594, + 154.0668487548828, + 117.09932708740234, + 89.50590515136719, + 69.88327026367188, + 56.48881912231445, + 47.622371673583984, + 41.999141693115234, + 38.561492919921875, + 36.37866973876953, + 34.981571197509766, + 34.055381774902344, + 33.40375518798828, + 32.906612396240234, + 32.50883865356445, + 32.224853515625, + 32.025848388671875, + 31.880828857421875, + 31.72968101501465, + 31.59181785583496, + 31.493288040161133, + 31.430269241333008, + 31.365779876708984, + 31.289127349853516, + 31.223241806030273, + 31.17844581604004, + 31.14813995361328, + 31.106420516967773, + 31.08904266357422, + 31.074756622314453, + 31.036449432373047, + 30.987607955932617, + 30.959001541137695, + 30.948881149291992, + 30.927330017089844, + 30.900863647460938, + 30.890331268310547, + 30.917911529541016, + 30.952320098876953, + 30.93143081665039, + 30.925426483154297, + 30.954833984375, + 31.010852813720703, + 31.061981201171875, + 31.109922409057617, + 31.149341583251953, + 31.17387580871582, + 31.246074676513672, + 31.37786102294922, + 31.511751174926758, + 31.668508529663086, + 31.89113998413086, + 32.17825698852539, + 32.53477096557617, + 33.023231506347656, + 33.72785186767578, + 34.79678726196289, + 36.42057800292969, + 38.96210479736328, + 43.07746887207031, + 49.72191619873047, + 60.05735778808594, + 75.82889556884766, + 98.73146057128906, + 130.0057373046875, + 169.75816345214844, + 213.8543243408203, + 256.7907409667969, + 290.3716125488281, + 307.7770690917969, + 306.0857849121094, + 286.26220703125, + 252.7557373046875, + 211.1652069091797, + 169.14688110351562, + 132.56272888183594, + 103.07439422607422, + 80.4866943359375, + 63.876625061035156, + 52.4672966003418, + 44.97917175292969, + 40.0562629699707, + 37.03837585449219, + 35.13416290283203, + 33.900909423828125, + 33.09694290161133, + 32.548248291015625, + 32.148990631103516, + 31.84808921813965, + 31.610923767089844, + 31.421972274780273, + 31.286449432373047, + 31.163694381713867, + 31.06258201599121, + 30.98638153076172, + 30.884389877319336, + 30.79766273498535, + 30.728309631347656, + 30.690998077392578, + 30.6187744140625, + 30.54293441772461, + 30.508041381835938, + 30.48360252380371, + 30.445505142211914, + 30.371448516845703, + 30.312551498413086, + 30.31084632873535, + 30.311674118041992, + 30.302288055419922, + 30.28911590576172, + 30.2708683013916, + 30.249156951904297, + 30.23150062561035, + 30.22079849243164, + 30.2027530670166, + 30.178956985473633, + 30.1860294342041, + 30.2117919921875, + 30.224647521972656, + 30.224668502807617, + 30.220396041870117, + 30.246416091918945, + 30.274532318115234, + 30.3455810546875, + 30.447237014770508, + 30.600305557250977, + 30.772687911987305, + 31.041536331176758, + 31.469263076782227, + 32.11073684692383, + 33.09281539916992, + 34.633541107177734, + 37.10132598876953, + 41.00379943847656, + 46.95497131347656, + 55.56465148925781, + 67.40896606445312, + 82.44755554199219, + 99.17051696777344, + 115.81366729736328, + 129.0194091796875, + 136.2020721435547, + 136.02809143066406, + 128.971435546875, + 116.77609252929688, + 101.10784149169922, + 84.95293426513672, + 70.70428466796875, + 59.062767028808594, + 50.12998580932617, + 43.50055694580078, + 38.871212005615234, + 35.770633697509766, + 33.73649215698242, + 32.48900604248047, + 31.71725082397461, + 31.192989349365234, + 30.830825805664062, + 30.60009765625, + 30.45466423034668, + 30.341585159301758, + 30.253192901611328, + 30.18500328063965, + 30.164819717407227, + 30.141441345214844, + 30.1273193359375, + 30.08716583251953, + 30.0497989654541, + 30.021034240722656, + 30.001924514770508, + 30.008665084838867, + 30.008684158325195, + 30.001453399658203, + 30.00537872314453, + 30.01686668395996, + 30.002084732055664, + 29.98275375366211, + 29.984909057617188, + 29.99074363708496, + 29.992298126220703, + 29.989545822143555, + 29.999526977539062, + 30.013416290283203, + 30.055477142333984, + 30.09935188293457, + 30.102510452270508, + 30.097341537475586, + 30.12301254272461, + 30.16337776184082, + 30.233917236328125, + 30.321443557739258, + 30.41358184814453, + 30.486122131347656, + 30.56496238708496, + 30.70400047302246, + 30.90816307067871, + 31.15389633178711, + 31.476919174194336, + 31.975400924682617, + 32.795379638671875, + 34.05553436279297, + 36.026344299316406, + 39.12825012207031, + 43.99092102050781, + 51.4063720703125, + 62.299190521240234, + 77.12800598144531, + 96.21774291992188, + 118.7330322265625, + 141.08355712890625, + 159.8408660888672, + 171.6062774658203, + 174.38890075683594, + 167.8081817626953, + 152.82962036132812, + 132.83380126953125, + 111.36891174316406, + 91.2326431274414, + 74.51142883300781, + 61.37425231933594, + 51.50141143798828, + 44.43407440185547, + 39.535133361816406, + 36.35798263549805, + 34.35488510131836, + 33.08195877075195, + 32.30260467529297, + 31.803098678588867, + 31.48891258239746, + 31.271883010864258, + 31.084871292114258, + 30.95688247680664, + 30.85614013671875, + 30.794601440429688, + 30.71266746520996, + 30.675952911376953, + 30.668628692626953, + 30.644506454467773, + 30.615478515625, + 30.59978675842285, + 30.59548568725586, + 30.594602584838867, + 30.575599670410156, + 30.595500946044922, + 30.618057250976562, + 30.648372650146484, + 30.67122459411621, + 30.68201446533203, + 30.703899383544922, + 30.729785919189453, + 30.778493881225586, + 30.818994522094727, + 30.842891693115234, + 30.876222610473633, + 30.944387435913086, + 31.042036056518555, + 31.14769744873047, + 31.244224548339844, + 31.324338912963867, + 31.417949676513672, + 31.528852462768555, + 31.703649520874023, + 31.94601058959961, + 32.258365631103516, + 32.67007827758789, + 33.24946975708008, + 34.09284591674805, + 35.332664489746094, + 37.23162841796875, + 40.258399963378906, + 45.110164642333984, + 52.83449172973633, + 64.7091064453125, + 82.17613983154297, + 107.22720336914062, + 140.29383850097656, + 180.78150939941406, + 224.7708282470703, + 264.5953063964844, + 294.34027099609375, + 308.3267517089844, + 304.06805419921875, + 282.9621887207031, + 248.74269104003906, + 208.91165161132812, + 168.80369567871094, + 133.19049072265625, + 104.39984130859375, + 82.1041488647461, + 65.63358306884766, + 53.86428451538086, + 45.932395935058594, + 40.874603271484375, + 37.6680908203125, + 35.59897232055664, + 34.309696197509766, + 33.44706344604492, + 32.8803596496582, + 32.44366455078125, + 32.13410949707031, + 31.913755416870117, + 31.751781463623047, + 31.61446762084961, + 31.496784210205078, + 31.3846378326416, + 31.29560661315918, + 31.225255966186523, + 31.167312622070312, + 31.102481842041016, + 31.027673721313477, + 30.966474533081055, + 30.92737579345703, + 30.895906448364258, + 30.872392654418945, + 30.857791900634766, + 30.830345153808594, + 30.773900985717773, + 30.729040145874023, + 30.7053165435791, + 30.6882266998291, + 30.675561904907227, + 30.66362953186035, + 30.64162826538086, + 30.606624603271484, + 30.619544982910156, + 30.65398597717285, + 30.716901779174805, + 30.772863388061523, + 30.838336944580078, + 30.924869537353516, + 31.038951873779297, + 31.19607925415039, + 31.43889617919922, + 31.829547882080078, + 32.413970947265625, + 33.361419677734375, + 34.878562927246094, + 37.271453857421875, + 41.009769439697266, + 46.6965446472168, + 55.16012954711914, + 67.03713989257812, + 82.71333312988281, + 101.31275177001953, + 120.91876220703125, + 138.95069885253906, + 151.4991912841797, + 156.82290649414062, + 154.1961212158203, + 144.13339233398438, + 128.7662353515625, + 110.25204467773438, + 92.20721435546875, + 76.38623046875, + 63.280784606933594, + 53.29059600830078, + 45.76164627075195, + 40.47312545776367, + 36.921180725097656, + 34.57726287841797, + 33.10329818725586, + 32.192848205566406, + 31.6025390625, + 31.19041633605957, + 30.887800216674805, + 30.67595100402832, + 30.53681182861328, + 30.424049377441406, + 30.3355712890625, + 30.251615524291992, + 30.17924690246582, + 30.111038208007812, + 30.055335998535156, + 29.991195678710938, + 29.939844131469727, + 29.92766571044922, + 29.90761375427246, + 29.858957290649414, + 29.800905227661133, + 29.76039695739746, + 29.72728157043457, + 29.701068878173828, + 29.698884963989258, + 29.695486068725586, + 29.680057525634766, + 29.660438537597656, + 29.647714614868164, + 29.64533042907715, + 29.617334365844727, + 29.593433380126953, + 29.561002731323242, + 29.54296875, + 29.504396438598633, + 29.476119995117188, + 29.452245712280273, + 29.45525360107422, + 29.453638076782227, + 29.437393188476562, + 29.42730712890625, + 29.41933250427246, + 29.420446395874023, + 29.403276443481445, + 29.39614486694336, + 29.391687393188477, + 29.37838363647461, + 29.350387573242188, + 29.329280853271484, + 29.292280197143555, + 29.281661987304688, + 29.28319549560547, + 29.301307678222656, + 29.290061950683594, + 29.281639099121094, + 29.28723907470703, + 29.27684211730957, + 29.283010482788086, + 29.29150390625, + 29.308881759643555, + 29.290740966796875, + 29.29247283935547, + 29.301944732666016, + 29.305410385131836, + 29.295475006103516, + 29.285640716552734, + 29.284893035888672, + 29.284631729125977, + 29.2845401763916, + 29.280197143554688, + 29.281862258911133, + 29.287948608398438, + 29.293222427368164, + 29.29410171508789, + 29.30923080444336, + 29.303787231445312, + 29.33067512512207, + 29.3347225189209, + 29.337751388549805, + 29.304676055908203, + 29.28465461730957, + 29.286672592163086, + 29.317447662353516, + 29.36425018310547, + 29.39453887939453, + 29.41646385192871, + 29.435068130493164, + 29.461275100708008, + 29.478384017944336, + 29.498502731323242, + 29.504356384277344, + 29.53302001953125, + 29.549938201904297, + 29.55924415588379, + 29.565200805664062, + 29.589094161987305, + 29.615375518798828, + 29.630901336669922, + 29.644054412841797, + 29.66581916809082, + 29.69855308532715, + 29.76871681213379, + 29.883926391601562, + 30.025068283081055, + 30.188310623168945, + 30.453670501708984, + 30.875247955322266, + 31.537160873413086, + 32.55244445800781, + 34.1518669128418, + 36.60179901123047, + 40.31931686401367, + 45.696083068847656, + 52.93044662475586, + 62.054534912109375, + 72.3892593383789, + 82.35545349121094, + 90.37982177734375, + 95.16622924804688, + 95.8590087890625, + 92.46504974365234, + 85.55970001220703, + 76.62902069091797, + 67.035888671875, + 58.052310943603516, + 50.534549713134766, + 44.53947830200195, + 39.95093536376953, + 36.55950927734375, + 34.20106506347656, + 32.663963317871094, + 31.7056827545166, + 31.08642578125, + 30.657472610473633, + 30.364974975585938, + 30.20408058166504, + 30.11141586303711, + 30.043100357055664, + 29.987628936767578, + 29.926048278808594, + 29.87297821044922, + 29.848922729492188, + 29.860212326049805, + 29.867809295654297, + 29.836673736572266, + 29.8248348236084, + 29.81886863708496, + 29.821577072143555, + 29.826080322265625, + 29.82938575744629, + 29.87070083618164, + 29.910343170166016, + 29.91452407836914, + 29.901151657104492, + 29.881969451904297, + 29.88119125366211, + 29.8718318939209, + 29.883445739746094, + 29.90826988220215, + 29.94638442993164, + 29.961620330810547, + 30.000471115112305, + 30.066600799560547, + 30.14047622680664, + 30.204700469970703, + 30.29452133178711, + 30.444549560546875, + 30.638708114624023, + 30.92572784423828, + 31.41446876525879, + 32.15808868408203, + 33.30394744873047, + 35.120452880859375, + 37.92226028442383, + 42.0528564453125, + 47.886329650878906, + 55.61728286743164, + 64.98967742919922, + 75.0447769165039, + 84.41014099121094, + 91.51151275634766, + 95.02832794189453, + 94.56305694580078, + 90.27857208251953, + 83.05717468261719, + 74.11333465576172, + 64.95442962646484, + 56.62299728393555, + 49.609580993652344, + 43.98111343383789, + 39.67977523803711, + 36.541683197021484, + 34.35750961303711, + 32.92546844482422, + 32.030364990234375, + 31.461528778076172, + 31.12028694152832, + 30.904544830322266, + 30.768056869506836, + 30.69576072692871, + 30.666255950927734, + 30.630237579345703, + 30.59177589416504, + 30.57338523864746, + 30.560829162597656, + 30.572086334228516, + 30.6099910736084, + 30.63511085510254, + 30.634199142456055, + 30.65355110168457, + 30.677104949951172, + 30.7001953125, + 30.726335525512695, + 30.806039810180664, + 30.86382484436035, + 30.91120147705078, + 30.94740867614746, + 30.996864318847656, + 31.050704956054688, + 31.10665512084961, + 31.20282745361328, + 31.342660903930664, + 31.488353729248047, + 31.623319625854492, + 31.801137924194336, + 32.06563186645508, + 32.41929626464844, + 32.893184661865234, + 33.54471969604492, + 34.497535705566406, + 35.949310302734375, + 38.23460006713867, + 41.83162307739258, + 47.53854751586914, + 56.30129623413086, + 69.38899993896484, + 88.25814819335938, + 113.96260070800781, + 146.5459747314453, + 183.52720642089844, + 220.51039123535156, + 251.54110717773438, + 271.4410705566406, + 277.1863708496094, + 267.9077453613281, + 245.85006713867188, + 215.16737365722656, + 180.9415283203125, + 147.81011962890625, + 118.7743911743164, + 94.90225219726562, + 76.12511444091797, + 61.92520523071289, + 51.62327194213867, + 44.59071731567383, + 39.97676086425781, + 37.04663848876953, + 35.22992706298828, + 34.10171890258789, + 33.400535583496094, + 32.89287567138672, + 32.52018356323242, + 32.24696731567383, + 32.05307388305664, + 31.89338493347168, + 31.732301712036133, + 31.588655471801758, + 31.505661010742188, + 31.470060348510742, + 31.422119140625, + 31.34550666809082, + 31.272415161132812, + 31.21467399597168, + 31.158802032470703, + 31.126232147216797, + 31.124635696411133, + 31.14678382873535, + 31.126291275024414, + 31.089197158813477, + 31.060487747192383, + 31.07082748413086, + 31.076616287231445, + 31.103418350219727, + 31.098783493041992, + 31.118318557739258, + 31.200668334960938, + 31.348447799682617, + 31.523101806640625, + 31.746912002563477, + 32.0958366394043, + 32.651607513427734, + 33.523502349853516, + 34.90431213378906, + 37.08539962768555, + 40.45726013183594, + 45.571006774902344, + 53.1169319152832, + 63.58092498779297, + 77.10919189453125, + 92.95917510986328, + 109.38720703125, + 124.05850219726562, + 134.4947509765625, + 138.90406799316406, + 136.68527221679688, + 128.493896484375, + 116.01158905029297, + 101.43350219726562, + 86.73136901855469, + 73.49887084960938, + 62.286441802978516, + 53.26153564453125, + 46.27127456665039, + 41.09891891479492, + 37.454280853271484, + 35.0238037109375, + 33.431400299072266, + 32.43915939331055, + 31.825885772705078, + 31.443222045898438, + 31.193140029907227, + 31.020339965820312, + 30.872352600097656, + 30.715625762939453, + 30.60443115234375, + 30.553071975708008, + 30.503637313842773, + 30.44032096862793, + 30.373369216918945, + 30.329936981201172, + 30.296709060668945, + 30.29262351989746, + 30.272048950195312, + 30.231220245361328, + 30.191919326782227, + 30.18286895751953, + 30.183319091796875, + 30.1398983001709, + 30.105602264404297, + 30.083450317382812, + 30.03472900390625, + 29.990739822387695, + 29.996898651123047, + 30.014347076416016, + 30.00588607788086, + 29.993999481201172, + 29.987764358520508, + 29.968761444091797, + 29.943681716918945, + 29.929588317871094, + 29.944658279418945, + 29.943050384521484, + 29.896310806274414, + 29.864744186401367, + 29.88098907470703, + 29.92298698425293, + 29.93316078186035, + 29.92523193359375, + 29.910078048706055, + 29.90195655822754, + 29.916452407836914, + 29.92706871032715, + 29.917139053344727, + 29.89938735961914, + 29.874343872070312, + 29.860614776611328, + 29.890443801879883, + 29.93960189819336, + 29.925859451293945, + 29.87398910522461, + 29.843910217285156, + 29.84639549255371, + 29.88616943359375, + 29.947729110717773, + 29.979827880859375, + 29.9876766204834, + 29.982397079467773, + 29.970134735107422, + 29.955596923828125, + 29.974613189697266, + 30.034868240356445, + 30.119930267333984, + 30.149742126464844, + 30.1323299407959, + 30.12746238708496, + 30.165176391601562, + 30.197891235351562, + 30.221210479736328, + 30.25600242614746, + 30.280742645263672, + 30.277450561523438, + 30.316062927246094, + 30.38261604309082, + 30.410045623779297, + 30.436790466308594, + 30.491361618041992, + 30.57541847229004, + 30.65169906616211, + 30.73640251159668, + 30.83116340637207, + 30.94415855407715, + 31.06231689453125, + 31.21202278137207, + 31.423091888427734, + 31.72030258178711, + 32.09766387939453, + 32.63555145263672, + 33.47053909301758, + 34.783687591552734, + 36.82737731933594, + 40.0123176574707, + 44.90111541748047, + 52.2803840637207, + 63.18857192993164, + 78.4337158203125, + 98.6996841430664, + 123.12550354003906, + 149.88333129882812, + 175.52471923828125, + 195.9293212890625, + 207.90818786621094, + 209.39041137695312, + 200.7215576171875, + 183.69833374023438, + 161.4517059326172, + 137.45645141601562, + 114.61248779296875, + 94.57335662841797, + 77.85812377929688, + 64.3421401977539, + 53.90624237060547, + 46.28852462768555, + 40.98337936401367, + 37.48907470703125, + 35.267154693603516, + 33.86491394042969, + 32.948875427246094, + 32.33651351928711, + 31.925933837890625, + 31.657672882080078, + 31.496755599975586, + 31.378671646118164, + 31.27280616760254, + 31.15193748474121, + 31.01993179321289, + 30.942855834960938, + 30.930173873901367, + 30.92750358581543, + 30.859092712402344, + 30.780820846557617, + 30.760467529296875, + 30.742170333862305, + 30.710725784301758, + 30.708927154541016, + 30.717426300048828, + 30.702795028686523, + 30.681650161743164, + 30.655948638916016, + 30.6320743560791, + 30.628360748291016, + 30.70387077331543, + 30.822614669799805, + 30.95932960510254, + 31.11018943786621, + 31.327072143554688, + 31.699575424194336, + 32.36483383178711, + 33.453575134277344, + 35.09557342529297, + 37.52993392944336, + 41.0968017578125, + 46.243125915527344, + 53.107078552246094, + 61.573081970214844, + 70.9297103881836, + 80.02552032470703, + 87.60941314697266, + 92.44087982177734, + 93.80883026123047, + 91.50554656982422, + 86.11131286621094, + 78.68717193603516, + 70.32294464111328, + 62.01930618286133, + 54.576194763183594, + 48.31974792480469, + 43.26261901855469, + 39.29576110839844, + 36.30482482910156, + 34.16850280761719, + 32.74081039428711, + 31.855438232421875, + 31.306886672973633, + 30.936166763305664, + 30.70450210571289, + 30.58814811706543, + 30.495302200317383, + 30.372556686401367, + 30.269275665283203, + 30.19745635986328, + 30.1102352142334, + 30.038921356201172, + 30.046554565429688, + 30.05372428894043, + 30.015830993652344, + 29.97941017150879, + 29.96113395690918, + 29.94439125061035, + 29.923648834228516, + 29.885568618774414, + 29.867403030395508, + 29.87607765197754, + 29.873023986816406, + 29.82857322692871, + 29.7803897857666, + 29.767974853515625, + 29.77971076965332, + 29.78388786315918, + 29.77569580078125, + 29.746135711669922, + 29.71056365966797, + 29.699087142944336, + 29.678573608398438, + 29.654417037963867, + 29.654272079467773, + 29.679794311523438, + 29.6917781829834, + 29.699716567993164, + 29.69624137878418, + 29.66395378112793, + 29.63796615600586, + 29.630884170532227, + 29.641338348388672, + 29.6804141998291, + 29.691904067993164, + 29.651639938354492, + 29.615215301513672, + 29.609403610229492, + 29.59332847595215, + 29.598363876342773, + 29.623661041259766, + 29.648143768310547, + 29.65839385986328, + 29.66329574584961, + 29.673433303833008, + 29.6809139251709, + 29.689794540405273, + 29.680795669555664, + 29.628217697143555, + 29.593156814575195, + 29.599058151245117, + 29.59548568725586, + 29.618467330932617, + 29.67373275756836, + 29.68777847290039, + 29.662336349487305, + 29.663410186767578, + 29.683473587036133, + 29.689170837402344, + 29.726049423217773, + 29.772594451904297, + 29.756860733032227, + 29.7004337310791, + 29.688514709472656, + 29.72561264038086, + 29.770599365234375, + 29.783185958862305, + 29.783666610717773, + 29.796918869018555, + 29.79047966003418, + 29.774127960205078, + 29.8054256439209, + 29.853134155273438, + 29.888282775878906, + 30.0013370513916, + 30.189212799072266, + 30.362707138061523, + 30.597326278686523, + 31.04859161376953, + 31.74017333984375, + 32.72731018066406, + 34.18579864501953, + 36.31795120239258, + 39.32401657104492, + 43.16366958618164, + 47.62659454345703, + 52.3729248046875, + 56.73728942871094, + 60.14522933959961, + 61.97848892211914, + 61.98883819580078, + 60.21903991699219, + 57.075279235839844, + 53.15742874145508, + 49.0327262878418, + 45.17737579345703, + 41.79214859008789, + 38.842891693115234, + 36.38636779785156, + 34.50272750854492, + 33.13079071044922, + 32.118289947509766, + 31.391626358032227, + 30.9219913482666, + 30.64263343811035, + 30.502445220947266, + 30.42673683166504, + 30.378087997436523, + 30.33424949645996, + 30.312633514404297, + 30.332630157470703, + 30.36896514892578, + 30.38372802734375, + 30.377832412719727, + 30.3573055267334, + 30.35792350769043, + 30.383949279785156, + 30.39093017578125, + 30.39678955078125, + 30.429962158203125, + 30.460590362548828, + 30.513051986694336, + 30.583457946777344, + 30.626291275024414, + 30.661497116088867, + 30.73893928527832, + 30.887897491455078, + 31.094022750854492, + 31.33904457092285, + 31.6993350982666, + 32.2338981628418, + 32.96959686279297, + 34.08122634887695, + 35.819087982177734, + 38.52654266357422, + 42.626041412353516, + 48.65345001220703, + 57.22907257080078, + 68.69817352294922, + 83.02875518798828, + 99.05548858642578, + 115.12702178955078, + 129.03585815429688, + 138.5380401611328, + 142.41156005859375, + 139.8553924560547, + 131.96270751953125, + 120.05548858642578, + 105.99380493164062, + 91.73983764648438, + 78.60457611083984, + 67.1855697631836, + 57.66878128051758, + 49.99085998535156, + 44.056236267089844, + 39.73713302612305, + 36.72303009033203, + 34.740909576416016, + 33.42717361450195, + 32.596954345703125, + 32.10026168823242, + 31.828550338745117, + 31.653108596801758, + 31.457073211669922, + 31.275426864624023, + 31.185197830200195, + 31.151697158813477, + 31.108333587646484, + 31.050832748413086, + 31.04364776611328, + 31.062541961669922, + 31.041959762573242, + 31.006858825683594, + 31.00827980041504, + 31.04642105102539, + 31.08395004272461, + 31.103137969970703, + 31.129619598388672, + 31.189556121826172, + 31.300373077392578, + 31.423797607421875, + 31.543546676635742, + 31.76411247253418, + 32.11838150024414, + 32.602874755859375, + 33.35166931152344, + 34.61155700683594, + 36.565006256103516, + 39.55615234375, + 43.983795166015625, + 50.49660873413086, + 59.51631546020508, + 71.2252197265625, + 85.3969497680664, + 100.66380310058594, + 115.4273681640625, + 127.63765716552734, + 135.44168090820312, + 137.6201171875, + 133.7191925048828, + 124.9847412109375, + 112.91549682617188, + 99.40792083740234, + 86.14344787597656, + 74.16242980957031, + 63.9048957824707, + 55.28645706176758, + 48.33675003051758, + 42.922698974609375, + 38.89463424682617, + 36.09357833862305, + 34.3106689453125, + 33.20413589477539, + 32.48525619506836, + 31.987462997436523, + 31.679241180419922, + 31.47954750061035, + 31.341320037841797, + 31.264053344726562, + 31.189842224121094, + 31.07748794555664, + 30.971033096313477, + 30.9276123046875, + 30.930959701538086, + 30.925317764282227, + 30.904726028442383, + 30.883453369140625, + 30.881572723388672, + 30.91551971435547, + 30.96372413635254, + 31.015888214111328, + 31.056142807006836, + 31.103010177612305, + 31.21661376953125, + 31.346715927124023, + 31.459020614624023, + 31.63990592956543, + 32.02668380737305, + 32.70412063598633, + 33.756065368652344, + 35.361995697021484, + 37.75677490234375, + 41.31722640991211, + 46.443199157714844, + 53.66301345825195, + 62.932777404785156, + 74.0482177734375, + 86.00440979003906, + 97.41117858886719, + 106.7637939453125, + 112.49771118164062, + 113.87643432617188, + 110.6514892578125, + 103.80269622802734, + 94.47879028320312, + 84.01749420166016, + 73.77191925048828, + 64.49361419677734, + 56.488197326660156, + 49.795413970947266, + 44.346435546875, + 40.10848617553711, + 36.996891021728516, + 34.7722053527832, + 33.3154182434082, + 32.44480895996094, + 31.898208618164062, + 31.48446273803711, + 31.17637825012207, + 30.97572898864746, + 30.879886627197266, + 30.8364200592041, + 30.760709762573242, + 30.683929443359375, + 30.65656852722168, + 30.678680419921875, + 30.710201263427734, + 30.684696197509766, + 30.614280700683594, + 30.565387725830078, + 30.538223266601562, + 30.532794952392578, + 30.54606819152832, + 30.55691146850586, + 30.5502872467041, + 30.55643081665039, + 30.63329315185547, + 30.766565322875977, + 30.903278350830078, + 31.094247817993164, + 31.416339874267578, + 31.967443466186523, + 32.802520751953125, + 34.02378463745117, + 35.794376373291016, + 38.46184539794922, + 42.25089645385742, + 47.278289794921875, + 53.40412902832031, + 60.151527404785156, + 66.8056869506836, + 72.38545989990234, + 76.12001037597656, + 77.55591583251953, + 76.35692596435547, + 72.9909896850586, + 68.0486831665039, + 62.247337341308594, + 56.28281784057617, + 50.787540435791016, + 46.02597427368164, + 42.00794219970703, + 38.78084945678711, + 36.186309814453125, + 34.22465133666992, + 32.84701919555664, + 31.94753074645996, + 31.3541259765625, + 30.9669246673584, + 30.671510696411133, + 30.478626251220703, + 30.419002532958984, + 30.445100784301758, + 30.445066452026367, + 30.388845443725586, + 30.290945053100586, + 30.174518585205078, + 30.1345272064209, + 30.172639846801758, + 30.214780807495117, + 30.22606086730957, + 30.182825088500977, + 30.13435173034668, + 30.149267196655273, + 30.18755531311035, + 30.200410842895508, + 30.198537826538086, + 30.20624542236328, + 30.232688903808594, + 30.258676528930664, + 30.31012535095215, + 30.425209045410156, + 30.639495849609375, + 31.025375366210938, + 31.64111328125, + 32.514652252197266, + 33.755775451660156, + 35.565181732177734, + 37.97126770019531, + 41.05154037475586, + 44.59870910644531, + 48.29439926147461, + 51.73285675048828, + 54.40562438964844, + 55.91305160522461, + 55.98189926147461, + 54.777278900146484, + 52.43473434448242, + 49.39326095581055, + 46.15497970581055, + 43.10788345336914, + 40.369422912597656, + 37.892513275146484, + 35.781307220458984, + 34.14853286743164, + 32.943695068359375, + 32.00203323364258, + 31.281068801879883, + 30.789644241333008, + 30.506580352783203, + 30.333370208740234, + 30.236759185791016, + 30.17729949951172, + 30.13892364501953, + 30.15947723388672, + 30.19576072692871, + 30.1763916015625, + 30.118501663208008, + 30.064437866210938, + 30.071868896484375, + 30.131147384643555, + 30.16744041442871, + 30.167585372924805, + 30.150245666503906, + 30.153261184692383, + 30.208837509155273, + 30.283706665039062, + 30.34423828125, + 30.4282169342041, + 30.606367111206055, + 30.915739059448242, + 31.316354751586914, + 31.79805564880371, + 32.53007125854492, + 33.76899719238281, + 35.627471923828125, + 38.40385437011719, + 42.43128204345703, + 48.2978515625, + 56.01676940917969, + 65.6145248413086, + 76.42005920410156, + 87.38490295410156, + 97.16390991210938, + 104.03926086425781, + 107.43955993652344, + 106.75151824951172, + 102.34808349609375, + 94.98084259033203, + 85.9357681274414, + 76.39237213134766, + 67.34257507324219, + 59.26047134399414, + 52.351383209228516, + 46.596866607666016, + 41.92122268676758, + 38.232662200927734, + 35.4936637878418, + 33.665931701660156, + 32.501434326171875, + 31.72899627685547, + 31.185672760009766, + 30.768447875976562, + 30.485923767089844, + 30.3428897857666, + 30.30756187438965, + 30.261154174804688, + 30.13445281982422, + 30.01630210876465, + 29.95841407775879, + 29.940135955810547, + 29.943574905395508, + 29.907867431640625, + 29.865949630737305, + 29.82627296447754, + 29.773090362548828, + 29.78112030029297, + 29.780546188354492, + 29.719215393066406, + 29.709360122680664, + 29.730236053466797, + 29.714887619018555, + 29.699142456054688, + 29.7316837310791, + 29.792400360107422, + 29.785400390625, + 29.69415283203125, + 29.609331130981445, + 29.598127365112305, + 29.62703514099121, + 29.610889434814453, + 29.57536506652832, + 29.555912017822266, + 29.514183044433594, + 29.469966888427734, + 29.4973087310791, + 29.565258026123047, + 29.604928970336914, + 29.61190414428711, + 29.562564849853516, + 29.49224090576172, + 29.481027603149414, + 29.528413772583008, + 29.569692611694336, + 29.567455291748047, + 29.569780349731445, + 29.581439971923828, + 29.548309326171875, + 29.53602409362793, + 29.570302963256836, + 29.549156188964844, + 29.50140380859375, + 29.503210067749023, + 29.531421661376953, + 29.58063316345215, + 29.62981605529785, + 29.61091423034668, + 29.55447006225586, + 29.539098739624023, + 29.583541870117188, + 29.64993667602539, + 29.681081771850586, + 29.650850296020508, + 29.60137939453125, + 29.60992431640625, + 29.660297393798828, + 29.657062530517578, + 29.613361358642578, + 29.695419311523438, + 29.856353759765625, + 29.946025848388672, + 30.072154998779297, + 30.368988037109375, + 30.775907516479492, + 31.302942276000977, + 32.117469787597656, + 33.43379592895508, + 35.23917770385742, + 37.7396240234375, + 40.928680419921875, + 44.78203582763672, + 49.06227111816406, + 53.145301818847656, + 56.6176872253418, + 58.981658935546875, + 59.99875259399414, + 59.457435607910156, + 57.461483001708984, + 54.50163650512695, + 51.01047897338867, + 47.393409729003906, + 43.92076110839844, + 40.83103561401367, + 38.262508392333984, + 36.10442352294922, + 34.36376190185547, + 32.98646926879883, + 31.983875274658203, + 31.300399780273438, + 30.853858947753906, + 30.58281898498535, + 30.42336654663086, + 30.324626922607422, + 30.27242660522461, + 30.246179580688477, + 30.294578552246094, + 30.327451705932617, + 30.267704010009766, + 30.220853805541992, + 30.215869903564453, + 30.2138729095459, + 30.263275146484375, + 30.389747619628906, + 30.526567459106445, + 30.552663803100586, + 30.524972915649414, + 30.599580764770508, + 30.800071716308594, + 31.104759216308594, + 31.51682472229004, + 32.03094482421875, + 32.84789276123047, + 34.08676528930664, + 35.983802795410156, + 38.78168869018555, + 43.20317459106445, + 49.37643051147461, + 58.08186721801758, + 69.21331787109375, + 82.47035217285156, + 96.80838775634766, + 110.38455200195312, + 121.72122955322266, + 128.9046630859375, + 131.4391326904297, + 128.78785705566406, + 121.66886901855469, + 111.57731628417969, + 99.87501525878906, + 87.95967864990234, + 76.83345794677734, + 66.97625732421875, + 58.58082962036133, + 51.46177291870117, + 45.56597137451172, + 40.966880798339844, + 37.53813552856445, + 35.082969665527344, + 33.54799270629883, + 32.53702926635742, + 31.82511329650879, + 31.331043243408203, + 31.010042190551758, + 30.791149139404297, + 30.667795181274414, + 30.677494049072266, + 30.718507766723633, + 30.583049774169922, + 30.347896575927734, + 30.26027488708496, + 30.304616928100586, + 30.303556442260742, + 30.27838897705078, + 30.275253295898438, + 30.31279182434082, + 30.392440795898438, + 30.4801025390625, + 30.55842399597168, + 30.678842544555664, + 30.889453887939453, + 31.229127883911133, + 31.82236671447754, + 32.90060806274414, + 34.39177322387695, + 36.43125534057617, + 39.17288589477539, + 42.95650100708008, + 47.600830078125, + 52.72960662841797, + 57.81061553955078, + 62.22370910644531, + 65.50088500976562, + 67.0252456665039, + 66.8958740234375, + 65.0033950805664, + 61.71570587158203, + 57.40927505493164, + 52.84013366699219, + 48.56242370605469, + 44.7805061340332, + 41.52520751953125, + 38.70734786987305, + 36.35051345825195, + 34.42159652709961, + 32.89827346801758, + 31.795791625976562, + 31.131546020507812, + 30.726226806640625, + 30.403453826904297, + 30.12520408630371, + 29.966238021850586, + 29.942630767822266, + 29.92072868347168, + 29.841320037841797, + 29.800086975097656, + 29.800004959106445, + 29.710874557495117, + 29.600915908813477, + 29.644325256347656, + 29.74713897705078, + 29.75161361694336, + 29.7418155670166, + 29.804529190063477, + 29.86874008178711, + 29.894819259643555, + 29.949209213256836, + 30.030881881713867, + 30.10210609436035, + 30.2509822845459, + 30.623592376708984, + 31.19830322265625, + 31.962312698364258, + 33.024044036865234, + 34.60089874267578, + 36.576202392578125, + 39.0525016784668, + 41.736488342285156, + 44.291473388671875, + 46.552642822265625, + 48.196720123291016, + 49.06552505493164, + 48.70117950439453, + 47.51029586791992, + 45.62361526489258, + 43.33018493652344, + 40.94178009033203, + 38.76296615600586, + 36.90371322631836, + 35.253684997558594, + 33.846839904785156, + 32.68029022216797, + 31.750335693359375, + 31.02094268798828, + 30.512699127197266, + 30.039432525634766, + 29.742691040039062, + 29.689435958862305, + 29.65741729736328, + 29.602527618408203, + 29.572792053222656, + 29.53522300720215, + 29.550832748413086, + 29.564075469970703, + 29.55848503112793, + 29.56637954711914, + 29.559185028076172, + 29.592449188232422, + 29.675806045532227, + 29.69530487060547, + 29.658199310302734, + 29.670886993408203, + 29.705507278442383, + 29.7066707611084, + 29.68943977355957, + 29.74953842163086, + 29.964624404907227, + 30.168598175048828, + 30.44056510925293, + 30.98929214477539, + 31.810922622680664, + 32.982479095458984, + 34.62856674194336, + 36.64531326293945, + 38.714881896972656, + 40.90878677368164, + 42.89271545410156, + 44.333675384521484, + 45.20948791503906, + 45.22149658203125, + 44.510459899902344, + 43.036102294921875, + 41.32029724121094, + 39.48122024536133, + 37.69160079956055, + 36.18293762207031, + 34.836212158203125, + 33.55706787109375, + 32.38223648071289, + 31.544889450073242, + 31.005956649780273, + 30.66376304626465, + 30.239561080932617, + 29.939517974853516, + 29.808250427246094, + 29.72195053100586, + 29.698637008666992, + 29.731868743896484, + 29.647319793701172, + 29.574512481689453, + 29.530223846435547, + 29.44261360168457, + 29.444091796875, + 29.572715759277344, + 29.76468849182129, + 29.91396141052246, + 29.977388381958008, + 29.974287033081055, + 29.9780330657959, + 30.227876663208008, + 30.556194305419922, + 30.83600425720215, + 31.20826530456543, + 31.83418846130371, + 32.79304504394531, + 34.63427734375, + 37.14104461669922, + 41.15540313720703, + 46.50031280517578, + 53.74661636352539, + 62.26172637939453, + 71.70237731933594, + 81.16544342041016, + 88.99324035644531, + 94.88410186767578, + 96.7828598022461, + 95.50390625, + 90.98561096191406, + 84.43302154541016, + 76.8470458984375, + 68.98906707763672, + 61.53303909301758, + 54.91680908203125, + 49.355648040771484, + 44.62202453613281, + 40.68199157714844, + 37.524436950683594, + 35.21478271484375, + 33.294456481933594, + 31.898469924926758, + 31.00441551208496, + 30.56802749633789, + 30.46394920349121, + 30.35340118408203, + 30.083477020263672, + 29.924863815307617, + 29.980937957763672, + 29.910890579223633, + 29.65947914123535, + 29.62093162536621, + 29.882713317871094, + 29.943422317504883, + 29.719675064086914, + 29.64065933227539, + 29.770193099975586, + 30.011459350585938, + 30.288705825805664, + 30.33390235900879, + 30.211606979370117, + 30.351030349731445, + 30.913227081298828, + 31.853271484375, + 33.559059143066406, + 35.93317413330078, + 39.59836196899414, + 44.317283630371094, + 50.1629638671875, + 56.34585952758789, + 62.85563278198242, + 68.41734313964844, + 71.92646789550781, + 74.10515594482422, + 73.10478210449219, + 70.51995086669922, + 65.81282806396484, + 60.769752502441406, + 55.385414123535156, + 49.98652648925781, + 46.06501770019531, + 42.67948913574219, + 39.5444450378418, + 36.74254608154297, + 34.997798919677734, + 33.400760650634766, + 32.20330047607422, + 31.243560791015625, + 30.6149845123291, + 30.18441390991211, + 30.01449203491211, + 29.98297691345215, + 29.94528579711914, + 29.849563598632812, + 29.767553329467773, + 29.709352493286133, + 29.84792709350586, + 30.019956588745117, + 29.88170051574707, + 29.646800994873047, + 29.304216384887695, + 28.866010665893555, + 28.880220413208008, + 29.021913528442383, + 28.81537437438965, + 28.702983856201172, + 28.741357803344727, + 28.726898193359375, + 28.70442008972168, + 28.656143188476562, + 28.596546173095703, + 28.52294158935547, + 28.570531845092773, + 28.7730655670166, + 29.17094612121582, + 29.553556442260742, + 29.333995819091797, + 28.767168045043945, + 28.431198120117188, + 28.36183738708496, + 28.404279708862305, + 28.491146087646484, + 28.46747589111328, + 28.182659149169922, + 28.337265014648438, + 28.981464385986328, + 29.027053833007812, + 28.628767013549805, + 28.46184730529785, + 28.41124725341797, + 28.641582489013672, + 29.14205551147461, + 29.028581619262695, + 28.334566116333008, + 28.15032958984375, + 28.534290313720703, + 28.301780700683594, + 27.07602310180664, + 26.682533264160156, + 28.022281646728516, + 29.173826217651367, + 29.173826217651367 + ], + "Itth_weights": [ + 0.032620898098829454, + 0.03351872945828005, + 0.03418768195429427, + 0.034416078446560645, + 0.03448167230533507, + 0.03421723461636433, + 0.03394346868496056, + 0.034337019369783714, + 0.0361574814010224, + 0.03830176196520955, + 0.03969000961499809, + 0.040464952404547644, + 0.04058511717508114, + 0.04054436953183676, + 0.040315884452937906, + 0.03995338385777764, + 0.03939639405411172, + 0.038810757288268896, + 0.03849736562731435, + 0.03806691726206125, + 0.037572609134516675, + 0.037082547441885765, + 0.03677216983702675, + 0.03647015368177514, + 0.0363714111806182, + 0.0361345548466245, + 0.035959231188718126, + 0.03578031082425241, + 0.035602859919674094, + 0.0353493390911216, + 0.035042033021806564, + 0.03479509018957089, + 0.034754039114335715, + 0.03485802161738805, + 0.034957247900833564, + 0.03492560103818608, + 0.034756391431024256, + 0.03457289984444147, + 0.034483590979601735, + 0.0344817788927485, + 0.03437580134725016, + 0.03425954272298046, + 0.034090513783696035, + 0.03397979377688251, + 0.033891003830165405, + 0.03397937755199521, + 0.0341076948278332, + 0.03414077717856582, + 0.034109161573975734, + 0.034111620487402, + 0.034150584269749276, + 0.03419054908030991, + 0.034154806833958044, + 0.03407156974037428, + 0.03396596251491996, + 0.033948114981782664, + 0.03396069537653706, + 0.03400142066024967, + 0.034115427176178756, + 0.03411651051753517, + 0.03385805806321663, + 0.033594556262974695, + 0.0335617887440927, + 0.03379364994855745, + 0.03387478010448506, + 0.033860238167632874, + 0.03384720326805036, + 0.0338309253870029, + 0.033826352576987684, + 0.03372857072183688, + 0.03363382720528895, + 0.03358545743953167, + 0.03367636955416938, + 0.03379021090072792, + 0.03380627086825751, + 0.03373633182381832, + 0.03354387614470378, + 0.03353772431065381, + 0.0335682008703602, + 0.03359467035236124, + 0.033544449171926435, + 0.03348940789397201, + 0.03354220653656155, + 0.03351228266374989, + 0.03351628885450171, + 0.03358574143422278, + 0.03357727314151816, + 0.03352338023154616, + 0.033384686094625686, + 0.03331115292202298, + 0.03335975620541935, + 0.033439106140690594, + 0.033589003414586455, + 0.03358772307630609, + 0.03354149839821764, + 0.03344402924617487, + 0.033450654688893175, + 0.03343911253893374, + 0.033444366322876486, + 0.033440682315240146, + 0.033502290642953264, + 0.03354218507738454, + 0.0335106933069247, + 0.033424876110599286, + 0.033361445910396345, + 0.0333489427513463, + 0.03338696511972522, + 0.033397184163728555, + 0.033410592183960135, + 0.033458271322222906, + 0.033511398003140284, + 0.03348651598773432, + 0.0333849539489771, + 0.03339600136950308, + 0.03341009610831976, + 0.033406679335116034, + 0.0333418465204637, + 0.0333205822890728, + 0.03335600592672747, + 0.033402850399333425, + 0.03345043486560631, + 0.03345545950973581, + 0.03339857979847385, + 0.03335891990723679, + 0.03337185962849517, + 0.03342498052661838, + 0.03346076114220026, + 0.03346972200790243, + 0.033350847753044144, + 0.033341327040625895, + 0.03335336404652808, + 0.033450445536572934, + 0.03344001045000327, + 0.03336372813291019, + 0.033287268912306135, + 0.033219262924794, + 0.03319071066780694, + 0.03324990120881346, + 0.03330811185123773, + 0.033275913139437514, + 0.03322146679269527, + 0.03315264108595943, + 0.033177102706333964, + 0.0332004125481561, + 0.03329736568177965, + 0.033340387777361744, + 0.033317340474409624, + 0.033270306774098646, + 0.033268290633819544, + 0.03329209032821368, + 0.03332278691398253, + 0.03327552031557314, + 0.033186405909100464, + 0.03308454256433602, + 0.0330223338878122, + 0.032928565861245526, + 0.032957383424338564, + 0.033009674139901385, + 0.033053093258445736, + 0.033061455545765187, + 0.033068040801459496, + 0.03315384653812613, + 0.03318612022524796, + 0.03318582614406687, + 0.03317409025900237, + 0.033150098393489105, + 0.03313330923008447, + 0.033121943154672276, + 0.033096935966663174, + 0.03314527610526821, + 0.03311960392519561, + 0.03318061127008452, + 0.03313721275342284, + 0.03311302112359732, + 0.03304066186693276, + 0.033020572293688655, + 0.03304860329737174, + 0.03310237118917829, + 0.03318156465259094, + 0.0331663129077603, + 0.03314128269497451, + 0.03318875458484368, + 0.033214399452744924, + 0.033195607138630824, + 0.03312350840505361, + 0.033112669779737286, + 0.03317078454402192, + 0.03320329520007296, + 0.03315891249179783, + 0.03307199988998877, + 0.03306182456766087, + 0.0330901303508322, + 0.0330992239339066, + 0.03306165986195511, + 0.03300868696710653, + 0.033081227535341665, + 0.03313364007246214, + 0.03321141809729882, + 0.033152651567774374, + 0.03312513240405196, + 0.033062716925837295, + 0.03296708617295559, + 0.03287403313926362, + 0.03287863042664245, + 0.0329672229889738, + 0.0329871397544777, + 0.033001946674733856, + 0.03300293136693553, + 0.03296815585572936, + 0.03293018941541829, + 0.032912235816450856, + 0.03295888343333438, + 0.03302547069774345, + 0.033058622482572096, + 0.03302046414999582, + 0.03291287837650357, + 0.03288688815611486, + 0.03290337063617923, + 0.032949307684195746, + 0.03297891666150868, + 0.032985209667234346, + 0.032994507292563445, + 0.03302410607059069, + 0.03306917336275462, + 0.03302888275908296, + 0.03300184073033996, + 0.03296036285770561, + 0.03292047529639466, + 0.032894054127172084, + 0.032927968185440894, + 0.03295257561415881, + 0.03292215180291368, + 0.03285231340909485, + 0.032786063071623524, + 0.03277057044161902, + 0.03277431929843973, + 0.03279202425677112, + 0.032805771745443406, + 0.032829658201810274, + 0.03280851646730484, + 0.03266945463194366, + 0.032613728908829014, + 0.032615830841210336, + 0.032581209887389974, + 0.032564575204554996, + 0.03253596973185727, + 0.0325316918238225, + 0.032507765181049086, + 0.03250728547537149, + 0.03247962558429662, + 0.03240204322332496, + 0.03236468145368711, + 0.03244525689056675, + 0.03256621767986694, + 0.03254361785680567, + 0.03247548317445915, + 0.032375145816535854, + 0.03234643497788973, + 0.032302242047477926, + 0.03230049873160808, + 0.03231780689042755, + 0.0323104616495993, + 0.03229904014271784, + 0.03225705629258946, + 0.032293557186250876, + 0.032330003219508116, + 0.03234923311188543, + 0.03228447143574787, + 0.032246916037454026, + 0.03220052808109388, + 0.032210633241876306, + 0.03220186900412258, + 0.032184443735356914, + 0.032139417276898424, + 0.03204598982903137, + 0.03205947361089659, + 0.03210150454984799, + 0.03208530296091763, + 0.031989688870426955, + 0.031925301730844, + 0.03190914735017466, + 0.03191796280933448, + 0.031984275308983526, + 0.03192320233033142, + 0.03184876501962118, + 0.03179367681275861, + 0.03181700174909521, + 0.031838643913569616, + 0.031814783356876895, + 0.0317965459658005, + 0.03178366775552823, + 0.03180212957222942, + 0.031803096053432366, + 0.031803898605419, + 0.03174776955157535, + 0.031673961571107946, + 0.03164587485704556, + 0.03168401652537859, + 0.03168996483439514, + 0.03166214229279136, + 0.03159345600970037, + 0.031585918707684034, + 0.031584763686582334, + 0.031537491825960315, + 0.03146694412788056, + 0.031429117624861065, + 0.03146034864240658, + 0.0315042654615093, + 0.03152706705454927, + 0.031515285142916946, + 0.03149734399161045, + 0.03144986915283283, + 0.03146319193376435, + 0.03143255263948957, + 0.03139288565722447, + 0.03138961341037126, + 0.03139096470360576, + 0.03138672891075441, + 0.03134275857500829, + 0.0313519443643635, + 0.03131298724971433, + 0.03125669205414405, + 0.03118109655537047, + 0.03114172464121749, + 0.031129979396623896, + 0.031062428081693863, + 0.031034946516618964, + 0.031034795875397207, + 0.031062840325999617, + 0.031041833484075885, + 0.03096756146046906, + 0.030946617486213003, + 0.03093333245225697, + 0.03092345823597893, + 0.030925285913554916, + 0.0308723053831392, + 0.03082166936991965, + 0.03078316681781667, + 0.030742514088051665, + 0.030685228601698963, + 0.030635078604761393, + 0.03066846021502458, + 0.03069596481973393, + 0.030700580683476267, + 0.03063363946249967, + 0.030560357942669026, + 0.03056691824657661, + 0.030590328077254387, + 0.030579191186085666, + 0.03055433819758497, + 0.030526752539461223, + 0.03052496455459896, + 0.030498102477831218, + 0.03045564736026039, + 0.030370566464867407, + 0.030256481342871438, + 0.03021441719994058, + 0.030274501253276402, + 0.030302823631217928, + 0.030309774955609586, + 0.030307738980517505, + 0.030321547622228474, + 0.03027458866211204, + 0.030248685308852895, + 0.03028075750408768, + 0.03031508870214104, + 0.03029977292276808, + 0.03024568038762431, + 0.030191620691966552, + 0.030155063727971287, + 0.030108625540509002, + 0.03010014512471551, + 0.030098956243279535, + 0.030087276331589, + 0.03005902436367494, + 0.03000449934718833, + 0.029970124081325784, + 0.02987975218899983, + 0.029850644294473577, + 0.02988105665208694, + 0.02990903292864225, + 0.029869865134158822, + 0.029801302670162334, + 0.029714958840184387, + 0.02964999872190481, + 0.029623421921992167, + 0.029614489933949648, + 0.029596625399419638, + 0.029597962069030148, + 0.029570861312926654, + 0.02951688485527894, + 0.029453716831788407, + 0.02943813481817675, + 0.02947506424451764, + 0.029493986813079007, + 0.02944911757909344, + 0.02939876550395617, + 0.029308747187011416, + 0.02917752338763085, + 0.029085073484900928, + 0.02904293822215703, + 0.0290134107779845, + 0.028913434405645744, + 0.028796087289457775, + 0.028707628858753914, + 0.028602325182766113, + 0.028492172543372888, + 0.028383107858495033, + 0.028307422513203773, + 0.028204543623039664, + 0.028044898969188634, + 0.02790779178043224, + 0.02783721794327364, + 0.027740372949623112, + 0.027626969724722013, + 0.0274999569893556, + 0.027345896634213166, + 0.027111349164627624, + 0.026784760037183806, + 0.026534488184417445, + 0.026322715341358154, + 0.026091355775299266, + 0.025747242040418644, + 0.025350532441059268, + 0.024903816721953805, + 0.024341949116501203, + 0.023657702615285093, + 0.02286887958855837, + 0.021842340932625565, + 0.0205173704668018, + 0.018901726510164623, + 0.016934433656360014, + 0.014584674163744656, + 0.011989594723670905, + 0.009341173993832939, + 0.006811360970951526, + 0.004705516761752053, + 0.003143845817235371, + 0.0020714273251910796, + 0.0014048292893187786, + 0.0010100499476603758, + 0.0007782056811294621, + 0.000661781236870101, + 0.0006243575507898329, + 0.0006531258393787206, + 0.0007570436153046644, + 0.0009638116491791482, + 0.0013495875825421818, + 0.001997913434035048, + 0.0030032765850193615, + 0.004529532293444799, + 0.006636523359375396, + 0.009117457240007574, + 0.011837900102183534, + 0.014551702385534626, + 0.016916338130073, + 0.01897745825967621, + 0.020690754734554, + 0.022035044045039098, + 0.02312120170554849, + 0.023984500982412643, + 0.02468616819712171, + 0.02528708467436406, + 0.025799632212732015, + 0.026218036441654463, + 0.02659574036362987, + 0.026948324133617, + 0.02725642399177516, + 0.0275471996314486, + 0.027810228797013246, + 0.02808925676793532, + 0.02831187996481752, + 0.028548201171684634, + 0.028718680420105357, + 0.028916993808102812, + 0.02910530800149488, + 0.029296293953549084, + 0.029417933533362646, + 0.029545907941792723, + 0.02966438923285331, + 0.029843623348117923, + 0.029969092772556074, + 0.030090685058275557, + 0.030166362406938412, + 0.03025582482682573, + 0.030370186464353226, + 0.030495367075952594, + 0.03063914974676394, + 0.030739518393417375, + 0.030837807652845037, + 0.030932609734808898, + 0.03101791128662495, + 0.031100083105500095, + 0.031217545483808014, + 0.031313374377906426, + 0.03139586717214192, + 0.03149885786240122, + 0.03161808579015845, + 0.031675838853471514, + 0.03167029758861075, + 0.03167751539155858, + 0.03171984546158665, + 0.03175436879373518, + 0.03183792080926887, + 0.03187856027459846, + 0.03196130855749943, + 0.031975924377251115, + 0.03202811843600974, + 0.03205176132525054, + 0.03213971083651657, + 0.03220842887398463, + 0.032300017163819854, + 0.03237157166373621, + 0.03235854907684681, + 0.0323713158262435, + 0.03235279434759125, + 0.03236457556557511, + 0.03237242115316624, + 0.032454549900244704, + 0.03251009538145793, + 0.032544005710694365, + 0.03259876959989147, + 0.03264959420601226, + 0.03261371876502463, + 0.03259479938476918, + 0.032664752840911034, + 0.032741996715483515, + 0.032745792213043516, + 0.032703812635737496, + 0.032700075811275764, + 0.03271497107657057, + 0.03271820085341355, + 0.03277901989675154, + 0.03289448546432636, + 0.032971392276103205, + 0.03296435009104543, + 0.032962219578170755, + 0.03295319903816945, + 0.03292874372051819, + 0.032920314063091406, + 0.03297271315038876, + 0.03301987769076753, + 0.03303316964014002, + 0.03305572112866907, + 0.033054645756166755, + 0.03303347350986201, + 0.03303930639437068, + 0.03304522465090259, + 0.033067967802932356, + 0.033116325793780425, + 0.033160781162676616, + 0.03320911459357682, + 0.03319814000045085, + 0.03318151425214415, + 0.03315794782831973, + 0.033161194354030386, + 0.03319458989877476, + 0.03319839015466321, + 0.033159709430051684, + 0.033121972449443926, + 0.033088359427959034, + 0.033050878336320776, + 0.033029228165561426, + 0.03305181177624615, + 0.03308713367608929, + 0.03310971502195566, + 0.03311452905899593, + 0.033112117683020796, + 0.03310838942091072, + 0.03313833120696635, + 0.03316209837711362, + 0.03320500063681847, + 0.03316575692277484, + 0.03315259496605244, + 0.03310309225821356, + 0.033110195944473376, + 0.03311347704519717, + 0.033185076260645596, + 0.03324285549159117, + 0.03322508581178416, + 0.033152515304697115, + 0.03309367694315237, + 0.033137225319897205, + 0.03320543806436049, + 0.033218707267872086, + 0.03317628183893321, + 0.033076886436683564, + 0.03305708211704594, + 0.03303389602294418, + 0.03304522256810305, + 0.03303758670753347, + 0.033042321483244076, + 0.033023904298402344, + 0.03299021798456679, + 0.03299519459901048, + 0.03301419510645763, + 0.03305261190957688, + 0.03304114078551737, + 0.032981636489005255, + 0.03293108502400293, + 0.032944876926106655, + 0.03297006736096774, + 0.03299350649268922, + 0.032992609561820686, + 0.03297356545040921, + 0.032906445643433334, + 0.03289504890262416, + 0.03290013516786795, + 0.032912768870926826, + 0.03289231444668158, + 0.03291327094965404, + 0.03292098381177331, + 0.03290551213521306, + 0.032889122415575955, + 0.032858385203097425, + 0.03278267229476893, + 0.03276665656708075, + 0.03281331108093889, + 0.032867003631689554, + 0.03281684376984594, + 0.03274397615399552, + 0.032708223676966366, + 0.03268175285421772, + 0.032612164808721825, + 0.03257932498418533, + 0.03252290737005924, + 0.03246495586943674, + 0.032408462542087, + 0.03242834952066425, + 0.03243979844914043, + 0.032414824282035085, + 0.03236780446558748, + 0.032293988831925004, + 0.03218891932945564, + 0.03207745263832838, + 0.03201366989957382, + 0.031958218686263445, + 0.03194025044336921, + 0.031927998310450775, + 0.03186870691843947, + 0.03176205790859116, + 0.03165385359621787, + 0.0315566582280919, + 0.031469363606237526, + 0.03133322986297868, + 0.031200769735786567, + 0.031087930515135774, + 0.03102404901095341, + 0.03095726689317615, + 0.030844092047513344, + 0.030725783888771868, + 0.030603273615405116, + 0.030517605097226088, + 0.030384735305401686, + 0.0302330355515882, + 0.030042781716975966, + 0.029892420173780253, + 0.029767059902142887, + 0.02960797756451163, + 0.02942612302544961, + 0.02925204333798059, + 0.029048167873553424, + 0.028821500726958323, + 0.028593602150977462, + 0.02838768755091004, + 0.028114803257294894, + 0.027855279293952658, + 0.027637764202883438, + 0.027396223780696435, + 0.02713041224784776, + 0.026848791295364254, + 0.026564665743696942, + 0.026249648027371154, + 0.025902315946320753, + 0.025537746754444878, + 0.02512907283150022, + 0.024680550668969795, + 0.024197247293589248, + 0.023650383841478627, + 0.023036446223232532, + 0.022310448550281275, + 0.021442410779248047, + 0.020454329816080818, + 0.019277542219261746, + 0.017845120549730788, + 0.016180594754626756, + 0.014289961539690152, + 0.012119576891101805, + 0.009808103972846328, + 0.007557146771192439, + 0.005468831100772492, + 0.0037589862116971825, + 0.002505358522095369, + 0.001622406479169, + 0.0010662507872092337, + 0.0007348950451101043, + 0.0005334864675674158, + 0.00042249387946030956, + 0.00036835698396208224, + 0.0003546339382947337, + 0.0003799804128260829, + 0.0004501681646261462, + 0.000590992330373947, + 0.0008419827048201043, + 0.001252538293621458, + 0.0019200693775068044, + 0.002955402624453089, + 0.004407424185525011, + 0.00626689818183835, + 0.008456319713814688, + 0.010783336966939666, + 0.013045557133433102, + 0.01513890807483891, + 0.01696309021451569, + 0.018530415034246885, + 0.019868589182675526, + 0.020995436321422457, + 0.021928922731967136, + 0.022752942522312757, + 0.02344623230591795, + 0.024075459166205015, + 0.02463943267946875, + 0.025138622803472753, + 0.025561091724930027, + 0.025966124896799253, + 0.026350836727323062, + 0.02674229286107768, + 0.027084077865484057, + 0.02738171824501888, + 0.027699646748775307, + 0.028006218238549645, + 0.028318079317282634, + 0.028571079803364565, + 0.028856224902958198, + 0.029165187884182125, + 0.029459174930932582, + 0.02969184673695389, + 0.02989375642376963, + 0.03013240168841867, + 0.030385179065123485, + 0.03058391472101733, + 0.03071303318032507, + 0.030868877218541587, + 0.031052780273600023, + 0.031235466953811557, + 0.03144193256387692, + 0.0316189247968605, + 0.03179835873530248, + 0.03193638842164599, + 0.03209452448636261, + 0.03223846309463124, + 0.03235981531214111, + 0.03248980200907207, + 0.032640479765645575, + 0.03279536363153006, + 0.03318637650024148, + 0.033420574311579694, + 0.03355673640820262, + 0.03335643673081369, + 0.0333028034767576, + 0.03335566214031698, + 0.03348006874969867, + 0.033642703995886036, + 0.03375935397940329, + 0.03387685291500741, + 0.03390919926602333, + 0.03393651260725313, + 0.03395815259794557, + 0.034015633925009996, + 0.03404827471371649, + 0.034079750912465095, + 0.03415473563349429, + 0.03421594389840315, + 0.03425702886294248, + 0.03430125988539074, + 0.03441326598427114, + 0.03453069485475602, + 0.03457829475442583, + 0.03459548943147284, + 0.03467775833553533, + 0.03473998254015846, + 0.0347668574544123, + 0.03475030048463297, + 0.03479486619630913, + 0.03487052483303101, + 0.034898247945379365, + 0.034943257063358255, + 0.0350471606671346, + 0.03512673147829841, + 0.03512216166679674, + 0.035066513528907696, + 0.03510460883913171, + 0.035185775145335066, + 0.03524215098061529, + 0.03524180038030827, + 0.03521502377286804, + 0.035210192129955784, + 0.03522757378995083, + 0.03521649031934088, + 0.03522014065807212, + 0.035216968156025416, + 0.03526001713744654, + 0.03528118462434604, + 0.03531162192490393, + 0.03534024646527095, + 0.03540898824013773, + 0.035443939931185935, + 0.035418463216952335, + 0.03539170427276011, + 0.03544403098513337, + 0.03544497270208153, + 0.03544169008882189, + 0.035370981476461595, + 0.03537708906222387, + 0.035389547053379836, + 0.03540228633913817, + 0.03538728022581961, + 0.035385264450331695, + 0.035393159290144, + 0.035397759269878, + 0.03537221284803769, + 0.03531858694125481, + 0.03528777899639206, + 0.035219099654800586, + 0.035157956585937414, + 0.03507621675042424, + 0.035039901824542655, + 0.03501571569072568, + 0.03500898415331442, + 0.035012563540609165, + 0.03500753951325253, + 0.03501939703540627, + 0.03507210114054166, + 0.035077153104405796, + 0.035022938779730936, + 0.03501276462522596, + 0.03498072079815248, + 0.03495208361652413, + 0.03489885888836303, + 0.03488449925724856, + 0.034840402980381276, + 0.034748529350652896, + 0.03470456918649582, + 0.034676366129958856, + 0.03468801639550775, + 0.03466548004821409, + 0.03463555565508909, + 0.03461339132512971, + 0.03457132683608741, + 0.03446575735814416, + 0.03433876904320883, + 0.03423702068543261, + 0.03414962110183542, + 0.034084895501366945, + 0.03395506482178655, + 0.033844773586967726, + 0.03370349744627325, + 0.03357477025282835, + 0.03345094707968398, + 0.033346017788214805, + 0.033211247690188156, + 0.03303549875702902, + 0.032861383837520276, + 0.032688314062394405, + 0.03256852996714994, + 0.03242671490562732, + 0.03225763581495371, + 0.03207236837074573, + 0.03181681059607182, + 0.03157331318890175, + 0.03132020586621826, + 0.031058199528648602, + 0.03075370534026296, + 0.030429090760511365, + 0.03002920855559351, + 0.02958981360191845, + 0.029085563998803493, + 0.028445817967555936, + 0.027654485192828385, + 0.026755374952782802, + 0.025620293574334124, + 0.024146536493146287, + 0.02232267015049648, + 0.020036908807850397, + 0.017274902343331698, + 0.01426357824155736, + 0.01111206628038265, + 0.008097084457782537, + 0.005653939981584319, + 0.003824375186518238, + 0.002557840223661146, + 0.0017684164534399391, + 0.0012845884898707329, + 0.00099850029935507, + 0.0008524258549752243, + 0.0008018379629557124, + 0.0008326557163766464, + 0.0009518588553200102, + 0.0011942030422147567, + 0.0016352495282588569, + 0.0023642060587975044, + 0.0034867649667375093, + 0.005200177391305177, + 0.00758114190950012, + 0.010397403695190566, + 0.01351802494427909, + 0.016642491172897445, + 0.019357269306502847, + 0.021720032277129268, + 0.023688080434507985, + 0.025213814966855312, + 0.026461641703088633, + 0.02743978679064591, + 0.0282222918898807, + 0.028897020193212667, + 0.0295230346883044, + 0.030024231821924457, + 0.030431612918204825, + 0.030726594215180397, + 0.031018318679903976, + 0.031299526006991124, + 0.0315983857514115, + 0.031852120155532786, + 0.03210851911238582, + 0.03232457152778189, + 0.0325298590673489, + 0.03268793702723997, + 0.032862652655310465, + 0.03308044480114684, + 0.03327674739292328, + 0.03341523216246688, + 0.0335239654202261, + 0.03367874699089279, + 0.03380239555703987, + 0.033932923630663865, + 0.03410892413449958, + 0.03427923432442667, + 0.0343669164940197, + 0.03442637891867572, + 0.03454561364113171, + 0.03466191856490687, + 0.03473601219067811, + 0.03480930927003149, + 0.034902178796577546, + 0.034961737593450434, + 0.035008689605373, + 0.035054310017036794, + 0.03511688033329314, + 0.035195022344618104, + 0.03527496532976221, + 0.03532115669835628, + 0.035330944233851864, + 0.03536479012240087, + 0.03545106032403403, + 0.03551752240134567, + 0.03554482866159776, + 0.035558051390461504, + 0.03557584587020999, + 0.03560446049960388, + 0.03564915344071841, + 0.035709943618136925, + 0.03572247897466303, + 0.035690846072130106, + 0.03573952969029009, + 0.03582079844289717, + 0.035872257356735014, + 0.03588975357283383, + 0.035928556523669844, + 0.03593984643881302, + 0.03592263117267773, + 0.03592642691412133, + 0.03598275560917975, + 0.03603685342335948, + 0.03604543822954065, + 0.03605610990027297, + 0.03605307508205821, + 0.03606508097287834, + 0.036066165145405074, + 0.03608774057696415, + 0.0361109907689985, + 0.03614344041862549, + 0.03615252730085108, + 0.03612036493219957, + 0.03607073327913311, + 0.03609005828646842, + 0.03613765072460991, + 0.03621579832415725, + 0.03621942357502528, + 0.03618536385516358, + 0.036197200621310904, + 0.03621262651225539, + 0.036222996996179126, + 0.03621650380264724, + 0.03623712491678334, + 0.036205824499315094, + 0.03612894974329459, + 0.036094055979079706, + 0.03613618117495522, + 0.036150852139837424, + 0.03610086080110766, + 0.03612061378202092, + 0.03613838305329523, + 0.036129564700793426, + 0.03604411493654049, + 0.035996306226205886, + 0.03597590636416205, + 0.03589543706724486, + 0.03580372145965615, + 0.03577901669259334, + 0.03580152594608193, + 0.0357875401492763, + 0.03576084525485421, + 0.03573382969710745, + 0.03570137442201843, + 0.035653046773203016, + 0.03561319368946663, + 0.035583753537332063, + 0.03551843434030366, + 0.03544245438023127, + 0.03534005827636868, + 0.03523682639783281, + 0.035094114690031146, + 0.03498745080924096, + 0.0349166762346188, + 0.03482824757093487, + 0.0347530554289121, + 0.03467659777420488, + 0.0346086274028314, + 0.03447433523274194, + 0.03435009900694296, + 0.03426489177915259, + 0.03421262599432108, + 0.0341885469463249, + 0.03409411843812198, + 0.03396709800188815, + 0.033800416831922656, + 0.033648585587871184, + 0.03350970592530738, + 0.03327600184288405, + 0.033036133649247415, + 0.03275104110152962, + 0.03244340976840642, + 0.03206816638370638, + 0.03156514504495051, + 0.030989603497773698, + 0.030261123165301662, + 0.029338143638093655, + 0.028068092620508453, + 0.026416701743622845, + 0.024201561011025233, + 0.02140707869859948, + 0.01813728233984669, + 0.014465722268550875, + 0.010859518566204191, + 0.007802530822115965, + 0.0054075850919440465, + 0.003788061825127214, + 0.002748309669616576, + 0.002081844414531767, + 0.0017144513473155714, + 0.0015470582758647393, + 0.0015299861027507436, + 0.0016615195460271037, + 0.0019689153168128233, + 0.0025550575605313474, + 0.003533860428689796, + 0.005012984146024581, + 0.007202523608827442, + 0.010172060963761487, + 0.013652919479211618, + 0.01728126031691452, + 0.020685972490617318, + 0.023532125924665845, + 0.025777596057053626, + 0.027522919404978974, + 0.028793433606852506, + 0.029755555046028805, + 0.030531641241102636, + 0.031133735727619717, + 0.03160873769187389, + 0.03199831844774271, + 0.03227134600198852, + 0.03248392603656486, + 0.032672984917797486, + 0.032759509144723545, + 0.03284604836956015, + 0.03295305198253945, + 0.03314045521982333, + 0.03321852626243427, + 0.03330951486500507, + 0.03347239090211978, + 0.03371083950784777, + 0.033898353302763126, + 0.034059134975614976, + 0.03417327334655712, + 0.0342602770277657, + 0.034358261391551265, + 0.034483411803580936, + 0.034575492200947626, + 0.0346534440779557, + 0.03474245727501044, + 0.03483329895102398, + 0.03488212028532537, + 0.03493665113172885, + 0.03500025034129864, + 0.0350563492058716, + 0.035108381780616274, + 0.035124357004552, + 0.03513227944357451, + 0.035153854772434434, + 0.035161203354843205, + 0.03516173157149108, + 0.035121740513329086, + 0.03515029592828506, + 0.03521015429559612, + 0.03527123480537206, + 0.03526752404879097, + 0.035244986835430585, + 0.03523407473087788, + 0.03525514706332294, + 0.03526386388200198, + 0.035296761469892315, + 0.03530304312732732, + 0.035311077304135886, + 0.03527760470145568, + 0.0352839745241585, + 0.03527294571764326, + 0.03531525633111016, + 0.03537462572580198, + 0.03539956613439166, + 0.03537681215845801, + 0.03535198960467237, + 0.03534801160018441, + 0.0353475302008174, + 0.03534310765987544, + 0.035303558973780236, + 0.03526723462362481, + 0.035197687573797334, + 0.03514808085276036, + 0.035112545886611404, + 0.03506427382353592, + 0.03503701458289561, + 0.035036834292429875, + 0.03506830080796057, + 0.035041836285044564, + 0.03494397904726256, + 0.034840822044252116, + 0.03479313900492398, + 0.03475073581048187, + 0.0346941498091017, + 0.034646617558934965, + 0.034652264530721726, + 0.03464085569827369, + 0.03458249829606555, + 0.034450936879287415, + 0.03436150851458084, + 0.03435952909262945, + 0.034337408420566186, + 0.03425349933670301, + 0.034084425732867685, + 0.033975491076320634, + 0.03386737740478095, + 0.033797869673385716, + 0.0337064811274102, + 0.03357459179649502, + 0.03338456492383108, + 0.033240212536811226, + 0.033126013531998774, + 0.032996147739023006, + 0.03284397221322572, + 0.032676090326932916, + 0.03252562715782666, + 0.03234370516819574, + 0.032169311026558296, + 0.03198695258763775, + 0.031807616724430894, + 0.03165615472708817, + 0.031443846559872694, + 0.03120170929529895, + 0.03096095971605263, + 0.030735917843702023, + 0.03046376994498732, + 0.03014345115516512, + 0.029802193714486516, + 0.029400226145233157, + 0.02897112414070994, + 0.028485912217698854, + 0.02786626184276797, + 0.02716685358663528, + 0.026376207482421667, + 0.025415287448971934, + 0.024224368155985766, + 0.022802778288335483, + 0.021012453941273913, + 0.01882930270008971, + 0.01624796593619495, + 0.01334178323795975, + 0.010358655157752316, + 0.007625871504484049, + 0.005307921142511883, + 0.00358341920613398, + 0.002416431320011743, + 0.0016437217134193664, + 0.0011792960414550198, + 0.0009047300084431896, + 0.0007478653838657355, + 0.0006801343564241107, + 0.0006799130753708378, + 0.0007490996995737117, + 0.0009016346530599667, + 0.0011741187928161186, + 0.0016467963559001924, + 0.002406121747058214, + 0.003560942950038236, + 0.005254192907833716, + 0.007548914572840009, + 0.010290372983625628, + 0.01322996481248449, + 0.0161173604330065, + 0.01868647371291516, + 0.02087170649035357, + 0.02265683508359194, + 0.02407707780339282, + 0.025262372340909424, + 0.026238127138371224, + 0.02700635320585576, + 0.02763847811243904, + 0.02820759370321941, + 0.02872065008868929, + 0.02917914725705286, + 0.02957193878587012, + 0.02993824460454002, + 0.030294573073650383, + 0.030607593612458246, + 0.030851170500074614, + 0.031080669313790932, + 0.031300036130489095, + 0.031534054701619844, + 0.03173178852938889, + 0.03194953089544038, + 0.03215679381024899, + 0.03238219648716464, + 0.032592570489341124, + 0.03277725547751547, + 0.032924696863547834, + 0.033041344850697665, + 0.033184393623133884, + 0.03334751520342482, + 0.03357146589322249, + 0.033762501926271136, + 0.033867701191539895, + 0.03389392220161547, + 0.033953213305146064, + 0.034088392581394976, + 0.034199757902180716, + 0.03424657221067761, + 0.034306361577566016, + 0.03442660271388698, + 0.0345098638069931, + 0.03454627831271667, + 0.0346212083692397, + 0.03473570150596593, + 0.034817002348856686, + 0.034832174238469724, + 0.03483197753694613, + 0.03487532865577708, + 0.034985365933082664, + 0.035047523805353774, + 0.03505288038243347, + 0.03505049479288013, + 0.035085660022679384, + 0.035105335155486785, + 0.03511403683434924, + 0.03512908979671229, + 0.035160179980248694, + 0.03519968912383935, + 0.03525514232193947, + 0.035282234049783874, + 0.035242354711025235, + 0.03519770884054697, + 0.03514796539371315, + 0.03514369865361631, + 0.03513852388281332, + 0.03512867789193091, + 0.035144506686658535, + 0.035161637245925706, + 0.03516966852214449, + 0.03516935003165516, + 0.0351650710225939, + 0.0351820327694953, + 0.035142000256315246, + 0.035084894606726674, + 0.03504114538177476, + 0.035010384492669015, + 0.03497985726583892, + 0.034951943810547725, + 0.03488183715125099, + 0.03481688674258423, + 0.03477192332731482, + 0.03472607993592716, + 0.034643806209094526, + 0.03457306627253919, + 0.03449670763729715, + 0.03440069120529449, + 0.03433596470420425, + 0.0342623211577649, + 0.03417366983294735, + 0.03402171950082253, + 0.033877360759438875, + 0.03377082898815695, + 0.03367733649657884, + 0.033544932075236296, + 0.033358881701722395, + 0.0331362451635175, + 0.03294720603120485, + 0.0327270911360799, + 0.032489695300660495, + 0.03223730544805101, + 0.03190448516860838, + 0.03149562592456316, + 0.030991127574412032, + 0.030383640049185187, + 0.02964509658992729, + 0.028759324092691947, + 0.02755512780973608, + 0.026027338912501956, + 0.02407253423056809, + 0.02157956303162962, + 0.01850438380050413, + 0.01509891614774894, + 0.011586935030614698, + 0.008395596897846419, + 0.005904759622241706, + 0.004071664931102094, + 0.0028565204341722762, + 0.0021005297863303254, + 0.0016313736735878571, + 0.0013736506736916469, + 0.0012640314316722115, + 0.001272444068068302, + 0.001401481632284717, + 0.0016778403212965908, + 0.0021827415935172685, + 0.0030122038010320256, + 0.004281220307183567, + 0.006163580346477559, + 0.008762271053480057, + 0.011997863173538797, + 0.015481002783278127, + 0.018906990120754346, + 0.02195742967137733, + 0.024396933370696598, + 0.026324927842037573, + 0.027809213923786893, + 0.02892459076808325, + 0.029807215728564034, + 0.030533277083572594, + 0.031122114742378023, + 0.031601541669753264, + 0.03200275609673172, + 0.03233715590332208, + 0.03265854488681185, + 0.032898231762711665, + 0.03310870303933231, + 0.033317264253830615, + 0.033566494455447515, + 0.03375107820200164, + 0.03392588845251636, + 0.034102436880753095, + 0.03424940000118893, + 0.03437039733101823, + 0.03450481268584686, + 0.03465500624273694, + 0.03482291316442517, + 0.03497089071956839, + 0.0350872801850038, + 0.03513966846642902, + 0.035207839460396455, + 0.0353166836585365, + 0.03548173873567746, + 0.03556954639818722, + 0.035634741453260566, + 0.03565359472012784, + 0.03571060520269723, + 0.03577210566133309, + 0.0358396678530782, + 0.03590706275147676, + 0.03596918311038401, + 0.03604358961120637, + 0.03605427754286984, + 0.036093792586125384, + 0.03615273670689369, + 0.0362490582323371, + 0.0363399917974956, + 0.03637446197623097, + 0.036348346174791504, + 0.03633345156008726, + 0.036329554224850374, + 0.036368237281438745, + 0.03640855767214895, + 0.036461674759285204, + 0.03650296005887395, + 0.03653525265684543, + 0.036556592755534904, + 0.03658298579399141, + 0.03659308424433097, + 0.03661914124856179, + 0.03663359785171138, + 0.03665342834499726, + 0.036679702262859916, + 0.03674037380874862, + 0.03680433097840126, + 0.03688055792986372, + 0.036914455427503184, + 0.03689856357635003, + 0.03690358139752267, + 0.036886795751596396, + 0.03691834669057436, + 0.036927905471413856, + 0.03695706221355947, + 0.0369795396827121, + 0.03699617751515198, + 0.03700419385757259, + 0.03697384930628898, + 0.036955272594194045, + 0.03700196094414679, + 0.037071537472383086, + 0.03711208034004306, + 0.037062674466477555, + 0.037055908206110204, + 0.03707310767788693, + 0.03707656312264929, + 0.0370774467502497, + 0.03707048113183867, + 0.03708496584363226, + 0.037080438811030916, + 0.037076673246046875, + 0.03703821706672224, + 0.03704967851619248, + 0.03710056450335162, + 0.037110816794292435, + 0.037064841344638305, + 0.03703438159113884, + 0.0370466469155399, + 0.03709866645532986, + 0.03711340965151955, + 0.037127281152930784, + 0.03715606905446589, + 0.0371634646498463, + 0.03713411821768019, + 0.03711859119721984, + 0.03712960021347707, + 0.0371683993175547, + 0.037176775180236675, + 0.03716416011364285, + 0.03712352709760871, + 0.0370777115845289, + 0.037090645868829535, + 0.03712583254442969, + 0.037129024365284875, + 0.037102880227420455, + 0.037078115398533805, + 0.037106950511019636, + 0.037137287788267706, + 0.03709418069333533, + 0.03703795017981443, + 0.03700542925762925, + 0.036986544222859505, + 0.03700729687942926, + 0.03702157539411968, + 0.037025546799617996, + 0.03702549188958623, + 0.037022294314839915, + 0.03703355494876178, + 0.0370152344156507, + 0.03705062370212964, + 0.03706985731631706, + 0.037070709170483766, + 0.03704410787366759, + 0.03701457325978633, + 0.036991398086012935, + 0.03699324341010577, + 0.03699993719111615, + 0.03704853179024751, + 0.03704222868330975, + 0.03699684323543141, + 0.036935158468348536, + 0.0369245660964861, + 0.03694461401366722, + 0.036964368367562415, + 0.03693684465189732, + 0.03691068191986403, + 0.03686008966283179, + 0.036857843012505526, + 0.03687663572161027, + 0.03691441124285353, + 0.03690525690567503, + 0.036832519130797284, + 0.03679373087285739, + 0.036788970045248025, + 0.03682665403260389, + 0.0368171734451586, + 0.03677820334750341, + 0.03671849207435304, + 0.03667327775394081, + 0.036661940293863056, + 0.03666541951500953, + 0.03665378453219633, + 0.03663791913659156, + 0.03666527592318117, + 0.03673427034141093, + 0.036719255849004276, + 0.036657715863687226, + 0.03662279653967772, + 0.03660181093402029, + 0.036584992273572405, + 0.03656098002684361, + 0.03657922870411191, + 0.036559269350149165, + 0.03653629908296877, + 0.03648954598950319, + 0.036439824781802604, + 0.0363867788670079, + 0.03637393454817516, + 0.03637289992512963, + 0.036357581776438955, + 0.03632196840061907, + 0.03629450323331684, + 0.036283566960422876, + 0.036240912260561184, + 0.03612210695295854, + 0.03604074519091136, + 0.03601396079519656, + 0.036043924132643575, + 0.03604038099878479, + 0.03596145348780582, + 0.035861650070384284, + 0.03575693078341867, + 0.035703329120521, + 0.03570882238557829, + 0.035679884428011066, + 0.03562120993677175, + 0.035520739661300677, + 0.03549261018548173, + 0.03546110707470351, + 0.03537602443869217, + 0.035247666746692295, + 0.035140652962190926, + 0.03505875434725465, + 0.03494939254792302, + 0.03478096809265708, + 0.03462561901397479, + 0.034457706879461515, + 0.03430137209283003, + 0.03409041403472633, + 0.033811762777227486, + 0.033449342194666484, + 0.033004038696500114, + 0.0324035291545112, + 0.03157425630475787, + 0.030381379351987373, + 0.02879261134917258, + 0.026592713257341593, + 0.023673039975978742, + 0.020145550805337115, + 0.016262040792322876, + 0.012454920849221264, + 0.009260179011852877, + 0.006803536767761517, + 0.005117854499434065, + 0.004038265175181997, + 0.003378134230320343, + 0.0030586437629308394, + 0.0030060887792470515, + 0.003204322079742715, + 0.003689234254215801, + 0.004531531747066737, + 0.0059199103052652476, + 0.007956747327439955, + 0.010690021510210214, + 0.014131429017471515, + 0.017976878386771568, + 0.02170124610140587, + 0.024895869916648442, + 0.027397008301540998, + 0.029265772340460204, + 0.030556970208516027, + 0.03147577768502994, + 0.032128382144201585, + 0.032676216592119806, + 0.03309303565961932, + 0.03340359738792289, + 0.03362112124228237, + 0.033790422145678393, + 0.03391427932512209, + 0.033986377652463144, + 0.03406965900383964, + 0.03418153240953503, + 0.03425343667571902, + 0.03432207794792351, + 0.03436719808892243, + 0.03442393996558578, + 0.03447095569772639, + 0.034558362949423084, + 0.034824176063586426, + 0.03491868316187621, + 0.03485084090296787, + 0.03462001958522378, + 0.03456752485055121, + 0.03458419094920968, + 0.03462737306627486, + 0.03465939571748673, + 0.034682412829253974, + 0.034674698841396755, + 0.03465480466517358, + 0.03463281701973396, + 0.03461916462565413, + 0.03460027942196479, + 0.03460563262960115, + 0.034636647111674856, + 0.03463205979600108, + 0.03461393063349499, + 0.03454699536724929, + 0.03454637847092634, + 0.03455791648499122, + 0.03454377682219629, + 0.034518563649889346, + 0.034486596424573066, + 0.034458322877734766, + 0.034365988389890044, + 0.03426886490921255, + 0.034214729193976376, + 0.03419725280781983, + 0.03419101508945397, + 0.034144092279077526, + 0.034097666197734446, + 0.034026676538501124, + 0.033921526965610814, + 0.03382056794309603, + 0.03375289470046823, + 0.03370259182912967, + 0.033590916572489714, + 0.03347716776806069, + 0.03337129248261811, + 0.03324100706515957, + 0.03310444042807048, + 0.03295600370237087, + 0.03282855843138139, + 0.0326965498644088, + 0.03256568770051603, + 0.032383392566300226, + 0.0321933091893339, + 0.03202206598663263, + 0.031867263821275686, + 0.03166437387114195, + 0.03139833590400741, + 0.031090080039071336, + 0.03078677844662438, + 0.03045567566675814, + 0.030081196417897568, + 0.029628487671543143, + 0.029079140222790248, + 0.028358605505730477, + 0.027460215035741517, + 0.026335255119267834, + 0.024883619075137815, + 0.023013656106040645, + 0.020660474083417264, + 0.01777055415163948, + 0.014506869158382002, + 0.011219028524160901, + 0.008198923991310662, + 0.005774456102732029, + 0.004022847534716825, + 0.0028122828651230237, + 0.002034696265635658, + 0.0015630190307870104, + 0.0012842098002514492, + 0.0011437380828620929, + 0.0011094580895841361, + 0.0011726516226953324, + 0.0013486083422093668, + 0.0016672387284577524, + 0.002204749860672431, + 0.0030524213876668314, + 0.004327203854180044, + 0.006150499925202202, + 0.008613215863662635, + 0.011692946326832088, + 0.014969283002042923, + 0.018126736133680252, + 0.02090581886493678, + 0.02312998626286483, + 0.0248595566486066, + 0.026218151817525084, + 0.02724576387011575, + 0.028065808788615993, + 0.02872132034104376, + 0.029236448933132375, + 0.02965562710727765, + 0.030024090832770405, + 0.03030918621180843, + 0.030567039430226213, + 0.03076932828132789, + 0.030978906208638704, + 0.031211650552482078, + 0.03145864404680587, + 0.0316337883140072, + 0.03177295639551286, + 0.0319065588070873, + 0.03203129620297957, + 0.03213960247495928, + 0.03225347641745061, + 0.03236705512754844, + 0.032491108740618155, + 0.03260283404273948, + 0.03270227252001883, + 0.0327867417212364, + 0.03282926762069712, + 0.032897589774419526, + 0.03295793658855987, + 0.033025649605396494, + 0.03309201843020824, + 0.03318990803659191, + 0.033240463325476664, + 0.03328949026801415, + 0.03330010233521439, + 0.03333492922475855, + 0.03335073319222612, + 0.033383661485108365, + 0.03337014975284965, + 0.03334676859999454, + 0.033363611360458324, + 0.033399135106320366, + 0.0334376729959259, + 0.03343053256254946, + 0.033409138064017525, + 0.03336609135836003, + 0.033316288237797455, + 0.03329477748380724, + 0.033259836061985876, + 0.033222929884642885, + 0.03313023773685534, + 0.03307251935603562, + 0.03301382506818585, + 0.032932806052991065, + 0.03285374210682217, + 0.03276383285000939, + 0.03271986703060629, + 0.032643865580405704, + 0.03257000490455987, + 0.0324629738399283, + 0.03234917922028241, + 0.03221766786554202, + 0.03208838406959795, + 0.03195132804898397, + 0.0317786819624849, + 0.03157542767224691, + 0.03133552206873926, + 0.031057629185337905, + 0.03072525089737015, + 0.030348788087211545, + 0.029873153283495362, + 0.029253329476693218, + 0.02843337776410158, + 0.0273547197910997, + 0.025931733729653288, + 0.024041233562238504, + 0.021577470613141796, + 0.018543492895907683, + 0.015112874976795452, + 0.011635726274581726, + 0.008551625237446374, + 0.006116182835939294, + 0.00433774783809245, + 0.003136662993761422, + 0.0023769542792467183, + 0.0019100041128506532, + 0.0016544935900491262, + 0.0015544075860858511, + 0.0015873220402629893, + 0.001755468884517598, + 0.00208922111607814, + 0.002665453026555698, + 0.0035792728990231715, + 0.0049415334316573025, + 0.006884783563083501, + 0.009480861494589765, + 0.012717218853525336, + 0.01619759503923936, + 0.019509865825017913, + 0.022395533742251623, + 0.02463419057705374, + 0.02633350380435673, + 0.02764660179471314, + 0.0286207027566904, + 0.029347757333328856, + 0.029905307010128678, + 0.030354326409748437, + 0.030743941844711575, + 0.03106319368697087, + 0.031303659793854445, + 0.03144818455606269, + 0.03162172816488693, + 0.0318365230296336, + 0.03206610110465751, + 0.032245787532360314, + 0.03233899294083395, + 0.032422968949488463, + 0.03250971438294182, + 0.032623500322229, + 0.03274346900231683, + 0.03286674402407734, + 0.032964905561840674, + 0.033045303797479525, + 0.03314072126428898, + 0.03321417641116126, + 0.03327314667409105, + 0.03331319331136082, + 0.03335219920580127, + 0.0333917027457741, + 0.03343670910455936, + 0.033524241945061824, + 0.033594945892188574, + 0.03362503057619729, + 0.033655320419399955, + 0.03369158099257811, + 0.03374727635609644, + 0.0337511998752149, + 0.033749629054570345, + 0.03376958042831861, + 0.03378403152148705, + 0.03381515168890329, + 0.033801619729714946, + 0.03378366361706762, + 0.033756591313637264, + 0.03374729373401465, + 0.03375627834146838, + 0.03376730541555475, + 0.03375286645198588, + 0.033691403457396754, + 0.0336002207680521, + 0.033526825207480355, + 0.033508294563249046, + 0.03350774632719724, + 0.033482854763851384, + 0.033423337648142946, + 0.033351853376222484, + 0.03327243929306728, + 0.03317365575599829, + 0.033085530103788584, + 0.03298254527277215, + 0.03287477315385708, + 0.032739326488619686, + 0.03255648661083067, + 0.03233001318759274, + 0.032071493356436595, + 0.03178625759450065, + 0.031389432996156125, + 0.030862470083086284, + 0.030169528665563668, + 0.029219232859153163, + 0.027896788353295184, + 0.026076211723591997, + 0.023667010763296845, + 0.02061183360982836, + 0.017029074098662923, + 0.013350963221596226, + 0.010038855068701958, + 0.007358926308217696, + 0.005403132144654155, + 0.004050248644452801, + 0.003188061891286972, + 0.002688988024533405, + 0.00243638143228714, + 0.0023818005665062637, + 0.002514155359118413, + 0.0028672678467254226, + 0.0034991081374766784, + 0.004483928779863153, + 0.005973680475728687, + 0.008083372607633888, + 0.010870334160434791, + 0.014247639479240255, + 0.017879720168301708, + 0.02142017849059255, + 0.024355543514545882, + 0.02661223157221942, + 0.028311864676233485, + 0.02950991703375262, + 0.030372730537950844, + 0.03100079942857413, + 0.03151352155164278, + 0.03190719182534007, + 0.03220516443099887, + 0.03245832727137652, + 0.03270015739221035, + 0.032899034799416395, + 0.03303877339722362, + 0.033164101666523185, + 0.033274996564847586, + 0.03338180374361016, + 0.03348326532854011, + 0.033596887715067775, + 0.033694909040943695, + 0.03378617379868973, + 0.033869186752045075, + 0.033961229936392, + 0.0340440231826728, + 0.03408596139206793, + 0.034135300113320326, + 0.03419953258481848, + 0.034276040825967545, + 0.03435850907002173, + 0.034387870740623994, + 0.03439920153708834, + 0.03444788558861437, + 0.034535951477030334, + 0.034609580082381006, + 0.03462276762895906, + 0.03460965776120361, + 0.03463743886117581, + 0.03471258145692628, + 0.03480756215745169, + 0.0348504679295902, + 0.0348504146483308, + 0.034859101645163856, + 0.03484536525099174, + 0.03483938430361767, + 0.03481974244223945, + 0.03484944866418468, + 0.03487384399175035, + 0.034896540670609315, + 0.03488580841044695, + 0.03489600413303808, + 0.03490778620578901, + 0.034926973773925576, + 0.03493876047395449, + 0.034927825389652695, + 0.03492380733767119, + 0.0349292960369898, + 0.03492956830649076, + 0.034930617863685655, + 0.0348965964157187, + 0.03488817163430237, + 0.03484322548921029, + 0.034827190275531696, + 0.034795757568034796, + 0.03477931841589481, + 0.03470853694640503, + 0.034583289853124186, + 0.03436724990288719, + 0.03414108175852932, + 0.03388613223378514, + 0.03349486152276122, + 0.032893344199741145, + 0.0318782191323551, + 0.030324385227412067, + 0.02820866821693248, + 0.025459134410407726, + 0.022234290751451412, + 0.018958980260512407, + 0.01592535088971076, + 0.013509417230134518, + 0.011837853059686543, + 0.010829074584722436, + 0.010492746490323114, + 0.010750558291341016, + 0.011645512352521972, + 0.013195562766509657, + 0.015363869774699503, + 0.018180223084730513, + 0.02130754510003843, + 0.02441290349497594, + 0.027273140590405483, + 0.029624479793981126, + 0.03136888874529351, + 0.03250656392794922, + 0.03324248030973596, + 0.03374435494802169, + 0.03406814916433654, + 0.034324590128302135, + 0.03449115889722867, + 0.034600133282526355, + 0.03461563550690784, + 0.03464472419743227, + 0.034683112602430156, + 0.034735328691647305, + 0.03475296558688284, + 0.03477120151741998, + 0.03480460217256587, + 0.034839060191685, + 0.03486775587170687, + 0.03486615823732673, + 0.034846629779216994, + 0.034839625076385786, + 0.034845573683393034, + 0.03483732861010828, + 0.03485195292066781, + 0.03487981821364275, + 0.034913990615293426, + 0.03490253661305302, + 0.03488530702101671, + 0.03487821019262686, + 0.03485335926133385, + 0.034826038197392765, + 0.034777703499328634, + 0.03476376838856796, + 0.03475133468926074, + 0.03476248912279827, + 0.03475829471359517, + 0.034762141086602014, + 0.03477431035618318, + 0.034738343654031306, + 0.03467552443880153, + 0.034634523754159145, + 0.03461617488520873, + 0.034596416275614175, + 0.034527172380474834, + 0.03447991710951323, + 0.034445703839795096, + 0.034424726541060484, + 0.03439196945204264, + 0.03433353404798226, + 0.03428696169039178, + 0.03424208092118596, + 0.03421724578216945, + 0.034159885082552126, + 0.034099063330687775, + 0.03399541067661882, + 0.033896933120460285, + 0.033809623794678355, + 0.03369899367346849, + 0.03356223991949487, + 0.03339173464637675, + 0.033213458910913166, + 0.03300067330971221, + 0.03273960044284086, + 0.03236537274027518, + 0.03182510372835708, + 0.031114767395915063, + 0.030070692694805244, + 0.028562481627088684, + 0.026519128655467104, + 0.02376357893219633, + 0.020336653601725894, + 0.0166727268205791, + 0.013078077736496373, + 0.009971808217977496, + 0.0075880148824017495, + 0.005882808628203101, + 0.004777642011756458, + 0.004113168364754485, + 0.003787992636719391, + 0.003748175841240594, + 0.003968510604696474, + 0.0044995039876318576, + 0.0054076087404965, + 0.0067840388757227765, + 0.008765003913664658, + 0.011373973618025153, + 0.014555598495044928, + 0.018088250048197335, + 0.021660695757637252, + 0.024804028080903005, + 0.027225831471413567, + 0.028977702079190797, + 0.03022269035254425, + 0.031094173436510865, + 0.03168718382728416, + 0.03209438302997744, + 0.0323958005974607, + 0.03264942341592027, + 0.0328218935492078, + 0.032968649259936554, + 0.033063229845094314, + 0.033137093372391714, + 0.033177820736188586, + 0.0332418121697617, + 0.033337197221790016, + 0.03339538873205005, + 0.03342539180422256, + 0.033435715416328504, + 0.03348247414516514, + 0.03351555395740941, + 0.03354257349273767, + 0.03355057556264253, + 0.03356386640007866, + 0.03361282689190276, + 0.033661798595623044, + 0.03366724366138466, + 0.033633287799375515, + 0.03362249900085729, + 0.033617288260898694, + 0.033619997989038204, + 0.033605090194844756, + 0.03357180339394816, + 0.033514694832865684, + 0.03348922606562595, + 0.03344283459865766, + 0.03340426353413346, + 0.03334836365699542, + 0.03329734453474105, + 0.03322687982380668, + 0.03315291990449363, + 0.033117011909258705, + 0.03307600374689105, + 0.03302747415807148, + 0.032976010613952146, + 0.032905156920333176, + 0.03281008303274988, + 0.03270667906508785, + 0.03257731682032145, + 0.03241265199303733, + 0.032251168970159026, + 0.032100702631460684, + 0.03194557903707862, + 0.03172098543378699, + 0.0314772611358238, + 0.03117985042130931, + 0.030835250361732878, + 0.03036046450083834, + 0.029749615198105876, + 0.028936522314471417, + 0.027860433410499066, + 0.026380122567984336, + 0.02438247401786328, + 0.021769119645454593, + 0.01856928972240136, + 0.015023412186991235, + 0.011563120955792448, + 0.008560559926662588, + 0.006217466359689385, + 0.004542635625600485, + 0.003393988307063966, + 0.0026652665774936756, + 0.002234143990061986, + 0.0020050595200033876, + 0.0019367439839358055, + 0.0020126888830633164, + 0.0022498591949846156, + 0.0026877345862096115, + 0.003388162812969236, + 0.004463989535344844, + 0.006012575251228874, + 0.008138746149258863, + 0.010894516144824784, + 0.014168493866790735, + 0.017725135845669933, + 0.020994916735209722, + 0.023724993384181915, + 0.025862831020243227, + 0.027423932544892483, + 0.028560191313537393, + 0.029437966221757463, + 0.030085484210641077, + 0.030586905144586677, + 0.03097818502086865, + 0.031326312206977555, + 0.03159244130980692, + 0.03179359583611399, + 0.0319647342202292, + 0.0321430644953733, + 0.03230538088841892, + 0.03245979224390709, + 0.032580294740656976, + 0.03267170830769016, + 0.03274739983878892, + 0.03285493415577618, + 0.03294884798940183, + 0.0330320832475433, + 0.033123608853979664, + 0.03322630706652207, + 0.033317003836150307, + 0.03340249926239503, + 0.03348323752957152, + 0.0335539960664831, + 0.03361876486845227, + 0.03367189681610575, + 0.03374146661803013, + 0.03381119584417809, + 0.03389437358622058, + 0.033970654591851675, + 0.034027957433380454, + 0.03405358011474819, + 0.034091251944214696, + 0.03411441493577975, + 0.03415593273075147, + 0.034186284237519196, + 0.034205248978549034, + 0.03417809417594031, + 0.034169513865462756, + 0.03420153600571974, + 0.03426849084922767, + 0.0343221610821777, + 0.034370368039480605, + 0.034411653261479616, + 0.03442351052862866, + 0.034440585509923495, + 0.03444911011437327, + 0.03446986785963322, + 0.03447869039268728, + 0.03449866657594905, + 0.03450887799545628, + 0.03452682676645673, + 0.03454208129532805, + 0.03457174173163881, + 0.034586013816251246, + 0.03459486623661068, + 0.03459350578664351, + 0.03462036935358269, + 0.03464446092896857, + 0.034653739549936564, + 0.034651774412380223, + 0.034653073027256134, + 0.03468016915684315, + 0.0346878511538887, + 0.03468167637716297, + 0.03466965437802188, + 0.034646580926035814, + 0.03467019314840994, + 0.03471291241313959, + 0.03476699808913075, + 0.03474118648340111, + 0.03470496661084708, + 0.03468682990381478, + 0.03472208286932959, + 0.03474124633744137, + 0.034747357138899565, + 0.03475948840393478, + 0.034795623628435024, + 0.034787090568866544, + 0.03475961284741514, + 0.0347290380816626, + 0.03472763025428056, + 0.034717132658107275, + 0.034687775418672774, + 0.034678999258779784, + 0.03467108731494553, + 0.034669865298902675, + 0.034658669407163875, + 0.03467069066614945, + 0.034683920244606946, + 0.03468710758608462, + 0.034686354870901354, + 0.03468899640246429, + 0.034712248208782506, + 0.034690580137305846, + 0.034661205897762636, + 0.034611531297251134, + 0.03459080346517659, + 0.034576716694466735, + 0.034590582094375405, + 0.03457010728319751, + 0.03457652742816303, + 0.0345932044934058, + 0.03461202484781716, + 0.03461996472024012, + 0.03459132837633904, + 0.03458362062977667, + 0.034559602176454436, + 0.03457895156171432, + 0.03455778664801044, + 0.03452366199145574, + 0.034477486435728205, + 0.03444863477980393, + 0.03443664258235936, + 0.034406951478919166, + 0.03439645727406922, + 0.034359355707030866, + 0.034340917022375884, + 0.034338458676815835, + 0.03432412945946475, + 0.03430545694337598, + 0.03427920742932359, + 0.03422061595516116, + 0.034163909587571636, + 0.03408765232841613, + 0.03403939479778104, + 0.0339600816433817, + 0.03390396725589441, + 0.03382115700807443, + 0.03369515157895251, + 0.033497889706041145, + 0.03324357004675004, + 0.03289034385656044, + 0.032314870783476966, + 0.031463203262646226, + 0.0302022960722291, + 0.02841020484535402, + 0.025995512584932347, + 0.023040949314112855, + 0.019824940595661783, + 0.016696504296797077, + 0.01395897230218781, + 0.011897479727982396, + 0.010480884292627068, + 0.009637797295075481, + 0.009370882829933404, + 0.009617093350344039, + 0.010394472417002708, + 0.011699906050482805, + 0.013614121826198498, + 0.016128229465014722, + 0.01898400274204361, + 0.021941649862345744, + 0.02483316684357684, + 0.027354360133324117, + 0.029328460770453868, + 0.0307213332578613, + 0.031675838853471514, + 0.03228204426429519, + 0.03269222555096515, + 0.032974730953873946, + 0.03316111674877757, + 0.033277514098202204, + 0.03337828862929809, + 0.03345645864181664, + 0.033492931475394526, + 0.03349214197466983, + 0.033489397198132285, + 0.03351729590868664, + 0.033539505042044004, + 0.033543792445736895, + 0.033509808730224015, + 0.033475804031490836, + 0.033467854676095504, + 0.033462990763735094, + 0.033438276522571794, + 0.03339830747033977, + 0.03335623299941557, + 0.03337157711521795, + 0.03337149852214917, + 0.03334358954659948, + 0.03326975363066161, + 0.03324335715247231, + 0.03324571600470054, + 0.03326276069722322, + 0.03322299935840059, + 0.03313070669421155, + 0.03305296823141768, + 0.03299476892245794, + 0.032959954655921754, + 0.0329025178313387, + 0.0328460833516477, + 0.03276519652787209, + 0.032688470993103215, + 0.03261409206118252, + 0.03253714085137428, + 0.032411930633047994, + 0.032275364966828805, + 0.03218973554326687, + 0.03207890698427571, + 0.03190433761659224, + 0.03167304310423467, + 0.031444527357484896, + 0.031190586759349395, + 0.030845917614392846, + 0.03039652399125061, + 0.029781188741396458, + 0.028951529733785605, + 0.027821193559174645, + 0.026272122480301467, + 0.024125536279737833, + 0.021337144778058908, + 0.01801754494729464, + 0.014473873825126866, + 0.011158028541711251, + 0.008375081372574828, + 0.006230310437462175, + 0.004729188029531447, + 0.0037203058443815856, + 0.0030801783548098883, + 0.0027277706834577297, + 0.0025835341798307885, + 0.0026141542475459196, + 0.002817511286639986, + 0.003235680966280507, + 0.003944001865601469, + 0.004996383614246495, + 0.00649068899689757, + 0.008539758723409273, + 0.011172447206794434, + 0.014309576472694636, + 0.017702618244412473, + 0.020998534194270245, + 0.023810010387996246, + 0.025932605930912334, + 0.027488635708256222, + 0.0285864804171857, + 0.029363934505557826, + 0.02993675394793912, + 0.030389029048588905, + 0.030760865088312047, + 0.031031948663944306, + 0.031224777806470795, + 0.031366813092351564, + 0.03151623237330356, + 0.03165376568589267, + 0.03175279757149434, + 0.03181646305100466, + 0.03188187903921884, + 0.03195998369717018, + 0.03202742387265072, + 0.03207343964161103, + 0.03210464578267689, + 0.03214770402317828, + 0.03216567363689394, + 0.03218046120695634, + 0.03222018041009983, + 0.032270964619860204, + 0.03230078330114168, + 0.032311345769696, + 0.03233386132742203, + 0.032361555049357595, + 0.032372589057530425, + 0.032343711154116404, + 0.03230775582591249, + 0.03232957459768398, + 0.03233585155388949, + 0.032305132067733514, + 0.03224677521791828, + 0.032193696645540205, + 0.032144085313078476, + 0.032103407300835836, + 0.03207814152260184, + 0.03200402003620816, + 0.031869603835284296, + 0.031734193204587084, + 0.03157711071436552, + 0.03135667149238326, + 0.031076885250701906, + 0.030736346693759194, + 0.030281712430468292, + 0.0296490865745999, + 0.02873828530408959, + 0.027457005210613613, + 0.025665964536589255, + 0.023213991587336728, + 0.02011185562525711, + 0.016650749164299365, + 0.013187584923903652, + 0.010128483810668939, + 0.007691968221805113, + 0.0058907329088882425, + 0.004676080332171805, + 0.003894221404693482, + 0.003443862818483479, + 0.003249104954280211, + 0.0032670579598694655, + 0.003493300811066667, + 0.003956388925781486, + 0.00473562863237262, + 0.005912021513349771, + 0.007543598479263219, + 0.009701730555958337, + 0.012424413851886792, + 0.01565517901179788, + 0.01905949162232013, + 0.022232512539203567, + 0.024964885035573037, + 0.026999024037354363, + 0.028462326049026022, + 0.02949773374802519, + 0.030214270936525532, + 0.030723619626437246, + 0.031105175632871025, + 0.031399057982744914, + 0.03163463388061758, + 0.03182486418278124, + 0.03196271926482234, + 0.03208862170676327, + 0.03219307395261584, + 0.03227224188817434, + 0.03237881674115158, + 0.03246999646060887, + 0.03254328051224283, + 0.03258284391658849, + 0.03265970043336297, + 0.032740796490715776, + 0.03277824320100032, + 0.03280452168404737, + 0.032845570974400606, + 0.03292566040916172, + 0.03298963467500754, + 0.03299149054284169, + 0.032990589569738875, + 0.033000808327447013, + 0.03301515973960059, + 0.03303506163230965, + 0.03305877256645483, + 0.033078080125233965, + 0.033089794111510175, + 0.03310956447516918, + 0.03313567133818909, + 0.033127907801841924, + 0.03309965857896119, + 0.03308558021307021, + 0.03308555724629728, + 0.03309023477437251, + 0.03306176827565279, + 0.03303106351874623, + 0.03295372720653604, + 0.03284370268195048, + 0.03267941224080497, + 0.032496348803201444, + 0.03221490036224927, + 0.03177703899707114, + 0.031142231483728747, + 0.030218039412418303, + 0.02887374400744578, + 0.026953214564425468, + 0.024387983886723297, + 0.02129699948752795, + 0.01799705339991789, + 0.01483482181055632, + 0.012128922360720324, + 0.010083642100252045, + 0.008634559489705124, + 0.007750771813001277, + 0.007342032204517541, + 0.007351422706020379, + 0.00775365487528087, + 0.008563396653721045, + 0.009890429715899913, + 0.011771223779969935, + 0.01414341442949399, + 0.016931140383454057, + 0.019948140496260827, + 0.022988211420969688, + 0.025725979417764035, + 0.02795589277104746, + 0.02964149311513499, + 0.03077964277184924, + 0.03152858378394241, + 0.03205848560392464, + 0.03243507022170927, + 0.03267963426893679, + 0.032835692833006046, + 0.03295806711316241, + 0.033054362336305286, + 0.03312903400084736, + 0.03315120094760353, + 0.033176913756274524, + 0.03319246524556022, + 0.03323676299610633, + 0.03327809284679813, + 0.0333099783299114, + 0.03333119512075572, + 0.03332370824136476, + 0.03332368706085281, + 0.03333171852305638, + 0.033327358045597805, + 0.03331460310393981, + 0.03333101712533837, + 0.03335250685163832, + 0.0333501094860238, + 0.03334362135533889, + 0.03334189316842487, + 0.03334495313568985, + 0.03333385892213267, + 0.03331843300769957, + 0.03327180584305121, + 0.03322330673063329, + 0.03321982070517225, + 0.033225525874265464, + 0.03319721088923833, + 0.03315278573559102, + 0.03307543617928647, + 0.03297996014258891, + 0.03288004698009643, + 0.032801810466137976, + 0.03271720041188547, + 0.032569045876566886, + 0.032353912385969595, + 0.03209871373230688, + 0.031769309901835255, + 0.031274041015325466, + 0.03049210013781372, + 0.029363802938665386, + 0.02775746525075471, + 0.025556982407346385, + 0.022731963250640225, + 0.019452841344886625, + 0.016051572927886774, + 0.012965459009021577, + 0.010393093515322424, + 0.008422256058380052, + 0.007087998207234828, + 0.00625622235707874, + 0.005827292653668659, + 0.005734309899655702, + 0.005959185002160041, + 0.006543234208367105, + 0.007528204345902243, + 0.008979166486839456, + 0.010960989024543727, + 0.01342075995135138, + 0.01629347751231098, + 0.01941694357647029, + 0.022505251059269104, + 0.025293957929728758, + 0.02750427629677263, + 0.029107941914252693, + 0.030227956177858145, + 0.030957255925707493, + 0.03144347694249179, + 0.03175720969669202, + 0.031977607477381105, + 0.03216999004443953, + 0.03230299435833743, + 0.03240846053878274, + 0.03247322430635903, + 0.032559855021800324, + 0.0325988243263056, + 0.032606609510402076, + 0.03263227624454713, + 0.03266321640178308, + 0.032679966298286095, + 0.03268456040286155, + 0.0326855038311741, + 0.03270581806340695, + 0.032684544102203034, + 0.032660465417612514, + 0.032628159785678554, + 0.03260384980493521, + 0.03259238408644621, + 0.03256915310685027, + 0.032541717102413735, + 0.032490218782602116, + 0.03244752191000524, + 0.03242238146636622, + 0.032387381468767705, + 0.03231603799141395, + 0.03221438175573567, + 0.03210510188260347, + 0.03200591515570626, + 0.03192405760832005, + 0.03182893888036064, + 0.03171698053967771, + 0.031542109981426245, + 0.031302813138287804, + 0.030999710631210653, + 0.030609048178682, + 0.030075667591272247, + 0.029331666896976527, + 0.02830242254416477, + 0.02685888430056901, + 0.02483953661620062, + 0.022167952786887903, + 0.018927029810664, + 0.01545377544109852, + 0.012168982408396778, + 0.009325991619471764, + 0.00712789678210308, + 0.0055315391674854615, + 0.004448975909368409, + 0.0037793565336398834, + 0.003397428413773768, + 0.003243312474370874, + 0.003288737459229511, + 0.0035340410834432956, + 0.004020218627605964, + 0.00478671243220297, + 0.00592404091616175, + 0.007508043514024653, + 0.009578558621024304, + 0.012179652475873607, + 0.01523610251402899, + 0.01856517744544535, + 0.021771126448832487, + 0.02446506925970916, + 0.026547668815238984, + 0.028090698545883298, + 0.02914627964769275, + 0.029897990943604017, + 0.03041329263593974, + 0.03082265871769161, + 0.03111958027314155, + 0.031334450832802466, + 0.03149429587582878, + 0.03163108776630179, + 0.03174927298374785, + 0.031862722308044274, + 0.03195336688503491, + 0.032025357969295384, + 0.03208489651083605, + 0.03215177506022386, + 0.032229293403748846, + 0.03229298830681271, + 0.032333813469281124, + 0.03236674740944342, + 0.03239139937075347, + 0.03240672577027228, + 0.03243557589158116, + 0.032495067832450035, + 0.03254250686819027, + 0.03256764992410129, + 0.03258578639232904, + 0.032599239847666106, + 0.03261192543958218, + 0.03263534141655937, + 0.032672665246892725, + 0.03265887852213791, + 0.03262218494993347, + 0.03255536665738768, + 0.032496163499297716, + 0.0324271701744848, + 0.03233643391096996, + 0.032217582734962384, + 0.032055310279639, + 0.03180773250753077, + 0.031417348549992966, + 0.030850894561079926, + 0.029974743570862074, + 0.02867090602574195, + 0.026830184940608903, + 0.02438443360356971, + 0.021414860725880322, + 0.01812903646547413, + 0.014917104184373368, + 0.01208994925195099, + 0.009870425810464661, + 0.008270015188278626, + 0.007196797196833435, + 0.006600695300902408, + 0.006376619477061936, + 0.006485247437582114, + 0.006938017511464732, + 0.0077660109986889166, + 0.009070126571556926, + 0.010845138387381407, + 0.013091364685276689, + 0.01580258535369726, + 0.01876503689026551, + 0.02185236068832469, + 0.024707753322474803, + 0.027084724279151692, + 0.028920739143414618, + 0.03020847029632175, + 0.031062799837235016, + 0.03164302710052224, + 0.0320611302274888, + 0.03237524177782492, + 0.03259882635321336, + 0.032747360975745037, + 0.03286873445391764, + 0.032964600879646214, + 0.03305608585422493, + 0.0331353530203, + 0.03321041251025537, + 0.03327196209181419, + 0.03334311878435189, + 0.033400307483528326, + 0.03341389902156154, + 0.03343630181318444, + 0.03349078771458502, + 0.03355602765622711, + 0.03360170233722077, + 0.03363913372403871, + 0.03366882195727513, + 0.03367129780166927, + 0.03367515176163999, + 0.033692657069020054, + 0.03371494318037129, + 0.03372941263737427, + 0.03373212527997886, + 0.03376401088793524, + 0.033791280219331886, + 0.03382835180148968, + 0.033849001718894614, + 0.033893253911534575, + 0.03392576771181733, + 0.03395326827600941, + 0.033949801062433574, + 0.03395166320008128, + 0.03397039926726446, + 0.03398204244851567, + 0.03399125387548387, + 0.03398996692790636, + 0.03400981526402969, + 0.034018066128273954, + 0.034023225227679504, + 0.03403863236228062, + 0.03407110033912016, + 0.034095619493802104, + 0.03413868750639342, + 0.034151066986346554, + 0.0341492785563676, + 0.034128169670161884, + 0.03414127295748725, + 0.034151093680750116, + 0.03414456369373573, + 0.03415668930389055, + 0.03414949431472485, + 0.03413959225858074, + 0.03411935017517235, + 0.034140481496646696, + 0.03413846299300702, + 0.03412742768862003, + 0.034123391785270886, + 0.03413496452239319, + 0.0341464272432593, + 0.03414729904509122, + 0.03414760374143336, + 0.03414771049764247, + 0.03415277551230987, + 0.03415083341209548, + 0.03414373650304911, + 0.03413758941951422, + 0.03413656475033509, + 0.03411894384646892, + 0.03412528189963514, + 0.03409399871411375, + 0.034089294669653, + 0.03408577524418892, + 0.034124246863953545, + 0.03414757705248537, + 0.03414522414088084, + 0.03410938126391194, + 0.03405501566579567, + 0.03401992472489496, + 0.03399456865494166, + 0.03397308256827349, + 0.033942862166748786, + 0.03392316211741022, + 0.03390002567615546, + 0.0338932999241052, + 0.033860404365644414, + 0.03384101831845986, + 0.03383036436000848, + 0.03382354838626434, + 0.03379623568485871, + 0.03376624413778694, + 0.03374855150836884, + 0.033733577265557854, + 0.03370882814102842, + 0.033671674075396604, + 0.033592311227617244, + 0.033462804950591604, + 0.0333055029408041, + 0.03312540448131335, + 0.03283676428901674, + 0.03238840385823105, + 0.03170862475585221, + 0.0307196592037807, + 0.029280976133810702, + 0.027321061450918626, + 0.024802007518449132, + 0.02188371371991244, + 0.018892717967966183, + 0.016114857704055713, + 0.01381420405651016, + 0.01214248671591276, + 0.011064416595814511, + 0.010507929208727404, + 0.010431987693514517, + 0.010814897118125968, + 0.011687745514036717, + 0.013049886204777239, + 0.01491738261119751, + 0.017225843101603258, + 0.019788441881378505, + 0.02245199176378885, + 0.02503070305850396, + 0.02735266473118962, + 0.029238855519382743, + 0.030614778441564083, + 0.031540087237438404, + 0.03216838137124009, + 0.03261847487252965, + 0.03293267986566827, + 0.033108109260145326, + 0.03320999598785182, + 0.033285512750522384, + 0.03334708462975238, + 0.0334157049632285, + 0.03347506877135577, + 0.03350204659185074, + 0.033489380084802955, + 0.033480861957475336, + 0.033515800347887016, + 0.03352910438278209, + 0.03353581291666866, + 0.03353276714979986, + 0.03352770425061468, + 0.03352398899968534, + 0.03347762094650036, + 0.03343325064212059, + 0.033428577950303705, + 0.03344352791048437, + 0.03346499639555293, + 0.03346586792711768, + 0.033476353360287425, + 0.03346334317364088, + 0.03343556828725427, + 0.033393012847337, + 0.033376032035612783, + 0.03333280988031766, + 0.033259496364970394, + 0.033177976103463486, + 0.03310742978544657, + 0.033009268872346585, + 0.03284660191839071, + 0.03263845186483873, + 0.03233553645161203, + 0.031832465717386196, + 0.031096375466337686, + 0.030026470632030726, + 0.02847343692840018, + 0.02636973620506317, + 0.02377959750012337, + 0.0208827865340823, + 0.017980022547731827, + 0.015387058984704391, + 0.013325377742312659, + 0.011846917778565533, + 0.010927586812629054, + 0.010523177895032038, + 0.01057495424003852, + 0.01107682561799876, + 0.012039899067374456, + 0.013492848549383929, + 0.015395408838946415, + 0.017660668773599328, + 0.020157396615140776, + 0.022737032374233322, + 0.025201755655142877, + 0.027366008144953494, + 0.029105718408081172, + 0.03037162559056003, + 0.03122037480075192, + 0.031784850858768365, + 0.032133379807162216, + 0.03235770031528959, + 0.03250123997889076, + 0.0325777884736612, + 0.03260913238317074, + 0.03264747775493295, + 0.032688523983033506, + 0.03270818694738166, + 0.032721625276576766, + 0.03270957660748196, + 0.03266907192476084, + 0.03264228436220728, + 0.032643255838018505, + 0.03262264775401649, + 0.03259760012007234, + 0.03257308267328307, + 0.03254537135317291, + 0.032461166906287114, + 0.032400391236108474, + 0.03235073216880373, + 0.03231288313876646, + 0.03226132778185403, + 0.03220538797477467, + 0.03214746156778965, + 0.032048377714699705, + 0.03190539575006507, + 0.03175777332147876, + 0.03162223358683771, + 0.03144541564467726, + 0.03118603756709792, + 0.03084582687534918, + 0.030401434530580786, + 0.029810951144060526, + 0.028987577794974014, + 0.027816945348293317, + 0.026154320909438922, + 0.023905359783671375, + 0.02103556066087597, + 0.017761580405564126, + 0.014411506159183855, + 0.011330398614405109, + 0.008774808523036217, + 0.006823797117816185, + 0.005448783422914505, + 0.004534933679985613, + 0.003975493354624611, + 0.0036840408783730223, + 0.0036076809871094326, + 0.0037326281800897413, + 0.00406751973525372, + 0.0046475447601691455, + 0.005526647250540218, + 0.006765436646087639, + 0.008419323307937432, + 0.010537157726471874, + 0.013136269250223823, + 0.01614851329558505, + 0.019371108462881585, + 0.022426192270481725, + 0.02501453290314159, + 0.026993002355750688, + 0.028384957999262397, + 0.02932403503930451, + 0.029939639665362762, + 0.030401720116854748, + 0.030750133930074367, + 0.031010668079597802, + 0.031198255856783933, + 0.031354464321863604, + 0.031513629520946405, + 0.03165693458819955, + 0.03174032754491453, + 0.031776233948255614, + 0.031824715434520805, + 0.031902499155261145, + 0.031977063327134986, + 0.03203621476646055, + 0.03209366005014879, + 0.03212724223318551, + 0.03212889010987867, + 0.032106043612677, + 0.03212718120396166, + 0.032165513792192284, + 0.03219524458660157, + 0.03218453066661134, + 0.03217853548653151, + 0.032150806986555404, + 0.03215559863374524, + 0.03213541239847279, + 0.03205059549572152, + 0.03189950604221382, + 0.03172276656446737, + 0.03149912658967439, + 0.031156688988511757, + 0.030626363482678682, + 0.02982981878098335, + 0.028649755255653688, + 0.02696478964873996, + 0.02471744247488221, + 0.021943776773234187, + 0.018826388572195988, + 0.015727987603074225, + 0.012968622487547064, + 0.010757410431172133, + 0.009141836848566008, + 0.008060713149751706, + 0.007435234406837655, + 0.00719921320122326, + 0.007316077173361423, + 0.0077824708204844665, + 0.008619828485984131, + 0.00985867566768248, + 0.011529853746296418, + 0.013605651194916482, + 0.016054858345627643, + 0.01877527540088261, + 0.02161168045110953, + 0.024331540254700388, + 0.0266992177454304, + 0.02855201017723019, + 0.02991199863165021, + 0.030826939375198963, + 0.03142096365021309, + 0.03180335649254633, + 0.032058330743273175, + 0.03223691297715781, + 0.03239144139591217, + 0.03255671910179899, + 0.03267500693027644, + 0.03272993304225105, + 0.03278297567307466, + 0.032851164776830345, + 0.032923578311587764, + 0.03297072462167695, + 0.033006885269205546, + 0.033011336880186634, + 0.033033773222461316, + 0.033078386908759985, + 0.03312144515148244, + 0.03313137665632238, + 0.033130882556642906, + 0.033178612284644964, + 0.033216409066240855, + 0.03324086796726837, + 0.033294790170070865, + 0.03334362559650873, + 0.033336779632802516, + 0.033317399757323285, + 0.03332679452972928, + 0.03334000191027385, + 0.03334693403764417, + 0.033368079020067255, + 0.03339602689655142, + 0.03341175259009144, + 0.033394937777176205, + 0.03339673103301899, + 0.03344894313147585, + 0.03348429819986004, + 0.033466094361864915, + 0.033419123583025095, + 0.033407764962997334, + 0.03341661652678489, + 0.03343354699280904, + 0.03344262767731329, + 0.03342642323920867, + 0.03341456557871714, + 0.033425656050096154, + 0.033445501339955816, + 0.03347353850790026, + 0.033488928727055604, + 0.03345550861098648, + 0.03340057771644395, + 0.033415915811125074, + 0.03347393602098863, + 0.03350767351594613, + 0.033504883370237694, + 0.03346029347193433, + 0.033391513470118754, + 0.03335576188008905, + 0.033347031604207024, + 0.03335290361706301, + 0.03336655002850509, + 0.03338274321632869, + 0.03336156479055801, + 0.033294635821186885, + 0.03320060807327072, + 0.033167779538725135, + 0.03318694578098684, + 0.03319230764117326, + 0.033150808966541136, + 0.033114895083446644, + 0.033089343018556844, + 0.03305129296049344, + 0.03302428912378125, + 0.03302787987277896, + 0.03298581357347908, + 0.032913558153837966, + 0.03288387042793664, + 0.03285497533345148, + 0.03279617396319526, + 0.032706011886845715, + 0.03262461887810808, + 0.03253471188187054, + 0.03243471505824927, + 0.032316277020505435, + 0.032193348725254214, + 0.032038935989653926, + 0.031823730253873354, + 0.03152555047107815, + 0.031154915315876365, + 0.030641431061806293, + 0.029877021019019498, + 0.02874910825276764, + 0.027153712069389137, + 0.024992303834049212, + 0.02227116165605743, + 0.019127633010139596, + 0.01582564646513735, + 0.012749619083340985, + 0.010131744682693082, + 0.008121794195747682, + 0.006671855978476098, + 0.005697203244874377, + 0.0051038813048541075, + 0.0048098153817948755, + 0.004775767875061667, + 0.00498202590629145, + 0.00544370751568214, + 0.0061938026248998315, + 0.0072750313986607515, + 0.008725052734274109, + 0.010573802555502337, + 0.012843874877266289, + 0.015541913851894355, + 0.018550727263180376, + 0.021603626558490303, + 0.02440013526259065, + 0.026674438028006207, + 0.028354995141736578, + 0.029529087295454434, + 0.03035004949434723, + 0.030924793404321405, + 0.03132249803804238, + 0.03158791878748779, + 0.03174930182335272, + 0.031868780529583356, + 0.031976663515280015, + 0.032100732113044914, + 0.03223733716328797, + 0.03231763756175812, + 0.032330888409385625, + 0.032333679866054225, + 0.03240535972070552, + 0.03248776259038054, + 0.03250925880913807, + 0.03252860774434349, + 0.0325619136136198, + 0.03256382077327397, + 0.032554810752436325, + 0.03257032459310856, + 0.03259277107744668, + 0.032620096405385934, + 0.03264552012950911, + 0.03264947831254068, + 0.032569183455171874, + 0.032443710915278264, + 0.03230044102231418, + 0.0321438094100075, + 0.03192127229182325, + 0.03154616384031319, + 0.03089773317537785, + 0.029892171344502304, + 0.028493621912993497, + 0.026645397294863607, + 0.024332793726701617, + 0.021624835696157464, + 0.018829881576261292, + 0.01624086318244938, + 0.014098464444972461, + 0.012496013720903736, + 0.011414298579108277, + 0.010817724819668133, + 0.01065997728801531, + 0.010928299294261251, + 0.01161287601727401, + 0.012708551793078806, + 0.01422010988168099, + 0.016124011401410104, + 0.018323007024201463, + 0.02069547220230127, + 0.023114643141949293, + 0.025448037442040442, + 0.02754454827167794, + 0.02926671986859986, + 0.03054292144749381, + 0.0313918142548803, + 0.031941853894506614, + 0.032324625337426444, + 0.03256851378202089, + 0.0326924008662718, + 0.032791936063830594, + 0.032924459087361836, + 0.03303679979190687, + 0.0331153719731554, + 0.0332112981810016, + 0.03329014341567102, + 0.03328168618542901, + 0.03327374638783099, + 0.03331575261772619, + 0.03335622663284948, + 0.033376573845243104, + 0.03339523557619884, + 0.033418384420289625, + 0.03346096615246564, + 0.03348131737407228, + 0.033471595958775684, + 0.03347501747534233, + 0.03352490219335122, + 0.033579144100993115, + 0.03359314850677184, + 0.03357990974912486, + 0.03357520027588265, + 0.033584437680000814, + 0.033617812064498945, + 0.03365806221164016, + 0.03367106858156654, + 0.03369434168888158, + 0.03372178919315091, + 0.03372195403482477, + 0.03369295587105, + 0.03367935708791965, + 0.033670354991794146, + 0.03367429524985029, + 0.03371094788571965, + 0.03374050684639706, + 0.03374857106000554, + 0.03373666830581423, + 0.03369225217907363, + 0.03367921429727253, + 0.03372494749292085, + 0.03376642681199379, + 0.03377305443783133, + 0.03379140000465344, + 0.03378565126700381, + 0.03375679996497402, + 0.03372892440803836, + 0.03371726752045398, + 0.03371169571202878, + 0.033700178532115696, + 0.03369168491647927, + 0.0336816072822291, + 0.03369181915246716, + 0.03375160835598996, + 0.033791596018829625, + 0.033784858791459, + 0.033788936953672334, + 0.033762719347588614, + 0.03369983844533167, + 0.03368389456667565, + 0.03371278608056389, + 0.03371156565289602, + 0.033688779618997716, + 0.03368231485738236, + 0.03364052806892469, + 0.03358793610061211, + 0.03360569547210096, + 0.03366954196879559, + 0.033683059249876586, + 0.03364102237682888, + 0.03359018700737963, + 0.03357599154708429, + 0.03357544969430144, + 0.0335605169244446, + 0.033567771026579464, + 0.03358620616316825, + 0.033550938407885464, + 0.03349732040859616, + 0.03345792755972724, + 0.033331847786884396, + 0.033124414560115015, + 0.03293513965842783, + 0.032682594253229884, + 0.03220758005514545, + 0.03150581407646851, + 0.030555520587537306, + 0.029251912771845925, + 0.02753459286365585, + 0.02542975227856862, + 0.023167631704792278, + 0.020996672333722013, + 0.019093835292362697, + 0.01762509295154955, + 0.01662642259378002, + 0.01613463021430837, + 0.016131936476069357, + 0.016606043559950996, + 0.01752072023805466, + 0.018812046099215204, + 0.02039454208867764, + 0.022134973146112402, + 0.023927939427291767, + 0.02574473620297549, + 0.027482820092283162, + 0.02898321588495694, + 0.030183402766919384, + 0.0311349079180205, + 0.03185562890544944, + 0.03233944375500439, + 0.03263427087687236, + 0.032784256893387015, + 0.0328658313092353, + 0.03291846412731393, + 0.032966037287874915, + 0.03298954541593389, + 0.03296779721404104, + 0.032928352846273136, + 0.032912353582814226, + 0.032918741087704546, + 0.032940999955327885, + 0.03294032939198476, + 0.03291211391882204, + 0.03290455389867952, + 0.03289821111961142, + 0.03286234780053534, + 0.03282930462271986, + 0.032772860624891424, + 0.03269741445654194, + 0.03265168449617323, + 0.03261419350183245, + 0.03253202690955983, + 0.03237513981897418, + 0.03216052191164358, + 0.03190907743651588, + 0.031546403004985506, + 0.031023241276873174, + 0.030330974447810907, + 0.02934166716195505, + 0.027918075426643006, + 0.025956131302315697, + 0.023459837387343894, + 0.020553527031466474, + 0.01747363630194868, + 0.014556427758096674, + 0.012044020143814818, + 0.010095351749514632, + 0.008686058098749174, + 0.007749783775640354, + 0.00721823405930173, + 0.0070219018708071205, + 0.007150242707403789, + 0.007577898474476164, + 0.008329481740271441, + 0.009434513655255015, + 0.010900389903167895, + 0.012721905638036976, + 0.0148841485385152, + 0.017340404596651898, + 0.02000365667430051, + 0.02269826214698697, + 0.02516537867345899, + 0.0272308684098284, + 0.028784508298506196, + 0.029915780841433832, + 0.030677712690413316, + 0.031152394011996116, + 0.03141833320579144, + 0.0315924736725871, + 0.031789352851460465, + 0.03197398405874712, + 0.032066495311169244, + 0.03210097976049048, + 0.03214572703428616, + 0.032205255430745476, + 0.032212709264520877, + 0.032193115464728056, + 0.03221446093122261, + 0.032250928919368003, + 0.03224945099942678, + 0.03220983179853422, + 0.032170943481298515, + 0.03215109681105086, + 0.03212374622309108, + 0.0320620144799114, + 0.03194850098199862, + 0.03182301555314923, + 0.03170220553355525, + 0.0314820696112533, + 0.031134819168655764, + 0.030672141873632798, + 0.02998350669225684, + 0.028892083641383008, + 0.027348552684387347, + 0.025280517460591772, + 0.022735646076595423, + 0.01980331006513901, + 0.016802115390839995, + 0.014039970727209467, + 0.011710020120343256, + 0.009934057418839752, + 0.00866345664728881, + 0.007834678434305218, + 0.007383251546307666, + 0.007266379512215889, + 0.007478358052180762, + 0.008000976681723844, + 0.008856180312782515, + 0.010059560561936114, + 0.01160854394218968, + 0.013483916351820429, + 0.01564825335767628, + 0.01808761228600292, + 0.02068819271814192, + 0.02329769618148996, + 0.025710487304083613, + 0.02770575947383746, + 0.029145453316398232, + 0.030116730131722783, + 0.030783195736403385, + 0.03126224796508995, + 0.03156641266452029, + 0.031766657382245135, + 0.03190676074883224, + 0.03198561584365625, + 0.03206172037723988, + 0.032177632946133176, + 0.03228823516768743, + 0.03233356620447665, + 0.032330067015355936, + 0.03233596523153494, + 0.03235751059820673, + 0.03237979859464876, + 0.032381770480317325, + 0.0323462134629959, + 0.03229585677731715, + 0.03224153998417589, + 0.03219974889394125, + 0.03215122890966328, + 0.032034224063599195, + 0.031901268455835574, + 0.0317873850000003, + 0.03160565654734027, + 0.03122396330555411, + 0.030577186622154254, + 0.029624305708586894, + 0.028278946939757403, + 0.026485312969300383, + 0.024202979892186026, + 0.021531677794290934, + 0.01863480888522906, + 0.015889970874286632, + 0.013504713956244859, + 0.011627310767451122, + 0.010265762251174392, + 0.009366471188839811, + 0.008889069737475672, + 0.00878144811889472, + 0.009037384012699995, + 0.00963366113153036, + 0.010584386156961459, + 0.011902283084041804, + 0.013555293262800411, + 0.01550541107758183, + 0.017702813106553854, + 0.020082170630882638, + 0.02254972666163849, + 0.024932379537423627, + 0.027029298202724473, + 0.028758601585790963, + 0.03001613225125458, + 0.030821571525789127, + 0.03134972286282439, + 0.031761698089638246, + 0.03207556669915898, + 0.03228334030061077, + 0.03238353858201203, + 0.03242918594571157, + 0.032509002806453656, + 0.03259035000213834, + 0.032619436813746586, + 0.03259592610608597, + 0.032562469761176174, + 0.03258953562920253, + 0.032664494383422525, + 0.032716745129162034, + 0.03274584743421076, + 0.032751669198945677, + 0.03273743755595167, + 0.03272582050809263, + 0.032732916450986374, + 0.03272633528439106, + 0.032644221273984364, + 0.03250281562162112, + 0.032359026399965726, + 0.032160289126573906, + 0.03183056982456055, + 0.031281825869427037, + 0.03048546200341808, + 0.02939120414309421, + 0.02793734941967527, + 0.025999792512642148, + 0.023668136866447528, + 0.021151357300310158, + 0.018725143882970134, + 0.016624681751979054, + 0.014968785527768117, + 0.013814929149898916, + 0.013137150074740391, + 0.012893922910529227, + 0.013096388930937512, + 0.013700321153539616, + 0.014695361518652238, + 0.01606494418414874, + 0.01776741176734521, + 0.019689868645327815, + 0.021726862185551074, + 0.023805022279976717, + 0.025785923052414936, + 0.02763476035902924, + 0.029218705259052628, + 0.03044416280352387, + 0.031301323658975054, + 0.03189372909796654, + 0.03229251889691454, + 0.032603545677879174, + 0.03280987770765911, + 0.03287418773565965, + 0.03284600721425842, + 0.032846044254025326, + 0.03290681121307526, + 0.03301316608798376, + 0.03314054529739248, + 0.033184525947595606, + 0.033142608836263236, + 0.03309638439448612, + 0.033084033158999264, + 0.03313142481089284, + 0.03318471918521326, + 0.0331683020179986, + 0.0331262332980539, + 0.03311213232171127, + 0.03311418604914086, + 0.033105736446796104, + 0.033076780010593894, + 0.033048372060948815, + 0.032992275301447625, + 0.03286748165008439, + 0.032637612737115226, + 0.03223168094491705, + 0.03160445054860265, + 0.03075536506568119, + 0.02962456014177623, + 0.02811738760483392, + 0.026335702244538343, + 0.024359621852702455, + 0.02242217364662427, + 0.020706334798489143, + 0.019330074981613335, + 0.018380452595086225, + 0.017884911863879707, + 0.017862916642561566, + 0.018255744353838758, + 0.01907132767051441, + 0.02024567685244846, + 0.02166613454006368, + 0.023197613055665898, + 0.02477122356108639, + 0.026390437412761834, + 0.027947553560262926, + 0.029283834941961042, + 0.03035482200539325, + 0.031248014546423772, + 0.03196821714544176, + 0.032478452565475505, + 0.03277981302511893, + 0.03296699288995789, + 0.033072327422904634, + 0.03313749131250728, + 0.03317968523953079, + 0.03315707338840793, + 0.033117231555891746, + 0.03313848829918489, + 0.03320218287025794, + 0.03326188916121023, + 0.033253669848131974, + 0.03318824826795854, + 0.033148321046213534, + 0.033148161764961576, + 0.03316722560277419, + 0.033163908668945585, + 0.03310289578991359, + 0.03302105686931802, + 0.032955185453375176, + 0.032864232635199477, + 0.032672940122771554, + 0.032345983968783285, + 0.031932196704641244, + 0.031448463737675784, + 0.03074078725657026, + 0.029612961092773216, + 0.0280682278590524, + 0.026039053016983633, + 0.0235675179217028, + 0.020704854722284, + 0.01785179706982756, + 0.015240527953506347, + 0.013085569553528019, + 0.011443624312602879, + 0.010291887192524059, + 0.009611756097582438, + 0.009307558599372634, + 0.009367548269081165, + 0.009770578655126124, + 0.010528438922290509, + 0.011636598145221857, + 0.013090312188245945, + 0.014849447009004245, + 0.016874654846992652, + 0.019101692041323556, + 0.02146067048713276, + 0.023854266071195722, + 0.026155646571107322, + 0.028174042724283248, + 0.02970361874614886, + 0.03076787288722045, + 0.03151691251984055, + 0.032066006967222685, + 0.03250082695204075, + 0.032802023899289545, + 0.032956650044225023, + 0.03299506585665062, + 0.033045666210332315, + 0.03318460786326743, + 0.03331522971672129, + 0.03337960405395434, + 0.03339998193314576, + 0.033396146023292994, + 0.0334360182077731, + 0.03348294671235983, + 0.033527487701563614, + 0.03358737664860906, + 0.03357832042302863, + 0.03357896774878643, + 0.03364826381766806, + 0.0336594257119857, + 0.03363579078893292, + 0.033653164461573314, + 0.03367100587095008, + 0.0336341530148419, + 0.033565606930384115, + 0.03357349529921886, + 0.03367666374106131, + 0.03377313710925606, + 0.03378592123969008, + 0.03375295554351389, + 0.03377135976281309, + 0.03381192413857105, + 0.03383417840048374, + 0.03388201524990545, + 0.03393285115609274, + 0.033901397890797234, + 0.033823482924330565, + 0.033778159069456457, + 0.03377020252150605, + 0.03382656427407228, + 0.03390722336750735, + 0.033920120202769716, + 0.033865686375896535, + 0.033818410395125856, + 0.03382096937774314, + 0.03381831005075701, + 0.03380498045224014, + 0.03384288383343369, + 0.03385696046394203, + 0.033817712359679564, + 0.03384191391473476, + 0.03389669205194568, + 0.03389461681300688, + 0.03386223702558359, + 0.03380590247931316, + 0.033749787650848365, + 0.03377133148341473, + 0.03383582916200228, + 0.03385343638323639, + 0.03380257862261301, + 0.03372688484723101, + 0.033691494389816876, + 0.03372584563398547, + 0.03378220949341119, + 0.033772460520809934, + 0.03371510361892303, + 0.03371878111566122, + 0.033768540757300854, + 0.03367522746553525, + 0.033493708175028336, + 0.03339341270400352, + 0.03325335347734782, + 0.03292832802917405, + 0.03249294921569844, + 0.03194587879896101, + 0.03113570298698173, + 0.029909855348909328, + 0.02837750666045014, + 0.026497349294708622, + 0.02443274470958155, + 0.022330382742065096, + 0.020382260690532433, + 0.018816338712472153, + 0.01766232513207295, + 0.01695442308756974, + 0.016667013175538915, + 0.01681875428658684, + 0.017402961910507227, + 0.018348072904305, + 0.019603815140055506, + 0.021099980054569024, + 0.022768275748499774, + 0.024491174053317147, + 0.02613524418593406, + 0.027697437112224364, + 0.029100422790032335, + 0.030315460313477014, + 0.03126575474086876, + 0.03194847372621207, + 0.032410856667664835, + 0.03269809759822829, + 0.03286947216927055, + 0.03297649803086238, + 0.03303336111903939, + 0.033062026803493495, + 0.033009206524375244, + 0.0329734265079839, + 0.03303851523291269, + 0.033089733547389616, + 0.03309519147360486, + 0.03309737890914527, + 0.03304335023752933, + 0.03290583431348059, + 0.032758350618345984, + 0.03273037030239297, + 0.03276006182751842, + 0.03268018629690857, + 0.03246745686863129, + 0.032149421027367675, + 0.031729084665459886, + 0.03121980963995465, + 0.030443353163289503, + 0.029336899277846995, + 0.027790281246415485, + 0.02578536504659915, + 0.023146447210544253, + 0.02025257779149527, + 0.017217077340960382, + 0.014448086448657884, + 0.012125569658100603, + 0.010329683441447777, + 0.009059238651277092, + 0.008215493744768243, + 0.007757671259210576, + 0.007608084286094895, + 0.007764707192602676, + 0.008219029305248973, + 0.008962395165098518, + 0.010012514114855162, + 0.011368845536375889, + 0.013015163272915575, + 0.014930664088308171, + 0.017070430830027426, + 0.019431899510725967, + 0.021946201734204022, + 0.024409961913442146, + 0.026639575618747902, + 0.028503858411467478, + 0.029808042727165737, + 0.03073421337312987, + 0.03142172631667268, + 0.03191722638250776, + 0.032247618170112756, + 0.03247686520150922, + 0.03260749571624224, + 0.032597186667215464, + 0.032553664637423166, + 0.03269785084823646, + 0.032951212862416646, + 0.03304662643454037, + 0.032998272255760776, + 0.03299942704432605, + 0.03302685624251477, + 0.033030276913834304, + 0.032989373126529754, + 0.03290291841696878, + 0.03280828857837425, + 0.03272420070262208, + 0.03259575385048098, + 0.03237350856469632, + 0.0320213873316388, + 0.03142443831951228, + 0.030394575021012338, + 0.029076721153352345, + 0.02744895806228852, + 0.025527861355075024, + 0.02327936346200963, + 0.0210080370102527, + 0.018964677795662948, + 0.017297861139635436, + 0.016071044532065946, + 0.01526696929134482, + 0.014919751357207685, + 0.014948605046249073, + 0.015383811857220405, + 0.016203330835764865, + 0.017418788149530844, + 0.01892500890141906, + 0.020592052943093152, + 0.0223311455437079, + 0.024081758038888866, + 0.025834888077628442, + 0.02750992777993317, + 0.02905152871723178, + 0.03039673194315687, + 0.031450703028982584, + 0.032121758403558014, + 0.03254548650873974, + 0.03289100000589705, + 0.033194795863794514, + 0.03337088890740394, + 0.033397199055556805, + 0.03342164592911147, + 0.03351058192908019, + 0.03355694903963356, + 0.03355704139553892, + 0.03365771001001152, + 0.03378273844905781, + 0.03373326906085922, + 0.03361667825505762, + 0.03361162230980662, + 0.03362269521666293, + 0.033551947545388164, + 0.03347981860841075, + 0.033450612004533774, + 0.03338986324745282, + 0.03329905541698097, + 0.033220266942961534, + 0.03305677781282702, + 0.03265456213297033, + 0.032053025219454835, + 0.03128684740172688, + 0.030280967372853695, + 0.028900983394591077, + 0.027340181172086784, + 0.025606554177587837, + 0.023959849995018722, + 0.022577709059815633, + 0.021481057559243684, + 0.02074829983123169, + 0.02038090897591421, + 0.020533383588990192, + 0.02104806930228409, + 0.021918473452705554, + 0.02307859985977328, + 0.024424927245313876, + 0.02579781939223611, + 0.027097544192025563, + 0.02836582899260751, + 0.029544855673767738, + 0.03059948345629047, + 0.03149572998716833, + 0.03223628662926525, + 0.03277323962168452, + 0.03328957693014439, + 0.03362170553612041, + 0.033682014080213596, + 0.03371837776612146, + 0.033780899147887435, + 0.03381486598222728, + 0.033857878769229216, + 0.033839993901819944, + 0.03382483585579181, + 0.033831233195710256, + 0.03382219992158077, + 0.03383043203153846, + 0.03379240405683132, + 0.033697484020001965, + 0.033675357244433324, + 0.03371748869637603, + 0.0337030706302162, + 0.03366379138476154, + 0.03366247291868153, + 0.03368200975252375, + 0.0336139669068916, + 0.03337268595418245, + 0.033147048934711786, + 0.03285090130261849, + 0.032269210775393395, + 0.0314357433722157, + 0.030319127834683594, + 0.028877891697110414, + 0.027288619224639876, + 0.025829860534281927, + 0.024444626176089446, + 0.023313982092602072, + 0.022556216946297593, + 0.02211925076168242, + 0.02211337694642662, + 0.02246662924285341, + 0.023236305024723326, + 0.024201181181306868, + 0.025328497796809884, + 0.026531109817221114, + 0.027637335874852665, + 0.02870576156381924, + 0.029799981447765456, + 0.03088112831847201, + 0.03170085606363341, + 0.032251867320052086, + 0.03261178344260055, + 0.033069263053243994, + 0.03340067134146614, + 0.0335477589481721, + 0.03364516736399257, + 0.03367157892492402, + 0.03363394371923848, + 0.033729861820846904, + 0.03381289888105958, + 0.03386361055711081, + 0.03396437604108572, + 0.033962670912000524, + 0.03381495322039495, + 0.03359685757419497, + 0.03342920672646995, + 0.033358476304155074, + 0.03336192780486663, + 0.03335775892318206, + 0.0330820457930859, + 0.03272658859295918, + 0.03242962323065697, + 0.03204279347925535, + 0.031412768734957935, + 0.030494270924213335, + 0.028873130225148383, + 0.02692439080053186, + 0.024298146142952937, + 0.02150523167854246, + 0.018605822424919014, + 0.016061231484434862, + 0.013946538976613968, + 0.012320514222048055, + 0.011236808503597488, + 0.010539173373792248, + 0.010332408052864672, + 0.01047077590085484, + 0.01099074886048293, + 0.011843707375344556, + 0.013012861955964043, + 0.014495050337101266, + 0.016251431990679528, + 0.018209360971906858, + 0.0202611056625966, + 0.022410457848909274, + 0.02458090081710041, + 0.026649300596148794, + 0.0283971651365175, + 0.030035030021968525, + 0.03134946605130296, + 0.03225347046488324, + 0.032713919801328435, + 0.03282568498654792, + 0.03294523713950123, + 0.03324083846180475, + 0.03341702759858392, + 0.03335452684665079, + 0.03343263876919161, + 0.03371603375899166, + 0.033759910479778395, + 0.033464163356342835, + 0.03339631620582666, + 0.03364774338358747, + 0.03373744115439129, + 0.03359064540299607, + 0.03332060558329617, + 0.0330156067331213, + 0.03296641454715477, + 0.03309986127791369, + 0.03294781061720524, + 0.03234861237133528, + 0.031393949613324035, + 0.029798213225730702, + 0.027829436839904933, + 0.02525356985177843, + 0.02256455987556714, + 0.019935026220691838, + 0.017747532975522062, + 0.015909473117048153, + 0.014616177040942287, + 0.013903087823703005, + 0.013494337704984531, + 0.013678995699223227, + 0.014180384241762392, + 0.015194606118856941, + 0.01645555492364109, + 0.018055295167957692, + 0.020005390856972262, + 0.0217084471020568, + 0.023430458523519302, + 0.025288001868354868, + 0.02721640459484472, + 0.02857322548469595, + 0.029939437920585066, + 0.031052717740622914, + 0.03200659510895311, + 0.03266374345534244, + 0.03312968086723774, + 0.03331723884704845, + 0.03335225861283109, + 0.033394237970378764, + 0.033501327304021375, + 0.03359362420323845, + 0.033659434355763386, + 0.03350316411813986, + 0.03331117408660455, + 0.03346529758147531, + 0.033730452070458945, + 0.03412478214280809, + 0.03464281959756716, + 0.034625774515995814, + 0.03445672178093869, + 0.034703696263227245, + 0.03483958340393777, + 0.03479306742716333, + 0.03481058042775965, + 0.03483784019584058, + 0.034896531379775074, + 0.03496925796377547, + 0.035059497522976095, + 0.035001098524238994, + 0.034754725653783965, + 0.034280684481217676, + 0.033836875164372046, + 0.034090139173919086, + 0.034761850677626285, + 0.035172629580194355, + 0.03525864655212242, + 0.035205962279268574, + 0.03509862316256878, + 0.03512780703933681, + 0.035482812133057845, + 0.03528922073047869, + 0.03450481268584686, + 0.034450619954508106, + 0.034929901086089614, + 0.03513475387853203, + 0.03519732840590786, + 0.03491427194651621, + 0.034314669382406904, + 0.034448806804133446, + 0.0352925820672287, + 0.03552356276357013, + 0.035045553578010334, + 0.035333465783509745, + 0.03693304575195444, + 0.03747770086520214, + 0.035685887844780335, + 0.03427730022587709, + 0.03427730022587709 + ] + }, + "instrument": { + "description": "Pair distribution function (PDF) beamline (port 28-ID-1) at NSLS-II, BNL", + "radiation": { + "setup_wavelength": [ + 0.1665, + false, + null, + null + ], + "setup_wavelength_2": 0.1669, + "setup_wavelength_2_to_1_ratio": 0.5 + }, + "polarization": { + "setup_polarization_coefficient": 0.01, + "setup_monochromator_twotheta": 0.0 + }, + "corrections": { + "calib_twotheta_offset": [ + 0.0, + false, + null, + null + ], + "calib_sample_displacement": [ + 0.001, + false, + null, + null + ], + "calib_sample_transparency": [ + -0.0005, + false, + null, + null + ] + }, + "broadening": { + "peak_type": "cwl-pseudo-voigt-berar-baldinozzi-asymmetry", + "cutoff_fwhm": 20.0, + "parameters": { + "broad_gauss_u": [ + 0.010379135146427253, + false, + null, + null + ], + "broad_gauss_v": [ + 0.0003328998068853359, + false, + null, + null + ], + "broad_gauss_w": [ + 0.0006360390661515072, + false, + null, + null + ], + "broad_lorentz_x": [ + 1e-05, + false, + null, + null + ], + "broad_lorentz_y": [ + 0.0028143034323339765, + false, + null, + null + ], + "asym_beba_a0": [ + 0.01, + false, + null, + null + ], + "asym_beba_b0": [ + 0.002, + false, + null, + null + ], + "asym_beba_a1": [ + -0.005, + false, + null, + null + ], + "asym_beba_b1": [ + 0.001, + false, + null, + null + ] + } + }, + "absorption": { + "type": "cylinder-hewat", + "mu_r": [ + 0.3, + false, + null, + null + ] + } + }, + "phases": { + "LaB6": { + "space_group": "P m -3 m", + "unit_cell": { + "a": [ + 4.15682, + false, + null, + null + ], + "b": [ + 4.15682, + false, + null, + null + ], + "c": [ + 4.15682, + false, + null, + null + ], + "alpha": [ + 90.0, + false, + null, + null + ], + "beta": [ + 90.0, + false, + null, + null + ], + "gamma": [ + 90.0, + false, + null, + null + ] + }, + "atoms": { + "La": { + "element": "La", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.0, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.00858, + false, + null, + null + ] + }, + "B": { + "element": "B", + "x": [ + 0.2021, + false, + null, + null + ], + "y": [ + 0.5, + false, + null, + null + ], + "z": [ + 0.5, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.009, + false, + null, + null + ] + } + }, + "scale": [ + 5.4e-06, + false, + null, + null + ] + } + }, + "refinement_controls": { + "calculator": "cryspy", + "minimizer": "lmfit (leastsq)", + "max_iterations": 1000, + "chi_square_change_tolerance": 1e-08, + "parameter_change_tolerance": 1e-08, + "gradient_tolerance": 0.0 + } + } +} diff --git a/tests/test_easydiffraction_schema.py b/tests/test_easydiffraction_schema.py new file mode 100644 index 0000000..2041b99 --- /dev/null +++ b/tests/test_easydiffraction_schema.py @@ -0,0 +1,459 @@ +"""Native ``easydiffraction.rietveld`` schema tests (re/06). + +Tests the easydiffraction gateway schema against the rules documented in +src/powderline/gateways/easydiffraction/schema.py module docstring. +""" + +from __future__ import annotations + +import copy +import json +from pathlib import Path + +import numpy as np +import pytest +from pydantic import ValidationError + +from powderline.gateways.easydiffraction.schema import ( + easydiffraction_space_group, + is_native_recipe, + validate_recipe, +) +from powderline.schema_core import parameters_requested + +DATA = Path(__file__).resolve().parent / "data" + + +def P(value, flag=False, lo=None, hi=None): + """Bounded refinable parameter [value, refine_flag, min, max].""" + return [value, flag, lo, hi] + + +def _errors(exc) -> list[tuple]: + return [(e["loc"], e["type"]) for e in exc.value.errors()] + + +def _fails(recipe, loc, kind=None): + """Assert that validation fails with an error at the given location and optionally of a given type.""" + with pytest.raises(ValidationError) as exc: + validate_recipe(recipe) + errors = _errors(exc) + assert any(e[0] == loc and (kind is None or e[1] == kind) for e in errors), errors + return errors + + +def _load_fixture(name: str) -> dict: + """Load a fixture from tests/data/easydiffraction/native/.""" + with open(DATA / "easydiffraction" / "native" / name, encoding="utf-8") as f: + return json.load(f) + + +# --- valid recipes, round-trip, simulation mode (test 1) --------------------------- + + +@pytest.mark.parametrize("fixture_name,is_simulation", [ + ("lab6_crysfml_tch.json", False), + ("lab6_cryspy_pv.json", False), + ("lab6_slots_simulation.json", True), +]) +def test_fixture_validates_and_round_trips(fixture_name, is_simulation): + """Each fixture validates; model_dump(mode='json') round-trips; simulation_mode matches expectation.""" + recipe = _load_fixture(fixture_name) + model = validate_recipe(recipe) + assert validate_recipe(model) is model # idempotent + dumped = model.model_dump(mode="json") + assert validate_recipe(dumped) == model + assert model.payload.simulation_mode() == is_simulation + + +# --- is_native_recipe routing (test 2) ---------------------------------------------- + + +def test_is_native_recipe_any_easydiffraction_name(): + assert is_native_recipe({"schema_name": "easydiffraction.rietveld"}) + assert is_native_recipe({"schema_name": "easydiffraction.rietvel"}) # typo counts as native + assert not is_native_recipe({"schema_name": "gsasii.rietveld"}) + assert not is_native_recipe({"schema_name": "topas.rietveld"}) + assert not is_native_recipe({"schema_name": "0.26.0"}) + + +def test_unknown_easydiffraction_workflow_reported_at_schema_name(): + r = _load_fixture("lab6_crysfml_tch.json") + r["schema_name"] = "easydiffraction.rietvel" + _fails(r, ("schema_name",), "schema_name") + + +# --- space groups (test 3) ---------------------------------------------------------- + + +@pytest.mark.parametrize("name,expected", [ + ("C 1 2/m 1", ("C 2/m", "b1")), + ("R -3 m:R", ("R -3 m", "r")), + ("F d -3 m:1", ("F d -3 m", "1")), +]) +def test_easydiffraction_space_group_table(name, expected): + assert easydiffraction_space_group(name) == expected + + +@pytest.mark.parametrize("bad_setting", ["A 1", "C 4 2 2"]) +def test_space_group_not_in_table_rejected(bad_setting): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["phases"]["LaB6"]["space_group"] = bad_setting + errors = _fails(r, ("payload", "phases", "LaB6", "space_group")) + # Should mention EB-42 in the message + exc_info = None + with pytest.raises(ValidationError) as exc_info: + validate_recipe(r) + error_messages = [e["msg"] for e in exc_info.value.errors()] + assert any("EB-42" in msg for msg in error_messages) + + +# --- physical limits (test 4) ------------------------------------------------------- + + +def test_cell_length_outside_physical_limit(): + r = _load_fixture("lab6_crysfml_tch.json") + # Cubic tie: set all three to 35 so core's cubic constraint is satisfied + for axis in ["a", "b", "c"]: + r["payload"]["phases"]["LaB6"]["unit_cell"][axis] = P(35, True) + _fails(r, ("payload", "phases", "LaB6", "unit_cell", "a"), "easydiffraction_physical_limit") + + +def test_uiso_below_physical_limit(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["phases"]["LaB6"]["atoms"]["La"]["Uiso"] = P(-0.001, True) + _fails(r, ("payload", "phases", "LaB6", "atoms", "La", "Uiso"), "easydiffraction_physical_limit") + + +def test_uiso_above_physical_limit(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["phases"]["LaB6"]["atoms"]["La"]["Uiso"] = P(10.5, True) + _fails(r, ("payload", "phases", "LaB6", "atoms", "La", "Uiso"), "easydiffraction_physical_limit") + + +def test_occupancy_above_one_rejected(): + """Occupancy > 1 rejected by core (test that core's check works).""" + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["phases"]["LaB6"]["atoms"]["La"]["occupancy"] = P(1.2, True) + # Core rejects this, location somewhere in atoms + with pytest.raises(ValidationError): + validate_recipe(r) + + +def test_scale_negative_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["phases"]["LaB6"]["scale"] = P(-1, True) + _fails(r, ("payload", "phases", "LaB6", "scale"), "easydiffraction_physical_limit") + + +def test_scale_zero_accepted(): + """scale = 0 is accepted (A161): a phase may contribute nothing.""" + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["phases"]["LaB6"]["scale"] = P(0, False) + validate_recipe(r) + + +def test_mu_r_negative_rejected(): + r = _load_fixture("lab6_slots_simulation.json") + r["payload"]["instrument"]["absorption"]["mu_r"] = P(-0.1, False) + _fails(r, ("payload", "instrument", "absorption", "mu_r"), "easydiffraction_physical_limit") + + +# --- wavelength and doublet (test 5) ------------------------------------------------ + + +def test_wavelength_zero_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["instrument"]["radiation"]["setup_wavelength"] = P(0.0, False) + _fails(r, ("payload", "instrument", "radiation", "setup_wavelength"), "easydiffraction_positive") + + +def test_wavelength_negative_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["instrument"]["radiation"]["setup_wavelength"] = P(-1.5, False) + _fails(r, ("payload", "instrument", "radiation", "setup_wavelength"), "easydiffraction_positive") + + +def test_ka2_wavelength_without_ratio_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["instrument"]["radiation"]["setup_wavelength_2"] = 1.544426 + # Missing setup_wavelength_2_to_1_ratio + _fails(r, ("payload", "instrument", "radiation", "setup_wavelength_2_to_1_ratio"), "easydiffraction_doublet") + + +def test_ka2_ratio_without_wavelength_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["instrument"]["radiation"]["setup_wavelength_2_to_1_ratio"] = 0.5 + # Missing setup_wavelength_2 + _fails(r, ("payload", "instrument", "radiation", "setup_wavelength_2"), "easydiffraction_doublet") + + +def test_ka2_both_present_accepted(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["instrument"]["radiation"]["setup_wavelength_2"] = 1.544426 + r["payload"]["instrument"]["radiation"]["setup_wavelength_2_to_1_ratio"] = 0.5 + validate_recipe(r) + + +def test_ka2_ratio_zero_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["instrument"]["radiation"]["setup_wavelength_2"] = 1.544426 + r["payload"]["instrument"]["radiation"]["setup_wavelength_2_to_1_ratio"] = 0.0 + with pytest.raises(ValidationError): + validate_recipe(r) + + +def test_ka2_ratio_above_one_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["instrument"]["radiation"]["setup_wavelength_2"] = 1.544426 + r["payload"]["instrument"]["radiation"]["setup_wavelength_2_to_1_ratio"] = 1.5 + with pytest.raises(ValidationError): + validate_recipe(r) + + +# --- weights (test 6) --------------------------------------------------------------- + + +def test_heavy_weight_inside_window_rejected(): + """Weight > 1e8 on a point INSIDE fit_range rejected.""" + r = _load_fixture("lab6_crysfml_tch.json") + # Find a point inside the window (fit_range is [1.0, 15.0]) + tth = r["payload"]["xrd_data"]["tth"] + idx = None + for i, t in enumerate(tth): + if 5.0 <= t <= 10.0: + idx = i + break + assert idx is not None + + r["payload"]["xrd_data"]["Itth_weights"][idx] = 2e8 + _fails(r, ("payload", "xrd_data", "Itth_weights", idx), "easydiffraction_weight") + + +def test_heavy_weight_outside_window_accepted(): + """Weight > 1e8 on a point OUTSIDE fit_range accepted.""" + r = _load_fixture("lab6_crysfml_tch.json") + # Find a point outside the window (fit_range is [1.0, 15.0]) + tth = r["payload"]["xrd_data"]["tth"] + idx = None + for i, t in enumerate(tth): + if t > 15.5: + idx = i + break + assert idx is not None + + r["payload"]["xrd_data"]["Itth_weights"][idx] = 2e8 + validate_recipe(r) + + +def test_weight_exactly_1e8_accepted(): + """Weight exactly 1e8 is accepted.""" + r = _load_fixture("lab6_crysfml_tch.json") + tth = r["payload"]["xrd_data"]["tth"] + idx = None + for i, t in enumerate(tth): + if 5.0 <= t <= 10.0: + idx = i + break + assert idx is not None + + r["payload"]["xrd_data"]["Itth_weights"][idx] = 1e8 + validate_recipe(r) + + +# --- peak type vs calculator (test 7) ----------------------------------------------- + + +def test_tch_with_cryspy_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["refinement_controls"]["calculator"] = "cryspy" + # TCH (cwl-thompson-cox-hastings) not computed by cryspy + _fails(r, ("payload", "instrument", "broadening", "peak_type"), "easydiffraction_peak_type") + + +def test_berar_baldinozzi_with_crysfml_rejected(): + r = _load_fixture("lab6_cryspy_pv.json") + r["payload"]["instrument"]["broadening"]["peak_type"] = "cwl-pseudo-voigt-berar-baldinozzi-asymmetry" + r["payload"]["instrument"]["broadening"]["parameters"] = { + "broad_gauss_u": P(0.01), "broad_gauss_v": P(0.01), "broad_gauss_w": P(0.01), + "broad_lorentz_x": P(0.01), "broad_lorentz_y": P(0.01), + "asym_beba_a0": P(0.0), "asym_beba_b0": P(0.0), + "asym_beba_a1": P(0.0), "asym_beba_b1": P(0.0), + } + r["payload"]["refinement_controls"]["calculator"] = "crysfml" + # Bérar-Baldinozzi not computed by crysfml + _fails(r, ("payload", "instrument", "broadening", "peak_type"), "easydiffraction_peak_type") + + +def test_pseudo_voigt_with_both_calculators_accepted(): + # cryspy + r = _load_fixture("lab6_cryspy_pv.json") + assert r["payload"]["instrument"]["broadening"]["peak_type"] == "cwl-pseudo-voigt" + assert r["payload"]["refinement_controls"]["calculator"] == "cryspy" + validate_recipe(r) + + # crysfml + r2 = copy.deepcopy(r) + r2["payload"]["refinement_controls"]["calculator"] = "crysfml" + validate_recipe(r2) + + +def test_cutoff_fwhm_with_crysfml_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["instrument"]["broadening"]["cutoff_fwhm"] = 10.0 + _fails(r, ("payload", "instrument", "broadening", "cutoff_fwhm"), "easydiffraction_cutoff") + + +def test_cutoff_fwhm_with_cryspy_accepted(): + r = _load_fixture("lab6_cryspy_pv.json") + r["payload"]["instrument"]["broadening"]["cutoff_fwhm"] = 10.0 + validate_recipe(r) + + +# --- per-type parameter sets (test 8) ----------------------------------------------- + + +def test_tch_missing_asym_fcj_2_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + del r["payload"]["instrument"]["broadening"]["parameters"]["asym_fcj_2"] + with pytest.raises(ValidationError) as exc: + validate_recipe(r) + # Should be missing field error + errors = _errors(exc) + assert any("asym_fcj_2" in str(loc) for loc, _ in errors) + + +def test_pseudo_voigt_with_extra_asym_fcj_1_rejected(): + r = _load_fixture("lab6_cryspy_pv.json") + r["payload"]["instrument"]["broadening"]["parameters"]["asym_fcj_1"] = P(0.0) + # extra='forbid' should catch this + with pytest.raises(ValidationError) as exc: + validate_recipe(r) + errors = _errors(exc) + assert any("asym_fcj_1" in str(loc) for loc, _ in errors) + + +# --- optional blocks never null (test 9) -------------------------------------------- + + +@pytest.mark.parametrize("path", [ + ("payload", "instrument", "polarization"), + ("payload", "instrument", "absorption"), + ("payload", "instrument", "description"), + ("payload", "background"), + ("payload", "fit_range"), + ("payload", "instrument", "corrections", "calib_sample_displacement"), + ("payload", "instrument", "radiation", "setup_wavelength_2"), + ("payload", "instrument", "broadening", "cutoff_fwhm"), +]) +def test_optional_block_never_null(path): + r = _load_fixture("lab6_crysfml_tch.json") + node = r + for key in path[:-1]: + if key not in node: + # Need to add the parent structure + if path[-1] == "cutoff_fwhm": + # Already at broadening level + pass + node = node.setdefault(key, {}) if isinstance(node, dict) else node + + # Navigate to parent + parent = r + for key in path[:-1]: + parent = parent[key] + parent[path[-1]] = None + + with pytest.raises(ValidationError, match="must not be null; leave it out instead"): + validate_recipe(r) + + +# --- refinement_controls (test 10) -------------------------------------------------- + + +def test_minimizer_other_than_lmfit_leastsq_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["refinement_controls"]["minimizer"] = "scipy.optimize.minimize" + with pytest.raises(ValidationError): + validate_recipe(r) + + +def test_max_iterations_zero_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["refinement_controls"]["max_iterations"] = 0 + with pytest.raises(ValidationError): + validate_recipe(r) + + +def test_chi_square_change_tolerance_zero_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["refinement_controls"]["chi_square_change_tolerance"] = 0.0 + with pytest.raises(ValidationError): + validate_recipe(r) + + +def test_gradient_tolerance_zero_accepted(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["refinement_controls"]["gradient_tolerance"] = 0.0 + validate_recipe(r) + + +def test_calculator_fullprof_rejected(): + r = _load_fixture("lab6_crysfml_tch.json") + r["payload"]["refinement_controls"]["calculator"] = "fullprof" + with pytest.raises(ValidationError): + validate_recipe(r) + + +# --- JSON Schema null constraints (test 11) ----------------------------------------- + + +def test_json_schema_shows_null_only_where_core_allows_it(): + """Null only in BoundedRefinableParameter, FitRange, XRDData defs.""" + from powderline.gateways.easydiffraction.schema import EasydiffractionRietveldRecipe + + schema = EasydiffractionRietveldRecipe.model_json_schema() + allowed = {"BoundedRefinableParameter", "FitRange", "XRDData"} + for name, node in schema["$defs"].items(): + if name not in allowed: + assert "null" not in json.dumps(node), name + + +# --- parameters_requested (test 12) ------------------------------------------------- + + +def test_parameters_requested_counts_cubic_cell_once(): + """Cubic cell a,b,c refined counts ONCE; compute expected from fixture.""" + r = _load_fixture("lab6_crysfml_tch.json") + model = validate_recipe(r) + + # Count from lab6_crysfml_tch manually: + # - instrument.broadening.parameters: broad_gauss_u, v, w (3 params, all refined) + # - instrument.broadening.parameters: broad_lorentz_x, y (2 params, both refined) + # - instrument.broadening.parameters: asym_fcj_1, asym_fcj_2 (NOT refined in this fixture) + # - background.chebyshev: num_coefficients=6, refine_flag=True (6 coefficients) + # - phases.LaB6.unit_cell: cubic a,b,c all refined but tied -> counts as 1 + # - phases.LaB6.scale: refined (1) + # Total: 3 + 2 + 6 + 1 + 1 = 13 + + expected = 13 + actual = parameters_requested(model) + assert actual == expected, f"Expected {expected} parameters, got {actual}" + + +# --- fit_limits_on_data and window_mask (test 13) ----------------------------------- + + +def test_window_mask_selects_weighted_points_in_range(): + """window_mask() selects exactly the weighted points with 1.0 <= tth <= 15.0.""" + r = _load_fixture("lab6_cryspy_pv.json") + model = validate_recipe(r) + + tth = np.asarray(model.payload.xrd_data.tth, dtype=float) + weights = np.asarray(model.payload.xrd_data.Itth_weights, dtype=float) + + # Expected: weighted points (w > 0) within fit_range [1.0, 15.0] + expected_mask = (tth >= 1.0) & (tth <= 15.0) & (weights > 0) + + actual_mask = model.payload.window_mask() + + np.testing.assert_array_equal(actual_mask, expected_mask) diff --git a/tests/test_easydiffraction_space_groups.py b/tests/test_easydiffraction_space_groups.py new file mode 100644 index 0000000..1602de2 --- /dev/null +++ b/tests/test_easydiffraction_space_groups.py @@ -0,0 +1,70 @@ +"""The committed easydiffraction space-group table matches the installed library (re/06, EB-42). + +``space_group_table.py`` lets the schema validate without easydiffraction; this +test regenerates it from the library (``scripts/generate_easydiffraction_space_groups.py``) +and compares. It runs only where the installed easydiffraction is the version +the table was generated from. +""" + +from __future__ import annotations + +import importlib.util +import re +from importlib.metadata import PackageNotFoundError, version +from pathlib import Path + +import pytest + +ROOT = Path(__file__).parent.parent +TABLE = ROOT / "src" / "powderline" / "gateways" / "easydiffraction" / "space_group_table.py" + + +def _table_version() -> str: + return re.search(r"from easydiffraction\n(\S+):", TABLE.read_text(encoding="utf-8")).group(1) + + +def _installed() -> str | None: + try: + return version("easydiffraction") + except PackageNotFoundError: + return None + + +pytestmark = pytest.mark.skipif( + _installed() != _table_version(), + reason=f"table generated from easydiffraction {_table_version()}, installed: {_installed()}") + + +def _generator(): + spec = importlib.util.spec_from_file_location("gen", ROOT / "scripts" / "generate_easydiffraction_space_groups.py") + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def test_committed_table_is_current(): + gen = _generator() + assert TABLE.read_text(encoding="utf-8") == gen.render(gen.build()) + + +@pytest.mark.parametrize("xhm, expected", [ + ("P m -3 m", ("P m -3 m", "1", True)), + ("C 1 2/m 1", ("C 2/m", "b1", True)), + ("P 1 1 21/b", ("P 21/c", "c3", False)), + ("R -3 m:H", ("R -3 m", "h", True)), + ("R -3 m:R", ("R -3 m", "r", False)), + ("F d -3 m:1", ("F d -3 m", "1", False)), + ("F d -3 m:2", ("F d -3 m", "2", True)), +]) +def test_structure_accepts_the_mapped_setting(xhm, expected): + from easydiffraction import StructureFactory + + from powderline.gateways.easydiffraction.space_group_table import SPACE_GROUPS + + assert SPACE_GROUPS[xhm] == expected + name, code, is_default = expected + s = StructureFactory.from_scratch(name="t") + s.space_group.name_h_m = name + assert (s.space_group.coord_system_code.value == code) is is_default + s.space_group.coord_system_code = code + assert (s.space_group.name_h_m.value, s.space_group.coord_system_code.value) == (name, code) diff --git a/tests/test_phase_canary.py b/tests/test_phase_canary.py index 4dfc7eb..726dc7d 100644 --- a/tests/test_phase_canary.py +++ b/tests/test_phase_canary.py @@ -23,6 +23,8 @@ ("powderline.gateways.gsasii.schema", "GsasiiPhase", RefinableParameter, {"scale": [1.0, False]}), ("powderline.gateways.topas.schema", "TopasPhase", BoundedRefinableParameter, {"scale": [1e-6, False, None, None]}), + ("powderline.gateways.easydiffraction.schema", "EasydiffractionPhase", BoundedRefinableParameter, + {"scale": [1e-6, False, None, None]}), ] From d8db8c5f80acc10acdfcbea5a89d3f4c5c920630 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 19:36:03 -0400 Subject: [PATCH 03/20] feat(easydiffraction): native builder and run for easydiffraction.rietveld (re/06) native_builder: builds the easydiffraction project from the validated model (A39). The window's weighted points (fit_limits_on_data) go in as a CIF data loop at full precision (A158; the ASCII reader rounds 2theta to 4 decimals, EB-72). Calculator, then peak type, then profile (EB-76); every instrument slot from the model; exact model coordinates. One free parameter per refined tie group, the member easydiffraction leaves free (an error if its constraints disagree with core's); stated bounds become fit_min/fit_max, a null side keeps the physical limit (A157 B4). After the build: easydiffraction's multiplicity and coordinates must equal core's (EB-47), and with CrysPy an atom on a special position with a free coordinate must be written in the pattern of easydiffraction's template, since CrysPy computes wrong structure factors for other images (EB-77; the error names the equivalent position). native_run: lmfit with the recipe's stopping criteria, or a calculation when nothing is refined; strict reading (non-finite = divergence, A130, A154); core fitstats over the handed points (Rwp equals easydiffraction's); P = easydiffraction's n_free_parameters (lmfit's varied count); y_bkg = the engine's background; the shared report writers; warnings for not varied, at limit, phase contributes nothing, not converged, and no reflection list with CrysFML (EB-79). Schema: a space-group setting must be one the chosen calculator computes correctly (EB-80, proposed A163): committed space_group_support.py, written by scripts/verify_easydiffraction_settings.py (computed for all 531 settings: CrysPy 437, CrysFML 227); a test re-verifies a sample. The gateway routes easydiffraction.* runs to the native path. Tests: 46 builder/run tests and golden comparisons (tests/data/easydiffraction/ native/golden, written by the devkit's probes/re06/make_goldens.py); they run where easydiffraction 0.21.1 is installed. Assisted-by: claude-code:claude-opus-5-5 Assisted-by: claude-code:claude-sonnet-5-5 --- scripts/verify_easydiffraction_settings.py | 211 +++++ .../gateways/easydiffraction/gateway.py | 14 +- .../easydiffraction/native_builder.py | 357 +++++++++ .../gateways/easydiffraction/native_run.py | 301 +++++++ .../gateways/easydiffraction/schema.py | 29 +- .../easydiffraction/space_group_support.py | 678 ++++++++++++++++ .../native/golden/lab6_crysfml_tch.json | 556 +++++++++++++ .../native/golden/lab6_cryspy_pv.json | 542 +++++++++++++ .../native/golden/lab6_slots_simulation.json | 445 +++++++++++ tests/test_easydiffraction_native.py | 738 ++++++++++++++++++ tests/test_easydiffraction_schema.py | 36 + tests/test_easydiffraction_space_groups.py | 17 + 12 files changed, 3921 insertions(+), 3 deletions(-) create mode 100644 scripts/verify_easydiffraction_settings.py create mode 100644 src/powderline/gateways/easydiffraction/native_builder.py create mode 100644 src/powderline/gateways/easydiffraction/native_run.py create mode 100644 src/powderline/gateways/easydiffraction/space_group_support.py create mode 100644 tests/data/easydiffraction/native/golden/lab6_crysfml_tch.json create mode 100644 tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json create mode 100644 tests/data/easydiffraction/native/golden/lab6_slots_simulation.json create mode 100644 tests/test_easydiffraction_native.py diff --git a/scripts/verify_easydiffraction_settings.py b/scripts/verify_easydiffraction_settings.py new file mode 100644 index 0000000..14c85d5 --- /dev/null +++ b/scripts/verify_easydiffraction_settings.py @@ -0,0 +1,211 @@ +"""Verify which space-group settings each easydiffraction calculator computes correctly (re/06, EB-42, EB-80). + +For every entry of ``space_group_table.SPACE_GROUPS``: one Fe atom at a general +position (0.137, 0.271, 0.389) in a cell of the setting's crystal system. + +- CrysPy: per-reflection F^2 against a reference computed here (the orbit + expanded with gemmi's operations of the canonical setting, IT92 form factors, + isotropic Debye-Waller), R after a least-squares scale. +- CrysFML (no reflection list): its calculated pattern against CrysPy's, same + pseudo-Voigt profile, R after a least-squares scale; run only where CrysPy + passed. + +A setting passes with R < ``R_PASS`` (passes are R <= 0.009, failures >= 0.075 for +easydiffraction 0.21.1; a failure means a misread setting). The result is written to +``src/powderline/gateways/easydiffraction/space_group_support.py``, which the schema +uses so that validation needs no easydiffraction. About an hour; ``--jobs N`` runs +N processes. ``--check XHM ...`` re-verifies only the named settings against the +committed module (the test does this for a fixed sample). + +Usage: pixi run -e easydiff python scripts/verify_easydiffraction_settings.py [--jobs N] [--check XHM ...] +""" + +from __future__ import annotations + +import math +import sys +import tempfile +from importlib.metadata import version +from pathlib import Path + +import gemmi +import numpy as np + +ROOT = Path(__file__).parent.parent +MODULE = ROOT / "src" / "powderline" / "gateways" / "easydiffraction" / "space_group_support.py" +XYZ = (0.137, 0.271, 0.389) +U = 0.005 +WAVELENGTH = 0.5 +R_PASS = 0.03 +_CELLS = {"cubic": (5.1, 5.1, 5.1, 90, 90, 90), "tetragonal": (5.1, 5.1, 7.3, 90, 90, 90), + "hexagonal": (5.1, 5.1, 7.3, 90, 90, 120), "trigonal": (5.1, 5.1, 7.3, 90, 90, 120), + "orthorhombic": (5.1, 6.2, 7.3, 90, 90, 90), "triclinic": (5.1, 6.2, 7.3, 81, 103, 95)} + + +def _unique_axis(sg: gemmi.SpaceGroup) -> str: + for op in sg.operations(): + rot = np.array(op.rot) / op.DEN + if np.isclose(np.trace(rot), -1) and np.isclose(np.linalg.det(rot), 1): # a 2-fold rotation + return "abc"[int(np.argmax(np.diag(rot)))] + return "b" + + +def cell_for(sg: gemmi.SpaceGroup) -> tuple: + system = sg.crystal_system_str() + if system == "trigonal" and sg.xhm().endswith(":R"): + return (5.6, 5.6, 5.6, 77, 77, 77) + if system == "monoclinic": + angles = {"a": (103, 90, 90), "b": (90, 103, 90), "c": (90, 90, 103)}[_unique_axis(sg)] + return (5.1, 6.2, 7.3, *angles) + return _CELLS[system] + + +def reference_f2(sg: gemmi.SpaceGroup, cell: tuple, hkls) -> np.ndarray: + pts = [] + for op in sg.operations(): + q = np.mod(np.array(op.apply_to_xyz(list(XYZ)), dtype=float), 1.0) + if not any(np.allclose(np.mod(q - r + 0.5, 1.0) - 0.5, 0, atol=1e-9) for r in pts): + pts.append(q) + uc = gemmi.UnitCell(*cell) + out = [] + for hkl in hkls: + s2 = 1.0 / (4 * uc.calculate_d(list(hkl)) ** 2) + f = gemmi.Element("Fe").it92.calculate_sf(s2) * math.exp(-8 * math.pi ** 2 * U * s2) + phases = [2 * math.pi * float(np.dot(hkl, r)) for r in pts] + out.append(abs(sum(f * complex(math.cos(a), math.sin(a)) for a in phases)) ** 2) + return np.array(out) + + +def _experiment(name: str, code: str, cell: tuple, calculator: str, data_path: Path): + from easydiffraction import ExperimentFactory, Project, StructureFactory + + s = StructureFactory.from_scratch(name="t") + s.space_group.name_h_m = name + if code: + s.space_group.coord_system_code = code + for k, v in zip(("length_a", "length_b", "length_c", "angle_alpha", "angle_beta", "angle_gamma"), cell): + setattr(s.cell, k, v) + s.atom_sites.create(id="Fe1", type_symbol="Fe", fract_x=XYZ[0], fract_y=XYZ[1], fract_z=XYZ[2], occupancy=1.0) + s.atom_sites["Fe1"].adp_type = "Uiso" + s.atom_sites["Fe1"].adp_iso = U + e = ExperimentFactory.from_data_path(name="e", data_path=str(data_path), sample_form="powder", + beam_mode="constant wavelength", radiation_probe="xray", + scattering_type="bragg") + e.calculator.type = calculator + e.peak.type = "cwl-pseudo-voigt" + e.peak.broad_gauss_u, e.peak.broad_gauss_v, e.peak.broad_gauss_w = 0.0, 0.0, 0.002 + e.peak.broad_lorentz_x, e.peak.broad_lorentz_y = 0.0, 0.01 + e.instrument.setup_wavelength = WAVELENGTH + e.linked_structures.create(structure_id="t", scale=1.0) + p = Project() + p.structures.add(s) + p.experiments.add(e) + p.analysis.calculate() + return e + + +def _ls_r(a: np.ndarray, b: np.ndarray) -> float: + s = float(np.dot(a, b) / np.dot(b, b)) + return float(np.sum(np.abs(a - s * b)) / np.sum(np.abs(s * b))) + + +def verify(xhm: str, entry: tuple, data_path: Path) -> tuple[bool, bool, str]: + """``(cryspy_ok, crysfml_ok, note)`` for one setting.""" + name, code, _default = entry + sg = gemmi.find_spacegroup_by_name(xhm) + cell = cell_for(sg) + try: + ec = _experiment(name, code, cell, "cryspy", data_path) + r = ec.refln + hkl = [(int(h), int(k), int(l)) for h, k, l in zip(r.index_h, r.index_k, r.index_l)] + fc = np.array(r.f_squared_calc, dtype=float) + fr = reference_f2(sg, cell, hkl) + keep = fr > 1e-6 * fr.max() + r_cryspy = _ls_r(fc[keep], fr[keep]) + if r_cryspy >= R_PASS: + return False, False, f"cryspy R={r_cryspy:.3f}" + arrays = ec.data.fit_data_arrays() + y_cryspy = np.asarray(arrays["calc"]) - np.asarray(arrays["bkg"]) + ef = _experiment(name, code, cell, "crysfml", data_path) + arrays = ef.data.fit_data_arrays() + r_crysfml = _ls_r(np.asarray(arrays["calc"]) - np.asarray(arrays["bkg"]), y_cryspy) + return True, r_crysfml < R_PASS, f"cryspy R={r_cryspy:.3f}, crysfml R={r_crysfml:.3f}" + except Exception as exc: # noqa: BLE001 an engine crash means the setting is unusable + return False, False, f"{type(exc).__name__}: {str(exc)[:80]}" + + +def _grid(directory: Path) -> Path: + path = directory / "grid.xye" + with path.open("w", encoding="utf-8", newline="\n") as f: + for x in np.arange(5.0, 30.0, 0.005): + f.write(f"{x:.4f} 1.0 1.0\n") + return path + + +def _verify_chunk(items: list) -> list: + from easydiffraction.utils.logging import Logger + + Logger.configure(reaction=Logger.Reaction.RAISE) + with tempfile.TemporaryDirectory() as tmp: + data = _grid(Path(tmp)) + return [(xhm, *verify(xhm, entry, data)) for xhm, entry in items] + + +def render(results: list) -> str: + cryspy = [xhm for xhm, ok, _f, _n in results if ok] + crysfml = [xhm for xhm, _c, ok, _n in results if ok] + lines = [ + '"""Space-group settings each easydiffraction calculator computes correctly (generated; do not edit).', + "", + "Generated by ``scripts/verify_easydiffraction_settings.py`` from easydiffraction", + f"{version('easydiffraction')} by computation (EB-42, EB-80): a setting is listed when the calculator's", + "structure factors (CrysPy) or pattern (CrysFML, against CrysPy's) for a general-position atom match a", + f"reference within R < {R_PASS}. CrysFML is handed only the short symbol, so it misreads most non-default", + "settings; easydiffraction's cell constraints assume b-unique monoclinic cells; some settings crash.", + '"""', + "", + f"CRYSPY_SETTINGS: frozenset[str] = frozenset({{ # {len(cryspy)} of {len(results)}", + *[f" {x!r}," for x in cryspy], + "})", + "", + f"CRYSFML_SETTINGS: frozenset[str] = frozenset({{ # {len(crysfml)} of {len(results)}", + *[f" {x!r}," for x in crysfml], + "})", + "", + ] + return "\n".join(lines) + + +def main() -> int: + from powderline.gateways.easydiffraction.space_group_table import SPACE_GROUPS + + args = sys.argv[1:] + if "--check" in args: + names = args[args.index("--check") + 1:] + from powderline.gateways.easydiffraction import space_group_support as support + + bad = [] + for xhm, ok_cryspy, ok_crysfml, note in _verify_chunk([(x, SPACE_GROUPS[x]) for x in names]): + if (ok_cryspy, ok_crysfml) != (xhm in support.CRYSPY_SETTINGS, xhm in support.CRYSFML_SETTINGS): + bad.append(f"{xhm}: computed cryspy={ok_cryspy} crysfml={ok_crysfml} ({note}); module disagrees") + print("\n".join(bad) or "ok") + return 1 if bad else 0 + jobs = int(args[args.index("--jobs") + 1]) if "--jobs" in args else 1 + items = list(SPACE_GROUPS.items()) + if jobs > 1: + from concurrent.futures import ProcessPoolExecutor + + chunks = [items[i::jobs] for i in range(jobs)] + with ProcessPoolExecutor(jobs) as pool: + parts = list(pool.map(_verify_chunk, chunks)) + done = {xhm: row for part in parts for xhm, *row in part} + results = [(xhm, *done[xhm]) for xhm, _ in items] + else: + results = _verify_chunk(items) + MODULE.write_text(render(results), encoding="utf-8", newline="\n") + print(f"wrote {MODULE}") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/src/powderline/gateways/easydiffraction/gateway.py b/src/powderline/gateways/easydiffraction/gateway.py index 8914ad2..03abba2 100644 --- a/src/powderline/gateways/easydiffraction/gateway.py +++ b/src/powderline/gateways/easydiffraction/gateway.py @@ -6,8 +6,9 @@ ``GSASII_*`` recipe builds the ``RecipeModel`` then runs the policy pre-flight, exactly the check ``validate_only`` runs today (raises ``EasyDiffractionTranslationError``), until re/07. No easydiffraction import. -- **Runtime layer** — ``run``: a thin wrapper over - ``powderline.gateways.easydiffraction.engine.run_easydiffraction_recipe`` (behavior unchanged). +- **Runtime layer** — ``run``: a native recipe runs through + :func:`.native_run.run_native`; a 0.26.0 recipe through + ``powderline.gateways.easydiffraction.engine.run_easydiffraction_recipe`` (unchanged until re/07). On a real run it first reads the installed easydiffraction version: missing ⇒ ``EngineNotAvailableError``; outside ``ENGINE_VERSION_SPEC`` ⇒ ``EngineVersionError``. @@ -69,6 +70,15 @@ def run(recipe, output_dir, *, verbose: bool = False, validate_only: bool = Fals ``allow_unsupported_engine_version`` is the test-only bypass of the engine version check (A53); the check is skipped for ``validate_only``. """ + if schema.is_native_recipe(recipe): + from powderline.gateways.easydiffraction import native_run + + model = schema.validate_recipe(recipe) # the model validated from the user's recipe (A115) + if validate_only: + return native_run.run_native_validate(model) + check_engine_version(gateway=NAME, engine="easydiffraction", installed=installed_engine_version(), + spec=ENGINE_VERSION_SPEC, allow_unsupported=allow_unsupported_engine_version) + return native_run.run_native(model, output_dir) if not validate_only: check_engine_version(gateway=NAME, engine="easydiffraction", installed=installed_engine_version(), spec=ENGINE_VERSION_SPEC, diff --git a/src/powderline/gateways/easydiffraction/native_builder.py b/src/powderline/gateways/easydiffraction/native_builder.py new file mode 100644 index 0000000..fdf02e6 --- /dev/null +++ b/src/powderline/gateways/easydiffraction/native_builder.py @@ -0,0 +1,357 @@ +"""easydiffraction gateway — build an easydiffraction project from a validated ``easydiffraction.rietveld`` model. + +The builder consumes the validated model (A39): every value it sets is the +model's, so special-position coordinates and tied values are exact (A120, +A121) and easydiffraction's Wyckoff detection (1e-3 tolerance, EB-47, EB-74) +never moves one. + +- **Data** (A149, A154, A158): the weighted points within core's + ``fit_limits_on_data``, handed over as a CIF data loop at full precision + (easydiffraction's ASCII reader rounds 2theta to 4 decimals, EB-72). +- **Order**: calculator, then peak type, then the profile values (switching + either resets the profile, EB-76). +- **Free parameters**: one easydiffraction parameter per refined symmetry tie + group (A94), the member easydiffraction leaves free; its bounds are the + recipe's (F4 keeps the group consistent). A stated bound becomes + ``fit_min``/``fit_max``; a ``null`` side keeps easydiffraction's physical + limit, which the minimizer applies (A157 B4, EB-71). Fixed parameters are + never freed (F2). +- **Checks after the build** (errors, never substitutions): easydiffraction's + multiplicity of every atom equals core's and no coordinate moved (EB-47); + with CrysPy, an atom on a special position with a free coordinate is + written in the pattern of easydiffraction's template for its site, since + CrysPy computes wrong structure factors for the other images (EB-77). + +Runtime layer: imports easydiffraction. +""" + +from __future__ import annotations + +import re +from dataclasses import dataclass, field +from typing import Optional + +import numpy as np + +from powderline.exceptions import EngineExecutionError +from powderline.gateways.easydiffraction.schema import PHYSICAL_LIMITS, easydiffraction_space_group +from powderline.schema_core import BoundedRefinableParameter +from powderline.symmetry import cell_tie_groups, coupling_groups, orbit + +EXPERIMENT_NAME = "powderline" +_CELL = {"a": "length_a", "b": "length_b", "c": "length_c", + "alpha": "angle_alpha", "beta": "angle_beta", "gamma": "angle_gamma"} +_XYZ = {"x": "fract_x", "y": "fract_y", "z": "fract_z"} +_UIJ = {"U11": "adp_11", "U22": "adp_22", "U33": "adp_33", "U12": "adp_12", "U13": "adp_13", "U23": "adp_23"} + + +@dataclass +class FreeParameter: + """One parameter handed to lmfit, and where it comes from in the recipe.""" + + parameter: object + name: str + path: str + descriptive: str + category: str + phase: Optional[str] = None + atom: Optional[str] = None + #: (min, max) acting in the fit and who set each side: "stated", "physical" or None. + limits: tuple = (None, None) + limit_source: tuple = (None, None) + #: The recipe members this parameter stands for (a tie group), each with its relation k, c. + members: tuple = () + + +@dataclass +class Build: + project: object + experiment: object + structures: dict + free: list = field(default_factory=list) + mask: np.ndarray = None + tth: np.ndarray = None + + +def structure_name(phase: str) -> str: + """easydiffraction datablock name: the phase name lowercased (unique by A112; uppercase is refused, EB-45).""" + return phase.lower() + + +def data_cif(tth: np.ndarray, yobs: np.ndarray, sigma: np.ndarray) -> str: + """An experiment CIF holding only the experiment type and the data, numbers at full precision (EB-72).""" + lines = ["data_" + EXPERIMENT_NAME, "_experiment_type.sample_form powder", + '_experiment_type.beam_mode "constant wavelength"', "_experiment_type.radiation_probe xray", + "_experiment_type.scattering_type bragg", "", "loop_", "_data.two_theta", "_data.intensity_meas", + "_data.intensity_meas_su"] + lines += [f"{float(x)!r} {float(y)!r} {float(s)!r}" for x, y, s in zip(tth, yobs, sigma)] + return "\n".join(lines) + "\n" + + +def _bounds(p: BoundedRefinableParameter, physical: tuple) -> tuple[tuple, tuple]: + """The limits acting in the fit: stated bounds, else easydiffraction's physical limit (A157 B4).""" + limits, source = [], [] + for stated, phys in zip((p.min, p.max), physical): + if stated is not None: + limits.append(stated) + source.append("stated") + elif phys is not None: + limits.append(phys) + source.append("physical") + else: + limits.append(None) + source.append(None) + return tuple(limits), tuple(source) + + +def _free(build: Build, param, p: BoundedRefinableParameter, *, name: str, path: str, descriptive: str, + category: str, physical: tuple = (None, None), phase=None, atom=None, members=()) -> None: + param.free = True + if p.min is not None: + param.fit_min = p.min + if p.max is not None: + param.fit_max = p.max + limits, source = _bounds(p, physical) + build.free.append(FreeParameter(param, name, path, descriptive, category, phase, atom, limits, source, + members or ((name, 1, 0),))) + + +def _set(obj, name: str, value) -> None: + setattr(obj, name, value) + + +def build_project(model) -> Build: + """The easydiffraction project for a validated ``easydiffraction.rietveld`` model (see the module docstring).""" + from easydiffraction import ExperimentFactory, Project, StructureFactory + from easydiffraction.utils.logging import Logger + + Logger.configure(reaction=Logger.Reaction.RAISE) # a refused value never becomes a silent default (EB-48) + p = model.payload + rc = p.refinement_controls + + mask = p.window_mask() + tth = np.asarray(p.xrd_data.tth, dtype=float) + yobs = np.asarray(p.xrd_data.Itth, dtype=float) + w = np.asarray(p.xrd_data.Itth_weights, dtype=float) + expt = ExperimentFactory.from_cif_str(data_cif(tth[mask], yobs[mask], 1.0 / np.sqrt(w[mask]))) + build = Build(project=None, experiment=expt, structures={}, mask=mask, tth=tth) + + # calculator, then peak type, then the profile (EB-76) + expt.calculator.type = rc.calculator + profile = p.instrument.broadening + expt.peak.type = profile.peak_type + if profile.cutoff_fwhm is not None: + expt.peak.cutoff_fwhm = profile.cutoff_fwhm + for name in type(profile.parameters).model_fields: + _set(expt.peak, name, getattr(profile.parameters, name).value) + + inst = p.instrument + radiation = inst.radiation + expt.instrument.setup_wavelength = radiation.setup_wavelength.value + if radiation.setup_wavelength_2 is not None: + expt.instrument.setup_wavelength_2 = radiation.setup_wavelength_2 + expt.instrument.setup_wavelength_2_to_1_ratio = radiation.setup_wavelength_2_to_1_ratio + if inst.polarization is not None: + expt.instrument.setup_polarization_coefficient = inst.polarization.setup_polarization_coefficient + expt.instrument.setup_monochromator_twotheta = inst.polarization.setup_monochromator_twotheta + corrections = inst.corrections + for name in ("calib_twotheta_offset", "calib_sample_displacement", "calib_sample_transparency"): + if getattr(corrections, name) is not None: + _set(expt.instrument, name, getattr(corrections, name).value) + if inst.absorption is not None: + expt.absorption.type = inst.absorption.type + expt.absorption.mu_r = inst.absorption.mu_r.value + + if p.background is not None: + cheb = p.background.chebyshev + expt.background.type = "chebyshev" + for k, c in enumerate(cheb.coefficients): + expt.background.create(id=str(k), order=k, coef=c) + + for name, phase in p.phases.items(): + s = StructureFactory.from_scratch(name=structure_name(name)) + sg_name, code = easydiffraction_space_group(phase.space_group) + s.space_group.name_h_m = sg_name + if code: + s.space_group.coord_system_code = code + for member, attr in _CELL.items(): + _set(s.cell, attr, getattr(phase.unit_cell, member).value) + for label, atom in phase.atoms.items(): + s.atom_sites.create(id=label, type_symbol=atom.element, fract_x=atom.x.value, fract_y=atom.y.value, + fract_z=atom.z.value, occupancy=atom.occupancy.value) + site = s.atom_sites[label] + if atom.ADP == "Uiso": + site.adp_type = "Uiso" + site.adp_iso = atom.Uiso.value + else: + site.adp_type = "Uani" + aniso = s.atom_site_aniso[label] + for key, attr in _UIJ.items(): + _set(aniso, attr, getattr(atom.Uaniso, key).value) + expt.linked_structures.create(structure_id=structure_name(name), scale=phase.scale.value) + build.structures[name] = s + + project = Project() + for s in build.structures.values(): + project.structures.add(s) + project.experiments.add(expt) + build.project = project + for s in build.structures.values(): + s._update_categories() # Wyckoff detection and symmetry constraints, as at the first calculation + check_sites(model, build) + _free_parameters(model, build) + return build + + +def _free_parameters(model, build: Build) -> None: + p = model.payload + expt = build.experiment + inst = p.instrument + pre = "payload.instrument" + if inst.radiation.setup_wavelength.refine_flag: + _free(build, expt.instrument.setup_wavelength, inst.radiation.setup_wavelength, name="setup_wavelength", + path=f"{pre}.radiation.setup_wavelength", descriptive="wavelength", category="instrument", + physical=PHYSICAL_LIMITS["nonnegative"]) + for name in ("calib_twotheta_offset", "calib_sample_displacement", "calib_sample_transparency"): + q = getattr(inst.corrections, name) + if q is not None and q.refine_flag: + _free(build, getattr(expt.instrument, name), q, name=name, path=f"{pre}.corrections.{name}", + descriptive=name, category="corrections") + if inst.absorption is not None and inst.absorption.mu_r.refine_flag: + _free(build, expt.absorption.mu_r, inst.absorption.mu_r, name="mu_r", path=f"{pre}.absorption.mu_r", + descriptive="absorption mu R", category="corrections", physical=PHYSICAL_LIMITS["nonnegative"]) + parameters = inst.broadening.parameters + for name in type(parameters).model_fields: + q = getattr(parameters, name) + if q.refine_flag: + _free(build, getattr(expt.peak, name), q, name=name, path=f"{pre}.broadening.parameters.{name}", + descriptive=name, category="instrument_broadening") + if p.background is not None and p.background.chebyshev.refine_flag: + for k, term in enumerate(expt.background): + term.coef.free = True + build.free.append(FreeParameter(term.coef, f"background_coefficient_{k}", "payload.background.chebyshev", + f"Chebyshev coefficient {k}", "background", members=((str(k), 1, 0),))) + + for name, phase in p.phases.items(): + s = build.structures[name] + ppath = f"payload.phases.{name}" + if phase.scale.refine_flag: + _free(build, expt.linked_structures[structure_name(name)].scale, phase.scale, name=f"{name}_scale", + path=f"{ppath}.scale", descriptive=f"{name} scale", category="scale", phase=name, + physical=PHYSICAL_LIMITS["nonnegative"]) + for group in cell_tie_groups(phase.space_group).groups: + _free_group(build, s.cell, _CELL, phase.unit_cell, group, path=f"{ppath}.unit_cell", phase=name, + category="unit_cell", + physical=PHYSICAL_LIMITS["cell_length" if group.members[0] in "abc" else "cell_angle"]) + for label, atom in phase.atoms.items(): + site = s.atom_sites[label] + apath = f"{ppath}.atoms.{label}" + ties = coupling_groups(phase.space_group, (atom.x.value, atom.y.value, atom.z.value)) + for group in ties.xyz.groups: + _free_group(build, site, _XYZ, atom, group, path=apath, phase=name, atom=label, category="atom_xyz") + if atom.occupancy.refine_flag: + _free(build, site.occupancy, atom.occupancy, name=f"{name}_{label}_occupancy", + path=f"{apath}.occupancy", descriptive=f"{label} occupancy", category="atom_occupancy", + phase=name, atom=label, physical=PHYSICAL_LIMITS["occupancy"]) + if atom.Uiso is not None and atom.Uiso.refine_flag: + _free(build, site.adp_iso, atom.Uiso, name=f"{name}_{label}_Uiso", path=f"{apath}.Uiso", + descriptive=f"{label} Uiso", category="atom_adp", phase=name, atom=label, + physical=PHYSICAL_LIMITS["adp"]) + if atom.Uaniso is not None: + for group in ties.uij.groups: + physical = PHYSICAL_LIMITS["adp"] if group.members[0] in ("U11", "U22", "U33") else (None, None) + _free_group(build, s.atom_site_aniso[label], _UIJ, atom.Uaniso, group, path=f"{apath}.Uaniso", + phase=name, atom=label, category="atom_adp", physical=physical) + + +def _free_group(build: Build, holder, attrs: dict, recipe, group, *, path: str, phase: str, category: str, + atom: Optional[str] = None, physical: tuple = (None, None)) -> None: + """Free one tie group: the member easydiffraction leaves free (its constraints tie the others, EB-47).""" + members = group.members + if not getattr(recipe, members[0]).refine_flag: # F1: the whole group shares the flag + return + unconstrained = [m for m in members if not getattr(holder, attrs[m]).symmetry_constrained] + if len(unconstrained) != 1: + where = f"{path} ({', '.join(members)})" + raise EngineExecutionError( + f"easydiffraction does not tie {where} as core does: it leaves {unconstrained or 'none'} free where " + "core has one parameter (EB-47); the refinement would not be the recipe's") + m = unconstrained[0] + owner = f"{atom} " if atom else "" + _free(build, getattr(holder, attrs[m]), getattr(recipe, m), name=f"{phase}_{atom + '_' if atom else ''}{m}", + path=f"{path}.{m}", descriptive=f"{phase} {owner}{m}", category=category, phase=phase, atom=atom, + physical=physical if m in ("a", "b", "c", "alpha", "beta", "gamma", "U11", "U22", "U33") else (None, None), + members=tuple((name, k, c) for name, k, c in zip(members, group.coefficients, group.offsets))) + + +# --- checks after the build --------------------------------------------------------------- + + +def _template_exprs(template: str) -> list[str]: + """``"(2x,x,-z+1/2)"`` -> ``["2*x", "x", "-z+1/2"]`` (implicit products made explicit).""" + return [re.sub(r"(\d)([xyz])", r"\1*\2", e.strip()) for e in template.strip("()").split(",")] + + +def _matches_template(template: str, xyz: tuple) -> bool: + """True when ``xyz`` has the pattern of easydiffraction's template, e.g. ``(x,1/2,1/2)`` (any x).""" + exprs = _template_exprs(template) + values: dict = {} + for expr, v in zip(exprs, xyz): + if expr in ("x", "y", "z"): + if expr in values and abs(((values[expr] - v) + 0.5) % 1.0 - 0.5) > 1e-9: + return False + values.setdefault(expr, v) + for expr, v in zip(exprs, xyz): + try: + want = float(eval(expr, {"__builtins__": {}}, values)) # template arithmetic: x, -x, 2x, x+1/2, 1/4 + except NameError: + return False + if abs(((want - v) + 0.5) % 1.0 - 0.5) > 1e-9: + return False + return True + + +def site_problems(model, build: Build) -> list[str]: + """Atoms easydiffraction reads differently from core (EB-47), or CrysPy computes wrongly (EB-77).""" + import easydiffraction.crystallography.crystallography as ecr + + problems = [] + cryspy = model.payload.refinement_controls.calculator == "cryspy" + for name, phase in model.payload.phases.items(): + s = build.structures[name] + sg_name, code = easydiffraction_space_group(phase.space_group) + table = ecr.space_group_wyckoff_table(sg_name, code or None) or {} + for label, atom in phase.atoms.items(): + site = s.atom_sites[label] + stated = (atom.x.value, atom.y.value, atom.z.value) + held = (site.fract_x.value, site.fract_y.value, site.fract_z.value) + where = f"payload.phases.{name}.atoms.{label}" + core_mult = phase.site(label).multiplicity + if site.multiplicity.value != core_mult or held != stated: + problems.append(f"{where}: easydiffraction reads the position {stated} as Wyckoff " + f"{site.wyckoff_letter.value!r} with multiplicity {site.multiplicity.value} at " + f"{held}; core has multiplicity {core_mult} (EB-47)") + continue + entry = table.get(site.wyckoff_letter.value) + free_coordinate = entry is not None and any(c in entry["coords_xyz"][0] for c in "xyz") + if not (cryspy and free_coordinate and core_mult < len(orbit(phase.space_group, (0.1371, 0.2713, 0.3893)))): + continue + template = entry["coords_xyz"][0] + if _matches_template(template, stated): + continue + suggestion = next((pos for pos in orbit(phase.space_group, stated) if _matches_template(template, pos)), + None) + hint = ("" if suggestion is None else + f"; state the equivalent position ({', '.join(f'{v:.10g}' for v in suggestion)}) instead" + + ("; transform its Uaniso by the same symmetry operation (U' = R U R^T)" + if atom.Uaniso is not None else "")) + problems.append(f"{where}: CrysPy computes wrong structure factors for this image of Wyckoff " + f"{site.wyckoff_letter.value} {stated}: write it in the pattern {template} (EB-77){hint}") + return problems + + +def check_sites(model, build: Build) -> None: + problems = site_problems(model, build) + if problems: + raise EngineExecutionError("easydiffraction cannot use these atom positions as stated:\n" + + "\n".join(f" - {p}" for p in problems)) diff --git a/src/powderline/gateways/easydiffraction/native_run.py b/src/powderline/gateways/easydiffraction/native_run.py new file mode 100644 index 0000000..d97adcd --- /dev/null +++ b/src/powderline/gateways/easydiffraction/native_run.py @@ -0,0 +1,301 @@ +"""easydiffraction gateway — run a native ``easydiffraction.rietveld`` recipe (re/06). + +Builds the project (:mod:`.native_builder`), then either calculates the pattern +(no refine flag set: a simulation) or fits with lmfit's Levenberg-Marquardt +using the recipe's stopping criteria (A162), and returns the standard result +dict with the shared report files (``refined_parameters.csv``, +``_unit_cell_report.csv``, ``fit_profile.txt``, +``_peak_list_report.csv``). + +- **Statistics** (A23, A125, A131): ``rwp``, ``r_exp``, ``gof``, ``chi2_red`` + from core ``fitstats`` over the window's weighted points (exactly the + points handed to the engine, A149, A158), with ``P`` = lmfit's number of + varied parameters (easydiffraction's ``n_free_parameters``: the parameters + handed to lmfit, which varies every one of them; A41). easydiffraction's own + values go under ``engine_details``; an undefined statistic is ``None``. +- **Strict reading** (A130, A154): a non-finite calculated point, background + point or refined value is the divergence error; an undetermined ESD is + left empty. +- **Background column** (A152's principle): easydiffraction's own + ``intensity_bkg`` on the fitted points. +- **Reflection lists**: CrysPy's per phase; CrysFML provides none, and the + result says so (EB-79). +- **Warnings**: the recipe's (core ``collect_warnings``), and + ``easydiffraction_parameters_not_varied`` (A128), + ``easydiffraction_parameter_at_limit`` (A157 B4: PowderLine's own check + against the limits acting in the fit), ``easydiffraction_phase_contributes_nothing`` + (A157 B7), ``easydiffraction_fit_not_converged`` (lmfit stopped without + success), ``easydiffraction_reflections_not_available`` (CrysFML). + +Runtime layer: imports easydiffraction. +""" + +from __future__ import annotations + +import math +import time +import uuid +from importlib.metadata import version +from pathlib import Path + +import gemmi +import numpy as np +import pandas as pd + +from powderline import reports +from powderline.exceptions import EngineExecutionError, StructuredWarning +from powderline.fitstats import compute_fit_statistics +from powderline.gateways.easydiffraction.native_builder import Build, build_project, structure_name +from powderline.schema_core import collect_warnings, parameters_requested +from powderline.symmetry import cell_tie_groups + +#: A refined value within this relative distance of a limit acting in the fit "ended at the limit". +LIMIT_HIT_RTOL = 1e-6 +PEAK_LIST_COLUMNS = ("h", "k", "l", "d_spacing", "2theta", "F_calc_squared", "phase") + + +def _diverged(what: str) -> EngineExecutionError: + return EngineExecutionError(f"the refinement diverged: easydiffraction returned a non-finite value ({what})") + + +def _float(v) -> float | None: + return None if v is None else float(v) + + +def run_native(model, output_dir, *, validated_warnings: list | None = None) -> dict: + """Run a validated ``easydiffraction.rietveld`` model; write the reports into ``output_dir``.""" + out = Path(output_dir) + out.mkdir(parents=True, exist_ok=True) + warnings = list(validated_warnings if validated_warnings is not None else collect_warnings(model)) + t0 = time.time() + build = build_project(model) + p = model.payload + simulation = p.simulation_mode() + analysis = build.project.analysis + fit_info = {} + if simulation: + analysis.calculate() + else: + rc = p.refinement_controls + analysis.minimizer.type = rc.minimizer + analysis.minimizer.max_iterations = rc.max_iterations + analysis.minimizer.chi_square_change_tolerance = rc.chi_square_change_tolerance + analysis.minimizer.parameter_change_tolerance = rc.parameter_change_tolerance + analysis.minimizer.gradient_tolerance = rc.gradient_tolerance + analysis.fit() + results = analysis.fit_results + fit_info = {"success": bool(results.success), "message": str(results.message), + "iterations": results.iterations} + if not results.success: + warnings.append(StructuredWarning( + code="easydiffraction_fit_not_converged", + message=f"lmfit stopped without converging: {results.message}", + field_path="payload.refinement_controls")) + return build_result(model, build, out, warnings, elapsed=time.time() - t0, fit_info=fit_info) + + +def build_result(model, build: Build, out: Path, warnings: list, *, elapsed: float, fit_info: dict) -> dict: + """The result dict from a calculated or fitted project.""" + p = model.payload + simulation = p.simulation_mode() + expt = build.experiment + arrays = {k: np.asarray(v, dtype=float) for k, v in expt.data.fit_data_arrays().items()} + for key, what in (("calc", "the calculated pattern"), ("bkg", "the background")): + if not np.isfinite(arrays[key]).all(): + raise _diverged(what) + for fp in build.free: + if not math.isfinite(fp.parameter.value): + raise _diverged(fp.path) + x_window = build.tth[build.mask] + if not np.array_equal(arrays["x"], x_window): + raise EngineExecutionError("easydiffraction returned a pattern on other 2theta points than it was given") + + tth = build.tth + yobs = np.asarray(p.xrd_data.Itth, dtype=float) + w = np.asarray(p.xrd_data.Itth_weights, dtype=float) + ycalc = np.zeros_like(tth) + ycalc[build.mask] = arrays["calc"] + varied = 0 if simulation else int(build.project.analysis.fit_result.n_free_parameters.value) + fs = compute_fit_statistics(yobs, ycalc, w, varied, mask=build.mask) + undefined = lambda v: None if v is None or not math.isfinite(v) else float(v) # noqa: E731 + requested = parameters_requested(model) + + if varied < requested and not simulation: + warnings.append(StructuredWarning( + code="easydiffraction_parameters_not_varied", + message=(f"the recipe requests {requested} independently refined parameter(s) but lmfit varied {varied}"), + field_path=None)) + warnings += _limit_hits(build) + warnings += _empty_phases(model, build) + + refined_rows = _refined_rows(model, build) + unit_cells = {name: _cell_rows(model, build, name) for name in p.phases} + peak_lists = {} + if expt.refln is not None: + refln = expt.refln + ids = np.asarray(refln.structure_id) + for name in p.phases: + sel = ids == structure_name(name) + peak_lists[name] = [ + {"h": int(h), "k": int(k), "l": int(l), "d_spacing": float(d), "2theta": float(t), + "F_calc_squared": float(f2), "phase": name} + for h, k, l, d, t, f2 in zip(*(np.asarray(getattr(refln, a))[sel] for a in ( + "index_h", "index_k", "index_l", "d_spacing", "two_theta", "f_squared_calc")))] + else: + warnings.append(StructuredWarning( + code="easydiffraction_reflections_not_available", + message=("the CrysFML calculator reports no reflection list (easydiffraction 0.21.1, EB-79): " + "no peak list reports are written"), + field_path="payload.refinement_controls.calculator")) + + wavelength = expt.instrument.setup_wavelength.value + profile_rows = [] + for x, yo, sigma, yc, yb in zip(arrays["x"], arrays["meas"], arrays["meas_su"], arrays["calc"], arrays["bkg"]): + s = math.sin(math.radians(x / 2)) + profile_rows.append({"two_theta": x, "y_obs": yo, "y_weights": 1.0 / sigma ** 2, "y_calc": yc, + "y_diff": yo - yc, "y_bkg": yb, "q_values": 4 * math.pi * s / wavelength, + "d_spacings": wavelength / (2 * s) if s else math.inf}) + + reports.write_refined_parameters(out, refined_rows) + reports.write_fit_profile(out, profile_rows) + for name, rows in unit_cells.items(): + reports.write_unit_cell_report(out, name, rows) + for name, rows in peak_lists.items(): + reports.write_peak_list_report(out, name, rows, PEAK_LIST_COLUMNS) + + fr = build.project.analysis.fit_result + engine = { + "engine": "easydiffraction", + "engine_version": version("easydiffraction"), + "calculator": p.refinement_controls.calculator, + "peak_type": p.instrument.broadening.peak_type, + "minimizer": None if simulation else p.refinement_controls.minimizer, + "rwp": None if simulation else undefined(_percent(fr.prof_wr_factor.value)), + "r_exp": None if simulation else undefined(_percent(fr.prof_wr_expected.value)), + "reduced_chi_square": None if simulation else undefined(_float(build.project.analysis.fit_results + .reduced_chi_square)), + "n_points": fs.n_points, + "parameters_requested": requested, + "parameters_varied": varied, + **({f"fit_{k}": v for k, v in fit_info.items()}), + } + return { + "success": True, + "run_id": str(uuid.uuid4()), + "rwp": undefined(fs.rwp), + "r_exp": undefined(fs.rexp), + "gof": undefined(fs.gof), + "chi2_red": undefined(fs.chi2_red), + "simulation_mode": simulation, + "engine_details": engine, + "warnings": warnings, + "elapsed_time": elapsed, + "method": "easydiffraction_simulation" if simulation else "easydiffraction", + "output_files": sorted(str(f) for f in out.glob("*") if f.is_file()), + "fit_profile": pd.DataFrame(profile_rows, columns=list(reports.FIT_PROFILE_COLUMNS)), + "unit_cell_data": {k: pd.DataFrame(v, columns=list(reports.UNIT_CELL_COLUMNS)) for k, v in unit_cells.items()}, + "peak_list_data": {k: pd.DataFrame(v, columns=list(PEAK_LIST_COLUMNS)) for k, v in peak_lists.items()}, + "refined_parameters": pd.DataFrame(refined_rows, columns=list(reports.REFINED_PARAMETERS_COLUMNS)), + "error": None, + "traceback": None, + } + + +def _percent(v): + return None if v is None else 100.0 * float(v) + + +def _esd(param) -> float | None: + e = param.uncertainty + return None if e is None or not math.isfinite(e) else float(e) + + +def _limit_hits(build: Build) -> list: + found = [] + for fp in build.free: + v = fp.parameter.value + for side, lim, source in zip(("min", "max"), fp.limits, fp.limit_source): + if lim is None: + continue + tol = LIMIT_HIT_RTOL * abs(lim) if lim != 0 else 1e-12 + if abs(v - lim) <= tol: + whose = "the recipe's stated bound" if source == "stated" else "easydiffraction's physical limit" + found.append(StructuredWarning( + code="easydiffraction_parameter_at_limit", + message=(f"{fp.descriptive} ended at its {side} limit {lim:g} ({whose}): the refinement may " + "have been stopped by the limit"), + field_path=fp.path)) + return found + + +def _empty_phases(model, build: Build) -> list: + """Phases whose calculated pattern is zero everywhere (A157 B7): informative, never an error.""" + found = [] + calculator = build.experiment.calculator.calculator + for name in model.payload.phases: + scale = build.experiment.linked_structures[structure_name(name)].scale.value + pattern = np.asarray(calculator.calculate_pattern(build.structures[name], build.experiment), dtype=float) + contribution = scale * pattern + if not np.isfinite(contribution).all(): + raise _diverged(f"phase {name!r}'s calculated pattern") + if not np.any(contribution): + found.append(StructuredWarning( + code="easydiffraction_phase_contributes_nothing", + message=(f"phase {name!r} contributes nothing to the calculated pattern (its scale is 0, or all " + "its calculated intensities are zero)"), + field_path=f"payload.phases.{name}")) + return found + + +def _refined_rows(model, build: Build) -> list[dict]: + phases = list(model.payload.phases) + rows = [] + for fp in build.free: + atoms = list(model.payload.phases[fp.phase].atoms) if fp.phase in phases else [] + rows.append({ + "parameter_name": fp.name, "descriptive_name": fp.descriptive, "phase_name": fp.phase or "", + "phase_idx": phases.index(fp.phase) if fp.phase in phases else None, + "atom_name": fp.atom or "", "atom_idx": atoms.index(fp.atom) if fp.atom in atoms else None, + "value": float(fp.parameter.value), "esd": _esd(fp.parameter), "category": fp.category, + }) + return rows + + +def _cell_rows(model, build: Build, name: str) -> list[dict]: + """a..gamma and volume: easydiffraction's values; a tied member takes its group's ESD, a fixed one 0.""" + from powderline.gateways.easydiffraction.native_builder import _CELL + + phase = model.payload.phases[name] + cell = build.structures[name].cell + ties = cell_tie_groups(phase.space_group) + esd = {} + for fp in build.free: + if fp.phase == name and fp.category == "unit_cell": + for member, k, _c in fp.members: + e = _esd(fp.parameter) + esd[member] = None if e is None else abs(float(k)) * e + rows, values = [], [] + for member in ("a", "b", "c", "alpha", "beta", "gamma"): + v = float(getattr(cell, _CELL[member]).value) + values.append(v) + rows.append({"parameter": member, "value": v, "esd": esd.get(member, 0.0 if member in ties.fixed + or not getattr(phase.unit_cell, member).refine_flag + else None)}) + rows.append({"parameter": "volume", "value": gemmi.UnitCell(*values).volume, "esd": None}) + return rows + + +def validate_only_result(model, validated_warnings: list) -> dict: + """The ``validate_only`` summary (the 0.26.0 shape plus native keys).""" + p = model.payload + return { + "success": True, "rwp": None, "elapsed_time": 0.0, "method": "validate_only", + "schema_name": model.schema_name, "engine_schema_version": model.engine_schema_version, + "phases": len(p.phases), "calculator": p.refinement_controls.calculator, + "simulation_mode": p.simulation_mode(), "warnings": validated_warnings, + } + + +def run_native_validate(model, warnings_from=None) -> dict: + """``validate_only`` for a native recipe.""" + return validate_only_result(model, collect_warnings(warnings_from if warnings_from is not None else model)) diff --git a/src/powderline/gateways/easydiffraction/schema.py b/src/powderline/gateways/easydiffraction/schema.py index 43d89b3..970ac99 100644 --- a/src/powderline/gateways/easydiffraction/schema.py +++ b/src/powderline/gateways/easydiffraction/schema.py @@ -24,7 +24,9 @@ easydiffraction rules checked here: -- the space group must be a setting easydiffraction has (EB-42); +- the space group must be a setting easydiffraction has (EB-42) and one the + chosen calculator computes correctly (EB-80: established by computation; + CrysFML misreads most non-default settings); - a value outside easydiffraction's physical limits is refused by the engine even when fixed, so it is an error (cell lengths 0..30 A, angles 0..180 deg, occupancy 0..1, Uiso and U11/U22/U33 0..10 A^2, wavelength, scale and @@ -47,6 +49,7 @@ from pydantic_core import InitErrorDetails, PydanticCustomError from powderline.compat import check_engine_schema_version +from powderline.gateways.easydiffraction.space_group_support import CRYSFML_SETTINGS, CRYSPY_SETTINGS from powderline.gateways.easydiffraction.space_group_table import SPACE_GROUPS from powderline.schema_core import ( UNIT_ANGSTROM, @@ -148,6 +151,25 @@ def physical_problems(p: Optional[P], limits: tuple, loc: tuple, what: str) -> l loc, p.model_dump(), what=what, value=p.value, span=span)] +#: Settings each calculator computes correctly, by computation (EB-80; ``scripts/verify_easydiffraction_settings.py``). +CALCULATOR_SETTINGS = {"cryspy": CRYSPY_SETTINGS, "crysfml": CRYSFML_SETTINGS} + + +def calculator_setting_problem(name: str, calculator: str) -> Optional[str]: + """Why ``calculator`` cannot use the setting ``name`` (EB-80), naming one it can; ``None`` when it can.""" + if name in CALCULATOR_SETTINGS[calculator] or name not in SPACE_GROUPS: + return None + number = SPACE_GROUPS[name][0] + usable = [x for x, entry in SPACE_GROUPS.items() if entry[0] == number and x in CALCULATOR_SETTINGS[calculator]] + usable.sort(key=lambda x: not SPACE_GROUPS[x][2]) # easydiffraction's default setting first + other = [c for c in CALCULATOR_SETTINGS if c != calculator and name in CALCULATOR_SETTINGS[c]] + hint = (f"transform the structure to {usable[0]!r}" if usable else "no setting of this space group is computed " + "correctly by it") + alt = f", or use the {other[0]} calculator" if other else "" + return (f"the {calculator} calculator does not compute the setting {name!r} correctly (easydiffraction " + f"misreads it or fails, EB-80): {hint}{alt}") + + def easydiffraction_space_group(name: str) -> tuple[str, str]: """easydiffraction's ``(name_h_m, coord_system_code)`` for a canonical name; ``ValueError`` if it has none.""" entry = SPACE_GROUPS.get(name) @@ -457,6 +479,11 @@ def _easydiffraction_payload(self) -> "RietveldPayload": value=self.xrd_data.Itth_weights[i], sigma=self.xrd_data.Itth_weights[i] ** -0.5, limit=MAX_WEIGHT)) calculator = self.refinement_controls.calculator + for name, phase in self.phases.items(): + why = calculator_setting_problem(phase.space_group, calculator) + if why is not None: + problems.append(_error("easydiffraction_setting", "{why}", ("phases", name, "space_group"), + phase.space_group, why=why)) profile = self.instrument.broadening if profile.peak_type not in CALCULATOR_PEAK_TYPES[calculator]: problems.append(_error( diff --git a/src/powderline/gateways/easydiffraction/space_group_support.py b/src/powderline/gateways/easydiffraction/space_group_support.py new file mode 100644 index 0000000..a4b8b3d --- /dev/null +++ b/src/powderline/gateways/easydiffraction/space_group_support.py @@ -0,0 +1,678 @@ +"""Space-group settings each easydiffraction calculator computes correctly (generated; do not edit). + +Generated by ``scripts/verify_easydiffraction_settings.py`` from easydiffraction +0.21.1 by computation (EB-42, EB-80): a setting is listed when the calculator's +structure factors (CrysPy) or pattern (CrysFML, against CrysPy's) for a general-position atom match a +reference within R < 0.03. CrysFML is handed only the short symbol, so it misreads most non-default +settings; easydiffraction's cell constraints assume b-unique monoclinic cells; some settings crash. +""" + +CRYSPY_SETTINGS: frozenset[str] = frozenset({ # 437 of 531 + 'P 1', + 'P -1', + 'P 1 2 1', + 'P 1 21 1', + 'C 1 2 1', + 'P 1 m 1', + 'P 1 1 m', + 'P m 1 1', + 'P 1 c 1', + 'P 1 1 a', + 'P b 1 1', + 'C 1 m 1', + 'A 1 1 m', + 'B m 1 1', + 'C 1 c 1', + 'A 1 a 1', + 'A 1 1 a', + 'B 1 1 b', + 'B b 1 1', + 'C c 1 1', + 'P 1 2/m 1', + 'P 1 21/m 1', + 'C 1 2/m 1', + 'I 1 2/m 1', + 'P 1 2/c 1', + 'P 1 21/c 1', + 'P 1 21/n 1', + 'P 1 21/a 1', + 'C 1 2/c 1', + 'A 1 2/a 1', + 'P 2 2 2', + 'P 2 2 21', + 'P 21 2 2', + 'P 2 21 2', + 'P 21 21 2', + 'P 2 21 21', + 'P 21 2 21', + 'P 21 21 21', + 'C 2 2 21', + 'A 21 2 2', + 'B 2 21 2', + 'C 2 2 2', + 'A 2 2 2', + 'B 2 2 2', + 'F 2 2 2', + 'I 2 2 2', + 'I 21 21 21', + 'P m m 2', + 'P 2 m m', + 'P m 2 m', + 'P m c 21', + 'P c m 21', + 'P 21 m a', + 'P 21 a m', + 'P b 21 m', + 'P m 21 b', + 'P c c 2', + 'P 2 a a', + 'P b 2 b', + 'P m a 2', + 'P b m 2', + 'P 2 m b', + 'P 2 c m', + 'P c 2 m', + 'P m 2 a', + 'P c a 21', + 'P b c 21', + 'P 21 a b', + 'P 21 c a', + 'P c 21 b', + 'P b 21 a', + 'P n c 2', + 'P c n 2', + 'P 2 n a', + 'P 2 a n', + 'P b 2 n', + 'P n 2 b', + 'P m n 21', + 'P n m 21', + 'P 21 m n', + 'P 21 n m', + 'P n 21 m', + 'P m 21 n', + 'P b a 2', + 'P 2 c b', + 'P c 2 a', + 'P n a 21', + 'P b n 21', + 'P 21 n b', + 'P 21 c n', + 'P c 21 n', + 'P n 21 a', + 'P n n 2', + 'P 2 n n', + 'P n 2 n', + 'C m m 2', + 'A 2 m m', + 'B m 2 m', + 'C m c 21', + 'C c m 21', + 'A 21 m a', + 'A 21 a m', + 'B b 21 m', + 'B m 21 b', + 'C c c 2', + 'A 2 a a', + 'B b 2 b', + 'A m m 2', + 'B m m 2', + 'B 2 m m', + 'C 2 m m', + 'C m 2 m', + 'A m 2 m', + 'A b m 2', + 'B m a 2', + 'B 2 c m', + 'C 2 m b', + 'C m 2 a', + 'A c 2 m', + 'A m a 2', + 'B b m 2', + 'B 2 m b', + 'C 2 c m', + 'C c 2 m', + 'A m 2 a', + 'A b a 2', + 'B b a 2', + 'B 2 c b', + 'C 2 c b', + 'C c 2 a', + 'A c 2 a', + 'F m m 2', + 'F 2 m m', + 'F m 2 m', + 'F d d 2', + 'F 2 d d', + 'F d 2 d', + 'I m m 2', + 'I 2 m m', + 'I m 2 m', + 'I b a 2', + 'I 2 c b', + 'I c 2 a', + 'I m a 2', + 'I b m 2', + 'I 2 m b', + 'I 2 c m', + 'I c 2 m', + 'I m 2 a', + 'P m m m', + 'P n n n:2', + 'P c c m', + 'P m a a', + 'P b m b', + 'P b a n:1', + 'P b a n:2', + 'P n c b:2', + 'P c n a:2', + 'P m m a', + 'P m m b', + 'P b m m', + 'P c m m', + 'P m c m', + 'P m a m', + 'P n n a', + 'P n n b', + 'P b n n', + 'P c n n', + 'P n c n', + 'P n a n', + 'P m n a', + 'P n m b', + 'P b m n', + 'P c n m', + 'P n c m', + 'P m a n', + 'P c c a', + 'P c c b', + 'P b a a', + 'P c a a', + 'P b c b', + 'P b a b', + 'P b a m', + 'P m c b', + 'P c m a', + 'P c c n', + 'P n a a', + 'P b n b', + 'P b c m', + 'P c a m', + 'P m c a', + 'P m a b', + 'P b m a', + 'P c m b', + 'P n n m', + 'P m n n', + 'P n m n', + 'P m m n:1', + 'P m m n:2', + 'P n m m:2', + 'P m n m:2', + 'P b c n', + 'P c a n', + 'P n c a', + 'P n a b', + 'P b n a', + 'P c n b', + 'P b c a', + 'P c a b', + 'P n m a', + 'P m n b', + 'P b n m', + 'P c m n', + 'P m c n', + 'P n a m', + 'C m c m', + 'C c m m', + 'A m m a', + 'A m a m', + 'B b m m', + 'B m m b', + 'C m c a', + 'C c m b', + 'A b m a', + 'A c a m', + 'B b c m', + 'B m a b', + 'C m m m', + 'A m m m', + 'B m m m', + 'C c c m', + 'A m a a', + 'B b m b', + 'C m m a', + 'C m m b', + 'A b m m', + 'A c m m', + 'B m c m', + 'B m a m', + 'C c c a:1', + 'C c c a:2', + 'C c c b:1', + 'C c c b:2', + 'A b a a:2', + 'A c a a:2', + 'B b c b:1', + 'B b c b:2', + 'B b a b:1', + 'B b a b:2', + 'F m m m', + 'F d d d:1', + 'F d d d:2', + 'I m m m', + 'I b a m', + 'I m c b', + 'I c m a', + 'I b c a', + 'I c a b', + 'I m m a', + 'I m m b', + 'I b m m', + 'I c m m', + 'I m c m', + 'I m a m', + 'P 4', + 'P 41', + 'P 42', + 'P 43', + 'I 4', + 'I 41', + 'P -4', + 'I -4', + 'P 4/m', + 'P 42/m', + 'P 4/n:1', + 'P 4/n:2', + 'P 42/n:1', + 'P 42/n:2', + 'I 4/m', + 'I 41/a:1', + 'I 41/a:2', + 'P 4 2 2', + 'P 4 21 2', + 'P 41 2 2', + 'P 41 21 2', + 'P 42 2 2', + 'P 42 21 2', + 'P 43 2 2', + 'P 43 21 2', + 'I 4 2 2', + 'I 41 2 2', + 'P 4 m m', + 'P 4 b m', + 'P 42 c m', + 'P 42 n m', + 'P 4 c c', + 'P 4 n c', + 'P 42 m c', + 'P 42 b c', + 'I 4 m m', + 'I 4 c m', + 'I 41 m d', + 'I 41 c d', + 'P -4 2 m', + 'P -4 2 c', + 'P -4 21 m', + 'P -4 21 c', + 'P -4 m 2', + 'P -4 c 2', + 'P -4 b 2', + 'P -4 n 2', + 'I -4 m 2', + 'I -4 c 2', + 'I -4 2 m', + 'I -4 2 d', + 'P 4/m m m', + 'P 4/m c c', + 'P 4/n b m:1', + 'P 4/n b m:2', + 'P 4/n n c:1', + 'P 4/n n c:2', + 'P 4/m b m', + 'P 4/m n c', + 'P 4/n m m:1', + 'P 4/n m m:2', + 'P 4/n c c:1', + 'P 4/n c c:2', + 'P 42/m m c', + 'P 42/m c m', + 'P 42/n b c:1', + 'P 42/n b c:2', + 'P 42/n n m:1', + 'P 42/n n m:2', + 'P 42/m b c', + 'P 42/m n m', + 'P 42/n m c:1', + 'P 42/n m c:2', + 'P 42/n c m:1', + 'P 42/n c m:2', + 'I 4/m m m', + 'I 4/m c m', + 'I 41/a m d:1', + 'I 41/a m d:2', + 'I 41/a c d:1', + 'I 41/a c d:2', + 'P 3', + 'P 32', + 'R 3:H', + 'P -3', + 'R -3:H', + 'P 3 1 2', + 'P 3 2 1', + 'P 31 1 2', + 'P 31 2 1', + 'P 32 1 2', + 'P 32 2 1', + 'R 3 2:H', + 'P 3 m 1', + 'P 3 1 m', + 'P 3 c 1', + 'P 3 1 c', + 'R 3 m:H', + 'R 3 c:H', + 'P -3 1 m', + 'P -3 1 c', + 'P -3 m 1', + 'P -3 c 1', + 'R -3 m:H', + 'R -3 c:H', + 'P 6', + 'P 61', + 'P 65', + 'P 62', + 'P 64', + 'P 63', + 'P -6', + 'P 63/m', + 'P 6 2 2', + 'P 61 2 2', + 'P 65 2 2', + 'P 62 2 2', + 'P 64 2 2', + 'P 63 2 2', + 'P 6 m m', + 'P 6 c c', + 'P 63 c m', + 'P 63 m c', + 'P -6 m 2', + 'P -6 c 2', + 'P -6 2 m', + 'P -6 2 c', + 'P 6/m m m', + 'P 6/m c c', + 'P 63/m c m', + 'P 63/m m c', + 'P 2 3', + 'F 2 3', + 'I 2 3', + 'P 21 3', + 'I 21 3', + 'P m -3', + 'P n -3:1', + 'P n -3:2', + 'F m -3', + 'F d -3:1', + 'F d -3:2', + 'I m -3', + 'P a -3', + 'I a -3', + 'P 4 3 2', + 'P 42 3 2', + 'F 4 3 2', + 'F 41 3 2', + 'I 4 3 2', + 'P 43 3 2', + 'P 41 3 2', + 'I 41 3 2', + 'P -4 3 m', + 'F -4 3 m', + 'I -4 3 m', + 'P -4 3 n', + 'F -4 3 c', + 'I -4 3 d', + 'P m -3 m', + 'P n -3 n:1', + 'P n -3 n:2', + 'P m -3 n', + 'P n -3 m:1', + 'P n -3 m:2', + 'F m -3 m', + 'F m -3 c', + 'F d -3 m:1', + 'F d -3 m:2', + 'F d -3 c:1', + 'I m -3 m', + 'I a -3 d', + 'A b a m', +}) + +CRYSFML_SETTINGS: frozenset[str] = frozenset({ # 227 of 531 + 'P 1', + 'P -1', + 'P 1 2 1', + 'P 1 21 1', + 'C 1 2 1', + 'P 1 m 1', + 'P 1 c 1', + 'C 1 m 1', + 'C 1 c 1', + 'P 1 2/m 1', + 'P 1 21/m 1', + 'C 1 2/m 1', + 'P 1 2/c 1', + 'P 1 21/c 1', + 'C 1 2/c 1', + 'P 2 2 2', + 'P 2 2 21', + 'P 21 21 2', + 'P 21 21 21', + 'C 2 2 21', + 'C 2 2 2', + 'F 2 2 2', + 'I 2 2 2', + 'I 21 21 21', + 'P m m 2', + 'P m c 21', + 'P c c 2', + 'P m a 2', + 'P c a 21', + 'P n c 2', + 'P m n 21', + 'P b a 2', + 'P n a 21', + 'P n n 2', + 'C m m 2', + 'C m c 21', + 'C c c 2', + 'A m m 2', + 'A b m 2', + 'A m a 2', + 'A b a 2', + 'F m m 2', + 'F d d 2', + 'I m m 2', + 'I b a 2', + 'I m a 2', + 'P m m m', + 'P n n n:2', + 'P c c m', + 'P b a n:2', + 'P m m a', + 'P n n a', + 'P m n a', + 'P c c a', + 'P b a m', + 'P c c n', + 'P b c m', + 'P n n m', + 'P m m n:2', + 'P b c n', + 'P b c a', + 'P n m a', + 'C m c m', + 'C m c a', + 'C m m m', + 'C c c m', + 'C m m a', + 'C c c a:2', + 'F m m m', + 'F d d d:2', + 'I m m m', + 'I b a m', + 'I b c a', + 'I m m a', + 'P 4', + 'P 41', + 'P 42', + 'P 43', + 'I 4', + 'I 41', + 'P -4', + 'I -4', + 'P 4/m', + 'P 42/m', + 'P 4/n:2', + 'P 42/n:2', + 'I 4/m', + 'I 41/a:2', + 'P 4 2 2', + 'P 4 21 2', + 'P 41 2 2', + 'P 41 21 2', + 'P 42 2 2', + 'P 42 21 2', + 'P 43 2 2', + 'P 43 21 2', + 'I 4 2 2', + 'I 41 2 2', + 'P 4 m m', + 'P 4 b m', + 'P 42 c m', + 'P 42 n m', + 'P 4 c c', + 'P 4 n c', + 'P 42 m c', + 'P 42 b c', + 'I 4 m m', + 'I 4 c m', + 'I 41 m d', + 'I 41 c d', + 'P -4 2 m', + 'P -4 2 c', + 'P -4 21 m', + 'P -4 21 c', + 'P -4 m 2', + 'P -4 c 2', + 'P -4 b 2', + 'P -4 n 2', + 'I -4 m 2', + 'I -4 c 2', + 'I -4 2 m', + 'I -4 2 d', + 'P 4/m m m', + 'P 4/m c c', + 'P 4/n b m:2', + 'P 4/n n c:2', + 'P 4/m b m', + 'P 4/m n c', + 'P 4/n m m:2', + 'P 4/n c c:2', + 'P 42/m m c', + 'P 42/m c m', + 'P 42/n b c:2', + 'P 42/n n m:2', + 'P 42/m b c', + 'P 42/m n m', + 'P 42/n m c:2', + 'P 42/n c m:2', + 'I 4/m m m', + 'I 4/m c m', + 'I 41/a m d:2', + 'I 41/a c d:2', + 'P 3', + 'P 32', + 'R 3:H', + 'P -3', + 'R -3:H', + 'P 3 1 2', + 'P 3 2 1', + 'P 31 1 2', + 'P 31 2 1', + 'P 32 1 2', + 'P 32 2 1', + 'R 3 2:H', + 'P 3 m 1', + 'P 3 1 m', + 'P 3 c 1', + 'P 3 1 c', + 'R 3 m:H', + 'R 3 c:H', + 'P -3 1 m', + 'P -3 1 c', + 'P -3 m 1', + 'P -3 c 1', + 'R -3 m:H', + 'R -3 c:H', + 'P 6', + 'P 61', + 'P 65', + 'P 62', + 'P 64', + 'P 63', + 'P -6', + 'P 63/m', + 'P 6 2 2', + 'P 61 2 2', + 'P 65 2 2', + 'P 62 2 2', + 'P 64 2 2', + 'P 63 2 2', + 'P 6 m m', + 'P 6 c c', + 'P 63 c m', + 'P 63 m c', + 'P -6 m 2', + 'P -6 c 2', + 'P -6 2 m', + 'P -6 2 c', + 'P 6/m m m', + 'P 6/m c c', + 'P 63/m c m', + 'P 63/m m c', + 'P 2 3', + 'F 2 3', + 'I 2 3', + 'P 21 3', + 'I 21 3', + 'P m -3', + 'P n -3:2', + 'F m -3', + 'F d -3:2', + 'I m -3', + 'P a -3', + 'I a -3', + 'P 4 3 2', + 'P 42 3 2', + 'F 4 3 2', + 'F 41 3 2', + 'I 4 3 2', + 'P 43 3 2', + 'P 41 3 2', + 'I 41 3 2', + 'P -4 3 m', + 'F -4 3 m', + 'I -4 3 m', + 'P -4 3 n', + 'F -4 3 c', + 'I -4 3 d', + 'P m -3 m', + 'P n -3 n:2', + 'P m -3 n', + 'P n -3 m:2', + 'F m -3 m', + 'F m -3 c', + 'F d -3 m:2', + 'I m -3 m', + 'I a -3 d', +}) diff --git a/tests/data/easydiffraction/native/golden/lab6_crysfml_tch.json b/tests/data/easydiffraction/native/golden/lab6_crysfml_tch.json new file mode 100644 index 0000000..d7fed05 --- /dev/null +++ b/tests/data/easydiffraction/native/golden/lab6_crysfml_tch.json @@ -0,0 +1,556 @@ +{ + "easydiffraction": "0.21.1", + "fixture": "lab6_crysfml_tch.json", + "built_parameters": { + "lab6.atom_site.B.adp_iso": { + "value": 0.009, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_x": { + "value": 0.2021, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_y": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_z": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.adp_iso": { + "value": 0.00858, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_y": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_alpha": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_beta": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_gamma": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_a": { + "value": 4.15682, + "free": true, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_b": { + "value": 4.15682, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_c": { + "value": 4.15682, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.geom.bond_distance_inc": { + "value": 0.25, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.geom.min_bond_distance_cutoff": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12h.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12i.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12j.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.1a.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.1b.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24k.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24l.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24m.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.3c.multiplicity": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.3d.multiplicity": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.48n.multiplicity": { + "value": 48, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.6e.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.6f.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.8g.multiplicity": { + "value": 8, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.0.coef": { + "value": 30.0, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.0.order": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.1.coef": { + "value": 0.6, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.1.order": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.2.coef": { + "value": 0.7, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.2.order": { + "value": 2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.3.coef": { + "value": -0.4, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.3.order": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.4.coef": { + "value": -0.8, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.4.order": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.5.coef": { + "value": 0.9, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.5.order": { + "value": 5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.d_spacing": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_bkg": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_calc": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_meas": { + "value": 29.800086975097656, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_meas_su": { + "value": 5.458945591879228, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.two_theta": { + "value": 14.997603894670918, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_inc": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_max": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_min": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.monochromator_twotheta": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.polarization_coefficient": { + "value": 0.01, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.sample_displacement": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.sample_transparency": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.twotheta_offset": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength": { + "value": 0.1665, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength_2": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength_2_to_1_ratio": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.linked_structure.lab6.scale": { + "value": 5.4e-06, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.asym_fcj_1": { + "value": 0.001, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.asym_fcj_2": { + "value": 0.001, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_u": { + "value": 0.010379135146427253, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_v": { + "value": 0.0003328998068853359, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_w": { + "value": 0.0006360390661515072, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_lorentz_x": { + "value": 1e-05, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_lorentz_y": { + "value": 0.0028143034323339765, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.cutoff_fwhm": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + } + }, + "run": { + "rwp": 6.7647887198484895, + "r_exp": 12.456374491687894, + "gof": 0.5430784635097969, + "chi2_red": 0.2949342175281619, + "simulation_mode": false, + "engine_details": { + "engine": "easydiffraction", + "engine_version": "0.21.1", + "calculator": "crysfml", + "peak_type": "cwl-thompson-cox-hastings", + "minimizer": "lmfit (leastsq)", + "rwp": 6.7647887198484895, + "r_exp": 12.456374491687894, + "reduced_chi_square": 0.29493415758358, + "n_points": 3767, + "parameters_requested": 13, + "parameters_varied": 13, + "fit_success": true, + "fit_message": "Fit succeeded." + }, + "refined": { + "broad_gauss_u": [ + 0.016687510600865468, + 0.002638118093252609 + ], + "broad_gauss_v": [ + 0.0023412494892984907, + 0.0003109154737596501 + ], + "broad_gauss_w": [ + 0.0005545367297279119, + 9.429769715878341e-06 + ], + "broad_lorentz_x": [ + -5.412145754924389e-05, + 0.00017169648403614517 + ], + "broad_lorentz_y": [ + 0.005790558417248212, + 8.942850756355362e-05 + ], + "background_coefficient_0": [ + 29.826257237701014, + 0.06818249320902713 + ], + "background_coefficient_1": [ + 1.0782618731890101, + 0.11072746838224024 + ], + "background_coefficient_2": [ + 1.6065891112937494, + 0.10044428779598452 + ], + "background_coefficient_3": [ + -1.1593244298676928, + 0.09940596601152134 + ], + "background_coefficient_4": [ + 0.22449958024560515, + 0.08644306051659581 + ], + "background_coefficient_5": [ + 0.4745771622424904, + 0.08580740687360401 + ], + "LaB6_scale": [ + 5.561019209432878e-06, + 1.0520438285946316e-08 + ], + "LaB6_a": [ + 4.15717525296477, + 1.777125055302559e-05 + ] + }, + "unit_cell": { + "LaB6": [ + { + "parameter": "a", + "value": 4.15717525296477, + "esd": 1.777125055302559e-05 + }, + { + "parameter": "b", + "value": 4.15717525296477, + "esd": 1.777125055302559e-05 + }, + { + "parameter": "c", + "value": 4.15717525296477, + "esd": 1.777125055302559e-05 + }, + { + "parameter": "alpha", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "beta", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "gamma", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "volume", + "value": 71.8447437309459, + "esd": NaN + } + ] + }, + "warnings": [ + "easydiffraction_reflections_not_available" + ] + } +} diff --git a/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json b/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json new file mode 100644 index 0000000..d2087c6 --- /dev/null +++ b/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json @@ -0,0 +1,542 @@ +{ + "easydiffraction": "0.21.1", + "fixture": "lab6_cryspy_pv.json", + "built_parameters": { + "lab6.atom_site.B.adp_iso": { + "value": 0.009, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_x": { + "value": 0.2021, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_y": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_z": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.adp_iso": { + "value": 0.00858, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_y": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_alpha": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_beta": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_gamma": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_a": { + "value": 4.15682, + "free": true, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_b": { + "value": 4.15682, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_c": { + "value": 4.15682, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.geom.bond_distance_inc": { + "value": 0.25, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.geom.min_bond_distance_cutoff": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12h.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12i.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12j.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.1a.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.1b.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24k.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24l.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24m.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.3c.multiplicity": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.3d.multiplicity": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.48n.multiplicity": { + "value": 48, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.6e.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.6f.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.8g.multiplicity": { + "value": 8, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.0.coef": { + "value": 30.0, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.0.order": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.1.coef": { + "value": 0.6, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.1.order": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.2.coef": { + "value": 0.7, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.2.order": { + "value": 2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.3.coef": { + "value": -0.4, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.3.order": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.4.coef": { + "value": -0.8, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.4.order": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.5.coef": { + "value": 0.9, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.5.order": { + "value": 5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.d_spacing": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_bkg": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_calc": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_meas": { + "value": 29.800086975097656, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_meas_su": { + "value": 5.458945591879228, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.two_theta": { + "value": 14.997603894670918, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_inc": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_max": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_min": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.monochromator_twotheta": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.polarization_coefficient": { + "value": 0.01, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.sample_displacement": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.sample_transparency": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.twotheta_offset": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength": { + "value": 0.1665, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength_2": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength_2_to_1_ratio": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.linked_structure.lab6.scale": { + "value": 5.4e-06, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_u": { + "value": 0.010379135146427253, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_v": { + "value": 0.0003328998068853359, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_w": { + "value": 0.0006360390661515072, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_lorentz_x": { + "value": 1e-05, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_lorentz_y": { + "value": 0.0028143034323339765, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.cutoff_fwhm": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + } + }, + "run": { + "rwp": 6.814978595121291, + "r_exp": 12.456374491687894, + "gof": 0.547107715785914, + "chi2_red": 0.2993268526724805, + "simulation_mode": false, + "engine_details": { + "engine": "easydiffraction", + "engine_version": "0.21.1", + "calculator": "cryspy", + "peak_type": "cwl-pseudo-voigt", + "minimizer": "lmfit (leastsq)", + "rwp": 6.814978595121291, + "r_exp": 12.456374491687894, + "reduced_chi_square": 0.2993268526724805, + "n_points": 3767, + "parameters_requested": 13, + "parameters_varied": 13, + "fit_success": true, + "fit_message": "Fit succeeded." + }, + "refined": { + "broad_gauss_u": [ + 0.036077426467929434, + 0.004742013942276446 + ], + "broad_gauss_v": [ + 0.005356145320617175, + 0.000543470468193255 + ], + "broad_gauss_w": [ + 0.00040767355482332405, + 1.4701980914047373e-05 + ], + "broad_lorentz_x": [ + -0.09783310778234797, + 0.004091267297993182 + ], + "broad_lorentz_y": [ + 0.009560546530016156, + 0.00017915128360914326 + ], + "background_coefficient_0": [ + 29.805618039842905, + 0.0712527987009575 + ], + "background_coefficient_1": [ + 1.807388647832051, + 0.11415235715444753 + ], + "background_coefficient_2": [ + 0.9254199891575859, + 0.10271830854971033 + ], + "background_coefficient_3": [ + -1.181145267057483, + 0.10000527233062913 + ], + "background_coefficient_4": [ + 0.40214154399550295, + 0.08757556918204185 + ], + "background_coefficient_5": [ + 0.3376770379083285, + 0.08664928902674757 + ], + "LaB6_scale": [ + 5.25184602498966e-06, + 1.0464037830877424e-08 + ], + "LaB6_a": [ + 4.157495135939022, + 1.6973461618831198e-05 + ] + }, + "unit_cell": { + "LaB6": [ + { + "parameter": "a", + "value": 4.157495135939022, + "esd": 1.6973461618831198e-05 + }, + { + "parameter": "b", + "value": 4.157495135939022, + "esd": 1.6973461618831198e-05 + }, + { + "parameter": "c", + "value": 4.157495135939022, + "esd": 1.6973461618831198e-05 + }, + { + "parameter": "alpha", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "beta", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "gamma", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "volume", + "value": 71.8613297616153, + "esd": NaN + } + ] + }, + "warnings": [] + } +} diff --git a/tests/data/easydiffraction/native/golden/lab6_slots_simulation.json b/tests/data/easydiffraction/native/golden/lab6_slots_simulation.json new file mode 100644 index 0000000..b99f867 --- /dev/null +++ b/tests/data/easydiffraction/native/golden/lab6_slots_simulation.json @@ -0,0 +1,445 @@ +{ + "easydiffraction": "0.21.1", + "fixture": "lab6_slots_simulation.json", + "built_parameters": { + "lab6.atom_site.B.adp_iso": { + "value": 0.009, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_x": { + "value": 0.2021, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_y": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_z": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.adp_iso": { + "value": 0.00858, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_y": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_alpha": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_beta": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_gamma": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_a": { + "value": 4.15682, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_b": { + "value": 4.15682, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_c": { + "value": 4.15682, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.geom.bond_distance_inc": { + "value": 0.25, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.geom.min_bond_distance_cutoff": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12h.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12i.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12j.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.1a.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.1b.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24k.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24l.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24m.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.3c.multiplicity": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.3d.multiplicity": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.48n.multiplicity": { + "value": 48, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.6e.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.6f.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.8g.multiplicity": { + "value": 8, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.absorption.mu_r": { + "value": 0.3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.d_spacing": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_bkg": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_calc": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_meas": { + "value": 29.173826217651367, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_meas_su": { + "value": 5.401280053621675, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.two_theta": { + "value": 15.86732136887234, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_inc": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_max": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_min": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.monochromator_twotheta": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.polarization_coefficient": { + "value": 0.01, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.sample_displacement": { + "value": 0.001, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.sample_transparency": { + "value": -0.0005, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.twotheta_offset": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength": { + "value": 0.1665, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength_2": { + "value": 0.1669, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength_2_to_1_ratio": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.linked_structure.lab6.scale": { + "value": 5.4e-06, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.asym_beba_a0": { + "value": 0.01, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.asym_beba_a1": { + "value": -0.005, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.asym_beba_b0": { + "value": 0.002, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.asym_beba_b1": { + "value": 0.001, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_u": { + "value": 0.010379135146427253, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_v": { + "value": 0.0003328998068853359, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_w": { + "value": 0.0006360390661515072, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_lorentz_x": { + "value": 1e-05, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_lorentz_y": { + "value": 0.0028143034323339765, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.cutoff_fwhm": { + "value": 20.0, + "free": false, + "fit_min": null, + "fit_max": null + } + }, + "run": { + "rwp": 69.37290964559966, + "r_exp": 12.716997879223172, + "gof": 5.455132595322676, + "chi2_red": 29.758471632551917, + "simulation_mode": true, + "engine_details": { + "engine": "easydiffraction", + "engine_version": "0.21.1", + "calculator": "cryspy", + "peak_type": "cwl-pseudo-voigt-berar-baldinozzi-asymmetry", + "minimizer": null, + "rwp": null, + "r_exp": null, + "reduced_chi_square": null, + "n_points": 4096, + "parameters_requested": 0, + "parameters_varied": 0 + }, + "refined": {}, + "unit_cell": { + "LaB6": [ + { + "parameter": "a", + "value": 4.15682, + "esd": 0.0 + }, + { + "parameter": "b", + "value": 4.15682, + "esd": 0.0 + }, + { + "parameter": "c", + "value": 4.15682, + "esd": 0.0 + }, + { + "parameter": "alpha", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "beta", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "gamma", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "volume", + "value": 71.82632674659455, + "esd": NaN + } + ] + }, + "warnings": [] + } +} diff --git a/tests/test_easydiffraction_native.py b/tests/test_easydiffraction_native.py new file mode 100644 index 0000000..0307bce --- /dev/null +++ b/tests/test_easydiffraction_native.py @@ -0,0 +1,738 @@ +"""Native ``easydiffraction.*`` runtime tests (re/06). + +Tests the easydiffraction gateway builder, runner, and integration on the native +schema with easydiffraction 0.21.1. These tests require the easydiffraction +package and run full fits (slow). +""" + +from __future__ import annotations + +import json +import math +import sys +import textwrap +from pathlib import Path +from unittest.mock import Mock + +import numpy as np +import pytest + +easydiffraction = pytest.importorskip("easydiffraction") +from importlib.metadata import version + +pytestmark = pytest.mark.skipif( + version("easydiffraction") != "0.21.1", reason="native path is built for easydiffraction 0.21.1" +) + +from powderline.exceptions import EngineExecutionError +from powderline.gateways.easydiffraction import gateway, native_builder, native_run, schema +from powderline.schema_core import parameters_requested + +DATA = Path(__file__).resolve().parent / "data" + + +def _load_fixture(name: str) -> dict: + """Load a fixture from tests/data/easydiffraction/native/.""" + with open(DATA / "easydiffraction" / "native" / name, encoding="utf-8") as f: + return json.load(f) + + +# ============================================================================ +# Module-scoped fixtures: run each LaB6 fit once, reuse results +# ============================================================================ + + +@pytest.fixture(scope="module") +def lab6_crysfml_tch_result(tmp_path_factory): + """Run lab6_crysfml_tch.json once; return result dict.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + out = tmp_path_factory.mktemp("lab6_crysfml_tch") + return gateway.run(recipe, str(out), allow_unsupported_engine_version=True) + + +@pytest.fixture(scope="module") +def lab6_cryspy_pv_result(tmp_path_factory): + """Run lab6_cryspy_pv.json once; return result dict.""" + recipe = _load_fixture("lab6_cryspy_pv.json") + out = tmp_path_factory.mktemp("lab6_cryspy_pv") + return gateway.run(recipe, str(out), allow_unsupported_engine_version=True) + + +@pytest.fixture(scope="module") +def lab6_slots_simulation_result(tmp_path_factory): + """Run lab6_slots_simulation.json once; return result dict.""" + recipe = _load_fixture("lab6_slots_simulation.json") + out = tmp_path_factory.mktemp("lab6_slots_simulation") + return gateway.run(recipe, str(out), allow_unsupported_engine_version=True) + + +@pytest.fixture(scope="module") +def lab6_crysfml_tch_build(): + """Build lab6_crysfml_tch.json once; return Build object.""" + model = schema.validate_recipe(_load_fixture("lab6_crysfml_tch.json")) + return native_builder.build_project(model) + + +@pytest.fixture(scope="module") +def lab6_cryspy_pv_build(): + """Build lab6_cryspy_pv.json once; return Build object.""" + model = schema.validate_recipe(_load_fixture("lab6_cryspy_pv.json")) + return native_builder.build_project(model) + + +@pytest.fixture(scope="module") +def lab6_slots_simulation_build(): + """Build lab6_slots_simulation.json once; return Build object.""" + model = schema.validate_recipe(_load_fixture("lab6_slots_simulation.json")) + return native_builder.build_project(model) + + +# ============================================================================ +# Builder tests (build_project) +# ============================================================================ + + +@pytest.mark.parametrize( + "fixture_name,build_fixture,calculator,peak_type", + [ + ("lab6_crysfml_tch.json", "lab6_crysfml_tch_build", "crysfml", "cwl-thompson-cox-hastings"), + ("lab6_cryspy_pv.json", "lab6_cryspy_pv_build", "cryspy", "cwl-pseudo-voigt"), + ("lab6_slots_simulation.json", "lab6_slots_simulation_build", "cryspy", "cwl-pseudo-voigt-berar-baldinozzi-asymmetry"), + ], +) +def test_builder_calculator_and_peak_type(fixture_name, build_fixture, calculator, peak_type, request): + """Calculator and peak type are set correctly.""" + build = request.getfixturevalue(build_fixture) + expt = build.experiment + assert expt.calculator.type == calculator + assert expt.peak.type == peak_type + + +def test_builder_instrument_values_match_recipe(lab6_crysfml_tch_build): + """Every instrument value in the recipe equals the easydiffraction value.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + model = schema.validate_recipe(recipe) + build = lab6_crysfml_tch_build + expt = build.experiment + inst = model.payload.instrument + + # Wavelength + assert expt.instrument.setup_wavelength.value == inst.radiation.setup_wavelength.value + + # Corrections + assert expt.instrument.calib_twotheta_offset.value == inst.corrections.calib_twotheta_offset.value + + # Broadening parameters + profile = inst.broadening.parameters + assert expt.peak.broad_gauss_u.value == profile.broad_gauss_u.value + assert expt.peak.broad_gauss_v.value == profile.broad_gauss_v.value + assert expt.peak.broad_gauss_w.value == profile.broad_gauss_w.value + assert expt.peak.broad_lorentz_x.value == profile.broad_lorentz_x.value + assert expt.peak.broad_lorentz_y.value == profile.broad_lorentz_y.value + + # TCH asymmetry parameters + assert expt.peak.asym_fcj_1.value == profile.asym_fcj_1.value + assert expt.peak.asym_fcj_2.value == profile.asym_fcj_2.value + + +def test_builder_kα2_doublet(lab6_slots_simulation_build): + """Kα2 wavelength and ratio are set when present.""" + recipe = _load_fixture("lab6_slots_simulation.json") + model = schema.validate_recipe(recipe) + build = lab6_slots_simulation_build + expt = build.experiment + + assert expt.instrument.setup_wavelength_2.value == model.payload.instrument.radiation.setup_wavelength_2 + assert ( + expt.instrument.setup_wavelength_2_to_1_ratio.value + == model.payload.instrument.radiation.setup_wavelength_2_to_1_ratio + ) + + +def test_builder_polarization(lab6_slots_simulation_build): + """Polarization coefficient and monochromator angle are set.""" + recipe = _load_fixture("lab6_slots_simulation.json") + model = schema.validate_recipe(recipe) + build = lab6_slots_simulation_build + expt = build.experiment + + assert ( + expt.instrument.setup_polarization_coefficient.value + == model.payload.instrument.polarization.setup_polarization_coefficient + ) + assert ( + expt.instrument.setup_monochromator_twotheta.value + == model.payload.instrument.polarization.setup_monochromator_twotheta + ) + + +def test_builder_displacement_transparency(lab6_slots_simulation_build): + """Displacement and transparency corrections are set.""" + recipe = _load_fixture("lab6_slots_simulation.json") + model = schema.validate_recipe(recipe) + build = lab6_slots_simulation_build + expt = build.experiment + + assert ( + expt.instrument.calib_sample_displacement.value + == model.payload.instrument.corrections.calib_sample_displacement.value + ) + assert ( + expt.instrument.calib_sample_transparency.value + == model.payload.instrument.corrections.calib_sample_transparency.value + ) + + +def test_builder_absorption(lab6_slots_simulation_build): + """Absorption type and mu_r are set.""" + recipe = _load_fixture("lab6_slots_simulation.json") + model = schema.validate_recipe(recipe) + build = lab6_slots_simulation_build + expt = build.experiment + + assert expt.absorption.type == model.payload.instrument.absorption.type + assert expt.absorption.mu_r.value == model.payload.instrument.absorption.mu_r.value + + +def test_builder_cutoff_fwhm(lab6_slots_simulation_build): + """CrysPy cutoff_fwhm is set.""" + recipe = _load_fixture("lab6_slots_simulation.json") + model = schema.validate_recipe(recipe) + build = lab6_slots_simulation_build + expt = build.experiment + + assert expt.peak.cutoff_fwhm.value == model.payload.instrument.broadening.cutoff_fwhm + + +def test_builder_background_terms(lab6_crysfml_tch_build): + """Background terms equal the recipe's.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + model = schema.validate_recipe(recipe) + build = lab6_crysfml_tch_build + expt = build.experiment + + cheb_recipe = model.payload.background.chebyshev.coefficients + cheb_ed = list(expt.background) + assert len(cheb_ed) == len(cheb_recipe) + for term, coef in zip(cheb_ed, cheb_recipe): + assert term.coef.value == coef + + +def test_builder_phase_scale(lab6_crysfml_tch_build): + """Linked-structure scale equals the recipe's phase scale.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + model = schema.validate_recipe(recipe) + build = lab6_crysfml_tch_build + + for name, phase in model.payload.phases.items(): + ed_name = native_builder.structure_name(name) + assert build.experiment.linked_structures[ed_name].scale.value == phase.scale.value + + +def test_builder_structure_name_lowercased(lab6_crysfml_tch_build): + """Structure name is the phase name lowercased.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + model = schema.validate_recipe(recipe) + build = lab6_crysfml_tch_build + + for name in model.payload.phases: + # build.structures is keyed by original phase name + assert name in build.structures + # The structure's datablock name is lowercased + s = build.structures[name] + assert s.name == native_builder.structure_name(name) + assert native_builder.structure_name(name) == name.lower() + + +def test_builder_cell_values(lab6_crysfml_tch_build): + """Cell values equal the recipe's.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + model = schema.validate_recipe(recipe) + build = lab6_crysfml_tch_build + + for name, phase in model.payload.phases.items(): + s = build.structures[name] + assert s.cell.length_a.value == phase.unit_cell.a.value + assert s.cell.length_b.value == phase.unit_cell.b.value + assert s.cell.length_c.value == phase.unit_cell.c.value + assert s.cell.angle_alpha.value == phase.unit_cell.alpha.value + assert s.cell.angle_beta.value == phase.unit_cell.beta.value + assert s.cell.angle_gamma.value == phase.unit_cell.gamma.value + + +def test_builder_atom_values(lab6_crysfml_tch_build): + """Atom positions, occupancy, and Uiso equal the recipe's.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + model = schema.validate_recipe(recipe) + build = lab6_crysfml_tch_build + + for name, phase in model.payload.phases.items(): + s = build.structures[name] + for label, atom in phase.atoms.items(): + site = s.atom_sites[label] + assert site.fract_x.value == atom.x.value + assert site.fract_y.value == atom.y.value + assert site.fract_z.value == atom.z.value + assert site.occupancy.value == atom.occupancy.value + if atom.ADP == "Uiso": + assert site.adp_iso.value == atom.Uiso.value + + +def test_builder_data_arrays_exact(lab6_crysfml_tch_build): + """experiment.data.x equals the recipe's tth at window points exactly.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + model = schema.validate_recipe(recipe) + build = lab6_crysfml_tch_build + + mask = model.payload.window_mask() + tth = np.asarray(model.payload.xrd_data.tth, dtype=float) + x_window = tth[mask] + + ed_x = np.asarray(build.experiment.data.x, dtype=float) + np.testing.assert_array_equal(ed_x, x_window) + + +def test_builder_data_sigma(lab6_crysfml_tch_build): + """sigma = 1/sqrt(weight).""" + recipe = _load_fixture("lab6_crysfml_tch.json") + model = schema.validate_recipe(recipe) + build = lab6_crysfml_tch_build + + mask = model.payload.window_mask() + w = np.asarray(model.payload.xrd_data.Itth_weights, dtype=float) + sigma_expected = 1.0 / np.sqrt(w[mask]) + + ed_sigma = np.asarray(build.experiment.data.intensity_meas_su, dtype=float) + np.testing.assert_allclose(ed_sigma, sigma_expected, rtol=1e-15) + + +def test_builder_free_parameters_lab6_crysfml_tch(lab6_crysfml_tch_build): + """Free parameters for lab6_crysfml_tch: exactly the expected set.""" + build = lab6_crysfml_tch_build + + # Expected: broad_gauss_u/v/w, broad_lorentz_x/y, 6 background coefficients, LaB6_scale, LaB6_a + expected_names = { + "broad_gauss_u", + "broad_gauss_v", + "broad_gauss_w", + "broad_lorentz_x", + "broad_lorentz_y", + "background_coefficient_0", + "background_coefficient_1", + "background_coefficient_2", + "background_coefficient_3", + "background_coefficient_4", + "background_coefficient_5", + "LaB6_scale", + "LaB6_a", + } + + actual_names = {fp.name for fp in build.free} + assert actual_names == expected_names, f"Expected {expected_names}, got {actual_names}" + assert len(build.free) == 13 + + +def test_builder_cubic_cell_one_parameter(lab6_crysfml_tch_build): + """Cubic cell: one parameter (a), b and c are tied.""" + build = lab6_crysfml_tch_build + + cell_params = [fp for fp in build.free if fp.category == "unit_cell"] + assert len(cell_params) == 1 + assert cell_params[0].name == "LaB6_a" + + +def test_builder_parameter_limits_physical(lab6_crysfml_tch_build): + """Parameters with no stated bounds have physical limits as source.""" + build = lab6_crysfml_tch_build + + # LaB6_a has no stated bounds in the fixture, so it should have physical limits + a_param = next(fp for fp in build.free if fp.name == "LaB6_a") + assert a_param.limits == (0.0, 30.0) + assert a_param.limit_source == ("physical", "physical") + + +def test_builder_parameter_limits_stated(): + """A stated bound becomes fit_min/fit_max and is marked 'stated'.""" + recipe = _load_fixture("lab6_cryspy_pv.json") + # Set a's min/max to 4.1/4.2 + for axis in ("a", "b", "c"): + recipe["payload"]["phases"]["LaB6"]["unit_cell"][axis] = [4.15682, True, 4.1, 4.2] + model = schema.validate_recipe(recipe) + build = native_builder.build_project(model) + + a_param = next(fp for fp in build.free if fp.name == "LaB6_a") + assert a_param.limits == (4.1, 4.2) + assert a_param.limit_source == ("stated", "stated") + + # Check easydiffraction's fit_min/fit_max + s = build.structures["LaB6"] + assert s.cell.length_a.fit_min == 4.1 + assert s.cell.length_a.fit_max == 4.2 + + +def test_builder_scale_limits(lab6_crysfml_tch_build): + """Scale has physical lower limit 0.0, no upper limit.""" + build = lab6_crysfml_tch_build + + scale_param = next(fp for fp in build.free if fp.name == "LaB6_scale") + assert scale_param.limits == (0.0, None) + assert scale_param.limit_source == ("physical", None) + + +def test_builder_fixed_parameters_not_free(lab6_crysfml_tch_build): + """Fixed parameters are not in the free list.""" + build = lab6_crysfml_tch_build + + # asym_fcj_1/2, wavelength, Uiso should not be free in this fixture + free_names = {fp.name for fp in build.free} + assert "asym_fcj_1" not in free_names + assert "asym_fcj_2" not in free_names + assert "setup_wavelength" not in free_names + assert "LaB6_La_Uiso" not in free_names + + +def test_builder_eb77_cryspy_pv_wrong_orientation_raises(): + """EB-77: CrysPy with B at (0.5, 0.5, 0.2021) raises with EB-77 in the message.""" + recipe = _load_fixture("lab6_cryspy_pv.json") + # Change B's position to the wrong orientation + recipe["payload"]["phases"]["LaB6"]["atoms"]["B"]["x"] = [0.5, False, None, None] + recipe["payload"]["phases"]["LaB6"]["atoms"]["B"]["y"] = [0.5, False, None, None] + recipe["payload"]["phases"]["LaB6"]["atoms"]["B"]["z"] = [0.2021, False, None, None] + + model = schema.validate_recipe(recipe) + with pytest.raises(EngineExecutionError) as exc: + native_builder.build_project(model) + + assert "EB-77" in str(exc.value) + assert "0.2021, 0.5, 0.5" in str(exc.value) or "(0.2021, 0.5, 0.5)" in str(exc.value) + + +def test_builder_eb77_crysfml_accepts_both_orientations(): + """EB-77: CrysFML accepts either orientation.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + # Try both orientations + for x, y, z in [(0.2021, 0.5, 0.5), (0.5, 0.5, 0.2021)]: + r = json.loads(json.dumps(recipe)) + r["payload"]["phases"]["LaB6"]["atoms"]["B"]["x"] = [x, False, None, None] + r["payload"]["phases"]["LaB6"]["atoms"]["B"]["y"] = [y, False, None, None] + r["payload"]["phases"]["LaB6"]["atoms"]["B"]["z"] = [z, False, None, None] + model = schema.validate_recipe(r) + build = native_builder.build_project(model) # Should not raise + assert build is not None + + +def test_matches_template_unit_cases(): + """Unit tests for _matches_template.""" + from powderline.gateways.easydiffraction.native_builder import _matches_template + + # Positive cases + assert _matches_template("(x,1/2,1/2)", (0.2, 0.5, 0.5)) + assert _matches_template("(x,x,x)", (0.1, 0.1, 0.1)) + assert _matches_template("(2x,x,z)", (0.2, 0.1, 0.3)) + assert _matches_template("(x,-x,z)", (0.1, 0.9, 0.3)) + + # Negative cases + assert not _matches_template("(x,1/2,1/2)", (0.5, 0.5, 0.2)) + assert not _matches_template("(2x,x,z)", (0.1, 0.2, 0.3)) + + +# ============================================================================ +# Run tests (gateway.run) +# ============================================================================ + + +def test_run_lab6_crysfml_tch_success(lab6_crysfml_tch_result): + """CrysFML TCH fit succeeds.""" + result = lab6_crysfml_tch_result + assert result["success"] + assert result["simulation_mode"] is False + + +def test_run_lab6_cryspy_pv_success(lab6_cryspy_pv_result): + """CrysPy PV fit succeeds.""" + result = lab6_cryspy_pv_result + assert result["success"] + assert result["simulation_mode"] is False + + +def test_run_rwp_matches_engine_details(lab6_crysfml_tch_result, lab6_cryspy_pv_result): + """rwp equals engine_details['rwp'] within 1e-9 relative.""" + for result in [lab6_crysfml_tch_result, lab6_cryspy_pv_result]: + rwp = result["rwp"] + ed_rwp = result["engine_details"]["rwp"] + assert rwp is not None + assert ed_rwp is not None + assert abs(rwp - ed_rwp) / abs(ed_rwp) < 1e-9 + + +def test_run_parameters_varied_matches_requested(lab6_crysfml_tch_result, lab6_cryspy_pv_result): + """parameters_varied == parameters_requested == 13.""" + for result in [lab6_crysfml_tch_result, lab6_cryspy_pv_result]: + assert result["engine_details"]["parameters_varied"] == 13 + assert result["engine_details"]["parameters_requested"] == 13 + + +def test_run_simulation_mode(lab6_slots_simulation_result): + """Simulation: simulation_mode True, method easydiffraction_simulation, rwp present (from stats), ed rwp None.""" + result = lab6_slots_simulation_result + assert result["simulation_mode"] is True + assert result["method"] == "easydiffraction_simulation" + assert result["engine_details"]["rwp"] is None + assert result["rwp"] is not None # From core stats + + +def test_run_simulation_parameters_varied_zero(lab6_slots_simulation_result): + """Simulation: parameters_varied 0.""" + result = lab6_slots_simulation_result + assert result["engine_details"]["parameters_varied"] == 0 + + +def test_run_simulation_statistics_present(lab6_slots_simulation_result): + """Simulation: statistics present (rwp not None).""" + result = lab6_slots_simulation_result + assert result["rwp"] is not None + assert result["r_exp"] is not None + assert result["gof"] is not None + + +def test_run_output_files_include_expected(lab6_crysfml_tch_result, lab6_cryspy_pv_result): + """Output files include refined_parameters.csv, fit_profile.txt, LaB6_unit_cell_report.csv.""" + expected_files = {"refined_parameters.csv", "fit_profile.txt", "LaB6_unit_cell_report.csv"} + for result in [lab6_crysfml_tch_result, lab6_cryspy_pv_result]: + output_files = {Path(f).name for f in result["output_files"]} + assert expected_files.issubset(output_files) + + +def test_run_cryspy_has_peak_list(lab6_cryspy_pv_result): + """CrysPy run has LaB6_peak_list_report.csv and peak_list_data non-empty.""" + result = lab6_cryspy_pv_result + output_files = {Path(f).name for f in result["output_files"]} + assert "LaB6_peak_list_report.csv" in output_files + assert "LaB6" in result["peak_list_data"] + assert len(result["peak_list_data"]["LaB6"]) > 0 + + +def test_run_crysfml_no_peak_list(lab6_crysfml_tch_result): + """CrysFML run has warning easydiffraction_reflections_not_available and no peak list file.""" + result = lab6_crysfml_tch_result + output_files = {Path(f).name for f in result["output_files"]} + assert "LaB6_peak_list_report.csv" not in output_files + + warnings = [w for w in result["warnings"] if w["code"] == "easydiffraction_reflections_not_available"] + assert len(warnings) == 1 + + +def test_run_fit_profile_columns(lab6_crysfml_tch_result): + """fit_profile has expected columns and y_diff == y_obs - y_calc.""" + result = lab6_crysfml_tch_result + profile = result["fit_profile"] + + expected_cols = {"two_theta", "y_obs", "y_weights", "y_calc", "y_diff", "y_bkg", "q_values", "d_spacings"} + assert set(profile.columns) == expected_cols + + # y_diff == y_obs - y_calc + np.testing.assert_allclose(profile["y_diff"], profile["y_obs"] - profile["y_calc"], rtol=1e-12) + + +def test_run_fit_profile_y_bkg_finite(lab6_crysfml_tch_result): + """y_bkg is finite.""" + result = lab6_crysfml_tch_result + profile = result["fit_profile"] + assert np.isfinite(profile["y_bkg"]).all() + + +def test_run_fit_profile_row_count_matches_window(lab6_crysfml_tch_result): + """Number of rows == window points.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + model = schema.validate_recipe(recipe) + mask = model.payload.window_mask() + n_window = np.sum(mask) + + result = lab6_crysfml_tch_result + assert len(result["fit_profile"]) == n_window + + +def test_run_unit_cell_report_cubic_ties(lab6_crysfml_tch_result): + """b and c equal a with a's esd; alpha..gamma 90 with esd 0.0.""" + result = lab6_crysfml_tch_result + uc = result["unit_cell_data"]["LaB6"] + + a_row = uc[uc["parameter"] == "a"].iloc[0] + b_row = uc[uc["parameter"] == "b"].iloc[0] + c_row = uc[uc["parameter"] == "c"].iloc[0] + + assert b_row["value"] == a_row["value"] + assert c_row["value"] == a_row["value"] + assert b_row["esd"] == a_row["esd"] + assert c_row["esd"] == a_row["esd"] + + for param in ["alpha", "beta", "gamma"]: + row = uc[uc["parameter"] == param].iloc[0] + assert row["value"] == 90.0 + assert row["esd"] == 0.0 + + +def test_run_unit_cell_volume(lab6_crysfml_tch_result): + """Volume == a**3 (rel 1e-12).""" + result = lab6_crysfml_tch_result + uc = result["unit_cell_data"]["LaB6"] + + a = uc[uc["parameter"] == "a"].iloc[0]["value"] + vol = uc[uc["parameter"] == "volume"].iloc[0]["value"] + + assert abs(vol - a**3) / a**3 < 1e-12 + + +def test_run_simulation_phase_scale_zero_warning(tmp_path): + """A phase with scale 0 in simulation → warning easydiffraction_phase_contributes_nothing.""" + recipe = _load_fixture("lab6_slots_simulation.json") + recipe["payload"]["phases"]["LaB6"]["scale"] = [0.0, False, None, None] + + result = gateway.run(recipe, str(tmp_path), allow_unsupported_engine_version=True) + warnings = [w for w in result["warnings"] if w["code"] == "easydiffraction_phase_contributes_nothing"] + assert len(warnings) == 1 + assert warnings[0]["field_path"] == "payload.phases.LaB6" + + +def test_run_parameter_at_limit_warning(tmp_path): + """Tight stated bound that the fit hits → warning easydiffraction_parameter_at_limit.""" + recipe = _load_fixture("lab6_cryspy_pv.json") + # Set a max just above the starting value; the fit will hit it + for axis in ("a", "b", "c"): + recipe["payload"]["phases"]["LaB6"]["unit_cell"][axis] = [4.15682, True, None, 4.157] + + result = gateway.run(recipe, str(tmp_path), allow_unsupported_engine_version=True) + warnings = [w for w in result["warnings"] if w["code"] == "easydiffraction_parameter_at_limit"] + assert len(warnings) >= 1 + assert any("payload.phases.LaB6.unit_cell.a" in w["field_path"] for w in warnings) + + +def test_run_max_iterations_3_fit_not_converged(tmp_path): + """max_iterations = 3 (lmfit max_nfev) stops lmfit unconverged: a success with the not-converged warning.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + recipe["payload"]["refinement_controls"]["max_iterations"] = 3 + result = gateway.run(recipe, str(tmp_path), allow_unsupported_engine_version=True) + assert result["success"] is True + assert result["engine_details"]["fit_success"] is False + warnings = [w for w in result["warnings"] if w["code"] == "easydiffraction_fit_not_converged"] + assert len(warnings) == 1 and warnings[0]["field_path"] == "payload.refinement_controls" + + +def test_run_divergence_nan_in_calc(tmp_path, monkeypatch): + """A non-finite calculated point is the divergence error (A130, A154).""" + model = schema.validate_recipe(_load_fixture("lab6_cryspy_pv.json")) + build = native_builder.build_project(model) + build.project.analysis.calculate() + data_class = type(build.experiment.data) # the instance is guarded; patch its class + original = data_class.fit_data_arrays + + def with_nan(self): + arrays = {k: np.array(v, dtype=float) for k, v in original(self).items()} + arrays["calc"][10] = np.nan + return arrays + + monkeypatch.setattr(data_class, "fit_data_arrays", with_nan) + with pytest.raises(EngineExecutionError, match="diverged"): + native_run.build_result(model, build, tmp_path, [], elapsed=0.0, fit_info={}) + + +def test_run_validate_only(tmp_path): + """validate_only returns method 'validate_only' without importing easydiffraction's runtime.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + result = gateway.run(recipe, str(tmp_path), validate_only=True, allow_unsupported_engine_version=True) + + assert result["method"] == "validate_only" + assert result["success"] is True + assert result["rwp"] is None + assert "schema_name" in result + assert "engine_schema_version" in result + + +def test_zero_gsasii_imports_subprocess(): + """A subprocess that blocks GSASII imports can import native_run and schema.""" + import textwrap + + script = textwrap.dedent( + """ + import sys, importlib.abc + + class _Block(importlib.abc.MetaPathFinder): + def find_spec(self, name, path, target=None): + if name == "GSASII" or name.startswith("GSASII."): + raise ImportError("GSASII blocked for easydiffraction native test") + return None + + sys.meta_path.insert(0, _Block()) + import powderline.gateways.easydiffraction.native_run + import powderline.gateways.easydiffraction.schema + assert "GSASII" not in sys.modules, "easydiffraction native path pulled GSAS-II into sys.modules" + print("OK") + """ + ) + + import subprocess + + proc = subprocess.run([sys.executable, "-c", script], capture_output=True, text=True) + assert proc.returncode == 0, f"stdout={proc.stdout!r} stderr={proc.stderr!r}" + assert "OK" in proc.stdout + + +# ============================================================================ +# Goldens (A157 B8): regenerated only on a deliberate engine change +# (devkit probes/re06/make_goldens.py) +# ============================================================================ + +_GOLDEN_CASES = [("lab6_crysfml_tch.json", "lab6_crysfml_tch_build", "lab6_crysfml_tch_result"), + ("lab6_cryspy_pv.json", "lab6_cryspy_pv_build", "lab6_cryspy_pv_result"), + ("lab6_slots_simulation.json", "lab6_slots_simulation_build", "lab6_slots_simulation_result")] + + +def _golden(name: str) -> dict: + with open(DATA / "easydiffraction" / "native" / "golden" / name, encoding="utf-8") as f: + return json.load(f) + + +def _finite_or_none(v): + return None if v is None or (isinstance(v, float) and not math.isfinite(v)) else v + + +@pytest.mark.parametrize("name,build_fixture,_result", _GOLDEN_CASES) +def test_built_project_matches_golden(name, build_fixture, _result, request): + """The built project's parameters (value, free, fit_min, fit_max) equal the golden exactly.""" + build = request.getfixturevalue(build_fixture) + built = {} + for p in build.project.parameters: + value = getattr(p, "value", None) + if not isinstance(value, (int, float)) or isinstance(value, bool): + continue + built[p.unique_name] = {"value": _finite_or_none(value), "free": bool(getattr(p, "free", False)), + "fit_min": _finite_or_none(getattr(p, "fit_min", None)), + "fit_max": _finite_or_none(getattr(p, "fit_max", None))} + assert built == _golden(name)["built_parameters"] + + +@pytest.mark.parametrize("name,_build,result_fixture", _GOLDEN_CASES) +def test_run_matches_golden(name, _build, result_fixture, request): + """Statistics, refined values (rel 1e-6) and ESDs (rel 1e-3), unit cell and warning codes match the golden.""" + res = request.getfixturevalue(result_fixture) + gold = _golden(name)["run"] + for key in ("rwp", "r_exp", "gof", "chi2_red"): + assert res[key] == pytest.approx(gold[key], rel=1e-6) + assert res["simulation_mode"] == gold["simulation_mode"] + details = res["engine_details"] + for key in ("calculator", "peak_type", "parameters_requested", "parameters_varied", "n_points"): + assert details[key] == gold["engine_details"][key] + rp = res["refined_parameters"] + refined = {n: (v, _finite_or_none(e)) for n, v, e in zip(rp.parameter_name, rp.value, rp.esd)} + assert refined.keys() == gold["refined"].keys() + for n, (value, esd) in gold["refined"].items(): + assert refined[n][0] == pytest.approx(value, rel=1e-6, abs=1e-12) + assert (refined[n][1] is None) == (esd is None) + if esd is not None: + assert refined[n][1] == pytest.approx(esd, rel=1e-3) + for phase, rows in gold["unit_cell"].items(): + got = res["unit_cell_data"][phase].to_dict("records") + for g, r in zip(rows, got): + assert r["parameter"] == g["parameter"] + assert r["value"] == pytest.approx(g["value"], rel=1e-9) + assert sorted(w["code"] for w in res["warnings"]) == gold["warnings"] diff --git a/tests/test_easydiffraction_schema.py b/tests/test_easydiffraction_schema.py index 2041b99..6574174 100644 --- a/tests/test_easydiffraction_schema.py +++ b/tests/test_easydiffraction_schema.py @@ -457,3 +457,39 @@ def test_window_mask_selects_weighted_points_in_range(): actual_mask = model.payload.window_mask() np.testing.assert_array_equal(actual_mask, expected_mask) + + +# --- settings per calculator (EB-80) ------------------------------------------------- + + +@pytest.mark.parametrize("setting, calculator, suggestion", [ + ("F d -3 m:1", "crysfml", "F d -3 m:2"), + ("P n n n:1", "crysfml", "P n n n:2"), + ("R -3 m:R", "cryspy", "R -3 m:H"), + ("P 1 1 2", "cryspy", "P 1 2 1"), +]) +def test_setting_the_calculator_misreads_rejected(setting, calculator, suggestion): + from powderline.gateways.easydiffraction.schema import calculator_setting_problem + + why = calculator_setting_problem(setting, calculator) + assert why is not None and "EB-80" in why and repr(suggestion) in why + + +@pytest.mark.parametrize("setting, calculator", [("P m -3 m", "crysfml"), ("P m -3 m", "cryspy"), + ("F d -3 m:1", "cryspy"), ("C 1 2/m 1", "crysfml")]) +def test_setting_the_calculator_computes_accepted(setting, calculator): + from powderline.gateways.easydiffraction.schema import calculator_setting_problem + + assert calculator_setting_problem(setting, calculator) is None + + +def test_setting_rule_reported_at_the_phase(): + r = _load_fixture("lab6_cryspy_pv.json") + r["payload"]["refinement_controls"]["calculator"] = "crysfml" + r["payload"]["phases"]["LaB6"]["space_group"] = "P 1 1 2" + cell = r["payload"]["phases"]["LaB6"]["unit_cell"] + cell["gamma"] = P(95.0) + for label, xyz in (("La", (0.0, 0.0, 0.0)), ("B", (0.2021, 0.31, 0.47))): + for k, v in zip("xyz", xyz): + r["payload"]["phases"]["LaB6"]["atoms"][label][k] = P(v) + _fails(r, ("payload", "phases", "LaB6", "space_group"), "easydiffraction_setting") diff --git a/tests/test_easydiffraction_space_groups.py b/tests/test_easydiffraction_space_groups.py index 1602de2..ca1b0c5 100644 --- a/tests/test_easydiffraction_space_groups.py +++ b/tests/test_easydiffraction_space_groups.py @@ -68,3 +68,20 @@ def test_structure_accepts_the_mapped_setting(xhm, expected): assert (s.space_group.coord_system_code.value == code) is is_default s.space_group.coord_system_code = code assert (s.space_group.name_h_m.value, s.space_group.coord_system_code.value) == (name, code) + + +#: A fixed sample re-verified by computation against the committed support sets (EB-80): defaults, +#: origin choices, rhombohedral axes, non-default monoclinic and orthorhombic settings, a crash. +SUPPORT_SAMPLE = ("P m -3 m", "F d -3 m:1", "F d -3 m:2", "R -3 m:H", "R -3 m:R", "C 1 2/m 1", "P 1 1 2", + "P n n n:1", "P n n n:2", "P b n m", "A 1 2 1") + + +def test_support_sets_reverified_on_a_sample(): + gen = importlib.util.spec_from_file_location("ver", ROOT / "scripts" / "verify_easydiffraction_settings.py") + module = importlib.util.module_from_spec(gen) + gen.loader.exec_module(module) + from powderline.gateways.easydiffraction import space_group_support as support + from powderline.gateways.easydiffraction.space_group_table import SPACE_GROUPS + + for xhm, cryspy_ok, crysfml_ok, note in module._verify_chunk([(x, SPACE_GROUPS[x]) for x in SUPPORT_SAMPLE]): + assert (cryspy_ok, crysfml_ok) == (xhm in support.CRYSPY_SETTINGS, xhm in support.CRYSFML_SETTINGS), (xhm, note) From 508f39f040dff7549121965562e4f1c8720b9d06 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 20:47:35 -0400 Subject: [PATCH 04/20] chore(easydiffraction): bump easydiffraction to 0.21.1 and solve env --- pixi.lock | 184 ++++++++++++++++++++++++++++-------------------------- pixi.toml | 2 +- 2 files changed, 98 insertions(+), 88 deletions(-) diff --git a/pixi.lock b/pixi.lock index 0dd2960..3778c9a 100644 --- a/pixi.lock +++ b/pixi.lock @@ -1435,9 +1435,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/xraydb-4.5.8-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zarr-3.3.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - - conda_source: gsas-ii[6e030bcb] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f + - conda_source: gsas-ii[68fe1d1d] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f - pypi: ./ - pypi: https://files.pythonhosted.org/packages/0a/43/8e55ae7538ba5f28ccb3c845c6dd4549cf7016d5992e5326512519107cdd/yarl-1.24.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/0c/2c/b3f99646d4cea0dcb14450c86713aa846d6ee6ec4c3d9fa465739c321316/easydiffraction-0.21.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1e/77/dc8c558f7593132cf8fefec57c4f60c83b16941c574ac5f619abb3ae7933/dill-0.4.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/2a/2d/d4bf65e47cea8ff2c794a600c4fd1273a7902f268757c531e0ee9f18aa58/pooch-1.9.0-py3-none-any.whl @@ -1450,7 +1451,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/71/43/1947f06babed6b3f1d7f38b0c767f52df66bfb2bc10b468c4a7de9eceff2/aiohappyeyeballs-2.7.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/78/3c/2a612b95ddbb9a6bdcb47b7a93c4884f74c6ff22356b2f7b213b16e65c35/pycifstar-0.3.0.tar.gz - pypi: https://files.pythonhosted.org/packages/82/f5/2f77f0bc663c13371d1c00ab8e550e2c9b11fec3c63ebf12a8336c0f534e/bumps-1.0.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/84/2f/fefe364d846c15c1e69ed8996d4baec8065932dfdcac4feaf81124564e8c/easydiffraction-0.20.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8b/c6/979176efdaa3d239e36d503d5af63a0a773b36662ed8f52e5b6a6d9fd40e/propcache-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/94/d9/463feca73ec119a135d90c9f40c0172b4758150b5ed442f0ca1e8fed807a/python_socketio-5.16.4-py3-none-any.whl @@ -1464,6 +1464,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/c7/a0/5ff05d1919ca249508012cad89f08fdc6cfbdaa15b41651c5fe6dffaf1d3/dfo_ls-1.6.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ca/1c/7da8d08e74d56f00070822f9638ff3f1c563f8ad87d1efa996c87bfc8644/aiohttp-3.14.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ee/86/032133892a5de43b5a98200b01aadcad68cc255e274a762f08b8a76d2912/filelock-4.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f2/f2/728f041460f1b9739b85ee23b45fa5a505962ea11fd85bdbe2a02b021373/darkdetect-0.8.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f9/ef/2196b9bf88ffa1bde45853c72df021fbd07a8fa91a0f59a22d14a050dc04/emcee-3.1.6-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl @@ -1787,8 +1788,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.2-h8088a28_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-ng-2.3.3-h31dac16_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - - conda_source: gsas-ii[2aac3dd1] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f + - conda_source: gsas-ii[0af1ae92] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f - pypi: ./ + - pypi: https://files.pythonhosted.org/packages/0c/2c/b3f99646d4cea0dcb14450c86713aa846d6ee6ec4c3d9fa465739c321316/easydiffraction-0.21.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/15/f0/7688d3f2cfff7590df2af38ec46d969f4281a4dddb08a9ad2eafbcdddf98/yarl-1.24.5-cp313-cp313-macosx_11_0_arm64.whl @@ -1805,7 +1807,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/78/3c/2a612b95ddbb9a6bdcb47b7a93c4884f74c6ff22356b2f7b213b16e65c35/pycifstar-0.3.0.tar.gz - pypi: https://files.pythonhosted.org/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/82/f5/2f77f0bc663c13371d1c00ab8e550e2c9b11fec3c63ebf12a8336c0f534e/bumps-1.0.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/84/2f/fefe364d846c15c1e69ed8996d4baec8065932dfdcac4feaf81124564e8c/easydiffraction-0.20.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/94/d9/463feca73ec119a135d90c9f40c0172b4758150b5ed442f0ca1e8fed807a/python_socketio-5.16.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/99/37/e8730c3587a65eb5645d4aba2d27aae48e8003614d6aaf15dda67f702f1f/bidict-0.23.1-py3-none-any.whl @@ -1816,6 +1817,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/bc/6b/e7f13410d391c6e55b4c007a8de024355389d7d459e3d64c42b2d33617e5/aiohttp-3.14.3-cp313-cp313-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c7/a0/5ff05d1919ca249508012cad89f08fdc6cfbdaa15b41651c5fe6dffaf1d3/dfo_ls-1.6.5-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ee/86/032133892a5de43b5a98200b01aadcad68cc255e274a762f08b8a76d2912/filelock-4.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f2/f2/728f041460f1b9739b85ee23b45fa5a505962ea11fd85bdbe2a02b021373/darkdetect-0.8.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f9/ef/2196b9bf88ffa1bde45853c72df021fbd07a8fa91a0f59a22d14a050dc04/emcee-3.1.6-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl @@ -2138,8 +2140,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-ng-2.3.3-h0261ad2_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda - - conda_source: gsas-ii[9f4a2ba7] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f + - conda_source: gsas-ii[c16af650] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f - pypi: ./ + - pypi: https://files.pythonhosted.org/packages/0c/2c/b3f99646d4cea0dcb14450c86713aa846d6ee6ec4c3d9fa465739c321316/easydiffraction-0.21.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1b/fb/f844344b239344f9bac398c5cc30305fd473ae0cdc2eee5b8ad61ea678f0/crysfml-0.8.0-cp313-cp313-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/1c/fd/3f0f10dba4dabad3bf53102be007abf55481067952bde0fdddff439e7c61/propcache-0.5.2-cp313-cp313-win_amd64.whl @@ -2154,7 +2157,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/71/43/1947f06babed6b3f1d7f38b0c767f52df66bfb2bc10b468c4a7de9eceff2/aiohappyeyeballs-2.7.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/78/3c/2a612b95ddbb9a6bdcb47b7a93c4884f74c6ff22356b2f7b213b16e65c35/pycifstar-0.3.0.tar.gz - pypi: https://files.pythonhosted.org/packages/82/f5/2f77f0bc663c13371d1c00ab8e550e2c9b11fec3c63ebf12a8336c0f534e/bumps-1.0.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/84/2f/fefe364d846c15c1e69ed8996d4baec8065932dfdcac4feaf81124564e8c/easydiffraction-0.20.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/86/e4/62a06b7e87c4246ac76b7c2da136f972eb4a3a1fc94abb07e7022d6fdb0a/yarl-1.24.5-cp313-cp313-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/94/d9/463feca73ec119a135d90c9f40c0172b4758150b5ed442f0ca1e8fed807a/python_socketio-5.16.4-py3-none-any.whl @@ -2167,6 +2169,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c7/a0/5ff05d1919ca249508012cad89f08fdc6cfbdaa15b41651c5fe6dffaf1d3/dfo_ls-1.6.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/ee/86/032133892a5de43b5a98200b01aadcad68cc255e274a762f08b8a76d2912/filelock-4.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f2/f2/728f041460f1b9739b85ee23b45fa5a505962ea11fd85bdbe2a02b021373/darkdetect-0.8.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f9/ef/2196b9bf88ffa1bde45853c72df021fbd07a8fa91a0f59a22d14a050dc04/emcee-3.1.6-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl @@ -3310,7 +3313,7 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/greenlet?source=compressed-mapping + - pkg:pypi/greenlet?source=hash-mapping run_exports: {} size: 276682 timestamp: 1786384052888 @@ -5423,7 +5426,7 @@ packages: - python_abi 3.13.* *_cp313 license: BSD-3-Clause and MIT-CMU purls: - - pkg:pypi/lxml?source=compressed-mapping + - pkg:pypi/lxml?source=hash-mapping run_exports: {} size: 1593788 timestamp: 1787133202169 @@ -6109,7 +6112,8 @@ packages: license: LGPL-3.0-only license_family: LGPL purls: - - pkg:pypi/pyside6?source=compressed-mapping + - pkg:pypi/pyside6?source=hash-mapping + - pkg:pypi/shiboken6?source=hash-mapping run_exports: {} size: 13946979 timestamp: 1787219441414 @@ -6482,7 +6486,7 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/sqlalchemy?source=compressed-mapping + - pkg:pypi/sqlalchemy?source=hash-mapping run_exports: {} size: 3863012 timestamp: 1786535232010 @@ -7345,7 +7349,7 @@ packages: license: Apache-2.0 license_family: Apache purls: - - pkg:pypi/botocore?source=compressed-mapping + - pkg:pypi/botocore?source=hash-mapping run_exports: {} size: 8955962 timestamp: 1787173734331 @@ -8515,7 +8519,7 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/platformdirs?source=compressed-mapping + - pkg:pypi/platformdirs?source=hash-mapping run_exports: {} size: 26956 timestamp: 1786708411066 @@ -10744,7 +10748,7 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/greenlet?source=compressed-mapping + - pkg:pypi/greenlet?source=hash-mapping run_exports: {} size: 272799 timestamp: 1786384260642 @@ -13021,7 +13025,7 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/sqlalchemy?source=compressed-mapping + - pkg:pypi/sqlalchemy?source=hash-mapping run_exports: {} size: 3853940 timestamp: 1786535264600 @@ -14162,7 +14166,7 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/greenlet?source=compressed-mapping + - pkg:pypi/greenlet?source=hash-mapping run_exports: {} size: 258210 timestamp: 1786384101896 @@ -16511,7 +16515,7 @@ packages: license: MIT license_family: MIT purls: - - pkg:pypi/sqlalchemy?source=compressed-mapping + - pkg:pypi/sqlalchemy?source=hash-mapping run_exports: {} size: 3825319 timestamp: 1786535214697 @@ -16811,7 +16815,7 @@ packages: - zstd >=1.5.7,<1.6.0a0 size: 387535 timestamp: 1786599623274 -- conda_source: gsas-ii[2aac3dd1] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f +- conda_source: gsas-ii[0af1ae92] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f version: 2.0.0 build: h60d57d3_0 subdir: osx-arm64 @@ -17019,7 +17023,7 @@ packages: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hd3d0363_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.2-h8088a28_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda -- conda_source: gsas-ii[6e030bcb] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f +- conda_source: gsas-ii[68fe1d1d] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f version: 2.0.0 build: hb0f4dca_0 subdir: linux-64 @@ -17188,7 +17192,7 @@ packages: - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda -- conda_source: gsas-ii[9f4a2ba7] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f +- conda_source: gsas-ii[c16af650] @ git+https://github.com/tacaswell/gsas-ii?rev=enh%2Fpixi_pkg#e0910fc19bdd829a10f0204e3e4f4eaa38ad5e0f version: 2.0.0 build: h9490d1a_0 subdir: win-64 @@ -17384,6 +17388,75 @@ packages: - multidict>=4.0 - propcache>=0.2.1 requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/0c/2c/b3f99646d4cea0dcb14450c86713aa846d6ee6ec4c3d9fa465739c321316/easydiffraction-0.21.1-py3-none-any.whl + name: easydiffraction + version: 0.21.1 + sha256: 7c4650d609a45385352bcbcf76fd9365b321e99ca222f114df21c7126b57c61a + requires_dist: + - asciichartpy + - asteval + - bumps + - crysfml>=0.8.0 + - cryspy>=0.13.0 + - darkdetect + - dfo-ls + - diffpy-pdffit2 + - diffpy-utils + - emcee + - filelock + - gemmi + - h5py + - lmfit + - numpy + - pandas + - pillow + - plotly + - pooch + - pybaselines>=1.1 + - rich + - scipy + - sympy + - typeguard + - typer + - uncertainties + - varname + - build ; extra == 'dev' + - codespell ; extra == 'dev' + - copier ; extra == 'dev' + - docstring-parser-fork!=0.0.15 ; extra == 'dev' + - docstripy ; extra == 'dev' + - format-docstring ; extra == 'dev' + - gitpython ; extra == 'dev' + - hypothesis ; extra == 'dev' + - interrogate ; extra == 'dev' + - jinja2 ; extra == 'dev' + - jupyterquiz ; extra == 'dev' + - jupytext ; extra == 'dev' + - mike ; extra == 'dev' + - mkdocs ; extra == 'dev' + - mkdocs-autorefs ; extra == 'dev' + - mkdocs-jupyter ; extra == 'dev' + - mkdocs-markdownextradata-plugin ; extra == 'dev' + - mkdocs-material ; extra == 'dev' + - mkdocs-plugin-inline-svg ; extra == 'dev' + - mkdocstrings-python ; extra == 'dev' + - nbmake ; extra == 'dev' + - nbqa ; extra == 'dev' + - nbstripout ; extra == 'dev' + - pre-commit ; extra == 'dev' + - pydoclint ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-benchmark ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - pytest-randomly ; extra == 'dev' + - pytest-xdist ; extra == 'dev' + - pyyaml ; extra == 'dev' + - radon ; extra == 'dev' + - ruff ; extra == 'dev' + - spdx-headers ; extra == 'dev' + - validate-pyproject[all] ; extra == 'dev' + - versioningit ; extra == 'dev' + requires_python: '>=3.12' - pypi: https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl name: frozenlist version: 1.8.0 @@ -17567,74 +17640,6 @@ packages: - sphinx ; extra == 'dev' - versioningit ; extra == 'dev' requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/84/2f/fefe364d846c15c1e69ed8996d4baec8065932dfdcac4feaf81124564e8c/easydiffraction-0.20.1-py3-none-any.whl - name: easydiffraction - version: 0.20.1 - sha256: 7fe5b610682b5cf0212ba3fc627c4685e1261ab59a8d2cc2a7d0bd986f752488 - requires_dist: - - asciichartpy - - asteval - - bumps - - crysfml>=0.8.0 - - cryspy>=0.13.0 - - darkdetect - - dfo-ls - - diffpy-pdffit2 - - diffpy-utils - - emcee - - gemmi - - h5py - - lmfit - - numpy - - pandas - - pillow - - plotly - - pooch - - pybaselines>=1.1 - - rich - - scipy - - sympy - - typeguard - - typer - - uncertainties - - varname - - build ; extra == 'dev' - - codespell ; extra == 'dev' - - copier ; extra == 'dev' - - docstring-parser-fork!=0.0.15 ; extra == 'dev' - - docstripy ; extra == 'dev' - - format-docstring ; extra == 'dev' - - gitpython ; extra == 'dev' - - hypothesis ; extra == 'dev' - - interrogate ; extra == 'dev' - - jinja2 ; extra == 'dev' - - jupyterquiz ; extra == 'dev' - - jupytext ; extra == 'dev' - - mike ; extra == 'dev' - - mkdocs ; extra == 'dev' - - mkdocs-autorefs ; extra == 'dev' - - mkdocs-jupyter ; extra == 'dev' - - mkdocs-markdownextradata-plugin ; extra == 'dev' - - mkdocs-material ; extra == 'dev' - - mkdocs-plugin-inline-svg ; extra == 'dev' - - mkdocstrings-python ; extra == 'dev' - - nbmake ; extra == 'dev' - - nbqa ; extra == 'dev' - - nbstripout ; extra == 'dev' - - pre-commit ; extra == 'dev' - - pydoclint ; extra == 'dev' - - pytest ; extra == 'dev' - - pytest-benchmark ; extra == 'dev' - - pytest-cov ; extra == 'dev' - - pytest-randomly ; extra == 'dev' - - pytest-xdist ; extra == 'dev' - - pyyaml ; extra == 'dev' - - radon ; extra == 'dev' - - ruff ; extra == 'dev' - - spdx-headers ; extra == 'dev' - - validate-pyproject[all] ; extra == 'dev' - - versioningit ; extra == 'dev' - requires_python: '>=3.12' - pypi: https://files.pythonhosted.org/packages/86/e4/62a06b7e87c4246ac76b7c2da136f972eb4a3a1fc94abb07e7022d6fdb0a/yarl-1.24.5-cp313-cp313-win_amd64.whl name: yarl version: 1.24.5 @@ -17824,6 +17829,11 @@ packages: version: 1.8.0 sha256: 878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231 requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/ee/86/032133892a5de43b5a98200b01aadcad68cc255e274a762f08b8a76d2912/filelock-4.1.0-py3-none-any.whl + name: filelock + version: 4.1.0 + sha256: 2ce9818e3e2d8f284c1a964414447ef148d42a5fd5e2a477a7118e574b293ec1 + requires_python: '>=3.10' - pypi: https://files.pythonhosted.org/packages/f2/f2/728f041460f1b9739b85ee23b45fa5a505962ea11fd85bdbe2a02b021373/darkdetect-0.8.0-py3-none-any.whl name: darkdetect version: 0.8.0 diff --git a/pixi.toml b/pixi.toml index bbf1f49..0ddd114 100644 --- a/pixi.toml +++ b/pixi.toml @@ -85,7 +85,7 @@ python = ">=3.12" # easydiffraction floor; default env stays >=3 "diffpy.pdffit2" = "*" # from conda-forge: its PyPI sdist needs GSL to build [feature.easydiff.pypi-dependencies] -easydiffraction = ">=0.20.1,<0.21" +easydiffraction = "==0.21.1" [environments] easydiff = ["easydiff"] From e2408f3b469b5ca1f30f5952677ad754ef4c2783 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 20:59:26 -0400 Subject: [PATCH 05/20] chore(easydiffraction): supported version ==0.21.1 (A116) Follows the maintainer's pixi.toml/lock bump (508f39f). ENGINE_VERSION_SPEC moves from ">=0.20.1,<0.21" to "==0.21.1"; the version tests fake 0.20.1 (now outside the spec) and 0.21.1; the native tests no longer bypass the version check. The legacy LaB6 example's Rwp is unchanged (0.20.1 9.633040 %, 0.21.1 9.633031 %): prof_wr_factor was already 1/sigma^2-weighted; 0.21.0's #224 fixed the printed table's weighted R only (EB-81, devkit). easydiff env (0.21.1): test_easydiff_* test_easydiffraction_* test_gateways test_phase_canary 226 passed, 2 skipped. Assisted-by: claude-code:claude-opus-5-5 --- src/powderline/gateways/easydiffraction/gateway.py | 2 +- tests/test_easydiffraction_native.py | 14 +++++++------- tests/test_gateways.py | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/powderline/gateways/easydiffraction/gateway.py b/src/powderline/gateways/easydiffraction/gateway.py index 03abba2..22d2bdb 100644 --- a/src/powderline/gateways/easydiffraction/gateway.py +++ b/src/powderline/gateways/easydiffraction/gateway.py @@ -23,7 +23,7 @@ NAME = "easydiffraction" #: Supported easydiffraction versions (A41/A44); mirrors the pixi pin. -ENGINE_VERSION_SPEC = ">=0.20.1,<0.21" +ENGINE_VERSION_SPEC = "==0.21.1" #: Workflows served: the native schema, and the 0.26.0 name until re/07 removes it (no SPF, A13.3). WORKFLOWS = (*schema.SCHEMA_NAMES, "GSASII_Rietveld") #: pixi environment providing easydiffraction + how to install it (renamed in re/08, A42). diff --git a/tests/test_easydiffraction_native.py b/tests/test_easydiffraction_native.py index 0307bce..2559879 100644 --- a/tests/test_easydiffraction_native.py +++ b/tests/test_easydiffraction_native.py @@ -47,7 +47,7 @@ def lab6_crysfml_tch_result(tmp_path_factory): """Run lab6_crysfml_tch.json once; return result dict.""" recipe = _load_fixture("lab6_crysfml_tch.json") out = tmp_path_factory.mktemp("lab6_crysfml_tch") - return gateway.run(recipe, str(out), allow_unsupported_engine_version=True) + return gateway.run(recipe, str(out)) @pytest.fixture(scope="module") @@ -55,7 +55,7 @@ def lab6_cryspy_pv_result(tmp_path_factory): """Run lab6_cryspy_pv.json once; return result dict.""" recipe = _load_fixture("lab6_cryspy_pv.json") out = tmp_path_factory.mktemp("lab6_cryspy_pv") - return gateway.run(recipe, str(out), allow_unsupported_engine_version=True) + return gateway.run(recipe, str(out)) @pytest.fixture(scope="module") @@ -63,7 +63,7 @@ def lab6_slots_simulation_result(tmp_path_factory): """Run lab6_slots_simulation.json once; return result dict.""" recipe = _load_fixture("lab6_slots_simulation.json") out = tmp_path_factory.mktemp("lab6_slots_simulation") - return gateway.run(recipe, str(out), allow_unsupported_engine_version=True) + return gateway.run(recipe, str(out)) @pytest.fixture(scope="module") @@ -588,7 +588,7 @@ def test_run_simulation_phase_scale_zero_warning(tmp_path): recipe = _load_fixture("lab6_slots_simulation.json") recipe["payload"]["phases"]["LaB6"]["scale"] = [0.0, False, None, None] - result = gateway.run(recipe, str(tmp_path), allow_unsupported_engine_version=True) + result = gateway.run(recipe, str(tmp_path)) warnings = [w for w in result["warnings"] if w["code"] == "easydiffraction_phase_contributes_nothing"] assert len(warnings) == 1 assert warnings[0]["field_path"] == "payload.phases.LaB6" @@ -601,7 +601,7 @@ def test_run_parameter_at_limit_warning(tmp_path): for axis in ("a", "b", "c"): recipe["payload"]["phases"]["LaB6"]["unit_cell"][axis] = [4.15682, True, None, 4.157] - result = gateway.run(recipe, str(tmp_path), allow_unsupported_engine_version=True) + result = gateway.run(recipe, str(tmp_path)) warnings = [w for w in result["warnings"] if w["code"] == "easydiffraction_parameter_at_limit"] assert len(warnings) >= 1 assert any("payload.phases.LaB6.unit_cell.a" in w["field_path"] for w in warnings) @@ -611,7 +611,7 @@ def test_run_max_iterations_3_fit_not_converged(tmp_path): """max_iterations = 3 (lmfit max_nfev) stops lmfit unconverged: a success with the not-converged warning.""" recipe = _load_fixture("lab6_crysfml_tch.json") recipe["payload"]["refinement_controls"]["max_iterations"] = 3 - result = gateway.run(recipe, str(tmp_path), allow_unsupported_engine_version=True) + result = gateway.run(recipe, str(tmp_path)) assert result["success"] is True assert result["engine_details"]["fit_success"] is False warnings = [w for w in result["warnings"] if w["code"] == "easydiffraction_fit_not_converged"] @@ -639,7 +639,7 @@ def with_nan(self): def test_run_validate_only(tmp_path): """validate_only returns method 'validate_only' without importing easydiffraction's runtime.""" recipe = _load_fixture("lab6_crysfml_tch.json") - result = gateway.run(recipe, str(tmp_path), validate_only=True, allow_unsupported_engine_version=True) + result = gateway.run(recipe, str(tmp_path), validate_only=True) assert result["method"] == "validate_only" assert result["success"] is True diff --git a/tests/test_gateways.py b/tests/test_gateways.py index 7eda0ca..aa8ee6d 100644 --- a/tests/test_gateways.py +++ b/tests/test_gateways.py @@ -56,7 +56,7 @@ def isolated_registry(): [ (gsasii_gateway, "==5.7.9"), (topas_gateway, ">=7,<8"), - (easydiff_gateway, ">=0.20.1,<0.21"), + (easydiff_gateway, "==0.21.1"), ], ) def test_engine_version_spec_parses_and_matches_capabilities(gateway_module, expected_spec): @@ -290,8 +290,8 @@ def test_topas_validate_only_skips_version_check(tmp_path, monkeypatch): def test_easydiff_version_out_of_range_raises(tmp_path, monkeypatch): - """When installed_engine_version() returns '0.21.0', run() raises EngineVersionError.""" - monkeypatch.setattr(easydiff_gateway, "installed_engine_version", lambda: "0.21.0") + """When installed_engine_version() returns '0.20.1' (the previous pin), run() raises EngineVersionError.""" + monkeypatch.setattr(easydiff_gateway, "installed_engine_version", lambda: "0.20.1") from powderline.gateways.easydiffraction import engine fake_run = Mock() @@ -303,8 +303,8 @@ def test_easydiff_version_out_of_range_raises(tmp_path, monkeypatch): def test_easydiff_version_in_range_calls_engine(tmp_path, monkeypatch): - """When installed_engine_version() returns '0.20.1', run() calls the engine.""" - monkeypatch.setattr(easydiff_gateway, "installed_engine_version", lambda: "0.20.1") + """When installed_engine_version() returns '0.21.1', run() calls the engine.""" + monkeypatch.setattr(easydiff_gateway, "installed_engine_version", lambda: "0.21.1") from powderline.gateways.easydiffraction import engine fake_run = Mock(return_value={}) @@ -349,7 +349,7 @@ def test_easydiff_not_installed_validate_only_does_not_raise(tmp_path, monkeypat def test_easydiff_installed_version_satisfies_spec(): """When easydiffraction is installed, its version satisfies ENGINE_VERSION_SPEC. - easydiffraction 0.20.1 has no ``__version__``; its own runtime version source + easydiffraction (0.20.1, 0.21.1) has no ``__version__``; its own runtime version source is ``utils.package_version`` (distribution metadata), which must agree. """ from easydiffraction.utils.utils import package_version From b9af5c8cc510607f98f9f9ab2ddbf2e1207b50a5 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 22:05:06 -0400 Subject: [PATCH 06/20] fix(easydiffraction): anisotropic ADPs reach the engine (EB-23, A169) - Uaniso with calculator crysfml is a validation error: easydiffraction hands CrysFML only B = 8 pi^2 Ueq, so the tensor would have no effect. - The builder hands easydiffraction the anisotropic atoms first. In easydiffraction 0.21.1 the CrysPy update during a fit writes a refined tensor into the column of its place among the anisotropic atoms, not its own (_update_aniso_beta), so an anisotropic atom after an isotropic one kept its starting tensor and lmfit reported it had no effect (EB-86). Reports keep the recipe's atom order. - A127 test: with every refinable flagged, each free parameter changes the pattern computed on lmfit's own update path (both calculators); without the reordering it names B's U11 and U22. A CrysPy fit refines B's Uij with ESDs. Assisted-by: claude-code:claude-opus-5-5 --- .../easydiffraction/native_builder.py | 12 ++- .../gateways/easydiffraction/schema.py | 11 +++ tests/test_easydiffraction_native.py | 90 +++++++++++++++++++ tests/test_easydiffraction_schema.py | 20 +++++ 4 files changed, 132 insertions(+), 1 deletion(-) diff --git a/src/powderline/gateways/easydiffraction/native_builder.py b/src/powderline/gateways/easydiffraction/native_builder.py index fdf02e6..c69b67e 100644 --- a/src/powderline/gateways/easydiffraction/native_builder.py +++ b/src/powderline/gateways/easydiffraction/native_builder.py @@ -16,6 +16,11 @@ ``fit_min``/``fit_max``; a ``null`` side keeps easydiffraction's physical limit, which the minimizer applies (A157 B4, EB-71). Fixed parameters are never freed (F2). +- **Atom order**: anisotropic atoms are handed over first (A169). easydiffraction + 0.21.1's CrysPy update during a fit writes a refined anisotropic tensor into + the column of its place among the anisotropic atoms, not its own, so an + anisotropic atom after an isotropic one would keep its starting tensor + (EB-86). Order is not physics; everything is keyed by label. - **Checks after the build** (errors, never substitutions): easydiffraction's multiplicity of every atom equals core's and no coordinate moved (EB-47); with CrysPy, an atom on a special position with a free coordinate is @@ -120,6 +125,11 @@ def _set(obj, name: str, value) -> None: setattr(obj, name, value) +def engine_atom_order(phase) -> list[tuple[str, object]]: + """The phase's ``(label, atom)`` pairs in the order handed to easydiffraction: anisotropic first (A169, EB-86).""" + return sorted(phase.atoms.items(), key=lambda item: item[1].Uaniso is None) # stable: recipe order otherwise + + def build_project(model) -> Build: """The easydiffraction project for a validated ``easydiffraction.rietveld`` model (see the module docstring).""" from easydiffraction import ExperimentFactory, Project, StructureFactory @@ -176,7 +186,7 @@ def build_project(model) -> Build: s.space_group.coord_system_code = code for member, attr in _CELL.items(): _set(s.cell, attr, getattr(phase.unit_cell, member).value) - for label, atom in phase.atoms.items(): + for label, atom in engine_atom_order(phase): s.atom_sites.create(id=label, type_symbol=atom.element, fract_x=atom.x.value, fract_y=atom.y.value, fract_z=atom.z.value, occupancy=atom.occupancy.value) site = s.atom_sites[label] diff --git a/src/powderline/gateways/easydiffraction/schema.py b/src/powderline/gateways/easydiffraction/schema.py index 970ac99..9d72ece 100644 --- a/src/powderline/gateways/easydiffraction/schema.py +++ b/src/powderline/gateways/easydiffraction/schema.py @@ -36,6 +36,8 @@ easydiffraction replaces a smaller sigma with 1.0 silently (A159); - the peak type must be one the calculator computes; ``cutoff_fwhm`` is a CrysPy setting (CrysFML ignores it) (A162, A127 principle); +- ``Uaniso`` needs the cryspy calculator: easydiffraction hands CrysFML only + B = 8 pi^2 Ueq, so the tensor would have no effect (EB-23, A127 principle); - the Kα2 wavelength and its intensity ratio are stated together; - simulation = no refine flag set (lmfit is not run). """ @@ -484,6 +486,15 @@ def _easydiffraction_payload(self) -> "RietveldPayload": if why is not None: problems.append(_error("easydiffraction_setting", "{why}", ("phases", name, "space_group"), phase.space_group, why=why)) + if calculator == "crysfml": + for label, atom in phase.atoms.items(): + if atom.Uaniso is not None: + problems.append(_error( + "easydiffraction_uaniso_crysfml", + "the crysfml calculator does not use anisotropic ADPs: easydiffraction hands CrysFML " + "B = 8 pi^2 Ueq (the trace / 3) and the tensor has no effect (EB-23); state Uiso, or " + "use the cryspy calculator", + ("phases", name, "atoms", label, "Uaniso"), atom.Uaniso.model_dump())) profile = self.instrument.broadening if profile.peak_type not in CALCULATOR_PEAK_TYPES[calculator]: problems.append(_error( diff --git a/tests/test_easydiffraction_native.py b/tests/test_easydiffraction_native.py index 2559879..57cea2a 100644 --- a/tests/test_easydiffraction_native.py +++ b/tests/test_easydiffraction_native.py @@ -421,6 +421,96 @@ def test_builder_eb77_crysfml_accepts_both_orientations(): assert build is not None +def _b_uaniso(recipe: dict, refine: bool = False) -> dict: + """LaB6's B (6f, x 1/2 1/2) anisotropic: U22 = U33 tied, no cross terms (site symmetry 4mm).""" + b = recipe["payload"]["phases"]["LaB6"]["atoms"]["B"] + b.pop("Uiso") + b["ADP"] = "Uaniso" + b["Uaniso"] = {k: [0.009 if k in ("U11", "U22", "U33") else 0.0, refine and k in ("U11", "U22", "U33"), None, None] + for k in ("U11", "U22", "U33", "U12", "U13", "U23")} + return recipe + + +def test_builder_anisotropic_atoms_handed_first(): + """easydiffraction gets the anisotropic atoms first (A169, EB-86); the recipe lists La (Uiso) before B.""" + build = native_builder.build_project(schema.validate_recipe(_b_uaniso(_load_fixture("lab6_cryspy_pv.json")))) + assert [a.id.value for a in build.structures["LaB6"].atom_sites] == ["B", "La"] + build = native_builder.build_project(schema.validate_recipe(_load_fixture("lab6_cryspy_pv.json"))) + assert [a.id.value for a in build.structures["LaB6"].atom_sites] == ["La", "B"] # recipe order otherwise + + +def _everything_refined(calculator: str) -> dict: + """A LaB6 recipe with every refinable slot of the calculator's peak type flagged (cubic: a, b, c one group).""" + if calculator == "cryspy": + recipe = _b_uaniso(_load_fixture("lab6_slots_simulation.json"), refine=True) + else: + recipe = _load_fixture("lab6_crysfml_tch.json") + recipe["payload"]["instrument"]["corrections"].update( + {"calib_sample_displacement": [0.001, True, None, None], "calib_sample_transparency": [-0.0005, True, None, None]}) + recipe["payload"]["instrument"]["absorption"] = {"type": "cylinder-hewat", "mu_r": [0.3, True, None, None]} + p = recipe["payload"] + inst = p["instrument"] + for q in (inst["radiation"]["setup_wavelength"], inst["absorption"]["mu_r"], *inst["corrections"].values(), + *inst["broadening"]["parameters"].values()): + q[1] = True + p["background"] = {"chebyshev": {"num_coefficients": 3, "coefficients": [30.0, 0.6, 0.7], "refine_flag": True}} + phase = p["phases"]["LaB6"] + phase["scale"][1] = True + for k in ("a", "b", "c"): + phase["unit_cell"][k][1] = True + phase["atoms"]["B"]["x"][1] = True + for atom in phase["atoms"].values(): + atom["occupancy"][1] = True + if "Uiso" in atom: + atom["Uiso"][1] = True + return recipe + + +@pytest.mark.parametrize("calculator", ["cryspy", "crysfml"]) +def test_every_free_parameter_changes_the_pattern_the_minimizer_sees(calculator): + """A127 principle: each parameter the builder frees changes the pattern computed on lmfit's own path. + + Each value is moved the way the minimizer moves it and the pattern recomputed the way its residual + function does (structures, then the experiment, ``called_by_minimizer``): ``analysis.calculate()`` + rebuilds everything and so hides an update bug such as EB-86. + """ + from easydiffraction.analysis.fitting import intensity_category_for + + model = schema.validate_recipe(_everything_refined(calculator)) + build = native_builder.build_project(model) + build.project.analysis.calculate() # the calculator's cached state, as at the start of a fit + + def minimizer_pattern(): + for s in build.structures.values(): + s._update_categories(called_by_minimizer=True) + build.experiment._update_categories(called_by_minimizer=True) + return np.array(intensity_category_for(build.experiment).intensity_calc, dtype=float) + + y0 = minimizer_pattern() + assert len(build.free) == parameters_requested(model) + dead = [] + for fp in build.free: + v0 = float(fp.parameter.value) + fp.parameter._set_value_from_minimizer(v0 + (0.01 if fp.category == "atom_xyz" else max(abs(v0) * 0.1, 1e-3))) + if not np.max(np.abs(minimizer_pattern() - y0)) > 1e-10 * np.max(np.abs(y0)): + dead.append(fp.path) + fp.parameter._set_value_from_minimizer(v0) + assert not dead, f"no effect on lmfit's path: {dead}" + + +def test_run_cryspy_refines_uaniso(tmp_path): + """A refined Uij is varied and moves with CrysPy although La (Uiso) precedes B in the recipe (A169, EB-86).""" + result = gateway.run(_b_uaniso(_load_fixture("lab6_cryspy_pv.json"), refine=True), str(tmp_path)) + d = result["engine_details"] + assert result["success"] and d["fit_success"], d + assert d["parameters_varied"] == d["parameters_requested"] + rows = result["refined_parameters"].set_index("parameter_name") + for name in ("LaB6_B_U11", "LaB6_B_U22"): + assert abs(rows.loc[name, "value"] - 0.009) > 1e-5 + assert np.isfinite(rows.loc[name, "esd"]) + assert rows.loc["LaB6_B_U11", "atom_idx"] == 1 # reports keep the recipe's atom order + + def test_matches_template_unit_cases(): """Unit tests for _matches_template.""" from powderline.gateways.easydiffraction.native_builder import _matches_template diff --git a/tests/test_easydiffraction_schema.py b/tests/test_easydiffraction_schema.py index 6574174..138a20e 100644 --- a/tests/test_easydiffraction_schema.py +++ b/tests/test_easydiffraction_schema.py @@ -310,6 +310,26 @@ def test_cutoff_fwhm_with_cryspy_accepted(): validate_recipe(r) +def _b_uaniso(r: dict, u11: float = 0.009) -> dict: + """LaB6's B (6f, x 1/2 1/2) with an anisotropic tensor respecting its site symmetry (U22 = U33, no cross terms).""" + b = r["payload"]["phases"]["LaB6"]["atoms"]["B"] + b.pop("Uiso") + b["ADP"] = "Uaniso" + b["Uaniso"] = {"U11": P(u11), "U22": P(0.009), "U33": P(0.009), "U12": P(0.0), "U13": P(0.0), "U23": P(0.0)} + return r + + +def test_uaniso_with_crysfml_rejected(): + """CrysFML is handed B = 8 pi^2 Ueq only, so the tensor would have no effect (EB-23).""" + r = _b_uaniso(_load_fixture("lab6_crysfml_tch.json")) + errors = _fails(r, ("payload", "phases", "LaB6", "atoms", "B", "Uaniso"), "easydiffraction_uaniso_crysfml") + assert len(errors) == 1 + + +def test_uaniso_with_cryspy_accepted(): + validate_recipe(_b_uaniso(_load_fixture("lab6_cryspy_pv.json"), u11=0.03)) + + # --- per-type parameter sets (test 8) ----------------------------------------------- From 4ff6e364d57b8b84db277ff9a21f72933049f522 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 22:05:06 -0400 Subject: [PATCH 07/20] docs(easydiffraction): the not-converged warning names its likely causes (A166) The run stays a success with the values reported; the warning now says so and points at too few iterations or poorly conditioned parameters. Assisted-by: claude-code:claude-opus-5-5 --- src/powderline/gateways/easydiffraction/native_run.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/powderline/gateways/easydiffraction/native_run.py b/src/powderline/gateways/easydiffraction/native_run.py index d97adcd..d1c25bb 100644 --- a/src/powderline/gateways/easydiffraction/native_run.py +++ b/src/powderline/gateways/easydiffraction/native_run.py @@ -24,8 +24,8 @@ ``easydiffraction_parameters_not_varied`` (A128), ``easydiffraction_parameter_at_limit`` (A157 B4: PowderLine's own check against the limits acting in the fit), ``easydiffraction_phase_contributes_nothing`` - (A157 B7), ``easydiffraction_fit_not_converged`` (lmfit stopped without - success), ``easydiffraction_reflections_not_available`` (CrysFML). + (A157 B7), ``easydiffraction_fit_not_converged`` (informative, A166: lmfit stopped without + success; the values are reported), ``easydiffraction_reflections_not_available`` (CrysFML, A165). Runtime layer: imports easydiffraction. """ @@ -89,7 +89,9 @@ def run_native(model, output_dir, *, validated_warnings: list | None = None) -> if not results.success: warnings.append(StructuredWarning( code="easydiffraction_fit_not_converged", - message=f"lmfit stopped without converging: {results.message}", + message=(f"lmfit stopped without converging ({results.message}); the values are reported as " + "they stand. Likely causes: too few iterations (max_iterations) or poorly conditioned " + "parameters (strong correlations, a parameter without effect); check the ESDs"), field_path="payload.refinement_controls")) return build_result(model, build, out, warnings, elapsed=time.time() - t0, fit_info=fit_info) From 8c3b598909420fd8d9fe0e4527ba697bbe6382b9 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 22:15:11 -0400 Subject: [PATCH 08/20] fix(easydiffraction): verify each calculator's settings on its own (A170) The generator tested CrysFML only where CrysPy passed, so a setting CrysPy crashes on or computes as another hand was refused for CrysFML too. - CrysPy: per-reflection F^2 against the ITC reference, unchanged (strict: sensitive to the hand; P 31, which CrysPy computes with P 32's operators, stays refused). - CrysFML: its pattern against its own pattern of the orbit written out in P 1 (no symmetry handling involved); an engine error fails that calculator only. Regenerated support: CrysPy 437 (unchanged), CrysFML 227 -> 230 (+ P 31, P 6/m, F d -3 c:2). The sample test re-verifies those three. Passes R < 1e-4, failures >= 0.11 for CrysFML; R_PASS 0.03 unchanged. Assisted-by: claude-code:claude-opus-5-5 --- scripts/verify_easydiffraction_settings.py | 76 ++++++++++++------- .../easydiffraction/space_group_support.py | 12 ++- tests/test_easydiffraction_schema.py | 11 ++- tests/test_easydiffraction_space_groups.py | 5 +- 4 files changed, 69 insertions(+), 35 deletions(-) diff --git a/scripts/verify_easydiffraction_settings.py b/scripts/verify_easydiffraction_settings.py index 14c85d5..ecd7c35 100644 --- a/scripts/verify_easydiffraction_settings.py +++ b/scripts/verify_easydiffraction_settings.py @@ -3,15 +3,20 @@ For every entry of ``space_group_table.SPACE_GROUPS``: one Fe atom at a general position (0.137, 0.271, 0.389) in a cell of the setting's crystal system. +Each calculator is verified on its own (A170): + - CrysPy: per-reflection F^2 against a reference computed here (the orbit - expanded with gemmi's operations of the canonical setting, IT92 form factors, - isotropic Debye-Waller), R after a least-squares scale. -- CrysFML (no reflection list): its calculated pattern against CrysPy's, same - pseudo-Voigt profile, R after a least-squares scale; run only where CrysPy - passed. - -A setting passes with R < ``R_PASS`` (passes are R <= 0.009, failures >= 0.075 for -easydiffraction 0.21.1; a failure means a misread setting). The result is written to + expanded with gemmi's operations of the canonical setting, i.e. the ITC + operators; IT92 form factors, isotropic Debye-Waller), R after a least-squares + scale. Sensitive to the hand: CrysPy computes P 31 with P 32's operators (same + powder pattern, the other hand per reflection), so P 31 fails. +- CrysFML (no reflection list, operators not exposed): its calculated pattern + against its own pattern of the same orbit written out in P 1 (no symmetry + handling involved), same pseudo-Voigt profile, R after a least-squares scale. + +A setting passes with R < ``R_PASS`` (easydiffraction 0.21.1: CrysPy passes R <= 0.009, +failures >= 0.075; CrysFML passes R < 1e-4, failures >= 0.11; a failure means a misread +setting). An engine error fails that calculator only (EB-84: the 53 crashes are CrysPy's). The result is written to ``src/powderline/gateways/easydiffraction/space_group_support.py``, which the schema uses so that validation needs no easydiffraction. About an hour; ``--jobs N`` runs N processes. ``--check XHM ...`` re-verifies only the named settings against the @@ -60,12 +65,18 @@ def cell_for(sg: gemmi.SpaceGroup) -> tuple: return _CELLS[system] -def reference_f2(sg: gemmi.SpaceGroup, cell: tuple, hkls) -> np.ndarray: +def orbit(sg: gemmi.SpaceGroup) -> list[np.ndarray]: + """The general position ``XYZ``'s orbit under gemmi's (ITC) operations, each point once, in [0, 1).""" pts = [] for op in sg.operations(): q = np.mod(np.array(op.apply_to_xyz(list(XYZ)), dtype=float), 1.0) if not any(np.allclose(np.mod(q - r + 0.5, 1.0) - 0.5, 0, atol=1e-9) for r in pts): pts.append(q) + return pts + + +def reference_f2(sg: gemmi.SpaceGroup, cell: tuple, hkls) -> np.ndarray: + pts = orbit(sg) uc = gemmi.UnitCell(*cell) out = [] for hkl in hkls: @@ -76,7 +87,7 @@ def reference_f2(sg: gemmi.SpaceGroup, cell: tuple, hkls) -> np.ndarray: return np.array(out) -def _experiment(name: str, code: str, cell: tuple, calculator: str, data_path: Path): +def _experiment(name: str, code: str, cell: tuple, calculator: str, data_path: Path, atoms=(XYZ,)): from easydiffraction import ExperimentFactory, Project, StructureFactory s = StructureFactory.from_scratch(name="t") @@ -85,9 +96,12 @@ def _experiment(name: str, code: str, cell: tuple, calculator: str, data_path: P s.space_group.coord_system_code = code for k, v in zip(("length_a", "length_b", "length_c", "angle_alpha", "angle_beta", "angle_gamma"), cell): setattr(s.cell, k, v) - s.atom_sites.create(id="Fe1", type_symbol="Fe", fract_x=XYZ[0], fract_y=XYZ[1], fract_z=XYZ[2], occupancy=1.0) - s.atom_sites["Fe1"].adp_type = "Uiso" - s.atom_sites["Fe1"].adp_iso = U + for i, xyz in enumerate(atoms): + label = f"Fe{i + 1}" + s.atom_sites.create(id=label, type_symbol="Fe", fract_x=float(xyz[0]), fract_y=float(xyz[1]), + fract_z=float(xyz[2]), occupancy=1.0) + s.atom_sites[label].adp_type = "Uiso" + s.atom_sites[label].adp_iso = U e = ExperimentFactory.from_data_path(name="e", data_path=str(data_path), sample_form="powder", beam_mode="constant wavelength", radiation_probe="xray", scattering_type="bragg") @@ -109,29 +123,34 @@ def _ls_r(a: np.ndarray, b: np.ndarray) -> float: return float(np.sum(np.abs(a - s * b)) / np.sum(np.abs(s * b))) +def _pattern(experiment) -> np.ndarray: + arrays = experiment.data.fit_data_arrays() + return np.asarray(arrays["calc"]) - np.asarray(arrays["bkg"]) + + def verify(xhm: str, entry: tuple, data_path: Path) -> tuple[bool, bool, str]: - """``(cryspy_ok, crysfml_ok, note)`` for one setting.""" + """``(cryspy_ok, crysfml_ok, note)`` for one setting; each calculator on its own (A170).""" name, code, _default = entry sg = gemmi.find_spacegroup_by_name(xhm) cell = cell_for(sg) try: - ec = _experiment(name, code, cell, "cryspy", data_path) - r = ec.refln + r = _experiment(name, code, cell, "cryspy", data_path).refln hkl = [(int(h), int(k), int(l)) for h, k, l in zip(r.index_h, r.index_k, r.index_l)] fc = np.array(r.f_squared_calc, dtype=float) fr = reference_f2(sg, cell, hkl) keep = fr > 1e-6 * fr.max() r_cryspy = _ls_r(fc[keep], fr[keep]) - if r_cryspy >= R_PASS: - return False, False, f"cryspy R={r_cryspy:.3f}" - arrays = ec.data.fit_data_arrays() - y_cryspy = np.asarray(arrays["calc"]) - np.asarray(arrays["bkg"]) - ef = _experiment(name, code, cell, "crysfml", data_path) - arrays = ef.data.fit_data_arrays() - r_crysfml = _ls_r(np.asarray(arrays["calc"]) - np.asarray(arrays["bkg"]), y_cryspy) - return True, r_crysfml < R_PASS, f"cryspy R={r_cryspy:.3f}, crysfml R={r_crysfml:.3f}" + cryspy_ok, cryspy_note = r_cryspy < R_PASS, f"cryspy R={r_cryspy:.3f}" except Exception as exc: # noqa: BLE001 an engine crash means the setting is unusable - return False, False, f"{type(exc).__name__}: {str(exc)[:80]}" + cryspy_ok, cryspy_note = False, f"cryspy {type(exc).__name__}: {str(exc)[:60]}" + try: + y_setting = _pattern(_experiment(name, code, cell, "crysfml", data_path)) + y_p1 = _pattern(_experiment("P 1", "", cell, "crysfml", data_path, atoms=orbit(sg))) + r_crysfml = _ls_r(y_setting, y_p1) + crysfml_ok, crysfml_note = r_crysfml < R_PASS, f"crysfml R={r_crysfml:.3f}" + except Exception as exc: # noqa: BLE001 + crysfml_ok, crysfml_note = False, f"crysfml {type(exc).__name__}: {str(exc)[:60]}" + return cryspy_ok, crysfml_ok, f"{cryspy_note}, {crysfml_note}" def _grid(directory: Path) -> Path: @@ -159,9 +178,10 @@ def render(results: list) -> str: "", "Generated by ``scripts/verify_easydiffraction_settings.py`` from easydiffraction", f"{version('easydiffraction')} by computation (EB-42, EB-80): a setting is listed when the calculator's", - "structure factors (CrysPy) or pattern (CrysFML, against CrysPy's) for a general-position atom match a", - f"reference within R < {R_PASS}. CrysFML is handed only the short symbol, so it misreads most non-default", - "settings; easydiffraction's cell constraints assume b-unique monoclinic cells; some settings crash.", + "per-reflection structure factors (CrysPy, against an ITC reference) or pattern (CrysFML, against its own", + f"pattern of the orbit written out in P 1) for a general-position atom match within R < {R_PASS} (A170).", + "CrysFML is handed only the short symbol, so it misreads most non-default settings; easydiffraction's cell", + "constraints assume b-unique monoclinic cells; some settings crash in CrysPy.", '"""', "", f"CRYSPY_SETTINGS: frozenset[str] = frozenset({{ # {len(cryspy)} of {len(results)}", diff --git a/src/powderline/gateways/easydiffraction/space_group_support.py b/src/powderline/gateways/easydiffraction/space_group_support.py index a4b8b3d..7d22110 100644 --- a/src/powderline/gateways/easydiffraction/space_group_support.py +++ b/src/powderline/gateways/easydiffraction/space_group_support.py @@ -2,9 +2,10 @@ Generated by ``scripts/verify_easydiffraction_settings.py`` from easydiffraction 0.21.1 by computation (EB-42, EB-80): a setting is listed when the calculator's -structure factors (CrysPy) or pattern (CrysFML, against CrysPy's) for a general-position atom match a -reference within R < 0.03. CrysFML is handed only the short symbol, so it misreads most non-default -settings; easydiffraction's cell constraints assume b-unique monoclinic cells; some settings crash. +per-reflection structure factors (CrysPy, against an ITC reference) or pattern (CrysFML, against its own +pattern of the orbit written out in P 1) for a general-position atom match within R < 0.03 (A170). +CrysFML is handed only the short symbol, so it misreads most non-default settings; easydiffraction's cell +constraints assume b-unique monoclinic cells; some settings crash in CrysPy. """ CRYSPY_SETTINGS: frozenset[str] = frozenset({ # 437 of 531 @@ -447,7 +448,7 @@ 'A b a m', }) -CRYSFML_SETTINGS: frozenset[str] = frozenset({ # 227 of 531 +CRYSFML_SETTINGS: frozenset[str] = frozenset({ # 230 of 531 'P 1', 'P -1', 'P 1 2 1', @@ -591,6 +592,7 @@ 'I 41/a m d:2', 'I 41/a c d:2', 'P 3', + 'P 31', 'P 32', 'R 3:H', 'P -3', @@ -621,6 +623,7 @@ 'P 64', 'P 63', 'P -6', + 'P 6/m', 'P 63/m', 'P 6 2 2', 'P 61 2 2', @@ -673,6 +676,7 @@ 'F m -3 m', 'F m -3 c', 'F d -3 m:2', + 'F d -3 c:2', 'I m -3 m', 'I a -3 d', }) diff --git a/tests/test_easydiffraction_schema.py b/tests/test_easydiffraction_schema.py index 138a20e..25c4afd 100644 --- a/tests/test_easydiffraction_schema.py +++ b/tests/test_easydiffraction_schema.py @@ -495,8 +495,17 @@ def test_setting_the_calculator_misreads_rejected(setting, calculator, suggestio assert why is not None and "EB-80" in why and repr(suggestion) in why +def test_p31_cryspy_rejected_naming_crysfml(): + """CrysPy computes P 31 with P 32's operators (the other hand per reflection); CrysFML is fine (A170).""" + from powderline.gateways.easydiffraction.schema import calculator_setting_problem + + why = calculator_setting_problem("P 31", "cryspy") + assert why is not None and "use the crysfml calculator" in why + + @pytest.mark.parametrize("setting, calculator", [("P m -3 m", "crysfml"), ("P m -3 m", "cryspy"), - ("F d -3 m:1", "cryspy"), ("C 1 2/m 1", "crysfml")]) + ("F d -3 m:1", "cryspy"), ("C 1 2/m 1", "crysfml"), + ("P 31", "crysfml"), ("P 6/m", "crysfml"), ("F d -3 c:2", "crysfml")]) def test_setting_the_calculator_computes_accepted(setting, calculator): from powderline.gateways.easydiffraction.schema import calculator_setting_problem diff --git a/tests/test_easydiffraction_space_groups.py b/tests/test_easydiffraction_space_groups.py index ca1b0c5..0f4d1ba 100644 --- a/tests/test_easydiffraction_space_groups.py +++ b/tests/test_easydiffraction_space_groups.py @@ -71,9 +71,10 @@ def test_structure_accepts_the_mapped_setting(xhm, expected): #: A fixed sample re-verified by computation against the committed support sets (EB-80): defaults, -#: origin choices, rhombohedral axes, non-default monoclinic and orthorhombic settings, a crash. +#: origin choices, rhombohedral axes, non-default monoclinic and orthorhombic settings, CrysPy crashes, and +#: P 31 (CrysPy computes the other hand; A170). SUPPORT_SAMPLE = ("P m -3 m", "F d -3 m:1", "F d -3 m:2", "R -3 m:H", "R -3 m:R", "C 1 2/m 1", "P 1 1 2", - "P n n n:1", "P n n n:2", "P b n m", "A 1 2 1") + "P n n n:1", "P n n n:2", "P b n m", "A 1 2 1", "P 31", "P 6/m", "F d -3 c:2") def test_support_sets_reverified_on_a_sample(): From b4fe715fa9c84bd9f6a6f2c1187afcdb9b975345 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 22:19:33 -0400 Subject: [PATCH 09/20] test(easydiffraction): two-phase native fixture, test and golden (re/06) drx33_two_phase_cryspy.json: the example_DRX_33 data with its two phases, cubic DRX_33 (F m -3 m, mixed 4a site) and Li4MgWO6 (C 1 2/m 1), CrysPy pseudo-Voigt, 18 parameters (profile, background, scales, cells). Test: both structures linked, every parameter varied with an ESD, per-phase reports; golden for the built project and the run (Rwp 7.248 %). Assisted-by: claude-code:claude-opus-5-5 --- tests/data/easydiffraction/native/README.md | 10 + .../native/drx33_two_phase_cryspy.json | 12895 ++++++++++++++++ .../native/golden/drx33_two_phase_cryspy.json | 1061 ++ tests/test_easydiffraction_native.py | 38 +- 4 files changed, 14003 insertions(+), 1 deletion(-) create mode 100644 tests/data/easydiffraction/native/drx33_two_phase_cryspy.json create mode 100644 tests/data/easydiffraction/native/golden/drx33_two_phase_cryspy.json diff --git a/tests/data/easydiffraction/native/README.md b/tests/data/easydiffraction/native/README.md index d0eda94..c35ccba 100644 --- a/tests/data/easydiffraction/native/README.md +++ b/tests/data/easydiffraction/native/README.md @@ -10,6 +10,7 @@ They are not converted recipes: PowderLine ships no 0.26.0 → | `lab6_crysfml_tch.json` | LaB6, CrysFML, Thompson-Cox-Hastings with FCJ axial asymmetry (fixed); U, V, W, X, Y, cell, scale and a 6-term Chebyshev refined; window [1, 15] | | `lab6_cryspy_pv.json` | LaB6, CrysPy, pseudo-Voigt (no asymmetry); the same refinement | | `lab6_slots_simulation.json` | Calculation only (no flag set), CrysPy, every instrument slot: Kα2 doublet, polarization with a monochromator angle, displacement, transparency, cylinder absorption, Bérar–Baldinozzi asymmetry, a peak cutoff. Exercises the builder; not a physical model | +| `drx33_two_phase_cryspy.json` | Two phases from the `example_DRX_33` data: cubic DRX_33 (`F m -3 m`, four cations sharing 4a) and monoclinic Li4MgWO6 (`C 1 2/m 1`); CrysPy, pseudo-Voigt; U, V, W, X, Y, 6-term Chebyshev, both scales and cells (cubic a; a, b, c, β) refined; window [1, 15] | ## Derivations (from the example's GSAS-II instrument parameters) @@ -41,6 +42,15 @@ They are not converted recipes: PowderLine ships no 0.26.0 → (EB-77). - **Scale and background.** Starting values near the refined ones (scale 5.4e-6; Chebyshev 30, 0.6, 0.7, −0.4, −0.8, 0.9 over the window). +- **Two phases (DRX_33).** Same instrument as LaB6 (the example's GSAS-II + parameters are identical), so the same conversions. The example's per-phase + size/strain broadening has no easydiffraction counterpart (the profile is the + experiment's); U, V, W, X, Y are refined instead. Li4MgWO6's `C2/m` is written + with gemmi's canonical name `C 1 2/m 1`; its 4g, 4h and 4i atoms are already in + easydiffraction's template pattern (EB-77). Starting values are near the + refined ones, from a first fit that started from the example's structure with + the LaB6 profile and a linear least-squares estimate of the scales and + background (Rwp 7.25 %). - **Refinement controls.** easydiffraction 0.21.1's own lmfit defaults (`max_iterations` = lmfit `max_nfev` 1000; tolerances 1e-8, 1e-8, 0). diff --git a/tests/data/easydiffraction/native/drx33_two_phase_cryspy.json b/tests/data/easydiffraction/native/drx33_two_phase_cryspy.json new file mode 100644 index 0000000..f4be802 --- /dev/null +++ b/tests/data/easydiffraction/native/drx33_two_phase_cryspy.json @@ -0,0 +1,12895 @@ +{ + "schema_name": "easydiffraction.rietveld", + "core_schema_version": "1.0.0", + "engine_schema_version": "1.0.0", + "payload": { + "xrd_data": { + "tth": [ + 0.64726557, + 0.65098231, + 0.65469905, + 0.65841579, + 0.66213254, + 0.66584928, + 0.66956602, + 0.67328276, + 0.6769995, + 0.68071624, + 0.68443298, + 0.68814973, + 0.69186647, + 0.69558321, + 0.69929995, + 0.70301669, + 0.70673343, + 0.71045017, + 0.71416691, + 0.71788366, + 0.7216004, + 0.72531714, + 0.72903388, + 0.73275062, + 0.73646736, + 0.7401841, + 0.74390085, + 0.74761759, + 0.75133433, + 0.75505107, + 0.75876781, + 0.76248455, + 0.76620129, + 0.76991803, + 0.77363478, + 0.77735152, + 0.78106826, + 0.784785, + 0.78850174, + 0.79221848, + 0.79593522, + 0.79965197, + 0.80336871, + 0.80708545, + 0.81080219, + 0.81451893, + 0.81823567, + 0.82195241, + 0.82566915, + 0.8293859, + 0.83310264, + 0.83681938, + 0.84053612, + 0.84425286, + 0.8479696, + 0.85168634, + 0.85540309, + 0.85911983, + 0.86283657, + 0.86655331, + 0.87027005, + 0.87398679, + 0.87770353, + 0.88142027, + 0.88513702, + 0.88885376, + 0.8925705, + 0.89628724, + 0.90000398, + 0.90372072, + 0.90743746, + 0.91115421, + 0.91487095, + 0.91858769, + 0.92230443, + 0.92602117, + 0.92973791, + 0.93345465, + 0.9371714, + 0.94088814, + 0.94460488, + 0.94832162, + 0.95203836, + 0.9557551, + 0.95947184, + 0.96318858, + 0.96690533, + 0.97062207, + 0.97433881, + 0.97805555, + 0.98177229, + 0.98548903, + 0.98920577, + 0.99292252, + 0.99663926, + 1.000356, + 1.00407274, + 1.00778948, + 1.01150622, + 1.01522296, + 1.0189397, + 1.02265645, + 1.02637319, + 1.03008993, + 1.03380667, + 1.03752341, + 1.04124015, + 1.04495689, + 1.04867364, + 1.05239038, + 1.05610712, + 1.05982386, + 1.0635406, + 1.06725734, + 1.07097408, + 1.07469082, + 1.07840757, + 1.08212431, + 1.08584105, + 1.08955779, + 1.09327453, + 1.09699127, + 1.10070801, + 1.10442476, + 1.1081415, + 1.11185824, + 1.11557498, + 1.11929172, + 1.12300846, + 1.1267252, + 1.13044194, + 1.13415869, + 1.13787543, + 1.14159217, + 1.14530891, + 1.14902565, + 1.15274239, + 1.15645913, + 1.16017588, + 1.16389262, + 1.16760936, + 1.1713261, + 1.17504284, + 1.17875958, + 1.18247632, + 1.18619307, + 1.18990981, + 1.19362655, + 1.19734329, + 1.20106003, + 1.20477677, + 1.20849351, + 1.21221025, + 1.215927, + 1.21964374, + 1.22336048, + 1.22707722, + 1.23079396, + 1.2345107, + 1.23822744, + 1.24194419, + 1.24566093, + 1.24937767, + 1.25309441, + 1.25681115, + 1.26052789, + 1.26424463, + 1.26796137, + 1.27167812, + 1.27539486, + 1.2791116, + 1.28282834, + 1.28654508, + 1.29026182, + 1.29397856, + 1.29769531, + 1.30141205, + 1.30512879, + 1.30884553, + 1.31256227, + 1.31627901, + 1.31999575, + 1.32371249, + 1.32742924, + 1.33114598, + 1.33486272, + 1.33857946, + 1.3422962, + 1.34601294, + 1.34972968, + 1.35344643, + 1.35716317, + 1.36087991, + 1.36459665, + 1.36831339, + 1.37203013, + 1.37574687, + 1.37946361, + 1.38318036, + 1.3868971, + 1.39061384, + 1.39433058, + 1.39804732, + 1.40176406, + 1.4054808, + 1.40919755, + 1.41291429, + 1.41663103, + 1.42034777, + 1.42406451, + 1.42778125, + 1.43149799, + 1.43521474, + 1.43893148, + 1.44264822, + 1.44636496, + 1.4500817, + 1.45379844, + 1.45751518, + 1.46123192, + 1.46494867, + 1.46866541, + 1.47238215, + 1.47609889, + 1.47981563, + 1.48353237, + 1.48724911, + 1.49096586, + 1.4946826, + 1.49839934, + 1.50211608, + 1.50583282, + 1.50954956, + 1.5132663, + 1.51698304, + 1.52069979, + 1.52441653, + 1.52813327, + 1.53185001, + 1.53556675, + 1.53928349, + 1.54300023, + 1.54671698, + 1.55043372, + 1.55415046, + 1.5578672, + 1.56158394, + 1.56530068, + 1.56901742, + 1.57273416, + 1.57645091, + 1.58016765, + 1.58388439, + 1.58760113, + 1.59131787, + 1.59503461, + 1.59875135, + 1.6024681, + 1.60618484, + 1.60990158, + 1.61361832, + 1.61733506, + 1.6210518, + 1.62476854, + 1.62848528, + 1.63220203, + 1.63591877, + 1.63963551, + 1.64335225, + 1.64706899, + 1.65078573, + 1.65450247, + 1.65821922, + 1.66193596, + 1.6656527, + 1.66936944, + 1.67308618, + 1.67680292, + 1.68051966, + 1.6842364, + 1.68795315, + 1.69166989, + 1.69538663, + 1.69910337, + 1.70282011, + 1.70653685, + 1.71025359, + 1.71397034, + 1.71768708, + 1.72140382, + 1.72512056, + 1.7288373, + 1.73255404, + 1.73627078, + 1.73998753, + 1.74370427, + 1.74742101, + 1.75113775, + 1.75485449, + 1.75857123, + 1.76228797, + 1.76600471, + 1.76972146, + 1.7734382, + 1.77715494, + 1.78087168, + 1.78458842, + 1.78830516, + 1.7920219, + 1.79573865, + 1.79945539, + 1.80317213, + 1.80688887, + 1.81060561, + 1.81432235, + 1.81803909, + 1.82175583, + 1.82547258, + 1.82918932, + 1.83290606, + 1.8366228, + 1.84033954, + 1.84405628, + 1.84777302, + 1.85148977, + 1.85520651, + 1.85892325, + 1.86263999, + 1.86635673, + 1.87007347, + 1.87379021, + 1.87750695, + 1.8812237, + 1.88494044, + 1.88865718, + 1.89237392, + 1.89609066, + 1.8998074, + 1.90352414, + 1.90724089, + 1.91095763, + 1.91467437, + 1.91839111, + 1.92210785, + 1.92582459, + 1.92954133, + 1.93325807, + 1.93697482, + 1.94069156, + 1.9444083, + 1.94812504, + 1.95184178, + 1.95555852, + 1.95927526, + 1.96299201, + 1.96670875, + 1.97042549, + 1.97414223, + 1.97785897, + 1.98157571, + 1.98529245, + 1.9890092, + 1.99272594, + 1.99644268, + 2.00015942, + 2.00387616, + 2.0075929, + 2.01130964, + 2.01502638, + 2.01874313, + 2.02245987, + 2.02617661, + 2.02989335, + 2.03361009, + 2.03732683, + 2.04104357, + 2.04476032, + 2.04847706, + 2.0521938, + 2.05591054, + 2.05962728, + 2.06334402, + 2.06706076, + 2.0707775, + 2.07449425, + 2.07821099, + 2.08192773, + 2.08564447, + 2.08936121, + 2.09307795, + 2.09679469, + 2.10051144, + 2.10422818, + 2.10794492, + 2.11166166, + 2.1153784, + 2.11909514, + 2.12281188, + 2.12652862, + 2.13024537, + 2.13396211, + 2.13767885, + 2.14139559, + 2.14511233, + 2.14882907, + 2.15254581, + 2.15626256, + 2.1599793, + 2.16369604, + 2.16741278, + 2.17112952, + 2.17484626, + 2.178563, + 2.18227974, + 2.18599649, + 2.18971323, + 2.19342997, + 2.19714671, + 2.20086345, + 2.20458019, + 2.20829693, + 2.21201368, + 2.21573042, + 2.21944716, + 2.2231639, + 2.22688064, + 2.23059738, + 2.23431412, + 2.23803087, + 2.24174761, + 2.24546435, + 2.24918109, + 2.25289783, + 2.25661457, + 2.26033131, + 2.26404805, + 2.2677648, + 2.27148154, + 2.27519828, + 2.27891502, + 2.28263176, + 2.2863485, + 2.29006524, + 2.29378199, + 2.29749873, + 2.30121547, + 2.30493221, + 2.30864895, + 2.31236569, + 2.31608243, + 2.31979917, + 2.32351592, + 2.32723266, + 2.3309494, + 2.33466614, + 2.33838288, + 2.34209962, + 2.34581636, + 2.34953311, + 2.35324985, + 2.35696659, + 2.36068333, + 2.36440007, + 2.36811681, + 2.37183355, + 2.37555029, + 2.37926704, + 2.38298378, + 2.38670052, + 2.39041726, + 2.394134, + 2.39785074, + 2.40156748, + 2.40528423, + 2.40900097, + 2.41271771, + 2.41643445, + 2.42015119, + 2.42386793, + 2.42758467, + 2.43130141, + 2.43501816, + 2.4387349, + 2.44245164, + 2.44616838, + 2.44988512, + 2.45360186, + 2.4573186, + 2.46103535, + 2.46475209, + 2.46846883, + 2.47218557, + 2.47590231, + 2.47961905, + 2.48333579, + 2.48705254, + 2.49076928, + 2.49448602, + 2.49820276, + 2.5019195, + 2.50563624, + 2.50935298, + 2.51306972, + 2.51678647, + 2.52050321, + 2.52421995, + 2.52793669, + 2.53165343, + 2.53537017, + 2.53908691, + 2.54280366, + 2.5465204, + 2.55023714, + 2.55395388, + 2.55767062, + 2.56138736, + 2.5651041, + 2.56882084, + 2.57253759, + 2.57625433, + 2.57997107, + 2.58368781, + 2.58740455, + 2.59112129, + 2.59483803, + 2.59855478, + 2.60227152, + 2.60598826, + 2.609705, + 2.61342174, + 2.61713848, + 2.62085522, + 2.62457196, + 2.62828871, + 2.63200545, + 2.63572219, + 2.63943893, + 2.64315567, + 2.64687241, + 2.65058915, + 2.6543059, + 2.65802264, + 2.66173938, + 2.66545612, + 2.66917286, + 2.6728896, + 2.67660634, + 2.68032308, + 2.68403983, + 2.68775657, + 2.69147331, + 2.69519005, + 2.69890679, + 2.70262353, + 2.70634027, + 2.71005702, + 2.71377376, + 2.7174905, + 2.72120724, + 2.72492398, + 2.72864072, + 2.73235746, + 2.7360742, + 2.73979095, + 2.74350769, + 2.74722443, + 2.75094117, + 2.75465791, + 2.75837465, + 2.76209139, + 2.76580814, + 2.76952488, + 2.77324162, + 2.77695836, + 2.7806751, + 2.78439184, + 2.78810858, + 2.79182533, + 2.79554207, + 2.79925881, + 2.80297555, + 2.80669229, + 2.81040903, + 2.81412577, + 2.81784251, + 2.82155926, + 2.825276, + 2.82899274, + 2.83270948, + 2.83642622, + 2.84014296, + 2.8438597, + 2.84757645, + 2.85129319, + 2.85500993, + 2.85872667, + 2.86244341, + 2.86616015, + 2.86987689, + 2.87359363, + 2.87731038, + 2.88102712, + 2.88474386, + 2.8884606, + 2.89217734, + 2.89589408, + 2.89961082, + 2.90332757, + 2.90704431, + 2.91076105, + 2.91447779, + 2.91819453, + 2.92191127, + 2.92562801, + 2.92934475, + 2.9330615, + 2.93677824, + 2.94049498, + 2.94421172, + 2.94792846, + 2.9516452, + 2.95536194, + 2.95907869, + 2.96279543, + 2.96651217, + 2.97022891, + 2.97394565, + 2.97766239, + 2.98137913, + 2.98509587, + 2.98881262, + 2.99252936, + 2.9962461, + 2.99996284, + 3.00367958, + 3.00739632, + 3.01111306, + 3.01482981, + 3.01854655, + 3.02226329, + 3.02598003, + 3.02969677, + 3.03341351, + 3.03713025, + 3.040847, + 3.04456374, + 3.04828048, + 3.05199722, + 3.05571396, + 3.0594307, + 3.06314744, + 3.06686418, + 3.07058093, + 3.07429767, + 3.07801441, + 3.08173115, + 3.08544789, + 3.08916463, + 3.09288137, + 3.09659812, + 3.10031486, + 3.1040316, + 3.10774834, + 3.11146508, + 3.11518182, + 3.11889856, + 3.1226153, + 3.12633205, + 3.13004879, + 3.13376553, + 3.13748227, + 3.14119901, + 3.14491575, + 3.14863249, + 3.15234924, + 3.15606598, + 3.15978272, + 3.16349946, + 3.1672162, + 3.17093294, + 3.17464968, + 3.17836642, + 3.18208317, + 3.18579991, + 3.18951665, + 3.19323339, + 3.19695013, + 3.20066687, + 3.20438361, + 3.20810036, + 3.2118171, + 3.21553384, + 3.21925058, + 3.22296732, + 3.22668406, + 3.2304008, + 3.23411754, + 3.23783429, + 3.24155103, + 3.24526777, + 3.24898451, + 3.25270125, + 3.25641799, + 3.26013473, + 3.26385148, + 3.26756822, + 3.27128496, + 3.2750017, + 3.27871844, + 3.28243518, + 3.28615192, + 3.28986867, + 3.29358541, + 3.29730215, + 3.30101889, + 3.30473563, + 3.30845237, + 3.31216911, + 3.31588585, + 3.3196026, + 3.32331934, + 3.32703608, + 3.33075282, + 3.33446956, + 3.3381863, + 3.34190304, + 3.34561979, + 3.34933653, + 3.35305327, + 3.35677001, + 3.36048675, + 3.36420349, + 3.36792023, + 3.37163697, + 3.37535372, + 3.37907046, + 3.3827872, + 3.38650394, + 3.39022068, + 3.39393742, + 3.39765416, + 3.40137091, + 3.40508765, + 3.40880439, + 3.41252113, + 3.41623787, + 3.41995461, + 3.42367135, + 3.42738809, + 3.43110484, + 3.43482158, + 3.43853832, + 3.44225506, + 3.4459718, + 3.44968854, + 3.45340528, + 3.45712203, + 3.46083877, + 3.46455551, + 3.46827225, + 3.47198899, + 3.47570573, + 3.47942247, + 3.48313921, + 3.48685596, + 3.4905727, + 3.49428944, + 3.49800618, + 3.50172292, + 3.50543966, + 3.5091564, + 3.51287315, + 3.51658989, + 3.52030663, + 3.52402337, + 3.52774011, + 3.53145685, + 3.53517359, + 3.53889034, + 3.54260708, + 3.54632382, + 3.55004056, + 3.5537573, + 3.55747404, + 3.56119078, + 3.56490752, + 3.56862427, + 3.57234101, + 3.57605775, + 3.57977449, + 3.58349123, + 3.58720797, + 3.59092471, + 3.59464146, + 3.5983582, + 3.60207494, + 3.60579168, + 3.60950842, + 3.61322516, + 3.6169419, + 3.62065864, + 3.62437539, + 3.62809213, + 3.63180887, + 3.63552561, + 3.63924235, + 3.64295909, + 3.64667583, + 3.65039258, + 3.65410932, + 3.65782606, + 3.6615428, + 3.66525954, + 3.66897628, + 3.67269302, + 3.67640976, + 3.68012651, + 3.68384325, + 3.68755999, + 3.69127673, + 3.69499347, + 3.69871021, + 3.70242695, + 3.7061437, + 3.70986044, + 3.71357718, + 3.71729392, + 3.72101066, + 3.7247274, + 3.72844414, + 3.73216088, + 3.73587763, + 3.73959437, + 3.74331111, + 3.74702785, + 3.75074459, + 3.75446133, + 3.75817807, + 3.76189482, + 3.76561156, + 3.7693283, + 3.77304504, + 3.77676178, + 3.78047852, + 3.78419526, + 3.787912, + 3.79162875, + 3.79534549, + 3.79906223, + 3.80277897, + 3.80649571, + 3.81021245, + 3.81392919, + 3.81764594, + 3.82136268, + 3.82507942, + 3.82879616, + 3.8325129, + 3.83622964, + 3.83994638, + 3.84366313, + 3.84737987, + 3.85109661, + 3.85481335, + 3.85853009, + 3.86224683, + 3.86596357, + 3.86968031, + 3.87339706, + 3.8771138, + 3.88083054, + 3.88454728, + 3.88826402, + 3.89198076, + 3.8956975, + 3.89941425, + 3.90313099, + 3.90684773, + 3.91056447, + 3.91428121, + 3.91799795, + 3.92171469, + 3.92543143, + 3.92914818, + 3.93286492, + 3.93658166, + 3.9402984, + 3.94401514, + 3.94773188, + 3.95144862, + 3.95516537, + 3.95888211, + 3.96259885, + 3.96631559, + 3.97003233, + 3.97374907, + 3.97746581, + 3.98118255, + 3.9848993, + 3.98861604, + 3.99233278, + 3.99604952, + 3.99976626, + 4.003483, + 4.00719974, + 4.01091649, + 4.01463323, + 4.01834997, + 4.02206671, + 4.02578345, + 4.02950019, + 4.03321693, + 4.03693367, + 4.04065042, + 4.04436716, + 4.0480839, + 4.05180064, + 4.05551738, + 4.05923412, + 4.06295086, + 4.06666761, + 4.07038435, + 4.07410109, + 4.07781783, + 4.08153457, + 4.08525131, + 4.08896805, + 4.0926848, + 4.09640154, + 4.10011828, + 4.10383502, + 4.10755176, + 4.1112685, + 4.11498524, + 4.11870198, + 4.12241873, + 4.12613547, + 4.12985221, + 4.13356895, + 4.13728569, + 4.14100243, + 4.14471917, + 4.14843592, + 4.15215266, + 4.1558694, + 4.15958614, + 4.16330288, + 4.16701962, + 4.17073636, + 4.1744531, + 4.17816985, + 4.18188659, + 4.18560333, + 4.18932007, + 4.19303681, + 4.19675355, + 4.20047029, + 4.20418704, + 4.20790378, + 4.21162052, + 4.21533726, + 4.219054, + 4.22277074, + 4.22648748, + 4.23020422, + 4.23392097, + 4.23763771, + 4.24135445, + 4.24507119, + 4.24878793, + 4.25250467, + 4.25622141, + 4.25993816, + 4.2636549, + 4.26737164, + 4.27108838, + 4.27480512, + 4.27852186, + 4.2822386, + 4.28595534, + 4.28967209, + 4.29338883, + 4.29710557, + 4.30082231, + 4.30453905, + 4.30825579, + 4.31197253, + 4.31568928, + 4.31940602, + 4.32312276, + 4.3268395, + 4.33055624, + 4.33427298, + 4.33798972, + 4.34170647, + 4.34542321, + 4.34913995, + 4.35285669, + 4.35657343, + 4.36029017, + 4.36400691, + 4.36772365, + 4.3714404, + 4.37515714, + 4.37887388, + 4.38259062, + 4.38630736, + 4.3900241, + 4.39374084, + 4.39745759, + 4.40117433, + 4.40489107, + 4.40860781, + 4.41232455, + 4.41604129, + 4.41975803, + 4.42347477, + 4.42719152, + 4.43090826, + 4.434625, + 4.43834174, + 4.44205848, + 4.44577522, + 4.44949196, + 4.45320871, + 4.45692545, + 4.46064219, + 4.46435893, + 4.46807567, + 4.47179241, + 4.47550915, + 4.47922589, + 4.48294264, + 4.48665938, + 4.49037612, + 4.49409286, + 4.4978096, + 4.50152634, + 4.50524308, + 4.50895983, + 4.51267657, + 4.51639331, + 4.52011005, + 4.52382679, + 4.52754353, + 4.53126027, + 4.53497701, + 4.53869376, + 4.5424105, + 4.54612724, + 4.54984398, + 4.55356072, + 4.55727746, + 4.5609942, + 4.56471095, + 4.56842769, + 4.57214443, + 4.57586117, + 4.57957791, + 4.58329465, + 4.58701139, + 4.59072813, + 4.59444488, + 4.59816162, + 4.60187836, + 4.6055951, + 4.60931184, + 4.61302858, + 4.61674532, + 4.62046207, + 4.62417881, + 4.62789555, + 4.63161229, + 4.63532903, + 4.63904577, + 4.64276251, + 4.64647926, + 4.650196, + 4.65391274, + 4.65762948, + 4.66134622, + 4.66506296, + 4.6687797, + 4.67249644, + 4.67621319, + 4.67992993, + 4.68364667, + 4.68736341, + 4.69108015, + 4.69479689, + 4.69851363, + 4.70223038, + 4.70594712, + 4.70966386, + 4.7133806, + 4.71709734, + 4.72081408, + 4.72453082, + 4.72824756, + 4.73196431, + 4.73568105, + 4.73939779, + 4.74311453, + 4.74683127, + 4.75054801, + 4.75426475, + 4.7579815, + 4.76169824, + 4.76541498, + 4.76913172, + 4.77284846, + 4.7765652, + 4.78028194, + 4.78399868, + 4.78771543, + 4.79143217, + 4.79514891, + 4.79886565, + 4.80258239, + 4.80629913, + 4.81001587, + 4.81373262, + 4.81744936, + 4.8211661, + 4.82488284, + 4.82859958, + 4.83231632, + 4.83603306, + 4.8397498, + 4.84346655, + 4.84718329, + 4.85090003, + 4.85461677, + 4.85833351, + 4.86205025, + 4.86576699, + 4.86948374, + 4.87320048, + 4.87691722, + 4.88063396, + 4.8843507, + 4.88806744, + 4.89178418, + 4.89550093, + 4.89921767, + 4.90293441, + 4.90665115, + 4.91036789, + 4.91408463, + 4.91780137, + 4.92151811, + 4.92523486, + 4.9289516, + 4.93266834, + 4.93638508, + 4.94010182, + 4.94381856, + 4.9475353, + 4.95125205, + 4.95496879, + 4.95868553, + 4.96240227, + 4.96611901, + 4.96983575, + 4.97355249, + 4.97726923, + 4.98098598, + 4.98470272, + 4.98841946, + 4.9921362, + 4.99585294, + 4.99956968, + 5.00328642, + 5.00700317, + 5.01071991, + 5.01443665, + 5.01815339, + 5.02187013, + 5.02558687, + 5.02930361, + 5.03302035, + 5.0367371, + 5.04045384, + 5.04417058, + 5.04788732, + 5.05160406, + 5.0553208, + 5.05903754, + 5.06275429, + 5.06647103, + 5.07018777, + 5.07390451, + 5.07762125, + 5.08133799, + 5.08505473, + 5.08877147, + 5.09248822, + 5.09620496, + 5.0999217, + 5.10363844, + 5.10735518, + 5.11107192, + 5.11478866, + 5.11850541, + 5.12222215, + 5.12593889, + 5.12965563, + 5.13337237, + 5.13708911, + 5.14080585, + 5.1445226, + 5.14823934, + 5.15195608, + 5.15567282, + 5.15938956, + 5.1631063, + 5.16682304, + 5.17053978, + 5.17425653, + 5.17797327, + 5.18169001, + 5.18540675, + 5.18912349, + 5.19284023, + 5.19655697, + 5.20027372, + 5.20399046, + 5.2077072, + 5.21142394, + 5.21514068, + 5.21885742, + 5.22257416, + 5.2262909, + 5.23000765, + 5.23372439, + 5.23744113, + 5.24115787, + 5.24487461, + 5.24859135, + 5.25230809, + 5.25602484, + 5.25974158, + 5.26345832, + 5.26717506, + 5.2708918, + 5.27460854, + 5.27832528, + 5.28204202, + 5.28575877, + 5.28947551, + 5.29319225, + 5.29690899, + 5.30062573, + 5.30434247, + 5.30805921, + 5.31177596, + 5.3154927, + 5.31920944, + 5.32292618, + 5.32664292, + 5.33035966, + 5.3340764, + 5.33779314, + 5.34150989, + 5.34522663, + 5.34894337, + 5.35266011, + 5.35637685, + 5.36009359, + 5.36381033, + 5.36752708, + 5.37124382, + 5.37496056, + 5.3786773, + 5.38239404, + 5.38611078, + 5.38982752, + 5.39354427, + 5.39726101, + 5.40097775, + 5.40469449, + 5.40841123, + 5.41212797, + 5.41584471, + 5.41956145, + 5.4232782, + 5.42699494, + 5.43071168, + 5.43442842, + 5.43814516, + 5.4418619, + 5.44557864, + 5.44929539, + 5.45301213, + 5.45672887, + 5.46044561, + 5.46416235, + 5.46787909, + 5.47159583, + 5.47531257, + 5.47902932, + 5.48274606, + 5.4864628, + 5.49017954, + 5.49389628, + 5.49761302, + 5.50132976, + 5.50504651, + 5.50876325, + 5.51247999, + 5.51619673, + 5.51991347, + 5.52363021, + 5.52734695, + 5.53106369, + 5.53478044, + 5.53849718, + 5.54221392, + 5.54593066, + 5.5496474, + 5.55336414, + 5.55708088, + 5.56079763, + 5.56451437, + 5.56823111, + 5.57194785, + 5.57566459, + 5.57938133, + 5.58309807, + 5.58681481, + 5.59053156, + 5.5942483, + 5.59796504, + 5.60168178, + 5.60539852, + 5.60911526, + 5.612832, + 5.61654875, + 5.62026549, + 5.62398223, + 5.62769897, + 5.63141571, + 5.63513245, + 5.63884919, + 5.64256593, + 5.64628268, + 5.64999942, + 5.65371616, + 5.6574329, + 5.66114964, + 5.66486638, + 5.66858312, + 5.67229987, + 5.67601661, + 5.67973335, + 5.68345009, + 5.68716683, + 5.69088357, + 5.69460031, + 5.69831706, + 5.7020338, + 5.70575054, + 5.70946728, + 5.71318402, + 5.71690076, + 5.7206175, + 5.72433424, + 5.72805099, + 5.73176773, + 5.73548447, + 5.73920121, + 5.74291795, + 5.74663469, + 5.75035143, + 5.75406818, + 5.75778492, + 5.76150166, + 5.7652184, + 5.76893514, + 5.77265188, + 5.77636862, + 5.78008536, + 5.78380211, + 5.78751885, + 5.79123559, + 5.79495233, + 5.79866907, + 5.80238581, + 5.80610255, + 5.8098193, + 5.81353604, + 5.81725278, + 5.82096952, + 5.82468626, + 5.828403, + 5.83211974, + 5.83583648, + 5.83955323, + 5.84326997, + 5.84698671, + 5.85070345, + 5.85442019, + 5.85813693, + 5.86185367, + 5.86557042, + 5.86928716, + 5.8730039, + 5.87672064, + 5.88043738, + 5.88415412, + 5.88787086, + 5.8915876, + 5.89530435, + 5.89902109, + 5.90273783, + 5.90645457, + 5.91017131, + 5.91388805, + 5.91760479, + 5.92132154, + 5.92503828, + 5.92875502, + 5.93247176, + 5.9361885, + 5.93990524, + 5.94362198, + 5.94733873, + 5.95105547, + 5.95477221, + 5.95848895, + 5.96220569, + 5.96592243, + 5.96963917, + 5.97335591, + 5.97707266, + 5.9807894, + 5.98450614, + 5.98822288, + 5.99193962, + 5.99565636, + 5.9993731, + 6.00308985, + 6.00680659, + 6.01052333, + 6.01424007, + 6.01795681, + 6.02167355, + 6.02539029, + 6.02910703, + 6.03282378, + 6.03654052, + 6.04025726, + 6.043974, + 6.04769074, + 6.05140748, + 6.05512422, + 6.05884097, + 6.06255771, + 6.06627445, + 6.06999119, + 6.07370793, + 6.07742467, + 6.08114141, + 6.08485815, + 6.0885749, + 6.09229164, + 6.09600838, + 6.09972512, + 6.10344186, + 6.1071586, + 6.11087534, + 6.11459209, + 6.11830883, + 6.12202557, + 6.12574231, + 6.12945905, + 6.13317579, + 6.13689253, + 6.14060927, + 6.14432602, + 6.14804276, + 6.1517595, + 6.15547624, + 6.15919298, + 6.16290972, + 6.16662646, + 6.17034321, + 6.17405995, + 6.17777669, + 6.18149343, + 6.18521017, + 6.18892691, + 6.19264365, + 6.1963604, + 6.20007714, + 6.20379388, + 6.20751062, + 6.21122736, + 6.2149441, + 6.21866084, + 6.22237758, + 6.22609433, + 6.22981107, + 6.23352781, + 6.23724455, + 6.24096129, + 6.24467803, + 6.24839477, + 6.25211152, + 6.25582826, + 6.259545, + 6.26326174, + 6.26697848, + 6.27069522, + 6.27441196, + 6.2781287, + 6.28184545, + 6.28556219, + 6.28927893, + 6.29299567, + 6.29671241, + 6.30042915, + 6.30414589, + 6.30786264, + 6.31157938, + 6.31529612, + 6.31901286, + 6.3227296, + 6.32644634, + 6.33016308, + 6.33387982, + 6.33759657, + 6.34131331, + 6.34503005, + 6.34874679, + 6.35246353, + 6.35618027, + 6.35989701, + 6.36361376, + 6.3673305, + 6.37104724, + 6.37476398, + 6.37848072, + 6.38219746, + 6.3859142, + 6.38963094, + 6.39334769, + 6.39706443, + 6.40078117, + 6.40449791, + 6.40821465, + 6.41193139, + 6.41564813, + 6.41936488, + 6.42308162, + 6.42679836, + 6.4305151, + 6.43423184, + 6.43794858, + 6.44166532, + 6.44538207, + 6.44909881, + 6.45281555, + 6.45653229, + 6.46024903, + 6.46396577, + 6.46768251, + 6.47139925, + 6.475116, + 6.47883274, + 6.48254948, + 6.48626622, + 6.48998296, + 6.4936997, + 6.49741644, + 6.50113319, + 6.50484993, + 6.50856667, + 6.51228341, + 6.51600015, + 6.51971689, + 6.52343363, + 6.52715037, + 6.53086712, + 6.53458386, + 6.5383006, + 6.54201734, + 6.54573408, + 6.54945082, + 6.55316756, + 6.55688431, + 6.56060105, + 6.56431779, + 6.56803453, + 6.57175127, + 6.57546801, + 6.57918475, + 6.58290149, + 6.58661824, + 6.59033498, + 6.59405172, + 6.59776846, + 6.6014852, + 6.60520194, + 6.60891868, + 6.61263543, + 6.61635217, + 6.62006891, + 6.62378565, + 6.62750239, + 6.63121913, + 6.63493587, + 6.63865261, + 6.64236936, + 6.6460861, + 6.64980284, + 6.65351958, + 6.65723632, + 6.66095306, + 6.6646698, + 6.66838655, + 6.67210329, + 6.67582003, + 6.67953677, + 6.68325351, + 6.68697025, + 6.69068699, + 6.69440373, + 6.69812048, + 6.70183722, + 6.70555396, + 6.7092707, + 6.71298744, + 6.71670418, + 6.72042092, + 6.72413767, + 6.72785441, + 6.73157115, + 6.73528789, + 6.73900463, + 6.74272137, + 6.74643811, + 6.75015486, + 6.7538716, + 6.75758834, + 6.76130508, + 6.76502182, + 6.76873856, + 6.7724553, + 6.77617204, + 6.77988879, + 6.78360553, + 6.78732227, + 6.79103901, + 6.79475575, + 6.79847249, + 6.80218923, + 6.80590598, + 6.80962272, + 6.81333946, + 6.8170562, + 6.82077294, + 6.82448968, + 6.82820642, + 6.83192316, + 6.83563991, + 6.83935665, + 6.84307339, + 6.84679013, + 6.85050687, + 6.85422361, + 6.85794035, + 6.8616571, + 6.86537384, + 6.86909058, + 6.87280732, + 6.87652406, + 6.8802408, + 6.88395754, + 6.88767428, + 6.89139103, + 6.89510777, + 6.89882451, + 6.90254125, + 6.90625799, + 6.90997473, + 6.91369147, + 6.91740822, + 6.92112496, + 6.9248417, + 6.92855844, + 6.93227518, + 6.93599192, + 6.93970866, + 6.9434254, + 6.94714215, + 6.95085889, + 6.95457563, + 6.95829237, + 6.96200911, + 6.96572585, + 6.96944259, + 6.97315934, + 6.97687608, + 6.98059282, + 6.98430956, + 6.9880263, + 6.99174304, + 6.99545978, + 6.99917653, + 7.00289327, + 7.00661001, + 7.01032675, + 7.01404349, + 7.01776023, + 7.02147697, + 7.02519371, + 7.02891046, + 7.0326272, + 7.03634394, + 7.04006068, + 7.04377742, + 7.04749416, + 7.0512109, + 7.05492765, + 7.05864439, + 7.06236113, + 7.06607787, + 7.06979461, + 7.07351135, + 7.07722809, + 7.08094483, + 7.08466158, + 7.08837832, + 7.09209506, + 7.0958118, + 7.09952854, + 7.10324528, + 7.10696202, + 7.11067877, + 7.11439551, + 7.11811225, + 7.12182899, + 7.12554573, + 7.12926247, + 7.13297921, + 7.13669595, + 7.1404127, + 7.14412944, + 7.14784618, + 7.15156292, + 7.15527966, + 7.1589964, + 7.16271314, + 7.16642989, + 7.17014663, + 7.17386337, + 7.17758011, + 7.18129685, + 7.18501359, + 7.18873033, + 7.19244707, + 7.19616382, + 7.19988056, + 7.2035973, + 7.20731404, + 7.21103078, + 7.21474752, + 7.21846426, + 7.22218101, + 7.22589775, + 7.22961449, + 7.23333123, + 7.23704797, + 7.24076471, + 7.24448145, + 7.2481982, + 7.25191494, + 7.25563168, + 7.25934842, + 7.26306516, + 7.2667819, + 7.27049864, + 7.27421538, + 7.27793213, + 7.28164887, + 7.28536561, + 7.28908235, + 7.29279909, + 7.29651583, + 7.30023257, + 7.30394932, + 7.30766606, + 7.3113828, + 7.31509954, + 7.31881628, + 7.32253302, + 7.32624976, + 7.3299665, + 7.33368325, + 7.33739999, + 7.34111673, + 7.34483347, + 7.34855021, + 7.35226695, + 7.35598369, + 7.35970044, + 7.36341718, + 7.36713392, + 7.37085066, + 7.3745674, + 7.37828414, + 7.38200088, + 7.38571762, + 7.38943437, + 7.39315111, + 7.39686785, + 7.40058459, + 7.40430133, + 7.40801807, + 7.41173481, + 7.41545156, + 7.4191683, + 7.42288504, + 7.42660178, + 7.43031852, + 7.43403526, + 7.437752, + 7.44146874, + 7.44518549, + 7.44890223, + 7.45261897, + 7.45633571, + 7.46005245, + 7.46376919, + 7.46748593, + 7.47120268, + 7.47491942, + 7.47863616, + 7.4823529, + 7.48606964, + 7.48978638, + 7.49350312, + 7.49721987, + 7.50093661, + 7.50465335, + 7.50837009, + 7.51208683, + 7.51580357, + 7.51952031, + 7.52323705, + 7.5269538, + 7.53067054, + 7.53438728, + 7.53810402, + 7.54182076, + 7.5455375, + 7.54925424, + 7.55297099, + 7.55668773, + 7.56040447, + 7.56412121, + 7.56783795, + 7.57155469, + 7.57527143, + 7.57898817, + 7.58270492, + 7.58642166, + 7.5901384, + 7.59385514, + 7.59757188, + 7.60128862, + 7.60500536, + 7.60872211, + 7.61243885, + 7.61615559, + 7.61987233, + 7.62358907, + 7.62730581, + 7.63102255, + 7.63473929, + 7.63845604, + 7.64217278, + 7.64588952, + 7.64960626, + 7.653323, + 7.65703974, + 7.66075648, + 7.66447323, + 7.66818997, + 7.67190671, + 7.67562345, + 7.67934019, + 7.68305693, + 7.68677367, + 7.69049041, + 7.69420716, + 7.6979239, + 7.70164064, + 7.70535738, + 7.70907412, + 7.71279086, + 7.7165076, + 7.72022435, + 7.72394109, + 7.72765783, + 7.73137457, + 7.73509131, + 7.73880805, + 7.74252479, + 7.74624153, + 7.74995828, + 7.75367502, + 7.75739176, + 7.7611085, + 7.76482524, + 7.76854198, + 7.77225872, + 7.77597547, + 7.77969221, + 7.78340895, + 7.78712569, + 7.79084243, + 7.79455917, + 7.79827591, + 7.80199266, + 7.8057094, + 7.80942614, + 7.81314288, + 7.81685962, + 7.82057636, + 7.8242931, + 7.82800984, + 7.83172659, + 7.83544333, + 7.83916007, + 7.84287681, + 7.84659355, + 7.85031029, + 7.85402703, + 7.85774378, + 7.86146052, + 7.86517726, + 7.868894, + 7.87261074, + 7.87632748, + 7.88004422, + 7.88376096, + 7.88747771, + 7.89119445, + 7.89491119, + 7.89862793, + 7.90234467, + 7.90606141, + 7.90977815, + 7.9134949, + 7.91721164, + 7.92092838, + 7.92464512, + 7.92836186, + 7.9320786, + 7.93579534, + 7.93951208, + 7.94322883, + 7.94694557, + 7.95066231, + 7.95437905, + 7.95809579, + 7.96181253, + 7.96552927, + 7.96924602, + 7.97296276, + 7.9766795, + 7.98039624, + 7.98411298, + 7.98782972, + 7.99154646, + 7.9952632, + 7.99897995, + 8.00269669, + 8.00641343, + 8.01013017, + 8.01384691, + 8.01756365, + 8.02128039, + 8.02499714, + 8.02871388, + 8.03243062, + 8.03614736, + 8.0398641, + 8.04358084, + 8.04729758, + 8.05101433, + 8.05473107, + 8.05844781, + 8.06216455, + 8.06588129, + 8.06959803, + 8.07331477, + 8.07703151, + 8.08074826, + 8.084465, + 8.08818174, + 8.09189848, + 8.09561522, + 8.09933196, + 8.1030487, + 8.10676545, + 8.11048219, + 8.11419893, + 8.11791567, + 8.12163241, + 8.12534915, + 8.12906589, + 8.13278263, + 8.13649938, + 8.14021612, + 8.14393286, + 8.1476496, + 8.15136634, + 8.15508308, + 8.15879982, + 8.16251657, + 8.16623331, + 8.16995005, + 8.17366679, + 8.17738353, + 8.18110027, + 8.18481701, + 8.18853375, + 8.1922505, + 8.19596724, + 8.19968398, + 8.20340072, + 8.20711746, + 8.2108342, + 8.21455094, + 8.21826769, + 8.22198443, + 8.22570117, + 8.22941791, + 8.23313465, + 8.23685139, + 8.24056813, + 8.24428487, + 8.24800162, + 8.25171836, + 8.2554351, + 8.25915184, + 8.26286858, + 8.26658532, + 8.27030206, + 8.27401881, + 8.27773555, + 8.28145229, + 8.28516903, + 8.28888577, + 8.29260251, + 8.29631925, + 8.300036, + 8.30375274, + 8.30746948, + 8.31118622, + 8.31490296, + 8.3186197, + 8.32233644, + 8.32605318, + 8.32976993, + 8.33348667, + 8.33720341, + 8.34092015, + 8.34463689, + 8.34835363, + 8.35207037, + 8.35578712, + 8.35950386, + 8.3632206, + 8.36693734, + 8.37065408, + 8.37437082, + 8.37808756, + 8.3818043, + 8.38552105, + 8.38923779, + 8.39295453, + 8.39667127, + 8.40038801, + 8.40410475, + 8.40782149, + 8.41153824, + 8.41525498, + 8.41897172, + 8.42268846, + 8.4264052, + 8.43012194, + 8.43383868, + 8.43755542, + 8.44127217, + 8.44498891, + 8.44870565, + 8.45242239, + 8.45613913, + 8.45985587, + 8.46357261, + 8.46728936, + 8.4710061, + 8.47472284, + 8.47843958, + 8.48215632, + 8.48587306, + 8.4895898, + 8.49330654, + 8.49702329, + 8.50074003, + 8.50445677, + 8.50817351, + 8.51189025, + 8.51560699, + 8.51932373, + 8.52304048, + 8.52675722, + 8.53047396, + 8.5341907, + 8.53790744, + 8.54162418, + 8.54534092, + 8.54905767, + 8.55277441, + 8.55649115, + 8.56020789, + 8.56392463, + 8.56764137, + 8.57135811, + 8.57507485, + 8.5787916, + 8.58250834, + 8.58622508, + 8.58994182, + 8.59365856, + 8.5973753, + 8.60109204, + 8.60480879, + 8.60852553, + 8.61224227, + 8.61595901, + 8.61967575, + 8.62339249, + 8.62710923, + 8.63082597, + 8.63454272, + 8.63825946, + 8.6419762, + 8.64569294, + 8.64940968, + 8.65312642, + 8.65684316, + 8.66055991, + 8.66427665, + 8.66799339, + 8.67171013, + 8.67542687, + 8.67914361, + 8.68286035, + 8.68657709, + 8.69029384, + 8.69401058, + 8.69772732, + 8.70144406, + 8.7051608, + 8.70887754, + 8.71259428, + 8.71631103, + 8.72002777, + 8.72374451, + 8.72746125, + 8.73117799, + 8.73489473, + 8.73861147, + 8.74232821, + 8.74604496, + 8.7497617, + 8.75347844, + 8.75719518, + 8.76091192, + 8.76462866, + 8.7683454, + 8.77206215, + 8.77577889, + 8.77949563, + 8.78321237, + 8.78692911, + 8.79064585, + 8.79436259, + 8.79807933, + 8.80179608, + 8.80551282, + 8.80922956, + 8.8129463, + 8.81666304, + 8.82037978, + 8.82409652, + 8.82781327, + 8.83153001, + 8.83524675, + 8.83896349, + 8.84268023, + 8.84639697, + 8.85011371, + 8.85383046, + 8.8575472, + 8.86126394, + 8.86498068, + 8.86869742, + 8.87241416, + 8.8761309, + 8.87984764, + 8.88356439, + 8.88728113, + 8.89099787, + 8.89471461, + 8.89843135, + 8.90214809, + 8.90586483, + 8.90958158, + 8.91329832, + 8.91701506, + 8.9207318, + 8.92444854, + 8.92816528, + 8.93188202, + 8.93559876, + 8.93931551, + 8.94303225, + 8.94674899, + 8.95046573, + 8.95418247, + 8.95789921, + 8.96161595, + 8.9653327, + 8.96904944, + 8.97276618, + 8.97648292, + 8.98019966, + 8.9839164, + 8.98763314, + 8.99134988, + 8.99506663, + 8.99878337, + 9.00250011, + 9.00621685, + 9.00993359, + 9.01365033, + 9.01736707, + 9.02108382, + 9.02480056, + 9.0285173, + 9.03223404, + 9.03595078, + 9.03966752, + 9.04338426, + 9.047101, + 9.05081775, + 9.05453449, + 9.05825123, + 9.06196797, + 9.06568471, + 9.06940145, + 9.07311819, + 9.07683494, + 9.08055168, + 9.08426842, + 9.08798516, + 9.0917019, + 9.09541864, + 9.09913538, + 9.10285213, + 9.10656887, + 9.11028561, + 9.11400235, + 9.11771909, + 9.12143583, + 9.12515257, + 9.12886931, + 9.13258606, + 9.1363028, + 9.14001954, + 9.14373628, + 9.14745302, + 9.15116976, + 9.1548865, + 9.15860325, + 9.16231999, + 9.16603673, + 9.16975347, + 9.17347021, + 9.17718695, + 9.18090369, + 9.18462043, + 9.18833718, + 9.19205392, + 9.19577066, + 9.1994874, + 9.20320414, + 9.20692088, + 9.21063762, + 9.21435437, + 9.21807111, + 9.22178785, + 9.22550459, + 9.22922133, + 9.23293807, + 9.23665481, + 9.24037155, + 9.2440883, + 9.24780504, + 9.25152178, + 9.25523852, + 9.25895526, + 9.262672, + 9.26638874, + 9.27010549, + 9.27382223, + 9.27753897, + 9.28125571, + 9.28497245, + 9.28868919, + 9.29240593, + 9.29612267, + 9.29983942, + 9.30355616, + 9.3072729, + 9.31098964, + 9.31470638, + 9.31842312, + 9.32213986, + 9.32585661, + 9.32957335, + 9.33329009, + 9.33700683, + 9.34072357, + 9.34444031, + 9.34815705, + 9.3518738, + 9.35559054, + 9.35930728, + 9.36302402, + 9.36674076, + 9.3704575, + 9.37417424, + 9.37789098, + 9.38160773, + 9.38532447, + 9.38904121, + 9.39275795, + 9.39647469, + 9.40019143, + 9.40390817, + 9.40762492, + 9.41134166, + 9.4150584, + 9.41877514, + 9.42249188, + 9.42620862, + 9.42992536, + 9.4336421, + 9.43735885, + 9.44107559, + 9.44479233, + 9.44850907, + 9.45222581, + 9.45594255, + 9.45965929, + 9.46337604, + 9.46709278, + 9.47080952, + 9.47452626, + 9.478243, + 9.48195974, + 9.48567648, + 9.48939322, + 9.49310997, + 9.49682671, + 9.50054345, + 9.50426019, + 9.50797693, + 9.51169367, + 9.51541041, + 9.51912716, + 9.5228439, + 9.52656064, + 9.53027738, + 9.53399412, + 9.53771086, + 9.5414276, + 9.54514434, + 9.54886109, + 9.55257783, + 9.55629457, + 9.56001131, + 9.56372805, + 9.56744479, + 9.57116153, + 9.57487828, + 9.57859502, + 9.58231176, + 9.5860285, + 9.58974524, + 9.59346198, + 9.59717872, + 9.60089547, + 9.60461221, + 9.60832895, + 9.61204569, + 9.61576243, + 9.61947917, + 9.62319591, + 9.62691265, + 9.6306294, + 9.63434614, + 9.63806288, + 9.64177962, + 9.64549636, + 9.6492131, + 9.65292984, + 9.65664659, + 9.66036333, + 9.66408007, + 9.66779681, + 9.67151355, + 9.67523029, + 9.67894703, + 9.68266377, + 9.68638052, + 9.69009726, + 9.693814, + 9.69753074, + 9.70124748, + 9.70496422, + 9.70868096, + 9.71239771, + 9.71611445, + 9.71983119, + 9.72354793, + 9.72726467, + 9.73098141, + 9.73469815, + 9.73841489, + 9.74213164, + 9.74584838, + 9.74956512, + 9.75328186, + 9.7569986, + 9.76071534, + 9.76443208, + 9.76814883, + 9.77186557, + 9.77558231, + 9.77929905, + 9.78301579, + 9.78673253, + 9.79044927, + 9.79416601, + 9.79788276, + 9.8015995, + 9.80531624, + 9.80903298, + 9.81274972, + 9.81646646, + 9.8201832, + 9.82389995, + 9.82761669, + 9.83133343, + 9.83505017, + 9.83876691, + 9.84248365, + 9.84620039, + 9.84991713, + 9.85363388, + 9.85735062, + 9.86106736, + 9.8647841, + 9.86850084, + 9.87221758, + 9.87593432, + 9.87965107, + 9.88336781, + 9.88708455, + 9.89080129, + 9.89451803, + 9.89823477, + 9.90195151, + 9.90566826, + 9.909385, + 9.91310174, + 9.91681848, + 9.92053522, + 9.92425196, + 9.9279687, + 9.93168544, + 9.93540219, + 9.93911893, + 9.94283567, + 9.94655241, + 9.95026915, + 9.95398589, + 9.95770263, + 9.96141938, + 9.96513612, + 9.96885286, + 9.9725696, + 9.97628634, + 9.98000308, + 9.98371982, + 9.98743656, + 9.99115331, + 9.99487005, + 9.99858679, + 10.00230353, + 10.00602027, + 10.00973701, + 10.01345375, + 10.0171705, + 10.02088724, + 10.02460398, + 10.02832072, + 10.03203746, + 10.0357542, + 10.03947094, + 10.04318768, + 10.04690443, + 10.05062117, + 10.05433791, + 10.05805465, + 10.06177139, + 10.06548813, + 10.06920487, + 10.07292162, + 10.07663836, + 10.0803551, + 10.08407184, + 10.08778858, + 10.09150532, + 10.09522206, + 10.0989388, + 10.10265555, + 10.10637229, + 10.11008903, + 10.11380577, + 10.11752251, + 10.12123925, + 10.12495599, + 10.12867274, + 10.13238948, + 10.13610622, + 10.13982296, + 10.1435397, + 10.14725644, + 10.15097318, + 10.15468993, + 10.15840667, + 10.16212341, + 10.16584015, + 10.16955689, + 10.17327363, + 10.17699037, + 10.18070711, + 10.18442386, + 10.1881406, + 10.19185734, + 10.19557408, + 10.19929082, + 10.20300756, + 10.2067243, + 10.21044105, + 10.21415779, + 10.21787453, + 10.22159127, + 10.22530801, + 10.22902475, + 10.23274149, + 10.23645823, + 10.24017498, + 10.24389172, + 10.24760846, + 10.2513252, + 10.25504194, + 10.25875868, + 10.26247542, + 10.26619217, + 10.26990891, + 10.27362565, + 10.27734239, + 10.28105913, + 10.28477587, + 10.28849261, + 10.29220935, + 10.2959261, + 10.29964284, + 10.30335958, + 10.30707632, + 10.31079306, + 10.3145098, + 10.31822654, + 10.32194329, + 10.32566003, + 10.32937677, + 10.33309351, + 10.33681025, + 10.34052699, + 10.34424373, + 10.34796047, + 10.35167722, + 10.35539396, + 10.3591107, + 10.36282744, + 10.36654418, + 10.37026092, + 10.37397766, + 10.37769441, + 10.38141115, + 10.38512789, + 10.38884463, + 10.39256137, + 10.39627811, + 10.39999485, + 10.4037116, + 10.40742834, + 10.41114508, + 10.41486182, + 10.41857856, + 10.4222953, + 10.42601204, + 10.42972878, + 10.43344553, + 10.43716227, + 10.44087901, + 10.44459575, + 10.44831249, + 10.45202923, + 10.45574597, + 10.45946272, + 10.46317946, + 10.4668962, + 10.47061294, + 10.47432968, + 10.47804642, + 10.48176316, + 10.4854799, + 10.48919665, + 10.49291339, + 10.49663013, + 10.50034687, + 10.50406361, + 10.50778035, + 10.51149709, + 10.51521384, + 10.51893058, + 10.52264732, + 10.52636406, + 10.5300808, + 10.53379754, + 10.53751428, + 10.54123102, + 10.54494777, + 10.54866451, + 10.55238125, + 10.55609799, + 10.55981473, + 10.56353147, + 10.56724821, + 10.57096496, + 10.5746817, + 10.57839844, + 10.58211518, + 10.58583192, + 10.58954866, + 10.5932654, + 10.59698214, + 10.60069889, + 10.60441563, + 10.60813237, + 10.61184911, + 10.61556585, + 10.61928259, + 10.62299933, + 10.62671608, + 10.63043282, + 10.63414956, + 10.6378663, + 10.64158304, + 10.64529978, + 10.64901652, + 10.65273327, + 10.65645001, + 10.66016675, + 10.66388349, + 10.66760023, + 10.67131697, + 10.67503371, + 10.67875045, + 10.6824672, + 10.68618394, + 10.68990068, + 10.69361742, + 10.69733416, + 10.7010509, + 10.70476764, + 10.70848439, + 10.71220113, + 10.71591787, + 10.71963461, + 10.72335135, + 10.72706809, + 10.73078483, + 10.73450157, + 10.73821832, + 10.74193506, + 10.7456518, + 10.74936854, + 10.75308528, + 10.75680202, + 10.76051876, + 10.76423551, + 10.76795225, + 10.77166899, + 10.77538573, + 10.77910247, + 10.78281921, + 10.78653595, + 10.79025269, + 10.79396944, + 10.79768618, + 10.80140292, + 10.80511966, + 10.8088364, + 10.81255314, + 10.81626988, + 10.81998663, + 10.82370337, + 10.82742011, + 10.83113685, + 10.83485359, + 10.83857033, + 10.84228707, + 10.84600381, + 10.84972056, + 10.8534373, + 10.85715404, + 10.86087078, + 10.86458752, + 10.86830426, + 10.872021, + 10.87573775, + 10.87945449, + 10.88317123, + 10.88688797, + 10.89060471, + 10.89432145, + 10.89803819, + 10.90175493, + 10.90547168, + 10.90918842, + 10.91290516, + 10.9166219, + 10.92033864, + 10.92405538, + 10.92777212, + 10.93148887, + 10.93520561, + 10.93892235, + 10.94263909, + 10.94635583, + 10.95007257, + 10.95378931, + 10.95750606, + 10.9612228, + 10.96493954, + 10.96865628, + 10.97237302, + 10.97608976, + 10.9798065, + 10.98352324, + 10.98723999, + 10.99095673, + 10.99467347, + 10.99839021, + 11.00210695, + 11.00582369, + 11.00954043, + 11.01325718, + 11.01697392, + 11.02069066, + 11.0244074, + 11.02812414, + 11.03184088, + 11.03555762, + 11.03927436, + 11.04299111, + 11.04670785, + 11.05042459, + 11.05414133, + 11.05785807, + 11.06157481, + 11.06529155, + 11.0690083, + 11.07272504, + 11.07644178, + 11.08015852, + 11.08387526, + 11.087592, + 11.09130874, + 11.09502548, + 11.09874223, + 11.10245897, + 11.10617571, + 11.10989245, + 11.11360919, + 11.11732593, + 11.12104267, + 11.12475942, + 11.12847616, + 11.1321929, + 11.13590964, + 11.13962638, + 11.14334312, + 11.14705986, + 11.1507766, + 11.15449335, + 11.15821009, + 11.16192683, + 11.16564357, + 11.16936031, + 11.17307705, + 11.17679379, + 11.18051054, + 11.18422728, + 11.18794402, + 11.19166076, + 11.1953775, + 11.19909424, + 11.20281098, + 11.20652773, + 11.21024447, + 11.21396121, + 11.21767795, + 11.22139469, + 11.22511143, + 11.22882817, + 11.23254491, + 11.23626166, + 11.2399784, + 11.24369514, + 11.24741188, + 11.25112862, + 11.25484536, + 11.2585621, + 11.26227885, + 11.26599559, + 11.26971233, + 11.27342907, + 11.27714581, + 11.28086255, + 11.28457929, + 11.28829603, + 11.29201278, + 11.29572952, + 11.29944626, + 11.303163, + 11.30687974, + 11.31059648, + 11.31431322, + 11.31802997, + 11.32174671, + 11.32546345, + 11.32918019, + 11.33289693, + 11.33661367, + 11.34033041, + 11.34404715, + 11.3477639, + 11.35148064, + 11.35519738, + 11.35891412, + 11.36263086, + 11.3663476, + 11.37006434, + 11.37378109, + 11.37749783, + 11.38121457, + 11.38493131, + 11.38864805, + 11.39236479, + 11.39608153, + 11.39979827, + 11.40351502, + 11.40723176, + 11.4109485, + 11.41466524, + 11.41838198, + 11.42209872, + 11.42581546, + 11.42953221, + 11.43324895, + 11.43696569, + 11.44068243, + 11.44439917, + 11.44811591, + 11.45183265, + 11.4555494, + 11.45926614, + 11.46298288, + 11.46669962, + 11.47041636, + 11.4741331, + 11.47784984, + 11.48156658, + 11.48528333, + 11.48900007, + 11.49271681, + 11.49643355, + 11.50015029, + 11.50386703, + 11.50758377, + 11.51130052, + 11.51501726, + 11.518734, + 11.52245074, + 11.52616748, + 11.52988422, + 11.53360096, + 11.5373177, + 11.54103445, + 11.54475119, + 11.54846793, + 11.55218467, + 11.55590141, + 11.55961815, + 11.56333489, + 11.56705164, + 11.57076838, + 11.57448512, + 11.57820186, + 11.5819186, + 11.58563534, + 11.58935208, + 11.59306882, + 11.59678557, + 11.60050231, + 11.60421905, + 11.60793579, + 11.61165253, + 11.61536927, + 11.61908601, + 11.62280276, + 11.6265195, + 11.63023624, + 11.63395298, + 11.63766972, + 11.64138646, + 11.6451032, + 11.64881994, + 11.65253669, + 11.65625343, + 11.65997017, + 11.66368691, + 11.66740365, + 11.67112039, + 11.67483713, + 11.67855388, + 11.68227062, + 11.68598736, + 11.6897041, + 11.69342084, + 11.69713758, + 11.70085432, + 11.70457107, + 11.70828781, + 11.71200455, + 11.71572129, + 11.71943803, + 11.72315477, + 11.72687151, + 11.73058825, + 11.734305, + 11.73802174, + 11.74173848, + 11.74545522, + 11.74917196, + 11.7528887, + 11.75660544, + 11.76032219, + 11.76403893, + 11.76775567, + 11.77147241, + 11.77518915, + 11.77890589, + 11.78262263, + 11.78633937, + 11.79005612, + 11.79377286, + 11.7974896, + 11.80120634, + 11.80492308, + 11.80863982, + 11.81235656, + 11.81607331, + 11.81979005, + 11.82350679, + 11.82722353, + 11.83094027, + 11.83465701, + 11.83837375, + 11.84209049, + 11.84580724, + 11.84952398, + 11.85324072, + 11.85695746, + 11.8606742, + 11.86439094, + 11.86810768, + 11.87182443, + 11.87554117, + 11.87925791, + 11.88297465, + 11.88669139, + 11.89040813, + 11.89412487, + 11.89784161, + 11.90155836, + 11.9052751, + 11.90899184, + 11.91270858, + 11.91642532, + 11.92014206, + 11.9238588, + 11.92757555, + 11.93129229, + 11.93500903, + 11.93872577, + 11.94244251, + 11.94615925, + 11.94987599, + 11.95359273, + 11.95730948, + 11.96102622, + 11.96474296, + 11.9684597, + 11.97217644, + 11.97589318, + 11.97960992, + 11.98332667, + 11.98704341, + 11.99076015, + 11.99447689, + 11.99819363, + 12.00191037, + 12.00562711, + 12.00934386, + 12.0130606, + 12.01677734, + 12.02049408, + 12.02421082, + 12.02792756, + 12.0316443, + 12.03536104, + 12.03907779, + 12.04279453, + 12.04651127, + 12.05022801, + 12.05394475, + 12.05766149, + 12.06137823, + 12.06509498, + 12.06881172, + 12.07252846, + 12.0762452, + 12.07996194, + 12.08367868, + 12.08739542, + 12.09111216, + 12.09482891, + 12.09854565, + 12.10226239, + 12.10597913, + 12.10969587, + 12.11341261, + 12.11712935, + 12.1208461, + 12.12456284, + 12.12827958, + 12.13199632, + 12.13571306, + 12.1394298, + 12.14314654, + 12.14686328, + 12.15058003, + 12.15429677, + 12.15801351, + 12.16173025, + 12.16544699, + 12.16916373, + 12.17288047, + 12.17659722, + 12.18031396, + 12.1840307, + 12.18774744, + 12.19146418, + 12.19518092, + 12.19889766, + 12.2026144, + 12.20633115, + 12.21004789, + 12.21376463, + 12.21748137, + 12.22119811, + 12.22491485, + 12.22863159, + 12.23234834, + 12.23606508, + 12.23978182, + 12.24349856, + 12.2472153, + 12.25093204, + 12.25464878, + 12.25836553, + 12.26208227, + 12.26579901, + 12.26951575, + 12.27323249, + 12.27694923, + 12.28066597, + 12.28438271, + 12.28809946, + 12.2918162, + 12.29553294, + 12.29924968, + 12.30296642, + 12.30668316, + 12.3103999, + 12.31411665, + 12.31783339, + 12.32155013, + 12.32526687, + 12.32898361, + 12.33270035, + 12.33641709, + 12.34013383, + 12.34385058, + 12.34756732, + 12.35128406, + 12.3550008, + 12.35871754, + 12.36243428, + 12.36615102, + 12.36986777, + 12.37358451, + 12.37730125, + 12.38101799, + 12.38473473, + 12.38845147, + 12.39216821, + 12.39588495, + 12.3996017, + 12.40331844, + 12.40703518, + 12.41075192, + 12.41446866, + 12.4181854, + 12.42190214, + 12.42561889, + 12.42933563, + 12.43305237, + 12.43676911, + 12.44048585, + 12.44420259, + 12.44791933, + 12.45163607, + 12.45535282, + 12.45906956, + 12.4627863, + 12.46650304, + 12.47021978, + 12.47393652, + 12.47765326, + 12.48137001, + 12.48508675, + 12.48880349, + 12.49252023, + 12.49623697, + 12.49995371, + 12.50367045, + 12.5073872, + 12.51110394, + 12.51482068, + 12.51853742, + 12.52225416, + 12.5259709, + 12.52968764, + 12.53340438, + 12.53712113, + 12.54083787, + 12.54455461, + 12.54827135, + 12.55198809, + 12.55570483, + 12.55942157, + 12.56313832, + 12.56685506, + 12.5705718, + 12.57428854, + 12.57800528, + 12.58172202, + 12.58543876, + 12.5891555, + 12.59287225, + 12.59658899, + 12.60030573, + 12.60402247, + 12.60773921, + 12.61145595, + 12.61517269, + 12.61888944, + 12.62260618, + 12.62632292, + 12.63003966, + 12.6337564, + 12.63747314, + 12.64118988, + 12.64490662, + 12.64862337, + 12.65234011, + 12.65605685, + 12.65977359, + 12.66349033, + 12.66720707, + 12.67092381, + 12.67464056, + 12.6783573, + 12.68207404, + 12.68579078, + 12.68950752, + 12.69322426, + 12.696941, + 12.70065774, + 12.70437449, + 12.70809123, + 12.71180797, + 12.71552471, + 12.71924145, + 12.72295819, + 12.72667493, + 12.73039168, + 12.73410842, + 12.73782516, + 12.7415419, + 12.74525864, + 12.74897538, + 12.75269212, + 12.75640886, + 12.76012561, + 12.76384235, + 12.76755909, + 12.77127583, + 12.77499257, + 12.77870931, + 12.78242605, + 12.7861428, + 12.78985954, + 12.79357628, + 12.79729302, + 12.80100976, + 12.8047265, + 12.80844324, + 12.81215999, + 12.81587673, + 12.81959347, + 12.82331021, + 12.82702695, + 12.83074369, + 12.83446043, + 12.83817717, + 12.84189392, + 12.84561066, + 12.8493274, + 12.85304414, + 12.85676088, + 12.86047762, + 12.86419436, + 12.86791111, + 12.87162785, + 12.87534459, + 12.87906133, + 12.88277807, + 12.88649481, + 12.89021155, + 12.89392829, + 12.89764504, + 12.90136178, + 12.90507852, + 12.90879526, + 12.912512, + 12.91622874, + 12.91994548, + 12.92366223, + 12.92737897, + 12.93109571, + 12.93481245, + 12.93852919, + 12.94224593, + 12.94596267, + 12.94967941, + 12.95339616, + 12.9571129, + 12.96082964, + 12.96454638, + 12.96826312, + 12.97197986, + 12.9756966, + 12.97941335, + 12.98313009, + 12.98684683, + 12.99056357, + 12.99428031, + 12.99799705, + 13.00171379, + 13.00543053, + 13.00914728, + 13.01286402, + 13.01658076, + 13.0202975, + 13.02401424, + 13.02773098, + 13.03144772, + 13.03516447, + 13.03888121, + 13.04259795, + 13.04631469, + 13.05003143, + 13.05374817, + 13.05746491, + 13.06118166, + 13.0648984, + 13.06861514, + 13.07233188, + 13.07604862, + 13.07976536, + 13.0834821, + 13.08719884, + 13.09091559, + 13.09463233, + 13.09834907, + 13.10206581, + 13.10578255, + 13.10949929, + 13.11321603, + 13.11693278, + 13.12064952, + 13.12436626, + 13.128083, + 13.13179974, + 13.13551648, + 13.13923322, + 13.14294996, + 13.14666671, + 13.15038345, + 13.15410019, + 13.15781693, + 13.16153367, + 13.16525041, + 13.16896715, + 13.1726839, + 13.17640064, + 13.18011738, + 13.18383412, + 13.18755086, + 13.1912676, + 13.19498434, + 13.19870108, + 13.20241783, + 13.20613457, + 13.20985131, + 13.21356805, + 13.21728479, + 13.22100153, + 13.22471827, + 13.22843502, + 13.23215176, + 13.2358685, + 13.23958524, + 13.24330198, + 13.24701872, + 13.25073546, + 13.2544522, + 13.25816895, + 13.26188569, + 13.26560243, + 13.26931917, + 13.27303591, + 13.27675265, + 13.28046939, + 13.28418614, + 13.28790288, + 13.29161962, + 13.29533636, + 13.2990531, + 13.30276984, + 13.30648658, + 13.31020333, + 13.31392007, + 13.31763681, + 13.32135355, + 13.32507029, + 13.32878703, + 13.33250377, + 13.33622051, + 13.33993726, + 13.343654, + 13.34737074, + 13.35108748, + 13.35480422, + 13.35852096, + 13.3622377, + 13.36595445, + 13.36967119, + 13.37338793, + 13.37710467, + 13.38082141, + 13.38453815, + 13.38825489, + 13.39197163, + 13.39568838, + 13.39940512, + 13.40312186, + 13.4068386, + 13.41055534, + 13.41427208, + 13.41798882, + 13.42170557, + 13.42542231, + 13.42913905, + 13.43285579, + 13.43657253, + 13.44028927, + 13.44400601, + 13.44772275, + 13.4514395, + 13.45515624, + 13.45887298, + 13.46258972, + 13.46630646, + 13.4700232, + 13.47373994, + 13.47745669, + 13.48117343, + 13.48489017, + 13.48860691, + 13.49232365, + 13.49604039, + 13.49975713, + 13.50347387, + 13.50719062, + 13.51090736, + 13.5146241, + 13.51834084, + 13.52205758, + 13.52577432, + 13.52949106, + 13.53320781, + 13.53692455, + 13.54064129, + 13.54435803, + 13.54807477, + 13.55179151, + 13.55550825, + 13.559225, + 13.56294174, + 13.56665848, + 13.57037522, + 13.57409196, + 13.5778087, + 13.58152544, + 13.58524218, + 13.58895893, + 13.59267567, + 13.59639241, + 13.60010915, + 13.60382589, + 13.60754263, + 13.61125937, + 13.61497612, + 13.61869286, + 13.6224096, + 13.62612634, + 13.62984308, + 13.63355982, + 13.63727656, + 13.6409933, + 13.64471005, + 13.64842679, + 13.65214353, + 13.65586027, + 13.65957701, + 13.66329375, + 13.66701049, + 13.67072724, + 13.67444398, + 13.67816072, + 13.68187746, + 13.6855942, + 13.68931094, + 13.69302768, + 13.69674442, + 13.70046117, + 13.70417791, + 13.70789465, + 13.71161139, + 13.71532813, + 13.71904487, + 13.72276161, + 13.72647836, + 13.7301951, + 13.73391184, + 13.73762858, + 13.74134532, + 13.74506206, + 13.7487788, + 13.75249554, + 13.75621229, + 13.75992903, + 13.76364577, + 13.76736251, + 13.77107925, + 13.77479599, + 13.77851273, + 13.78222948, + 13.78594622, + 13.78966296, + 13.7933797, + 13.79709644, + 13.80081318, + 13.80452992, + 13.80824666, + 13.81196341, + 13.81568015, + 13.81939689, + 13.82311363, + 13.82683037, + 13.83054711, + 13.83426385, + 13.8379806, + 13.84169734, + 13.84541408, + 13.84913082, + 13.85284756, + 13.8565643, + 13.86028104, + 13.86399779, + 13.86771453, + 13.87143127, + 13.87514801, + 13.87886475, + 13.88258149, + 13.88629823, + 13.89001497, + 13.89373172, + 13.89744846, + 13.9011652, + 13.90488194, + 13.90859868, + 13.91231542, + 13.91603216, + 13.91974891, + 13.92346565, + 13.92718239, + 13.93089913, + 13.93461587, + 13.93833261, + 13.94204935, + 13.94576609, + 13.94948284, + 13.95319958, + 13.95691632, + 13.96063306, + 13.9643498, + 13.96806654, + 13.97178328, + 13.97550003, + 13.97921677, + 13.98293351, + 13.98665025, + 13.99036699, + 13.99408373, + 13.99780047, + 14.00151721, + 14.00523396, + 14.0089507, + 14.01266744, + 14.01638418, + 14.02010092, + 14.02381766, + 14.0275344, + 14.03125115, + 14.03496789, + 14.03868463, + 14.04240137, + 14.04611811, + 14.04983485, + 14.05355159, + 14.05726833, + 14.06098508, + 14.06470182, + 14.06841856, + 14.0721353, + 14.07585204, + 14.07956878, + 14.08328552, + 14.08700227, + 14.09071901, + 14.09443575, + 14.09815249, + 14.10186923, + 14.10558597, + 14.10930271, + 14.11301946, + 14.1167362, + 14.12045294, + 14.12416968, + 14.12788642, + 14.13160316, + 14.1353199, + 14.13903664, + 14.14275339, + 14.14647013, + 14.15018687, + 14.15390361, + 14.15762035, + 14.16133709, + 14.16505383, + 14.16877058, + 14.17248732, + 14.17620406, + 14.1799208, + 14.18363754, + 14.18735428, + 14.19107102, + 14.19478776, + 14.19850451, + 14.20222125, + 14.20593799, + 14.20965473, + 14.21337147, + 14.21708821, + 14.22080495, + 14.2245217, + 14.22823844, + 14.23195518, + 14.23567192, + 14.23938866, + 14.2431054, + 14.24682214, + 14.25053888, + 14.25425563, + 14.25797237, + 14.26168911, + 14.26540585, + 14.26912259, + 14.27283933, + 14.27655607, + 14.28027282, + 14.28398956, + 14.2877063, + 14.29142304, + 14.29513978, + 14.29885652, + 14.30257326, + 14.30629, + 14.31000675, + 14.31372349, + 14.31744023, + 14.32115697, + 14.32487371, + 14.32859045, + 14.33230719, + 14.33602394, + 14.33974068, + 14.34345742, + 14.34717416, + 14.3508909, + 14.35460764, + 14.35832438, + 14.36204113, + 14.36575787, + 14.36947461, + 14.37319135, + 14.37690809, + 14.38062483, + 14.38434157, + 14.38805831, + 14.39177506, + 14.3954918, + 14.39920854, + 14.40292528, + 14.40664202, + 14.41035876, + 14.4140755, + 14.41779225, + 14.42150899, + 14.42522573, + 14.42894247, + 14.43265921, + 14.43637595, + 14.44009269, + 14.44380943, + 14.44752618, + 14.45124292, + 14.45495966, + 14.4586764, + 14.46239314, + 14.46610988, + 14.46982662, + 14.47354337, + 14.47726011, + 14.48097685, + 14.48469359, + 14.48841033, + 14.49212707, + 14.49584381, + 14.49956055, + 14.5032773, + 14.50699404, + 14.51071078, + 14.51442752, + 14.51814426, + 14.521861, + 14.52557774, + 14.52929449, + 14.53301123, + 14.53672797, + 14.54044471, + 14.54416145, + 14.54787819, + 14.55159493, + 14.55531167, + 14.55902842, + 14.56274516, + 14.5664619, + 14.57017864, + 14.57389538, + 14.57761212, + 14.58132886, + 14.58504561, + 14.58876235, + 14.59247909, + 14.59619583, + 14.59991257, + 14.60362931, + 14.60734605, + 14.6110628, + 14.61477954, + 14.61849628, + 14.62221302, + 14.62592976, + 14.6296465, + 14.63336324, + 14.63707998, + 14.64079673, + 14.64451347, + 14.64823021, + 14.65194695, + 14.65566369, + 14.65938043, + 14.66309717, + 14.66681392, + 14.67053066, + 14.6742474, + 14.67796414, + 14.68168088, + 14.68539762, + 14.68911436, + 14.6928311, + 14.69654785, + 14.70026459, + 14.70398133, + 14.70769807, + 14.71141481, + 14.71513155, + 14.71884829, + 14.72256504, + 14.72628178, + 14.72999852, + 14.73371526, + 14.737432, + 14.74114874, + 14.74486548, + 14.74858222, + 14.75229897, + 14.75601571, + 14.75973245, + 14.76344919, + 14.76716593, + 14.77088267, + 14.77459941, + 14.77831616, + 14.7820329, + 14.78574964, + 14.78946638, + 14.79318312, + 14.79689986, + 14.8006166, + 14.80433334, + 14.80805009, + 14.81176683, + 14.81548357, + 14.81920031, + 14.82291705, + 14.82663379, + 14.83035053, + 14.83406728, + 14.83778402, + 14.84150076, + 14.8452175, + 14.84893424, + 14.85265098, + 14.85636772, + 14.86008446, + 14.86380121, + 14.86751795, + 14.87123469, + 14.87495143, + 14.87866817, + 14.88238491, + 14.88610165, + 14.8898184, + 14.89353514, + 14.89725188, + 14.90096862, + 14.90468536, + 14.9084021, + 14.91211884, + 14.91583559, + 14.91955233, + 14.92326907, + 14.92698581, + 14.93070255, + 14.93441929, + 14.93813603, + 14.94185277, + 14.94556952, + 14.94928626, + 14.953003, + 14.95671974, + 14.96043648, + 14.96415322, + 14.96786996, + 14.97158671, + 14.97530345, + 14.97902019, + 14.98273693, + 14.98645367, + 14.99017041, + 14.99388715, + 14.99760389, + 15.00132064, + 15.00503738, + 15.00875412, + 15.01247086, + 15.0161876, + 15.01990434, + 15.02362108, + 15.02733783, + 15.03105457, + 15.03477131, + 15.03848805, + 15.04220479, + 15.04592153, + 15.04963827, + 15.05335501, + 15.05707176, + 15.0607885, + 15.06450524, + 15.06822198, + 15.07193872, + 15.07565546, + 15.0793722, + 15.08308895, + 15.08680569, + 15.09052243, + 15.09423917, + 15.09795591, + 15.10167265, + 15.10538939, + 15.10910613, + 15.11282288, + 15.11653962, + 15.12025636, + 15.1239731, + 15.12768984, + 15.13140658, + 15.13512332, + 15.13884007, + 15.14255681, + 15.14627355, + 15.14999029, + 15.15370703, + 15.15742377, + 15.16114051, + 15.16485726, + 15.168574, + 15.17229074, + 15.17600748, + 15.17972422, + 15.18344096, + 15.1871577, + 15.19087444, + 15.19459119, + 15.19830793, + 15.20202467, + 15.20574141, + 15.20945815, + 15.21317489, + 15.21689163, + 15.22060838, + 15.22432512, + 15.22804186, + 15.2317586, + 15.23547534, + 15.23919208, + 15.24290882, + 15.24662556, + 15.25034231, + 15.25405905, + 15.25777579, + 15.26149253, + 15.26520927, + 15.26892601, + 15.27264275, + 15.2763595, + 15.28007624, + 15.28379298, + 15.28750972, + 15.29122646, + 15.2949432, + 15.29865994, + 15.30237668, + 15.30609343, + 15.30981017, + 15.31352691, + 15.31724365, + 15.32096039, + 15.32467713, + 15.32839387, + 15.33211062, + 15.33582736, + 15.3395441, + 15.34326084, + 15.34697758, + 15.35069432, + 15.35441106, + 15.3581278, + 15.36184455, + 15.36556129, + 15.36927803, + 15.37299477, + 15.37671151, + 15.38042825, + 15.38414499, + 15.38786174, + 15.39157848, + 15.39529522, + 15.39901196, + 15.4027287, + 15.40644544, + 15.41016218, + 15.41387893, + 15.41759567, + 15.42131241, + 15.42502915, + 15.42874589, + 15.43246263, + 15.43617937, + 15.43989611, + 15.44361286, + 15.4473296, + 15.45104634, + 15.45476308, + 15.45847982, + 15.46219656, + 15.4659133, + 15.46963005, + 15.47334679, + 15.47706353, + 15.48078027, + 15.48449701, + 15.48821375, + 15.49193049, + 15.49564723, + 15.49936398, + 15.50308072, + 15.50679746, + 15.5105142, + 15.51423094, + 15.51794768, + 15.52166442, + 15.52538117, + 15.52909791, + 15.53281465, + 15.53653139, + 15.54024813, + 15.54396487, + 15.54768161, + 15.55139835, + 15.5551151, + 15.55883184, + 15.56254858, + 15.56626532, + 15.56998206, + 15.5736988, + 15.57741554, + 15.58113229, + 15.58484903, + 15.58856577, + 15.59228251, + 15.59599925, + 15.59971599, + 15.60343273, + 15.60714947, + 15.61086622, + 15.61458296, + 15.6182997, + 15.62201644, + 15.62573318, + 15.62944992, + 15.63316666, + 15.63688341, + 15.64060015, + 15.64431689, + 15.64803363, + 15.65175037, + 15.65546711, + 15.65918385, + 15.6629006, + 15.66661734, + 15.67033408, + 15.67405082, + 15.67776756, + 15.6814843, + 15.68520104, + 15.68891778, + 15.69263453, + 15.69635127, + 15.70006801, + 15.70378475, + 15.70750149, + 15.71121823, + 15.71493497, + 15.71865172, + 15.72236846, + 15.7260852, + 15.72980194, + 15.73351868, + 15.73723542, + 15.74095216, + 15.7446689, + 15.74838565, + 15.75210239, + 15.75581913, + 15.75953587, + 15.76325261, + 15.76696935, + 15.77068609, + 15.77440284, + 15.77811958, + 15.78183632, + 15.78555306, + 15.7892698, + 15.79298654, + 15.79670328, + 15.80042002, + 15.80413677, + 15.80785351, + 15.81157025, + 15.81528699, + 15.81900373, + 15.82272047, + 15.82643721, + 15.83015396, + 15.8338707, + 15.83758744, + 15.84130418, + 15.84502092, + 15.84873766, + 15.8524544, + 15.85617114, + 15.85988789, + 15.86360463, + 15.86732137 + ], + "Itth": [ + 58.69474665, + 58.85719935, + 58.82271957, + 58.42762375, + 58.35882696, + 58.5334053, + 58.56882477, + 57.56060282, + 54.80679321, + 52.16466395, + 50.82267125, + 50.00034841, + 49.91293462, + 49.97826767, + 50.80052185, + 51.72219721, + 52.80804571, + 53.78782272, + 54.57754262, + 55.40856043, + 56.15948105, + 56.75018438, + 57.32320531, + 57.97461955, + 58.45959473, + 59.05779012, + 59.57809575, + 60.01651891, + 60.36440404, + 60.6543808, + 60.88798014, + 61.1137085, + 61.33595276, + 61.56623586, + 61.82999293, + 61.97429148, + 62.06325658, + 62.14298503, + 62.29724121, + 62.36592992, + 62.40476354, + 62.49006144, + 62.6235733, + 62.68167369, + 62.71775182, + 62.74577459, + 62.80546061, + 62.81508128, + 62.83296076, + 62.85433324, + 62.89708201, + 62.92920431, + 62.97883479, + 63.00655874, + 63.07300313, + 63.12008158, + 63.15482203, + 63.09668859, + 63.04168447, + 62.98522949, + 62.79652405, + 62.51388677, + 62.53157171, + 62.83730189, + 63.09083811, + 63.14781443, + 63.18965276, + 63.18804042, + 63.19222132, + 63.18524043, + 63.15598551, + 63.08221563, + 63.07414627, + 63.11702347, + 63.16326269, + 63.18375778, + 63.21592077, + 63.27098846, + 63.30693817, + 63.29711278, + 63.29958089, + 63.30941264, + 63.27541733, + 63.27550252, + 63.29241053, + 63.34614944, + 63.35280736, + 63.36712646, + 63.33185069, + 63.33434423, + 63.35382462, + 63.39381536, + 63.42241287, + 63.48592758, + 63.53469849, + 63.55352402, + 63.50993347, + 63.50820033, + 63.52337138, + 63.62173716, + 63.66342799, + 63.7091802, + 63.75105921, + 63.76285299, + 63.73626455, + 63.7216835, + 63.74664688, + 63.79123052, + 63.78524907, + 63.77801005, + 63.76014582, + 63.8246727, + 63.87523778, + 63.89000448, + 63.88349787, + 63.91002782, + 63.93765767, + 63.97933578, + 64.0121371, + 64.04858907, + 64.04461034, + 64.03385671, + 64.03424581, + 64.03913752, + 64.0990181, + 64.12874603, + 64.13412221, + 64.10309982, + 64.18815231, + 64.26810964, + 64.35029348, + 64.39711761, + 64.46289317, + 64.44569397, + 64.46475983, + 64.47161611, + 64.50258636, + 64.50706228, + 64.50879161, + 64.5250473, + 64.5687561, + 64.59714508, + 64.65987651, + 64.68499247, + 64.73624674, + 64.73062642, + 64.76161448, + 64.79802704, + 64.81764221, + 64.83407593, + 64.84784953, + 64.82965342, + 64.81783549, + 64.84536743, + 64.90968831, + 64.94541168, + 64.95144145, + 65.0042394, + 65.03551229, + 65.06271108, + 65.07977041, + 65.15730031, + 65.26106008, + 65.32698568, + 65.35081736, + 65.37970479, + 65.40414683, + 65.41257477, + 65.39624278, + 65.39892069, + 65.44289398, + 65.48505656, + 65.50426483, + 65.51133728, + 65.54965719, + 65.59134165, + 65.60241445, + 65.62904867, + 65.65845744, + 65.73981222, + 65.80240885, + 65.85287984, + 65.88899231, + 65.95211029, + 66.00796, + 66.03830973, + 66.01788584, + 65.99540202, + 65.94015503, + 65.90464528, + 65.87381744, + 65.88477325, + 65.95730845, + 66.01907094, + 66.07516988, + 66.10054779, + 66.12384542, + 66.17130534, + 66.26813507, + 66.35948435, + 66.38979594, + 66.38357798, + 66.3713913, + 66.36494954, + 66.38270315, + 66.40978495, + 66.44279989, + 66.45095062, + 66.47029114, + 66.47866567, + 66.51808675, + 66.57106018, + 66.63749186, + 66.67744191, + 66.71731822, + 66.77349854, + 66.82025655, + 66.82828013, + 66.80318451, + 66.84619395, + 66.9004542, + 66.95222727, + 67.02353414, + 67.11514028, + 67.1886495, + 67.19904327, + 67.2183075, + 67.25626628, + 67.29120127, + 67.33819834, + 67.3804245, + 67.43048859, + 67.51157379, + 67.56953176, + 67.65393575, + 67.70159149, + 67.74562327, + 67.82090251, + 67.88873037, + 67.93344879, + 68.01042175, + 68.09896088, + 68.1910731, + 68.25867208, + 68.33078766, + 68.35701752, + 68.41638692, + 68.49450684, + 68.59051514, + 68.68532308, + 68.78370667, + 68.85803223, + 68.93941752, + 69.03809865, + 69.10172017, + 69.12530772, + 69.18938192, + 69.26266734, + 69.32870483, + 69.42036947, + 69.53001404, + 69.62256877, + 69.69811249, + 69.81504567, + 69.93238068, + 70.05450439, + 70.14863332, + 70.23792775, + 70.34806569, + 70.53187561, + 70.68775431, + 70.82396189, + 70.95310211, + 71.11410268, + 71.27765656, + 71.39332072, + 71.50361633, + 71.63476308, + 71.79054769, + 71.93357086, + 72.03586324, + 72.12263234, + 72.18414052, + 72.25455729, + 72.35051982, + 72.44911957, + 72.52837372, + 72.61199188, + 72.70419566, + 72.74745178, + 72.79299927, + 72.8805898, + 72.99049886, + 73.08113098, + 73.14173889, + 73.21953328, + 73.28627777, + 73.35668691, + 73.44918315, + 73.56876373, + 73.69234212, + 73.78216044, + 73.87054698, + 73.9887263, + 74.07935079, + 74.17746226, + 74.27748617, + 74.37001292, + 74.46188609, + 74.57063548, + 74.68748474, + 74.81823476, + 74.96237691, + 75.11446126, + 75.26313527, + 75.4239502, + 75.56697845, + 75.68904368, + 75.81168365, + 75.93327077, + 76.07205455, + 76.24096934, + 76.44369253, + 76.63350677, + 76.80685679, + 76.95069122, + 77.09733836, + 77.27116394, + 77.46807353, + 77.6679891, + 77.88670603, + 78.09623973, + 78.30229696, + 78.51039124, + 78.75079346, + 78.98353577, + 79.2227478, + 79.4799118, + 79.76232656, + 80.09703064, + 80.40983836, + 80.68597412, + 81.02755483, + 81.43392436, + 81.92788188, + 82.52836609, + 83.26112111, + 84.08196259, + 85.14245097, + 86.53732808, + 88.40761566, + 91.13857778, + 95.12090556, + 100.81365712, + 109.77940877, + 123.77985382, + 145.21299235, + 179.75069173, + 234.33787028, + 311.49209595, + 412.7220459, + 533.7117513, + 644.56294759, + 714.77638753, + 727.94795736, + 678.71059163, + 584.43007406, + 465.4708252, + 356.07632446, + 271.00634766, + 207.32598877, + 162.97388204, + 135.70013428, + 118.66509247, + 107.8508021, + 101.45429484, + 97.45759074, + 94.82929484, + 93.18001556, + 92.12615712, + 91.41781362, + 90.96725718, + 90.66231537, + 90.46850586, + 90.34635417, + 90.34587606, + 90.47298686, + 90.72164663, + 91.0638326, + 91.52331543, + 92.11314138, + 92.96324412, + 94.088679, + 95.42167409, + 97.05110168, + 99.10461171, + 101.572553, + 104.63206228, + 108.6568222, + 113.86170705, + 121.14100393, + 132.2220815, + 149.08789062, + 175.86269633, + 219.70806376, + 282.83394368, + 366.07990519, + 468.63057454, + 565.78686523, + 632.03552246, + 650.96407064, + 616.42960612, + 541.40633138, + 441.16260783, + 344.8524882, + 268.44458008, + 210.67773946, + 170.27170308, + 145.70122782, + 131.51704915, + 123.83385722, + 120.85719045, + 121.47033437, + 124.84525808, + 130.99504598, + 141.41683451, + 157.38286336, + 180.96996562, + 219.35863749, + 278.19788615, + 362.28548177, + 480.43523153, + 626.72513835, + 773.58081055, + 890.73331706, + 950.1950887, + 930.66536458, + 836.68469238, + 694.25801595, + 549.39208984, + 421.42032878, + 316.87564087, + 241.27077738, + 191.54848226, + 158.45766703, + 136.41397095, + 122.84010824, + 113.70752207, + 107.37151337, + 103.12412771, + 100.03013611, + 97.69290924, + 96.01574707, + 94.67605845, + 93.60997009, + 92.79072316, + 92.09784698, + 91.54443868, + 91.10544078, + 90.7415568, + 90.44778951, + 90.23576101, + 90.08549245, + 90.00007375, + 89.95347341, + 89.95753988, + 90.02379354, + 90.18160502, + 90.40635935, + 90.66850789, + 90.93041992, + 91.25605774, + 91.67988841, + 92.16666667, + 92.72359467, + 93.33222198, + 94.00248973, + 94.74657949, + 95.52263641, + 96.27385966, + 96.97480265, + 97.70328776, + 98.4474055, + 99.23464712, + 100.13570658, + 101.18399556, + 102.48923492, + 104.37843831, + 106.97667948, + 110.73801422, + 116.72290802, + 125.86119588, + 139.77664693, + 162.76449076, + 197.85504659, + 249.30184428, + 326.73885091, + 428.0718689, + 544.67588298, + 667.6346639, + 768.59629313, + 820.06852214, + 806.41780599, + 735.06093343, + 628.08534749, + 503.21097819, + 386.24232992, + 293.3682251, + 224.21974691, + 175.44191488, + 143.03351339, + 122.94652049, + 110.11980184, + 101.88248952, + 96.82081095, + 93.40554047, + 91.08866628, + 89.53267161, + 88.36571248, + 87.44322459, + 86.71683757, + 86.11114502, + 85.61554972, + 85.22283936, + 84.85055033, + 84.49495951, + 84.2092514, + 83.96026611, + 83.77308655, + 83.56099701, + 83.34818522, + 83.15416718, + 83.00031535, + 82.88219706, + 82.74487305, + 82.61405691, + 82.47838084, + 82.38108317, + 82.29681651, + 82.24753316, + 82.19352722, + 82.13839213, + 82.08383179, + 82.00233968, + 81.86472321, + 81.69021861, + 81.52317047, + 81.38063049, + 81.24677277, + 81.1599884, + 81.05615743, + 80.95865631, + 80.84067535, + 80.75519053, + 80.69709269, + 80.65185293, + 80.61423747, + 80.56997681, + 80.52839152, + 80.47249095, + 80.41372172, + 80.33893331, + 80.27589671, + 80.21139526, + 80.16295115, + 80.10903168, + 80.07772573, + 80.05742645, + 80.04390462, + 80.03757731, + 80.01106262, + 79.98935699, + 79.94696045, + 79.9054362, + 79.896197, + 79.91704814, + 79.95529683, + 79.99964396, + 80.05149078, + 80.12202708, + 80.16947174, + 80.20124308, + 80.20829519, + 80.25268555, + 80.31035868, + 80.39156342, + 80.48921204, + 80.64950307, + 80.83763885, + 81.05886587, + 81.26925913, + 81.47182465, + 81.64014689, + 81.81118774, + 82.01762644, + 82.27613068, + 82.54683177, + 82.83634949, + 83.21454112, + 83.67796834, + 84.26005809, + 84.94320679, + 85.7036972, + 86.5669632, + 87.63319143, + 88.95766449, + 90.65361786, + 92.9257075, + 95.92076111, + 100.03024038, + 106.20332591, + 115.28555806, + 128.98871104, + 151.28050741, + 184.7027537, + 232.28791809, + 298.15242513, + 373.64599609, + 445.08402507, + 497.79655965, + 515.31122843, + 492.85277303, + 435.08652751, + 362.72538249, + 292.70140584, + 230.74009196, + 182.32705688, + 148.38453166, + 125.40515391, + 109.97708384, + 100.02745819, + 93.78554535, + 89.59088898, + 86.70829773, + 84.72616069, + 83.2260259, + 82.07459768, + 81.19085185, + 80.49179586, + 79.92903392, + 79.44343313, + 78.99932607, + 78.64719137, + 78.35210419, + 78.08828481, + 77.82193247, + 77.5602417, + 77.31518555, + 77.11347453, + 76.94594574, + 76.77007802, + 76.58125051, + 76.40699768, + 76.25902049, + 76.12291209, + 75.98987071, + 75.86017354, + 75.73844401, + 75.62258911, + 75.48562368, + 75.38497416, + 75.30620575, + 75.22197723, + 75.13259888, + 75.0530014, + 74.98790232, + 74.94770813, + 74.91282654, + 74.9032313, + 74.87459564, + 74.84750621, + 74.8087972, + 74.77438609, + 74.7087326, + 74.63205465, + 74.53125763, + 74.42845662, + 74.31018575, + 74.20952352, + 74.11456807, + 74.01579285, + 73.90266418, + 73.83279928, + 73.79103597, + 73.73203023, + 73.65159098, + 73.60189565, + 73.60733287, + 73.62779744, + 73.62374878, + 73.59183248, + 73.57318624, + 73.55619303, + 73.56291707, + 73.57929484, + 73.63785553, + 73.71449788, + 73.84127808, + 74.01711528, + 74.22774251, + 74.45948283, + 74.72224935, + 74.97513326, + 75.20635478, + 75.33270772, + 75.38418325, + 75.32805634, + 75.15668488, + 74.88553874, + 74.56759389, + 74.26105754, + 73.9703776, + 73.72801971, + 73.52731069, + 73.3526179, + 73.21685028, + 73.11864471, + 73.06678263, + 73.03305562, + 73.00928243, + 72.9789683, + 72.95816803, + 72.99752808, + 73.05640411, + 73.14114889, + 73.23582713, + 73.36698151, + 73.510053, + 73.73049164, + 73.95759328, + 74.22364553, + 74.49865723, + 74.83638, + 75.22859192, + 75.61412557, + 75.98220062, + 76.39644623, + 76.80341848, + 77.18364716, + 77.5340627, + 77.91339111, + 78.37601725, + 79.04655965, + 79.97719828, + 81.30333455, + 83.37427775, + 86.55483754, + 91.46814982, + 99.66476949, + 112.79229736, + 133.07055155, + 164.75655111, + 208.27023824, + 260.06281026, + 314.32102458, + 358.28437297, + 378.76893107, + 370.07955933, + 336.57714844, + 289.54570516, + 238.5724233, + 192.13935343, + 155.48960368, + 128.7787679, + 109.8526001, + 96.96501668, + 88.89823659, + 83.64997355, + 80.16610463, + 77.96941121, + 76.48696136, + 75.43487803, + 74.69391886, + 74.13111877, + 73.68093872, + 73.27272034, + 72.89681753, + 72.56345876, + 72.31766764, + 72.10750071, + 71.94228363, + 71.79082998, + 71.66520945, + 71.59256999, + 71.54801941, + 71.50189972, + 71.45670064, + 71.45373535, + 71.46920776, + 71.45500692, + 71.41095479, + 71.38383484, + 71.38885244, + 71.40544383, + 71.42873128, + 71.48853811, + 71.5843455, + 71.72445933, + 71.89124298, + 72.05586497, + 72.19890086, + 72.33100128, + 72.42746226, + 72.49286906, + 72.50311534, + 72.50586446, + 72.51123301, + 72.5276413, + 72.5475413, + 72.56025696, + 72.5767746, + 72.59284973, + 72.62130737, + 72.65238444, + 72.68224843, + 72.74077861, + 72.85070292, + 73.00371043, + 73.16113027, + 73.35306549, + 73.57483164, + 73.87426503, + 74.28129832, + 74.78837331, + 75.4233017, + 76.30206807, + 77.48604584, + 79.10194906, + 81.49787649, + 84.79337056, + 89.31358337, + 95.72114054, + 104.10781097, + 114.41639201, + 126.99737549, + 140.53399658, + 153.20181783, + 163.79650879, + 170.34673564, + 171.49807231, + 167.16337585, + 158.79713949, + 148.72935486, + 138.86777242, + 131.78019714, + 129.76049296, + 134.78820292, + 148.38300578, + 170.72154744, + 201.38319906, + 235.86031596, + 265.25521851, + 281.74724325, + 281.03984578, + 263.43500773, + 233.83199056, + 199.28386434, + 167.60347493, + 141.65050761, + 121.35401662, + 106.5447998, + 96.78675588, + 90.31810252, + 86.0257136, + 83.42419942, + 81.81018575, + 80.83406321, + 80.34161631, + 80.2004776, + 80.38802083, + 80.91236623, + 81.85465749, + 83.25476074, + 85.31747945, + 88.5418752, + 93.28618876, + 100.09758504, + 110.30332692, + 124.57934825, + 143.33471171, + 167.86775208, + 196.02638245, + 224.14964294, + 249.26740011, + 266.90213013, + 274.64760335, + 273.53133138, + 268.11927287, + 263.94260661, + 264.68499756, + 271.15404256, + 280.92506917, + 289.23654175, + 290.95171102, + 283.48497518, + 267.16177368, + 245.53543599, + 223.97609965, + 205.2136027, + 190.28288778, + 178.95483907, + 169.26517232, + 158.77529399, + 146.4644928, + 132.76726278, + 118.58601634, + 106.15988159, + 96.22388204, + 88.48792775, + 82.8804423, + 79.1261851, + 76.62036896, + 74.92391205, + 73.85660044, + 73.13868459, + 72.64289602, + 72.29666138, + 72.04894257, + 71.82902018, + 71.62969208, + 71.46081289, + 71.33974711, + 71.25751241, + 71.18496195, + 71.13219706, + 71.07435354, + 71.0090332, + 70.95109049, + 70.92021434, + 70.87443542, + 70.84371185, + 70.8074646, + 70.78266907, + 70.76166789, + 70.7423528, + 70.74542491, + 70.76420085, + 70.78711192, + 70.82158661, + 70.87184143, + 70.92627462, + 70.97816722, + 71.06468201, + 71.17620087, + 71.30797831, + 71.45807139, + 71.62012227, + 71.79490407, + 71.96080017, + 72.12399038, + 72.31541697, + 72.50980123, + 72.67264811, + 72.78881582, + 72.87877401, + 72.94106547, + 72.97610474, + 73.00972748, + 73.03783671, + 73.08105214, + 73.14706421, + 73.25399272, + 73.35030874, + 73.456014, + 73.54841105, + 73.63018545, + 73.71208445, + 73.7863795, + 73.86295827, + 73.93258667, + 73.99701182, + 74.08109538, + 74.19508108, + 74.35469564, + 74.53881582, + 74.75686646, + 75.02757772, + 75.33719126, + 75.72210185, + 76.23166656, + 76.9098587, + 77.88608805, + 79.23690287, + 81.10682933, + 83.92095439, + 88.10000865, + 94.16718038, + 103.31165314, + 116.67554474, + 134.79707845, + 158.490448, + 186.55967204, + 214.81081645, + 238.61925252, + 253.69757589, + 255.82183329, + 244.64795431, + 222.96632385, + 196.65021769, + 170.07265727, + 145.31850179, + 125.19537099, + 110.25315094, + 99.22190857, + 91.44391378, + 86.4022878, + 83.06257629, + 80.84508769, + 79.44919586, + 78.52079519, + 77.85926056, + 77.43543752, + 77.15619659, + 76.98236084, + 76.88507843, + 76.86156464, + 76.89955393, + 76.97596741, + 77.12826538, + 77.34980011, + 77.63169861, + 77.98629761, + 78.41885885, + 78.93211873, + 79.5811437, + 80.38634491, + 81.38584137, + 82.64068858, + 84.20629628, + 86.19278208, + 88.84072622, + 92.35028585, + 97.00284068, + 103.31849416, + 111.91283925, + 123.39111328, + 139.45821635, + 161.45829264, + 190.43443298, + 228.66116842, + 276.57329305, + 331.01312256, + 388.790507, + 445.70704142, + 493.36417643, + 527.52669271, + 548.41044108, + 557.30497233, + 556.49373372, + 548.0832723, + 533.81811523, + 513.31801351, + 486.18395996, + 454.57757568, + 420.74935913, + 384.23399862, + 347.15751139, + 310.7697347, + 275.08784993, + 243.57246908, + 218.62355042, + 201.5118866, + 194.78801473, + 201.10523478, + 225.18455505, + 268.98105876, + 332.46993001, + 414.19015503, + 497.12998454, + 561.39674886, + 591.1825765, + 578.05352783, + 527.83789062, + 451.12348429, + 368.17672729, + 294.45336914, + 232.5062561, + 184.23451233, + 149.36520894, + 125.45714569, + 109.28623199, + 98.58912659, + 91.83743286, + 87.42866007, + 84.49316152, + 82.59393311, + 81.30761719, + 80.43415324, + 79.87200673, + 79.49177806, + 79.25503794, + 79.14951324, + 79.13083394, + 79.18266551, + 79.29523722, + 79.46784465, + 79.66636658, + 79.87451681, + 80.09679921, + 80.40545146, + 80.85650126, + 81.58411916, + 82.71426137, + 84.52069092, + 87.53959401, + 92.3410085, + 99.67399089, + 110.76122538, + 125.22251892, + 141.8988444, + 159.1795756, + 172.81226603, + 179.34873454, + 177.26699829, + 167.5903066, + 153.12920634, + 136.37899272, + 120.67169952, + 107.74160767, + 97.42827606, + 89.66302999, + 84.22493235, + 80.55086517, + 78.05671438, + 76.44245656, + 75.38545481, + 74.65662384, + 74.14886729, + 73.81004079, + 73.5974172, + 73.44870249, + 73.32694244, + 73.23085531, + 73.17508952, + 73.13648987, + 73.10488892, + 73.0889384, + 73.0949529, + 73.12211355, + 73.15029144, + 73.20207469, + 73.23786672, + 73.26752218, + 73.30082957, + 73.35774994, + 73.42368571, + 73.49680837, + 73.55638377, + 73.6224823, + 73.71651204, + 73.85110728, + 74.02047729, + 74.20850627, + 74.46692149, + 74.76310476, + 75.1432724, + 75.68991597, + 76.46332804, + 77.56398265, + 79.22150167, + 81.68633525, + 85.29178874, + 90.8403244, + 98.76837921, + 109.39894104, + 123.15170797, + 138.28961182, + 152.46957397, + 163.73987834, + 170.21327209, + 171.82102966, + 170.24328105, + 168.55640666, + 168.86145528, + 171.94590759, + 177.02570089, + 182.13637288, + 185.58322652, + 186.11604309, + 183.42632548, + 177.95641073, + 170.79453023, + 162.77474467, + 153.87898763, + 144.03681946, + 133.44443258, + 122.29098511, + 111.36091359, + 101.7041626, + 93.7555898, + 87.49770355, + 82.85089111, + 79.58812968, + 77.30411784, + 75.73777008, + 74.75938416, + 74.14838409, + 73.73750305, + 73.50190989, + 73.37504069, + 73.32072957, + 73.31496938, + 73.37624359, + 73.49124146, + 73.67541504, + 73.9382782, + 74.32567851, + 74.89330292, + 75.81266022, + 77.25421906, + 79.51363118, + 83.17640432, + 88.79154205, + 96.97842662, + 108.52905782, + 122.40444946, + 136.62057495, + 148.9401652, + 156.00904338, + 156.14651998, + 149.24729411, + 137.8958079, + 124.99179331, + 112.09496053, + 101.03448486, + 92.36148326, + 85.80682119, + 81.07192485, + 77.8189799, + 75.69320424, + 74.24994405, + 73.26974996, + 72.60679118, + 72.1504364, + 71.81994629, + 71.59586589, + 71.41307831, + 71.25797526, + 71.134758, + 71.03948212, + 70.9665273, + 70.91832225, + 70.85936228, + 70.8075002, + 70.76237488, + 70.73110962, + 70.69769541, + 70.65255229, + 70.60822805, + 70.5796814, + 70.5873057, + 70.5972875, + 70.58482869, + 70.55163574, + 70.53488922, + 70.52402751, + 70.51769257, + 70.50340525, + 70.48989105, + 70.49052429, + 70.48960876, + 70.5045344, + 70.51644643, + 70.53371684, + 70.54821777, + 70.56376902, + 70.59598541, + 70.63779704, + 70.69984945, + 70.76611074, + 70.83539581, + 70.88430786, + 70.93393199, + 70.98482259, + 71.02213033, + 71.03173574, + 71.04149373, + 71.06641897, + 71.10765076, + 71.14892069, + 71.21866353, + 71.29812622, + 71.39584605, + 71.50882212, + 71.6224467, + 71.74844869, + 71.87192281, + 72.01643372, + 72.20503489, + 72.47240957, + 72.81584676, + 73.2327652, + 73.77633413, + 74.57304382, + 75.7649765, + 77.55044556, + 80.28583018, + 84.43626404, + 90.46510061, + 98.90314229, + 110.24742381, + 123.27815755, + 136.18352254, + 146.86914571, + 152.55142721, + 152.0978597, + 145.73640951, + 135.53107707, + 123.61565145, + 111.69613393, + 101.4687678, + 93.39390564, + 87.15936788, + 82.5847524, + 79.46763102, + 77.35397339, + 75.9408137, + 75.03807576, + 74.42745717, + 74.01085663, + 73.73884074, + 73.56657918, + 73.451828, + 73.38337962, + 73.34376272, + 73.34383901, + 73.37999471, + 73.44163767, + 73.50187937, + 73.56426239, + 73.64640554, + 73.74893443, + 73.84766642, + 73.96896362, + 74.11933645, + 74.29929097, + 74.49512736, + 74.73598226, + 75.03000641, + 75.3751119, + 75.8158493, + 76.40958913, + 77.24933116, + 78.38959503, + 79.91307831, + 82.01089986, + 84.79865265, + 88.38374583, + 93.00832113, + 98.67119598, + 105.16938273, + 112.46696981, + 120.05466715, + 127.23505147, + 133.52815755, + 138.55316162, + 142.07664998, + 144.43052673, + 146.23857625, + 148.25339254, + 150.87582397, + 153.87915548, + 156.22710164, + 156.77861023, + 154.883962, + 150.66359965, + 145.11394755, + 139.72535706, + 136.1879425, + 135.08602905, + 135.82786051, + 137.03755697, + 137.42822774, + 136.16626994, + 133.54984029, + 130.74790446, + 129.25217183, + 130.5098877, + 134.68479919, + 140.84025574, + 146.6570282, + 149.95211283, + 149.18270874, + 144.12866211, + 135.73716736, + 125.29893239, + 115.07842, + 106.16210429, + 98.72540029, + 92.96752167, + 88.7870636, + 85.91763306, + 84.03473409, + 82.93095652, + 82.42072805, + 82.33940125, + 82.6014506, + 83.26396434, + 84.40474955, + 86.14496867, + 88.88465373, + 93.07238261, + 99.34939575, + 108.97018941, + 122.78608958, + 141.16388957, + 164.5830129, + 191.08594767, + 217.50947571, + 241.47124227, + 260.29105632, + 272.25802612, + 276.75116984, + 274.11867269, + 264.96398926, + 249.06485494, + 227.74676005, + 203.85104879, + 179.46024068, + 156.65474955, + 137.52860006, + 122.50515238, + 111.14937083, + 103.12828318, + 98.15556844, + 95.50641378, + 94.73062897, + 95.67205048, + 98.14956156, + 101.86503855, + 106.74878438, + 112.7445933, + 119.3839976, + 126.38949076, + 133.69844564, + 140.78022766, + 147.30751546, + 153.3130188, + 158.39563497, + 162.39596558, + 165.60803223, + 168.43614197, + 170.92640177, + 172.73624674, + 172.90027364, + 170.27900187, + 164.0204366, + 154.71641541, + 143.84312948, + 132.77583822, + 123.39653015, + 116.71579488, + 112.79328664, + 111.32136027, + 111.80703481, + 113.58060455, + 115.55764771, + 116.83857981, + 116.7782135, + 115.06304932, + 111.79349264, + 107.2114563, + 102.08839417, + 97.10648346, + 92.58335114, + 88.79961395, + 85.83697001, + 83.59808604, + 81.96463267, + 80.80893199, + 80.04409027, + 79.53596242, + 79.21686808, + 79.01142375, + 78.90358988, + 78.86713409, + 78.88625081, + 78.92199961, + 78.98768616, + 79.07456462, + 79.16304779, + 79.24467723, + 79.3165156, + 79.36068726, + 79.38750458, + 79.41156514, + 79.41523234, + 79.40547434, + 79.37106069, + 79.33410899, + 79.28454844, + 79.24993388, + 79.2155304, + 79.19302114, + 79.18316142, + 79.196757, + 79.25089773, + 79.34976451, + 79.50196075, + 79.71075694, + 80.0050354, + 80.43454742, + 81.05452983, + 81.89971924, + 83.11811829, + 84.80445862, + 87.15305837, + 90.54038493, + 95.1548233, + 101.29948171, + 109.4219106, + 119.19031779, + 129.94629161, + 141.10421244, + 150.97555033, + 158.38435872, + 162.83321635, + 164.06951904, + 162.27764384, + 157.71727498, + 151.251887, + 143.5349172, + 134.99669393, + 126.735171, + 119.71718089, + 114.50118256, + 111.75387065, + 111.92617544, + 115.37511444, + 121.64836375, + 129.83383687, + 138.70608012, + 146.10416667, + 150.2400767, + 150.312205, + 146.89153035, + 141.57391357, + 136.03231812, + 131.97642008, + 130.37960815, + 131.13170369, + 133.07615662, + 134.75663249, + 135.01636759, + 133.21818034, + 129.59408569, + 124.88926188, + 120.31236521, + 116.99049123, + 115.35020701, + 115.66428375, + 118.00482686, + 122.55131276, + 129.47985331, + 138.69140625, + 150.4577891, + 165.22456868, + 182.80391439, + 203.44633993, + 227.3605601, + 253.08267212, + 279.28566488, + 304.3990682, + 325.10233561, + 339.42122396, + 346.79819743, + 347.91532389, + 344.60705566, + 339.1013387, + 333.274882, + 326.45170085, + 316.95362345, + 303.80228678, + 286.78401693, + 266.80174764, + 247.46070862, + 230.90203349, + 216.8392334, + 204.63916016, + 192.93029785, + 180.11953227, + 166.26529948, + 152.24302673, + 138.85050456, + 127.5590922, + 119.23007711, + 114.29975891, + 113.03801473, + 115.59776815, + 122.0384318, + 130.97931417, + 140.48856099, + 148.61428833, + 153.02608744, + 152.65851339, + 147.47834778, + 139.12916565, + 129.76108805, + 120.64963786, + 113.26157633, + 108.41385905, + 106.35289764, + 106.8992157, + 109.50664775, + 113.37937927, + 117.05157471, + 119.21626536, + 119.16838837, + 116.97455088, + 113.44802602, + 109.58122508, + 106.58870697, + 105.38718923, + 106.37531789, + 109.38349152, + 113.62678528, + 118.10065969, + 121.44650777, + 122.5037384, + 120.78769938, + 116.74249268, + 111.40231578, + 105.67260488, + 100.37214661, + 96.05332692, + 92.87697856, + 90.82979075, + 89.91321055, + 90.17106374, + 91.52190145, + 93.78205872, + 96.87128957, + 100.5966212, + 104.48394012, + 108.11874644, + 111.12009176, + 112.9650116, + 113.34653219, + 112.0941035, + 109.466657, + 105.79597982, + 101.50188192, + 97.28927867, + 93.57254283, + 90.56670888, + 88.50110118, + 87.48571523, + 87.60883077, + 88.92778015, + 91.56669108, + 95.68906657, + 101.01861064, + 107.36111959, + 114.58675385, + 121.85916138, + 128.54752604, + 134.27740479, + 138.35139974, + 140.24702962, + 139.57310994, + 136.45373535, + 131.16228739, + 124.11633809, + 116.52291616, + 109.3237381, + 102.89239248, + 97.77641551, + 94.17010244, + 92.04664358, + 91.24472555, + 91.61719513, + 93.0779012, + 95.31191254, + 98.05197398, + 101.12221781, + 104.14934285, + 106.86857351, + 109.11060842, + 110.68944041, + 111.63304647, + 112.06521352, + 112.39590454, + 113.0749588, + 114.59181468, + 116.99957275, + 119.76477051, + 122.07250468, + 122.90612284, + 121.5329717, + 117.76174927, + 112.18196106, + 105.85781606, + 99.46409353, + 93.62784831, + 88.80237325, + 84.99299876, + 82.06943003, + 79.91674042, + 78.43522898, + 77.44273376, + 76.81553396, + 76.50586446, + 76.43047333, + 76.56081899, + 76.91679891, + 77.58696493, + 78.66915894, + 80.3643163, + 82.86143494, + 86.29338328, + 90.71595764, + 96.08262126, + 101.81154378, + 107.36732992, + 112.29533386, + 116.07948812, + 118.71501668, + 120.6834081, + 122.32894389, + 123.67949422, + 124.39613851, + 123.79247538, + 121.30986023, + 116.76480357, + 110.72530619, + 104.04767863, + 97.3568573, + 91.51410421, + 86.74141693, + 82.93112691, + 80.01913198, + 77.9090271, + 76.4125061, + 75.3556366, + 74.63711548, + 74.14961243, + 73.83158112, + 73.61238352, + 73.4487381, + 73.30492147, + 73.19162242, + 73.09292094, + 73.01654307, + 72.96070862, + 72.9071401, + 72.85980225, + 72.82336934, + 72.80546824, + 72.79208883, + 72.77482096, + 72.73121897, + 72.69990031, + 72.68584696, + 72.69595083, + 72.68712107, + 72.66932933, + 72.65493266, + 72.65918986, + 72.66490428, + 72.67033386, + 72.66882579, + 72.6919047, + 72.72441101, + 72.75890859, + 72.77536265, + 72.78477732, + 72.78779602, + 72.80358632, + 72.81879171, + 72.83185832, + 72.84358215, + 72.86218007, + 72.88645426, + 72.89515432, + 72.91377004, + 72.95288086, + 73.00035604, + 73.05391439, + 73.11176809, + 73.1688563, + 73.22451528, + 73.30389913, + 73.40221914, + 73.53220622, + 73.70156606, + 73.93846385, + 74.2662735, + 74.71800232, + 75.32133484, + 76.16751862, + 77.34619649, + 78.95398712, + 81.11638641, + 83.97650146, + 87.46665446, + 91.45405579, + 95.61649068, + 99.28852081, + 101.86262004, + 102.90681203, + 102.24250031, + 100.00356801, + 96.58766174, + 92.74501801, + 88.96340942, + 85.53543854, + 82.76421865, + 80.6654307, + 79.20721944, + 78.32683563, + 78.03695424, + 78.36984762, + 79.33632151, + 81.06459045, + 83.77473704, + 87.50995382, + 92.26076762, + 97.92058055, + 103.7930425, + 109.2838033, + 113.92804718, + 117.04492696, + 118.26966349, + 117.48107656, + 114.92221069, + 110.94263204, + 105.9083786, + 100.69097137, + 95.82850647, + 91.58961995, + 88.27685038, + 85.94178772, + 84.47443136, + 83.74182383, + 83.63707225, + 84.04450226, + 84.7780838, + 85.73058828, + 86.84808858, + 88.00498962, + 89.14677938, + 90.3302892, + 91.63242086, + 93.2100118, + 95.35284932, + 98.32605998, + 102.40577443, + 107.81011454, + 114.14746857, + 120.77646383, + 127.06849162, + 132.08157349, + 135.26132202, + 136.47643026, + 136.066981, + 134.54362996, + 132.21200562, + 129.64760335, + 127.10976919, + 124.68995921, + 122.53265381, + 120.68716176, + 119.08815511, + 117.63035838, + 116.24694316, + 114.96213277, + 113.85603841, + 113.11255646, + 112.89639791, + 113.21815491, + 113.94616699, + 114.81393433, + 115.45310465, + 115.61481222, + 115.31898244, + 114.97150421, + 115.1599528, + 116.31903839, + 118.61674245, + 121.74625397, + 125.20554606, + 128.30145264, + 130.40520732, + 131.31841024, + 131.07179769, + 129.84331258, + 127.81431834, + 125.23742167, + 122.44197591, + 119.64190165, + 117.110967, + 115.05445608, + 113.26920573, + 111.43560282, + 109.20128377, + 106.25762939, + 102.53926595, + 98.34656525, + 94.06277212, + 90.03214518, + 86.63156891, + 83.910731, + 81.79195404, + 80.20450083, + 79.13288116, + 78.47623189, + 78.14019775, + 78.10610199, + 78.34736379, + 78.81392161, + 79.56319173, + 80.69777425, + 82.29964447, + 84.4935379, + 87.53149923, + 91.50485484, + 96.53392537, + 102.71302795, + 109.61341349, + 116.80670929, + 123.87708791, + 130.07331848, + 135.04571025, + 138.77310181, + 141.23434957, + 142.33713786, + 142.0057373, + 140.22651164, + 136.99175008, + 132.50614421, + 127.53063202, + 122.82101695, + 118.93167114, + 116.3815918, + 115.41210938, + 116.04700979, + 118.10062154, + 121.4202474, + 125.86108144, + 130.86306763, + 135.98150126, + 140.93369548, + 145.18013, + 148.30477397, + 149.87678019, + 149.61349996, + 147.46104431, + 143.63138326, + 138.94329325, + 134.13888041, + 129.81304423, + 126.72753652, + 125.2773641, + 125.83386485, + 128.59894053, + 133.85353597, + 141.99712118, + 152.64144389, + 165.01744588, + 177.9336141, + 188.85390727, + 195.6383667, + 196.96916199, + 192.87045288, + 184.30107625, + 172.62362671, + 160.29964701, + 148.73490397, + 138.23241679, + 129.11882273, + 121.44857279, + 115.2779185, + 110.740448, + 108.08794912, + 107.67606354, + 109.46231842, + 113.15036774, + 118.17348735, + 123.30351512, + 127.29764811, + 129.24572754, + 128.5791626, + 125.44924418, + 120.20451101, + 113.80089315, + 107.18954722, + 100.85991414, + 95.34925842, + 90.95256805, + 87.79740651, + 85.88391622, + 85.10643768, + 85.48244985, + 86.8038737, + 88.74573008, + 91.04019419, + 93.19274902, + 94.73037211, + 95.37425741, + 95.05332692, + 93.91653697, + 92.14399974, + 90.09877014, + 88.08815511, + 86.18807729, + 84.45396169, + 82.91689301, + 81.56047058, + 80.36938222, + 79.32981873, + 78.46118927, + 77.73184458, + 77.16905467, + 76.75317637, + 76.50811005, + 76.4221522, + 76.50542704, + 76.78273265, + 77.25998179, + 77.97067261, + 78.87755076, + 79.95423126, + 81.20623016, + 82.64422099, + 84.23482259, + 85.96726227, + 87.88049316, + 89.98531596, + 92.32730865, + 94.94056447, + 97.68731181, + 100.31545003, + 102.52585856, + 103.91099548, + 104.18421427, + 103.38884481, + 101.85988871, + 100.08984884, + 98.64018504, + 98.09013875, + 98.70000458, + 100.45190684, + 102.89250437, + 105.53809611, + 107.86171722, + 109.27822367, + 109.64023844, + 109.07179769, + 107.99658203, + 106.91735331, + 106.33659871, + 106.6879425, + 108.15343984, + 110.70534007, + 113.84261322, + 116.98042806, + 119.38062286, + 120.25511678, + 119.18247986, + 116.11775208, + 111.57794189, + 106.12825012, + 100.3603185, + 95.1200587, + 90.76170095, + 87.37192535, + 85.09410604, + 83.96916962, + 84.01285807, + 85.04638672, + 86.96744792, + 89.55554708, + 92.27284495, + 94.64227041, + 96.37286377, + 97.13887787, + 96.92805227, + 95.84960429, + 94.25975291, + 92.41832733, + 90.45157369, + 88.56458791, + 86.78455861, + 85.06587982, + 83.43321991, + 81.89358775, + 80.4613444, + 79.1489741, + 77.9853185, + 76.95370229, + 76.07548269, + 75.3671519, + 74.82416534, + 74.41930135, + 74.10477448, + 73.88686117, + 73.74960073, + 73.68415578, + 73.66083527, + 73.68675232, + 73.77987162, + 73.96780396, + 74.27600098, + 74.7384669, + 75.4097112, + 76.34926605, + 77.64391836, + 79.32532756, + 81.23971049, + 83.14461009, + 84.79349264, + 85.84459432, + 86.13686371, + 85.64198558, + 84.50018819, + 82.95447795, + 81.2380778, + 79.63744354, + 78.25735219, + 77.09268188, + 76.19477081, + 75.55340576, + 75.12912496, + 74.91457621, + 74.88858541, + 75.09817251, + 75.55794017, + 76.32095083, + 77.45673116, + 78.97962189, + 80.86928558, + 83.01078288, + 85.08079529, + 86.70775096, + 87.62320709, + 87.70450846, + 87.0045166, + 85.66231283, + 83.97694651, + 82.27581278, + 80.69789632, + 79.39365133, + 78.41449229, + 77.78662109, + 77.51094564, + 77.54128011, + 77.92410024, + 78.66261037, + 79.73412832, + 81.16964213, + 82.89588674, + 84.84910583, + 86.94056956, + 89.01405843, + 90.94629415, + 92.68040212, + 94.19998932, + 95.52802022, + 96.83917999, + 98.34756978, + 100.27278646, + 102.74122365, + 105.64339193, + 108.77955627, + 111.89724477, + 114.68341064, + 116.79323324, + 118.06751506, + 118.51313273, + 118.26538595, + 117.47748057, + 116.38263957, + 115.14045207, + 113.72456614, + 112.07681529, + 110.08874003, + 107.65829213, + 104.80395253, + 101.66095225, + 98.34830983, + 95.07462819, + 92.0204366, + 89.28435008, + 86.9682312, + 85.17236837, + 84.01490529, + 83.54740397, + 83.80049642, + 84.91224925, + 86.8212738, + 89.39880117, + 92.47826385, + 95.65795135, + 98.51344045, + 100.73782603, + 102.14830017, + 102.74067179, + 102.63601939, + 102.08517202, + 101.27942912, + 100.2776591, + 99.15437317, + 97.9219691, + 96.58891042, + 95.2850647, + 94.17862956, + 93.45425924, + 93.22861735, + 93.47705841, + 93.99296316, + 94.47759247, + 94.62618256, + 94.31345367, + 93.55412292, + 92.53105164, + 91.45118205, + 90.58806356, + 90.17312876, + 90.31201426, + 90.98327128, + 92.05378977, + 93.35323334, + 94.64217377, + 95.65926107, + 96.17294312, + 96.02879842, + 95.22851054, + 93.78854879, + 91.85621134, + 89.65409597, + 87.36349233, + 85.21825663, + 83.42641449, + 82.12246195, + 81.35835266, + 81.17317454, + 81.60242462, + 82.55643972, + 83.79229736, + 85.07726796, + 86.10088094, + 86.59113566, + 86.41198476, + 85.59744008, + 84.36106873, + 82.89997355, + 81.42688243, + 80.13571676, + 79.07919312, + 78.27146149, + 77.7052892, + 77.3833313, + 77.30734507, + 77.45945485, + 77.86230469, + 78.48013051, + 79.32082367, + 80.40779114, + 81.78506978, + 83.41309611, + 85.29946645, + 87.4234492, + 89.65974681, + 91.92141978, + 94.06725057, + 95.9082311, + 97.28592173, + 98.07736206, + 98.28359222, + 97.9520874, + 97.29378255, + 96.60078684, + 96.11508942, + 96.03508504, + 96.43443044, + 97.2603302, + 98.33090464, + 99.41468302, + 100.44330088, + 101.44541423, + 102.42701976, + 103.38095601, + 104.23470306, + 104.81249746, + 104.90153758, + 104.31713613, + 103.02548218, + 101.08088938, + 98.6829834, + 96.17410278, + 93.74491119, + 91.51301066, + 89.60992177, + 88.05481974, + 86.81247965, + 85.84414673, + 85.10361226, + 84.47182719, + 83.88091278, + 83.29143524, + 82.66823832, + 81.99249013, + 81.27465566, + 80.55716705, + 79.92725881, + 79.42110952, + 79.1411794, + 79.16699727, + 79.63673401, + 80.68894196, + 82.4498469, + 85.07444, + 88.6624705, + 92.9650472, + 97.64579519, + 102.16827901, + 105.73943837, + 107.9341863, + 108.60138448, + 107.97175344, + 106.40773773, + 104.40974681, + 102.53071086, + 100.83723704, + 99.24547577, + 97.63576508, + 95.87533824, + 93.96506246, + 92.0337855, + 90.20237986, + 88.57348124, + 87.2708079, + 86.32778168, + 85.67527262, + 85.23130798, + 84.94800313, + 84.82080841, + 84.79844411, + 84.91220093, + 85.17134603, + 85.59568278, + 86.25615692, + 87.1759847, + 88.30973562, + 89.55369314, + 90.75058746, + 91.65890757, + 92.07826487, + 91.91368357, + 91.18317668, + 90.00961049, + 88.5467097, + 87.01213582, + 85.48940786, + 84.07398733, + 82.87361145, + 81.940684, + 81.33684285, + 81.11975606, + 81.35336304, + 82.09479777, + 83.2873052, + 84.87480672, + 86.73697662, + 88.63345846, + 90.42853546, + 92.04595693, + 93.42097219, + 94.57406108, + 95.55252075, + 96.3948466, + 97.15678406, + 97.88706207, + 98.61082967, + 99.29119619, + 99.87084198, + 100.22674306, + 100.2141393, + 99.7280248, + 98.74894206, + 97.30418905, + 95.49117279, + 93.47577413, + 91.3902715, + 89.32977041, + 87.46801758, + 85.88624827, + 84.70536296, + 84.02742513, + 83.91765086, + 84.39461009, + 85.42498525, + 86.95697276, + 88.87804921, + 90.95188904, + 92.99276479, + 94.80916595, + 96.19618734, + 97.00937907, + 97.14790599, + 96.5952479, + 95.4168218, + 93.75478363, + 91.84177907, + 89.88230642, + 88.12646484, + 86.79766337, + 86.01952616, + 85.82966105, + 86.24193827, + 87.20250956, + 88.57777913, + 90.05393219, + 91.34700012, + 92.1650823, + 92.29568227, + 91.69550323, + 90.4630839, + 88.84184011, + 87.06072489, + 85.38485718, + 84.0919927, + 83.26782227, + 82.93438466, + 83.05722046, + 83.56937663, + 84.32558441, + 85.07476298, + 85.68393199, + 86.03861745, + 86.11661275, + 85.94363403, + 85.60180155, + 85.21652985, + 84.86086019, + 84.58014933, + 84.37977854, + 84.24830373, + 84.16633606, + 84.11762238, + 84.08232371, + 84.03414917, + 83.95098114, + 83.81882731, + 83.64259847, + 83.43900553, + 83.22386932, + 83.03677622, + 82.90794627, + 82.84999593, + 82.84288534, + 82.87835439, + 82.91788737, + 82.91776021, + 82.84160105, + 82.68294525, + 82.49066671, + 82.39302063, + 82.51816305, + 82.94853973, + 83.72516378, + 84.78837585, + 85.95800273, + 86.94497935, + 87.52260844, + 87.52018483, + 86.92418162, + 85.81885783, + 84.44322459, + 83.03394826, + 81.74500783, + 80.69849904, + 79.96681722, + 79.54579417, + 79.41104889, + 79.5304184, + 79.92637634, + 80.55619049, + 81.37080892, + 82.35561371, + 83.46457163, + 84.63740285, + 85.80763245, + 86.90103404, + 87.86103566, + 88.69710795, + 89.4728775, + 90.29878743, + 91.29647319, + 92.5712026, + 94.14450328, + 95.98964691, + 97.94502513, + 99.79419963, + 101.33052826, + 102.37425741, + 102.83929443, + 102.74235026, + 102.20367686, + 101.38658905, + 100.47031403, + 99.68191274, + 99.20838928, + 99.16798147, + 99.63000488, + 100.58562215, + 102.00313822, + 103.71709951, + 105.55045064, + 107.38726044, + 109.05875397, + 110.39301554, + 111.27498372, + 111.67259979, + 111.57920074, + 111.00420125, + 110.05324809, + 108.89677429, + 107.63705699, + 106.45002747, + 105.48103078, + 104.81450653, + 104.46302287, + 104.38124339, + 104.51488241, + 104.72820791, + 104.87194824, + 104.80384572, + 104.43728892, + 103.68838247, + 102.5535965, + 101.06605021, + 99.26667277, + 97.15424601, + 94.86417135, + 92.51615651, + 90.21205393, + 88.09296417, + 86.28052775, + 84.79914602, + 83.69985962, + 82.94382477, + 82.52692159, + 82.35130056, + 82.36018117, + 82.54279836, + 82.86404673, + 83.28667704, + 83.82229614, + 84.49688975, + 85.29253896, + 86.15851084, + 87.06751251, + 88.00243886, + 88.95923106, + 89.93594106, + 90.98628998, + 92.14661662, + 93.42399851, + 94.84437561, + 96.44069417, + 98.20049032, + 100.08798981, + 102.14973704, + 104.36810557, + 106.7329305, + 109.24449412, + 111.84387461, + 114.43536123, + 116.87120056, + 118.94373576, + 120.39700826, + 121.04007467, + 120.80207062, + 119.76988983, + 118.05594889, + 115.94442749, + 113.69130198, + 111.46804301, + 109.38964589, + 107.43450673, + 105.49589539, + 103.45608266, + 101.29963684, + 99.04203033, + 96.84064484, + 94.87557475, + 93.3664856, + 92.54395803, + 92.55438487, + 93.53680166, + 95.50421143, + 98.42401377, + 102.19887543, + 106.46781921, + 110.94886271, + 115.48727163, + 119.82234701, + 123.95609792, + 127.9651413, + 131.77989197, + 135.2625885, + 138.17690531, + 140.06477356, + 140.54342651, + 139.30008952, + 136.47836304, + 132.37216187, + 127.35959117, + 122.17804718, + 117.29808044, + 112.99041494, + 109.54641215, + 107.02411906, + 105.40398661, + 104.6223882, + 104.57019297, + 105.15640767, + 106.07165019, + 107.02524567, + 107.70314535, + 107.77177429, + 107.01516724, + 105.3999176, + 103.11014048, + 100.33061218, + 97.31930796, + 94.40631612, + 91.76672109, + 89.49658457, + 87.73069763, + 86.45368703, + 85.62775421, + 85.11653646, + 84.80001577, + 84.55501048, + 84.28999329, + 83.96481323, + 83.63393911, + 83.36850993, + 83.22481537, + 83.2677002, + 83.52770742, + 83.98536428, + 84.59784444, + 85.30562592, + 86.02956645, + 86.69535065, + 87.19698588, + 87.5545222, + 87.7596461, + 87.86630249, + 87.91068776, + 87.90356954, + 87.78151703, + 87.46444702, + 86.94256846, + 86.27628072, + 85.55470276, + 84.88028463, + 84.43243408, + 84.34406789, + 84.69680532, + 85.48110708, + 86.63094838, + 88.01402028, + 89.3955129, + 90.59955597, + 91.43268077, + 91.7721049, + 91.55247243, + 90.81937408, + 89.70478058, + 88.28798676, + 86.68692017, + 85.03693644, + 83.38594564, + 81.84376272, + 80.44858297, + 79.21922557, + 78.16905467, + 77.31151326, + 76.61122386, + 76.06592306, + 75.62437948, + 75.2816035, + 75.00975545, + 74.82007599, + 74.67827098, + 74.57967631, + 74.50977325, + 74.46414693, + 74.42580414, + 74.40632375, + 74.41652171, + 74.45731354, + 74.50817362, + 74.60842896, + 74.77211507, + 75.00080109, + 75.29591878, + 75.7021052, + 76.25168101, + 76.9468689, + 77.72954305, + 78.52605693, + 79.2415034, + 79.75540161, + 79.98192342, + 79.89374542, + 79.534434, + 78.99528758, + 78.34543864, + 77.68669637, + 77.09145355, + 76.58390045, + 76.18843079, + 75.8951238, + 75.7092158, + 75.6431249, + 75.6902593, + 75.83746084, + 76.05239105, + 76.33643087, + 76.69115957, + 77.07393392, + 77.46449534, + 77.85102336, + 78.2226766, + 78.5619812, + 78.85067749, + 79.069664, + 79.22063955, + 79.30320994, + 79.33732351, + 79.33851115, + 79.32533773, + 79.31473796, + 79.32634481, + 79.36672465, + 79.43304698, + 79.51809438, + 79.63788605, + 79.79582214, + 80.01767222, + 80.30802155, + 80.72085063, + 81.27380371, + 81.97716777, + 82.82127635, + 83.78673045, + 84.83216349, + 85.93447876, + 87.09746297, + 88.3043162, + 89.47066498, + 90.57876078, + 91.56952159, + 92.38703156, + 92.98495992, + 93.32354991, + 93.41723124, + 93.31614939, + 93.07682037, + 92.76675415, + 92.43975067, + 92.03494263, + 91.49437968, + 90.71003469, + 89.64308421, + 88.29731242, + 86.69984945, + 84.95981344, + 83.26755015, + 81.69115702, + 80.3360316, + 79.25862376, + 78.48389435, + 78.02268728, + 77.89209239, + 78.11960093, + 78.72245789, + 79.6876297, + 81.02655538, + 82.69812012, + 84.60848999, + 86.71669261, + 88.87692769, + 90.91392517, + 92.70834351, + 94.0722758, + 94.92782084, + 95.22936757, + 95.01304118, + 94.37991842, + 93.40594228, + 92.29686483, + 91.19652812, + 90.15025075, + 89.22577159, + 88.41243235, + 87.6850001, + 87.0121816, + 86.3727239, + 85.78694153, + 85.25157674, + 84.76454417, + 84.32249959, + 83.9469223, + 83.61799113, + 83.32642619, + 83.04670715, + 82.78730265, + 82.55657196, + 82.38027445, + 82.29209137, + 82.31680298, + 82.44095866, + 82.63871257, + 82.91850281, + 83.2660497, + 83.66334534, + 84.13544464, + 84.69049581, + 85.38130188, + 86.26541646, + 87.35501862, + 88.61812083, + 90.05464172, + 91.56928762, + 93.08016713, + 94.54762014, + 95.85187276, + 96.89713796, + 97.651769, + 98.0642395, + 98.16900889, + 97.99065908, + 97.616038, + 97.12193807, + 96.58944448, + 96.09578959, + 95.64726257, + 95.24418386, + 94.9063441, + 94.63863881, + 94.45744069, + 94.37097422, + 94.42781576, + 94.68549347, + 95.21166484, + 96.07844543, + 97.3145752, + 98.88646189, + 100.75029246, + 102.72316742, + 104.5588328, + 106.08651733, + 107.10357157, + 107.52161916, + 107.29523468, + 106.47069804, + 105.15167491, + 103.47514852, + 101.60574087, + 99.72206879, + 97.94560242, + 96.37533061, + 95.04650879, + 93.9483134, + 93.05510966, + 92.28711955, + 91.59726461, + 90.97339122, + 90.46735382, + 90.13433838, + 90.06867472, + 90.310908, + 90.90523529, + 91.79226685, + 92.84398397, + 93.85249837, + 94.61229706, + 94.96008301, + 94.83940633, + 94.25938924, + 93.33892059, + 92.26835378, + 91.24285126, + 90.37606049, + 89.7302653, + 89.36512502, + 89.29679616, + 89.47007243, + 89.86905416, + 90.42222087, + 91.05590566, + 91.63469696, + 92.05161031, + 92.19186656, + 91.98454285, + 91.42451986, + 90.56238302, + 89.52179718, + 88.44648743, + 87.48735555, + 86.73349762, + 86.20085907, + 85.89407094, + 85.76809692, + 85.80287679, + 85.9219106, + 86.08585612, + 86.24124654, + 86.36761475, + 86.45222219, + 86.55530039, + 86.71542867, + 86.9665095, + 87.33097839, + 87.81694539, + 88.35762787, + 88.86825053, + 89.26597087, + 89.46228027, + 89.39657593, + 89.07172394, + 88.52896881, + 87.82287343, + 86.98227946, + 86.03438314, + 85.05419922, + 84.11960602, + 83.28327688, + 82.62775167, + 82.24318186, + 82.18581136, + 82.45734914, + 83.02498881, + 83.82558441, + 84.77094014, + 85.69364675, + 86.4361852, + 86.85503642, + 86.9141922, + 86.61343638, + 86.03039042, + 85.24671427, + 84.34532928, + 83.4228948, + 82.56164551, + 81.7834905, + 81.083402, + 80.43232981, + 79.8211441, + 79.22162374, + 78.61634827, + 78.03807322, + 77.54680125, + 77.1529185, + 76.84611003, + 76.62407939, + 76.5037969, + 76.4571991, + 76.45721181, + 76.47404226, + 76.49882762, + 76.52981822, + 76.55542247, + 76.54485067, + 76.48416392, + 76.38463593, + 76.28122203, + 76.19140371, + 76.14022573, + 76.13868713, + 76.22464244, + 76.38652802, + 76.57409159, + 76.77967072, + 76.98184204, + 77.13647715, + 77.2228597, + 77.26600138, + 77.30959574, + 77.41618856, + 77.6463445, + 78.00555674, + 78.49962616, + 79.10032654, + 79.79523977, + 80.56616465, + 81.39766184, + 82.27423859, + 83.19034322, + 84.12590281, + 85.03498586, + 85.88155111, + 86.62584178, + 87.24553172, + 87.74378459, + 88.11015574, + 88.36577098, + 88.53782399, + 88.69223022, + 88.81597392, + 88.8756663, + 88.8037796, + 88.53295644, + 88.03092448, + 87.28705851, + 86.33900197, + 85.24560038, + 84.10200246, + 83.00840251, + 82.0274531, + 81.19820658, + 80.55723572, + 80.11549632, + 79.86205546, + 79.77532196, + 79.83055623, + 79.99843089, + 80.22426097, + 80.46675364, + 80.68597666, + 80.88709259, + 81.09082286, + 81.32696279, + 81.60647074, + 81.94196574, + 82.32556152, + 82.69235992, + 82.93540192, + 83.02122243, + 82.9618276, + 82.80338796, + 82.62617493, + 82.49213918, + 82.44421132, + 82.49557749, + 82.62539673, + 82.79400635, + 82.9484609, + 83.02558899, + 83.04251099, + 83.0697937, + 83.21110789, + 83.54396057, + 84.10669454, + 84.9024175, + 85.90744781, + 87.10552216, + 88.45546468, + 89.91743724, + 91.45440928, + 93.03533173, + 94.62803396, + 96.18319194, + 97.62798818, + 98.84713236, + 99.72372437, + 100.13804118, + 100.0523936, + 99.49077606, + 98.51535543, + 97.19563802, + 95.60441844, + 93.82692719, + 91.94776154, + 90.00281779, + 88.05618032, + 86.17957306, + 84.40188599, + 82.77732086, + 81.39194743, + 80.29417165, + 79.50786082, + 79.02361043, + 78.83786011, + 78.94709015, + 79.3711141, + 80.06457774, + 81.01208242, + 82.18122101, + 83.49584707, + 84.82740021, + 86.06953684, + 87.13844808, + 87.93071238, + 88.38575745, + 88.50013733, + 88.35057322, + 88.05407969, + 87.74505361, + 87.52530162, + 87.4927597, + 87.63380178, + 87.87171427, + 88.06776683, + 88.10567474, + 87.89634705, + 87.39824422, + 86.63711039, + 85.69385274, + 84.70389048, + 83.80439758, + 83.09332784, + 82.62123362, + 82.38185374, + 82.3650589, + 82.50945282, + 82.70188141, + 82.83178457, + 82.83289846, + 82.67218526, + 82.35316467, + 81.88554382, + 81.30235799, + 80.66763051, + 80.04425049, + 79.44580332, + 78.87480672, + 78.34292348, + 77.87571208, + 77.48702749, + 77.19335429, + 76.98207601, + 76.8429896, + 76.76235453, + 76.73601023, + 76.75405375, + 76.81068166, + 76.87946828, + 76.94458516, + 77.00007375, + 77.03197225, + 77.0244751, + 76.98840332, + 76.92312113, + 76.84685771, + 76.79175059, + 76.77736155, + 76.82409922, + 76.98296356, + 77.30554454, + 77.79842122, + 78.43247223, + 79.1295929, + 79.78329213, + 80.31448619, + 80.71599833, + 80.96138255, + 81.04014333, + 80.99760946, + 80.91565704, + 80.82124583, + 80.72821554, + 80.66638438, + 80.65980784, + 80.70430756, + 80.8334554, + 81.08154806, + 81.45365906, + 81.88197327, + 82.3299764, + 82.7656072, + 83.15565999, + 83.4250946, + 83.53979747, + 83.46216583, + 83.17835236, + 82.70881399, + 82.10199229, + 81.39739227, + 80.67382812, + 80.00615184, + 79.42076619, + 78.901474, + 78.42348735, + 77.95815786, + 77.49794515, + 77.04347992, + 76.59365082, + 76.16410319, + 75.77055359, + 75.44328562, + 75.19721731, + 75.01676941, + 74.90750631, + 74.89465586, + 74.9867274, + 75.17532603, + 75.46218363, + 75.85520935, + 76.37758128, + 77.02679189, + 77.7857844, + 78.61739349, + 79.4560318, + 80.27365621, + 81.0634435, + 81.78446198, + 82.42356618, + 82.97649638, + 83.43204498, + 83.80862681, + 84.16696676, + 84.5159022, + 84.81844584, + 85.04547628, + 85.20805105, + 85.29884593, + 85.30507151, + 85.19357554, + 84.97010549, + 84.65722402, + 84.25586192, + 83.74032847, + 83.1144282, + 82.40311432, + 81.6431427, + 80.84782155, + 80.04390971, + 79.28750865, + 78.58669027, + 77.93009949, + 77.3497467, + 76.86199188, + 76.46229553, + 76.14358775, + 75.89785258, + 75.73383586, + 75.64567057, + 75.63729604, + 75.70378367, + 75.84673055, + 76.0767924, + 76.38785299, + 76.781751, + 77.24196879, + 77.73717244, + 78.25327555, + 78.79335785, + 79.32263692, + 79.81416829, + 80.24586233, + 80.57223002, + 80.74816132, + 80.75123851, + 80.5873642, + 80.28283437, + 79.84790293, + 79.32835897, + 78.80218252, + 78.33387502, + 77.94222005, + 77.63452148, + 77.46839905, + 77.48983765, + 77.74363963, + 78.2181193, + 78.92401886, + 79.83889262, + 80.87131755, + 81.87806193, + 82.76010132, + 83.43143972, + 83.78227997, + 83.7828064, + 83.46776326, + 82.93572998, + 82.28769684, + 81.63244629, + 81.02231344, + 80.48443095, + 80.04036204, + 79.69454193, + 79.4053065, + 79.13242849, + 78.83954112, + 78.50552368, + 78.14619191, + 77.75951385, + 77.34986623, + 76.93430837, + 76.52934265, + 76.15518188, + 75.83616638, + 75.58198039, + 75.39363098, + 75.27604167, + 75.23576101, + 75.27440135, + 75.42014058, + 75.67671458, + 76.01374054, + 76.42679596, + 76.89865621, + 77.38153585, + 77.841362, + 78.26011658, + 78.6225001, + 78.92796834, + 79.18623606, + 79.413709, + 79.60965983, + 79.78635915, + 79.96315257, + 80.14167023, + 80.2919337, + 80.3835907, + 80.43294017, + 80.46245321, + 80.4779892, + 80.51323446, + 80.60883077, + 80.80110168, + 81.13474528, + 81.57635244, + 82.07662455, + 82.59184519, + 83.07505798, + 83.45860291, + 83.65087636, + 83.58067067, + 83.22164917, + 82.66472626, + 82.00503286, + 81.29317474, + 80.5722936, + 79.88868205, + 79.30484772, + 78.86116791, + 78.56482697, + 78.3839035, + 78.27777354, + 78.22990163, + 78.20826467, + 78.17251333, + 78.12102509, + 78.06056722, + 77.95735931, + 77.79999034, + 77.61287689, + 77.40862274, + 77.21615601, + 77.06845856, + 76.96095022, + 76.86871847, + 76.79980977, + 76.79117839, + 76.85884094, + 76.98858897, + 77.17778524, + 77.42906443, + 77.72200521, + 78.05212911, + 78.42577871, + 78.83036041, + 79.26290385, + 79.69885763, + 80.12048086, + 80.51143138, + 80.88050079, + 81.19310252, + 81.40261841, + 81.49260457, + 81.45374807, + 81.30609385, + 81.10983276, + 80.91679891, + 80.76393636, + 80.72261047, + 80.87074788, + 81.23186493, + 81.80431875, + 82.54641724, + 83.39484914, + 84.24873098, + 85.02116648, + 85.66056061, + 86.10098267, + 86.33405558, + 86.41311646, + 86.39028422, + 86.29256439, + 86.17949931, + 86.10264587, + 86.04935201, + 85.98771413, + 85.90674082, + 85.83482107, + 85.79779816, + 85.75680288, + 85.6733729, + 85.54053752, + 85.32877604, + 85.00218709, + 84.53342183, + 83.91362508, + 83.16941071, + 82.34865824, + 81.48615519, + 80.63777924, + 79.86264547, + 79.21389262, + 78.74452718, + 78.47154999, + 78.42601013, + 78.60390981, + 78.97846476, + 79.45801799, + 79.96850586, + 80.48351288, + 80.95189667, + 81.2884318, + 81.43106842, + 81.4051768, + 81.22921244, + 80.94977061, + 80.63260396, + 80.32257589, + 80.03666687, + 79.77821096, + 79.55237325, + 79.35680135, + 79.15417226, + 78.92462413, + 78.69876607, + 78.52125804, + 78.39686839, + 78.28669739, + 78.18750509, + 78.1104482, + 78.02359263, + 77.91854604, + 77.79492696, + 77.64031728, + 77.47972361, + 77.34722137, + 77.25111135, + 77.20460765, + 77.23293813, + 77.3215917, + 77.443868, + 77.61894226, + 77.86695862, + 78.17785645, + 78.55879974, + 79.03083801, + 79.5904719, + 80.23558553, + 80.94244385, + 81.64946747, + 82.33453369, + 83.0124588, + 83.67365011, + 84.2612203, + 84.77697754, + 85.26821899, + 85.71703593, + 86.05198161, + 86.25266012, + 86.33501434, + 86.30932109, + 86.15274556, + 85.83074443, + 85.3463796, + 84.76160685, + 84.13875834, + 83.4746933, + 82.78712718, + 82.11796824, + 81.48721059, + 80.92435455, + 80.45325979, + 80.04357656, + 79.66456095, + 79.35851796, + 79.15775045, + 79.06242879, + 79.04129028, + 79.08374532, + 79.17863464, + 79.2724762, + 79.34805806, + 79.43352, + 79.52231598, + 79.6036377, + 79.71852366, + 79.89551799, + 80.12990824, + 80.43575541, + 80.82633464, + 81.25447083, + 81.68111165, + 82.08498128, + 82.4431483, + 82.76098633, + 83.03258006, + 83.21990458, + 83.32958221, + 83.43427785, + 83.57343547, + 83.74570465, + 83.92760213, + 84.05986786, + 84.10118103, + 84.05421956, + 83.90464783, + 83.66016134, + 83.32608032, + 82.96524556, + 82.63155874, + 82.36768595, + 82.23738352, + 82.27172852, + 82.47072347, + 82.81387075, + 83.29547882, + 83.87873586, + 84.52533976, + 85.19757589, + 85.87388611, + 86.51804352, + 87.07685343, + 87.54550425, + 87.92927043, + 88.16147614, + 88.14674123, + 87.86746216, + 87.33161163, + 86.59090678, + 85.68048096, + 84.62583415, + 83.5185496, + 82.45413717, + 81.5109787, + 80.7471873, + 80.18154653, + 79.82970937, + 79.68933105, + 79.7400589, + 79.94226329, + 80.27388, + 80.68473562, + 81.13819631, + 81.59700775, + 82.01116943, + 82.325737, + 82.51915995, + 82.59953054, + 82.54490407, + 82.34646606, + 81.99185944, + 81.51188405, + 80.92659251, + 80.26775614, + 79.59996287, + 78.96613566, + 78.41174825, + 77.99693298, + 77.73019918, + 77.56926473, + 77.50563558, + 77.50480652, + 77.47206116, + 77.37241618, + 77.22864532, + 77.00765483, + 76.6681544, + 76.28500112, + 75.94769033, + 75.67829132, + 75.43493144, + 75.22273254, + 75.10353597, + 75.07898966, + 75.10189565, + 75.17689006, + 75.30347951, + 75.45327504, + 75.59697469, + 75.72088623, + 75.82574463, + 75.92058563, + 75.96787516, + 75.94169617, + 75.87269084, + 75.74702962, + 75.57185364, + 75.40392303, + 75.26784261, + 75.13155365, + 74.97298686, + 74.81186422, + 74.67299398, + 74.53743998, + 74.40529378, + 74.31599681, + 74.26679738, + 74.2515564, + 74.27086639, + 74.30981445, + 74.3730367, + 74.45427704, + 74.51265208, + 74.54331207, + 74.5642039, + 74.57941945, + 74.57469686, + 74.51175435, + 74.40388489, + 74.30332438, + 74.20121257, + 74.07815297, + 73.95694224, + 73.86898549, + 73.82502747, + 73.81499227, + 73.84398651, + 73.92579142, + 74.05843608, + 74.21343486, + 74.39923604, + 74.62986755, + 74.89800517, + 75.17166392, + 75.4303716, + 75.69719442, + 76.01430257, + 76.3691686, + 76.72044118, + 77.03397624, + 77.31273142, + 77.58000183, + 77.838679, + 78.05912781, + 78.21033986, + 78.29970551, + 78.33097076, + 78.31855265, + 78.26402537, + 78.17193858, + 78.04140472, + 77.87120819, + 77.66900126, + 77.47201284, + 77.30325826, + 77.14800771, + 77.00815328, + 76.90145365, + 76.8097051, + 76.72502136, + 76.65736898, + 76.55751292, + 76.39707438, + 76.21641032, + 76.01569112, + 75.80118052, + 75.6010081, + 75.4132843, + 75.26092021, + 75.13771057, + 75.00088501, + 74.89676412, + 74.88847097, + 74.94378408, + 75.00336711, + 75.05841319, + 75.10791016, + 75.18514252, + 75.29902395, + 75.39107005, + 75.4710083, + 75.61118571, + 75.80683899, + 76.05152893, + 76.34383138, + 76.66624705, + 77.01462046, + 77.35783895, + 77.64439392, + 77.86298116, + 78.00895945, + 78.09348551, + 78.14724731, + 78.14442698, + 78.09096273, + 78.04945119, + 78.05776978, + 78.08560689, + 78.06898499, + 77.95974731, + 77.83315277, + 77.76331075, + 77.69371287, + 77.56903076, + 77.41322072, + 77.27104441, + 77.14943441, + 77.05673472, + 77.00640615, + 76.96014913, + 76.87768046, + 76.79712931, + 76.76380157, + 76.74586995, + 76.73126221, + 76.70911916, + 76.66268921, + 76.62352244, + 76.58293152, + 76.52600606, + 76.46334839, + 76.42407481, + 76.44399007, + 76.47430166, + 76.4632899, + 76.4270757, + 76.36816661, + 76.2841212, + 76.16460927, + 75.98328654, + 75.77280172, + 75.58776093, + 75.39168294, + 75.19816589, + 75.04762268, + 74.92519124, + 74.80719757, + 74.65625509, + 74.4898351, + 74.35398356, + 74.21260325, + 74.03688304, + 73.85016886, + 73.67001597, + 73.50798035, + 73.3618571, + 73.2531662, + 73.19980876, + 73.17134857, + 73.17115275, + 73.21690623, + 73.25498708, + 73.27170308, + 73.29236603, + 73.31555939, + 73.35313924, + 73.42908223, + 73.57436625, + 73.78495534, + 74.03184509, + 74.35158285, + 74.79516093, + 75.32506307, + 75.87335968, + 76.34824117, + 76.70468394, + 76.99542236, + 77.25009664, + 77.45652517, + 77.58217621, + 77.62439219, + 77.59472148, + 77.51093292, + 77.37031809, + 77.1976064, + 77.00971985, + 76.81718445, + 76.5895106, + 76.36094157, + 76.23624166, + 76.22119141, + 76.28980001, + 76.41815186, + 76.59213003, + 76.76030223, + 76.84141541, + 76.81229401, + 76.67276001, + 76.43264008, + 76.06102498, + 75.56817627, + 75.03037008, + 74.51576996, + 73.9841512, + 73.46279907, + 73.04388428, + 72.67857869, + 72.31479645, + 72.00582123, + 71.78036499, + 71.589475, + 71.40204366, + 71.25456238, + 71.16218821, + 71.09338888, + 71.08254751, + 71.14211528, + 71.24134064, + 71.35824331, + 71.48469289, + 71.64852905, + 71.85018921, + 72.04217529, + 72.1889801, + 72.32620494, + 72.46160634, + 72.54494476, + 72.58700307, + 72.61888885, + 72.66301219, + 72.72699738, + 72.83601634, + 73.02969615, + 73.27630107, + 73.57314046, + 73.91948954, + 74.25001272, + 74.55956014, + 74.94294993, + 75.33732859, + 75.62662252, + 75.85117086, + 76.04520671, + 76.18596395, + 76.2321345, + 76.20974223, + 76.13876597, + 76.0361201, + 75.92243958, + 75.79926554, + 75.59384918, + 75.34276326, + 75.11399587, + 74.85191091, + 74.50437673, + 74.1640803, + 73.94346364, + 73.79443105, + 73.64894867, + 73.5214564, + 73.43448893, + 73.39046224, + 73.38364665, + 73.40399933, + 73.46148427, + 73.54481506, + 73.65672048, + 73.79542287, + 73.90843964, + 73.99864197, + 74.15798187, + 74.34755961, + 74.47305806, + 74.57373047, + 74.73014832, + 74.95578512, + 75.24112956, + 75.55118815, + 75.8615392, + 76.23699697, + 76.61293284, + 76.91221364, + 77.20002492, + 77.47468821, + 77.65362295, + 77.71248881, + 77.69269562, + 77.62154643, + 77.52399953, + 77.35614014, + 77.14449819, + 76.92867025, + 76.71237437, + 76.4899826, + 76.32748159, + 76.27701569, + 76.26149241, + 76.26265208, + 76.30711873, + 76.43420664, + 76.58607483, + 76.68985494, + 76.76959229, + 76.8579127, + 76.91975403, + 76.91501872, + 76.88313293, + 76.83235423, + 76.76720174, + 76.68388621, + 76.60033162, + 76.56496429, + 76.54757436, + 76.51204427, + 76.48936971, + 76.55209351, + 76.67019145, + 76.75691732, + 76.81222026, + 76.87190501, + 76.98003133, + 77.15546417, + 77.30678813, + 77.38429515, + 77.45108541, + 77.57081858, + 77.70172628, + 77.72242483, + 77.63015493, + 77.57552338, + 77.59950511, + 77.60619609, + 77.60865529, + 77.65386963, + 77.70519002, + 77.69856517, + 77.63326009, + 77.52112579, + 77.34342448, + 77.11679331, + 76.87090556, + 76.61942546, + 76.36064657, + 76.10168711, + 75.86237335, + 75.63148499, + 75.38605245, + 75.12102509, + 74.88069153, + 74.67647552, + 74.42538198, + 74.13970947, + 73.94917552, + 73.85088857, + 73.8123347, + 73.85616557, + 73.97027842, + 74.07264201, + 74.25709279, + 74.48982747, + 74.71240997, + 74.99154663, + 75.29112752, + 75.51331584, + 75.71417745, + 75.92841085, + 76.13232168, + 76.31962331, + 76.43203481, + 76.53791555, + 76.6568044, + 76.74555715, + 76.79369863, + 76.86329142, + 77.01795197, + 77.24336497, + 77.46199799, + 77.61048126, + 77.72742208, + 77.82314046, + 77.86742655, + 77.8716863, + 77.75923411, + 77.58700562, + 77.3715566, + 77.09391022, + 76.75816091, + 76.43482717, + 76.08148193, + 75.69094849, + 75.22393545, + 74.72478485, + 74.22212219, + 73.68529002, + 73.14544932, + 72.65096792, + 72.28754934, + 72.01215871, + 71.81435903, + 71.69643402, + 71.78195953, + 72.02214305, + 72.25774892, + 72.43991089, + 72.76524862, + 73.2527949, + 73.73330688, + 74.13224284, + 74.37197876, + 74.50213623, + 74.61491394, + 74.75049082, + 74.93407949, + 75.037913, + 74.81059265, + 74.38462321, + 74.09470113, + 73.93564606, + 73.74186961, + 73.42597198, + 73.095342, + 72.81453705, + 72.51009369, + 72.2149531, + 71.89887746, + 71.55182139, + 71.39273834, + 71.38967387, + 71.28029378, + 71.12006378, + 71.12112681, + 71.26661936, + 71.27980042, + 71.13040161, + 71.01676432, + 71.07168325, + 71.18465678, + 71.23435974, + 71.26228078, + 71.29829915, + 71.32249959, + 71.3345693, + 71.33071899, + 71.32519786, + 71.38611603, + 71.4471283, + 71.41473134, + 71.37195587, + 71.37244415, + 71.40743001, + 71.46799723, + 71.50718689, + 71.5134023, + 71.55738576, + 71.67448425, + 71.7049764, + 71.61869303, + 71.62587484, + 71.71840922, + 71.78081258, + 71.80913035, + 71.90444438, + 72.0571111, + 72.24359894, + 72.48401133, + 72.90769196, + 73.43056997, + 73.76789602, + 73.915212, + 73.97793579, + 74.11032359, + 74.07646434, + 73.82680511, + 73.55995687, + 73.31284587, + 73.10605367, + 73.04129028, + 73.01396942, + 72.89935811, + 72.828626, + 72.82168325, + 73.25046539, + 73.93260956, + 74.32779694, + 74.57234701, + 75.047966, + 75.59670003, + 75.97609456, + 76.31942749, + 76.64842478, + 76.95013428, + 76.91162872, + 76.68680318, + 76.22479502, + 75.50961558, + 74.99957021, + 74.68280792, + 74.1184845, + 73.28166962, + 72.84033712, + 72.74809774, + 72.5308431, + 72.19575246, + 71.91307576, + 71.73826345, + 71.63098399, + 71.47999318, + 71.0985616, + 70.29538218, + 69.62819672, + 69.62819672 + ], + "Itth_weights": [ + 0.017037299879034403, + 0.01699027495435866, + 0.017000234047492208, + 0.017115192024217823, + 0.017135368411113107, + 0.017084261455056676, + 0.017073929755753232, + 0.017372993870949177, + 0.018245913351805827, + 0.01917006502636542, + 0.019676258162050073, + 0.01999986063697111, + 0.020034886900825548, + 0.0200086967119963, + 0.019684837154876587, + 0.0193340587589473, + 0.01893650837774962, + 0.01859156867541635, + 0.018322554515921883, + 0.01804775277032044, + 0.01780643234772199, + 0.017621088123766906, + 0.017444942141530084, + 0.017248927336859083, + 0.017105831893268753, + 0.016932567201855875, + 0.016784692216350334, + 0.016662079343515195, + 0.016566054380945397, + 0.016486855307242705, + 0.01642360278170988, + 0.016362940894022165, + 0.0163036515290286, + 0.016242669151870413, + 0.01617338046815138, + 0.016135722992859296, + 0.0161125931042789, + 0.016091920906555136, + 0.016052075189478522, + 0.016034395723478378, + 0.016024417741107588, + 0.016002544676006644, + 0.015968427659173515, + 0.01595362633336219, + 0.015944449075119927, + 0.015937328155310928, + 0.015922182407189896, + 0.01591974378800008, + 0.015915213733436042, + 0.015909802052654787, + 0.015898988761370678, + 0.015890873100410256, + 0.015878350295531085, + 0.015871363553222363, + 0.015854643831353585, + 0.015842818560564985, + 0.0158341036813464, + 0.015848692258605898, + 0.015862520305526984, + 0.015876738214612163, + 0.015924448289586498, + 0.015996445776586928, + 0.01599192172296032, + 0.01591411422709639, + 0.01585016192456474, + 0.015835860813655084, + 0.015825375774703023, + 0.015825779583496697, + 0.015824732524215054, + 0.015826480886906708, + 0.015833811980365056, + 0.015852328425896792, + 0.015854356485767145, + 0.015843586167768316, + 0.015831987731664783, + 0.015826852266082485, + 0.015818799881731124, + 0.01580503204295917, + 0.015796056939520124, + 0.01579850890633309, + 0.01579789290766029, + 0.015795439545243588, + 0.01580392579293005, + 0.01580390451555753, + 0.01579968264166538, + 0.01578627917940264, + 0.015784620156097214, + 0.015781053297899535, + 0.01578984332693594, + 0.015789221664133428, + 0.015784366705531343, + 0.01577440944863805, + 0.015767296681848866, + 0.01575152223679615, + 0.015739430952952337, + 0.015734768691745633, + 0.01574556837588827, + 0.015745998072749987, + 0.0157422375147243, + 0.015717898388802814, + 0.015707605317091564, + 0.015696325032918883, + 0.015686013885760502, + 0.015683112550764176, + 0.01568965497210018, + 0.015693245141585124, + 0.015687099619254512, + 0.01567613591787475, + 0.015677605944637258, + 0.01567938540597348, + 0.0156837784346209, + 0.01566792210122842, + 0.01565551902044129, + 0.015651900608537883, + 0.015653494773172162, + 0.015646996787678755, + 0.01564023513593941, + 0.015630046605025885, + 0.015622037402653752, + 0.015613146433359827, + 0.015614116389985045, + 0.015616738572047198, + 0.015616643677933868, + 0.015615450780980476, + 0.015600863002923283, + 0.015593630967494531, + 0.015592323798018342, + 0.01559986962889434, + 0.015579199026799344, + 0.015559816612026305, + 0.015539944667242256, + 0.015528645335590511, + 0.015512800478297246, + 0.015516940518407766, + 0.015512351285215355, + 0.015510701613153653, + 0.015503254310126864, + 0.01550217859339788, + 0.015501763016205412, + 0.015497857682314323, + 0.015487366652243746, + 0.015480560305901373, + 0.015465541445092995, + 0.015459536467655707, + 0.015447296535684203, + 0.015448637767099179, + 0.015441245682792927, + 0.015432568639515788, + 0.015427898422471787, + 0.015423987859095566, + 0.015420711823872873, + 0.015425040043349962, + 0.015427852418093762, + 0.015421302085757956, + 0.01540602067327967, + 0.015397546556902512, + 0.015396117124972597, + 0.015383612041770925, + 0.015376214698531128, + 0.015369786831821641, + 0.015365757956735858, + 0.015347474423315318, + 0.015323073189037292, + 0.015307609705098518, + 0.01530202743282108, + 0.01529526637068806, + 0.015289550410300796, + 0.015287580461648905, + 0.015291398366173844, + 0.015290772224516356, + 0.015280497838399538, + 0.015270659483721456, + 0.01526618156230363, + 0.015264533461222606, + 0.015255609912671763, + 0.015245914702218932, + 0.015243341398084774, + 0.015237155196752297, + 0.015230330394432732, + 0.015211482452269167, + 0.01519701204677099, + 0.015185364746836563, + 0.01517704194495974, + 0.015162517099193189, + 0.015149688007325182, + 0.015142725549586839, + 0.015147410240061089, + 0.01515257077602086, + 0.0151652661348012, + 0.015173437255468682, + 0.015180538169217718, + 0.015178013836451962, + 0.015161322126388255, + 0.015147138330813955, + 0.015134278153444225, + 0.015128467666818409, + 0.01512313740449126, + 0.015112290665293984, + 0.015090208875558146, + 0.015069435963753085, + 0.015062555711178163, + 0.015063966577717148, + 0.015066732524559867, + 0.015068194987434932, + 0.01506416509945935, + 0.015058021957952448, + 0.01505053973727115, + 0.015048693670591766, + 0.015044315029308291, + 0.015042419848857957, + 0.015033505154145166, + 0.015021542353330747, + 0.015006567205454239, + 0.014997575962043982, + 0.014988612052758254, + 0.01497600128591375, + 0.014965521709000383, + 0.014963724908896593, + 0.014969346256993286, + 0.014959714845515146, + 0.014947581626433861, + 0.014936022904320627, + 0.014920132350991542, + 0.014899767710058638, + 0.01488346629143067, + 0.014881164244884943, + 0.014876899422080809, + 0.014868503045304642, + 0.0148607838933888, + 0.014850412168006928, + 0.014841105668605572, + 0.014830086818447004, + 0.014812275049468967, + 0.014799569775796235, + 0.014781106064476081, + 0.014770701515158727, + 0.014761101186042713, + 0.014744716790705534, + 0.01472998529431771, + 0.014720289015375341, + 0.014703628859646057, + 0.014684511879148073, + 0.01466467610113031, + 0.014650153153111268, + 0.014634691538692563, + 0.014629075935143286, + 0.014616381323516994, + 0.014599710927709194, + 0.014579275253420999, + 0.01455915114259953, + 0.014538326711551728, + 0.014522633999470012, + 0.014505489543915716, + 0.014484755802294967, + 0.014471419778550501, + 0.014466481712466511, + 0.014453084740029138, + 0.014437792224939166, + 0.014424039832448719, + 0.014404993917990454, + 0.0143822781255978, + 0.01436315863758958, + 0.014347590835311012, + 0.014323560063639785, + 0.014299527490360276, + 0.01427459959509393, + 0.014255445226398888, + 0.014237322085573633, + 0.014215031930041401, + 0.014177986780465262, + 0.014146721872285205, + 0.014119515109210447, + 0.014093816482465842, + 0.014061908430453109, + 0.014029641941976891, + 0.01400691255029214, + 0.013985306636588125, + 0.01395970276167765, + 0.01392941037750704, + 0.013901714985708693, + 0.0138819742697929, + 0.013865273182013202, + 0.013853458568547077, + 0.013839957471283266, + 0.013821600763724821, + 0.013802790233134646, + 0.01378770746826005, + 0.013771829887997281, + 0.013754364392895341, + 0.013746185956095901, + 0.013737584795631958, + 0.013721074469131149, + 0.013700413281433487, + 0.013683422609779653, + 0.013672084027205439, + 0.013657557692643079, + 0.013645119256000112, + 0.013632022411629387, + 0.013614855293322617, + 0.013592725353793304, + 0.013569931029897356, + 0.013553411746640365, + 0.013537195010492392, + 0.01351557257446666, + 0.013499038387023638, + 0.013481183765695464, + 0.01346302966838814, + 0.013446279767030599, + 0.013429689368750717, + 0.013410104306650333, + 0.013389124074551074, + 0.013365725657759422, + 0.013340025239602555, + 0.013313015672689393, + 0.013286717280811995, + 0.013258388049794824, + 0.013233293437313559, + 0.013211951841112233, + 0.013190578969551742, + 0.013169457733869721, + 0.01314543173462902, + 0.013116307526737432, + 0.013081524019886326, + 0.013049122272340978, + 0.013019670922534053, + 0.012995334858539822, + 0.01297061638276769, + 0.012941438293546171, + 0.012908543538426104, + 0.01287531725216251, + 0.01283916153309687, + 0.012804713817941462, + 0.01277101743912877, + 0.012737167452688901, + 0.012698284754526716, + 0.012660866473640777, + 0.012622637156243654, + 0.012581795542455547, + 0.012537247133178409, + 0.01248485732878849, + 0.01243628914565076, + 0.012393727793541323, + 0.012341480649367385, + 0.012279894501697324, + 0.012205856871348182, + 0.012117045900429746, + 0.012010407578812868, + 0.011893157214659637, + 0.011745022472425072, + 0.011555706909225848, + 0.011311242731008858, + 0.010972302008200154, + 0.010512936079747726, + 0.00991929098266602, + 0.009109176403883817, + 0.008078859112680765, + 0.006886436150215452, + 0.005563260927541133, + 0.004267342699688889, + 0.0032103543332300715, + 0.002422938173364002, + 0.0018736705676130011, + 0.0015514388528521032, + 0.0013990389406337638, + 0.0013737245772714752, + 0.0014733820457971448, + 0.001711068687915153, + 0.002148362358844569, + 0.0028083866612489015, + 0.0036899504702915045, + 0.0048233219864653055, + 0.0061359525065161164, + 0.007369189465477071, + 0.008427078083243498, + 0.009272068269578498, + 0.009856655172430746, + 0.010260873395360522, + 0.010545264537580314, + 0.01073191492821854, + 0.010854680486644399, + 0.010938787096317345, + 0.010992966381532927, + 0.01102994111631632, + 0.01105357041651047, + 0.011068515262036501, + 0.011068573836573187, + 0.011053022948688797, + 0.011022727619554893, + 0.010981308072025952, + 0.010926177611701931, + 0.010856214271041291, + 0.010756939578282866, + 0.010628271229102919, + 0.01047979936986662, + 0.010303850061354607, + 0.01009034779255481, + 0.009845179336980927, + 0.009557299915622004, + 0.009203287743491547, + 0.008782583942473925, + 0.008254843261641113, + 0.00756303325931229, + 0.006707452871198184, + 0.005686254224850141, + 0.00455149430060227, + 0.0035356435192637477, + 0.0027316440641039492, + 0.002133876990381141, + 0.0017674500089242728, + 0.001582189551795781, + 0.001536183093817824, + 0.001622245249209089, + 0.0018470415694088443, + 0.0022667378926759484, + 0.0028997905893607527, + 0.0037251636807194496, + 0.004746585959025175, + 0.005872966452506572, + 0.00686336014433183, + 0.00760357692377559, + 0.008075335957785973, + 0.008274228420142792, + 0.008232462725870077, + 0.008009915757947385, + 0.007633876476158325, + 0.007071293905459941, + 0.006353931925311236, + 0.005525778802985441, + 0.004558744581213892, + 0.003594563617427401, + 0.002760254137467365, + 0.0020814460188845595, + 0.0015955958023843326, + 0.0012926897699143038, + 0.0011226704793087243, + 0.0010524154585645567, + 0.0010745000706578244, + 0.001195193373450445, + 0.0014403866819335644, + 0.0018201936622189645, + 0.002372927767616176, + 0.0031558121579003157, + 0.004144720760877751, + 0.005220610407357032, + 0.006310833793928537, + 0.007330627449929827, + 0.008140663618158335, + 0.008794492939388701, + 0.009313457253359378, + 0.009697051720157529, + 0.009996987296911517, + 0.010236157442535797, + 0.010414958280446987, + 0.010562332403477872, + 0.010682622791552696, + 0.010776939395931742, + 0.010858017128426036, + 0.010923656471318481, + 0.010976292869432296, + 0.011020309054252417, + 0.01105610214928955, + 0.011082080860260924, + 0.011100566504146361, + 0.0111111020061803, + 0.011116858105546277, + 0.011116355575463298, + 0.011108174413419637, + 0.011088735887748119, + 0.011061168784914685, + 0.011029187788258416, + 0.010997419795045415, + 0.010958176637973185, + 0.010907517639287666, + 0.010849909583694398, + 0.010784741505751202, + 0.010714413294631388, + 0.010638016108639934, + 0.010554470730054638, + 0.010468722782187705, + 0.010387035520665652, + 0.010311957051453718, + 0.010235070107941677, + 0.0101577080159822, + 0.010077125570777161, + 0.009986447733317628, + 0.009882985885915335, + 0.009757122304411482, + 0.00958052272280639, + 0.009347831741094156, + 0.00903032266781784, + 0.008567298544589498, + 0.00794526059448403, + 0.007154270916949374, + 0.006143846211975823, + 0.005054205173104451, + 0.00401120177384995, + 0.003060548193809524, + 0.002336056332245475, + 0.0018359542459064951, + 0.0014978251640777333, + 0.0013010731497645415, + 0.0012194102968255164, + 0.001240051983688962, + 0.001360431434348878, + 0.0015921403102241952, + 0.00198723804396498, + 0.0025890481765867657, + 0.0034086854486682448, + 0.004459910484161736, + 0.005699892187588052, + 0.00699136850028543, + 0.008133617738952898, + 0.009081018883896678, + 0.009815229336378706, + 0.0103283580274536, + 0.010706003037594758, + 0.010978314216678418, + 0.011169107120537536, + 0.011316606542682855, + 0.01143599180712693, + 0.011531785844851355, + 0.011612898652871727, + 0.01168012123113656, + 0.011733943711682505, + 0.011785427390992854, + 0.01183502549500186, + 0.011875179785768766, + 0.011910395789954455, + 0.011937007948288378, + 0.011967305750077721, + 0.011997861709411795, + 0.012025855515278577, + 0.012048146995383676, + 0.012065317227004504, + 0.012085340917687227, + 0.01210447758411626, + 0.012124389322577785, + 0.012138709052130568, + 0.012151138311388856, + 0.012158419366264186, + 0.01216640815673222, + 0.012174574812924333, + 0.012182667136670227, + 0.012194774001599561, + 0.01221527369529843, + 0.012241367657174885, + 0.012266451295193354, + 0.012287936256808423, + 0.01230818118561929, + 0.01232134232291241, + 0.01233712566332297, + 0.012351983661523298, + 0.01237001046404544, + 0.01238310495507415, + 0.012392020166594185, + 0.012398971178851005, + 0.012404756670583685, + 0.012411571153336664, + 0.012417980554741867, + 0.012426606759586085, + 0.012435688569197093, + 0.012447265090530239, + 0.012457039298016706, + 0.012467056541761494, + 0.012474590638870213, + 0.012482986986967412, + 0.012487867142627451, + 0.01249103355357734, + 0.012493143665934271, + 0.012494131301936077, + 0.01249827170461844, + 0.012501663191579554, + 0.012508292927852015, + 0.012514793079873082, + 0.012516240291136758, + 0.012512974681549594, + 0.01250698877556778, + 0.01250005563149759, + 0.012491959740615342, + 0.012480962307675057, + 0.01247357601710449, + 0.01246863466944657, + 0.012467538396510831, + 0.012460642197163209, + 0.01245169385912647, + 0.012439116213918758, + 0.012424025215988434, + 0.012399332443896731, + 0.012370475118101494, + 0.012336713439881734, + 0.012304775639708727, + 0.01227418195549153, + 0.012248875560542246, + 0.012223267105937264, + 0.012192501092817528, + 0.012154193345447198, + 0.012114335324053347, + 0.012071995037887561, + 0.012017130498357785, + 0.011950576953981528, + 0.011868019351848514, + 0.011772571789904753, + 0.011668108059170174, + 0.011551750957113392, + 0.011411201437286283, + 0.011241302317603143, + 0.011030999353432755, + 0.010761284760732116, + 0.010425271739172506, + 0.009996976876204124, + 0.00941590097514866, + 0.00867411336534931, + 0.007752616426176205, + 0.006610236950685279, + 0.005414104446023752, + 0.004305002206841209, + 0.0033539891535813646, + 0.0026763300302009127, + 0.002246766775875019, + 0.0020088527745211787, + 0.0019405748309554644, + 0.0020290034970324292, + 0.0022983933925120586, + 0.0027569065973142063, + 0.003416450963500435, + 0.00433388056451566, + 0.005484649492577274, + 0.006739246933712363, + 0.007974153922873647, + 0.009092803383065227, + 0.009997254934745233, + 0.01066262392853911, + 0.011161849283839979, + 0.011532921602427127, + 0.011802730016987862, + 0.012015472193776825, + 0.012184037793263295, + 0.012316658554679272, + 0.012423626399630936, + 0.012511098295031164, + 0.01258757282510205, + 0.01265833583331985, + 0.012715012228414433, + 0.012762899099366228, + 0.012806018245030524, + 0.01284984795752143, + 0.012893203761122367, + 0.012934069715881317, + 0.012967902251777835, + 0.012996136318591698, + 0.013025908345950642, + 0.013058026518768058, + 0.013087806488459317, + 0.0131132027866937, + 0.013136649302350669, + 0.013159648656546579, + 0.013182147539811706, + 0.013203334357753203, + 0.013223562056906144, + 0.01324755564369737, + 0.01326524298963824, + 0.013279118102428098, + 0.013293987167372418, + 0.013309801802506209, + 0.013323917516242062, + 0.013335484378968825, + 0.013342636151934855, + 0.013348848871241646, + 0.013350558883031795, + 0.013355664781256906, + 0.013360498574184893, + 0.013367411820918839, + 0.013373563492669526, + 0.01338531608284839, + 0.01339906833182704, + 0.013417189402121187, + 0.013435721300867143, + 0.013457105374009917, + 0.013475359395489082, + 0.013492624001471833, + 0.013510630116826483, + 0.01353131191000589, + 0.013544116026369896, + 0.013551781552525614, + 0.013562626675009435, + 0.01357743922017311, + 0.01358660658354932, + 0.013585602969287425, + 0.013581826901923963, + 0.01358257378319822, + 0.013588464457272067, + 0.013591908290310305, + 0.013595048340690339, + 0.013593805681311327, + 0.01359077988141263, + 0.013579971779495957, + 0.013565852427400405, + 0.013542560827787884, + 0.013510388728567592, + 0.013472051906539924, + 0.013430122826438651, + 0.01338289476961523, + 0.013337755553327038, + 0.013296748697969533, + 0.013274446522177926, + 0.013265382164898629, + 0.013275266196786085, + 0.013305536315188252, + 0.013353713104368057, + 0.013410651300820725, + 0.013466008068379038, + 0.01351892517579902, + 0.0135633644296073, + 0.013600388625882436, + 0.013632778605983466, + 0.01365805816797286, + 0.0136764022906354, + 0.013686109665781515, + 0.01369242997586084, + 0.013696888487553377, + 0.013702577924769048, + 0.013706484510258063, + 0.01369909401458187, + 0.013688053938355822, + 0.013672194314365248, + 0.013654519095208859, + 0.013630109613596396, + 0.013603581540065001, + 0.013562909696610293, + 0.013521262059110643, + 0.013472795533814301, + 0.013423060725949674, + 0.013362484930457618, + 0.013292818255370587, + 0.013225042179113045, + 0.013160977068842363, + 0.013089614103114022, + 0.013020253782849588, + 0.012956112295743451, + 0.01289755708880195, + 0.012834764162532418, + 0.012759005051382602, + 0.012650771955512933, + 0.012503563784505204, + 0.012299618527761848, + 0.01199410689947476, + 0.011553369267637587, + 0.010932767329041838, + 0.010033635808492352, + 0.00886585363899711, + 0.007514810665109924, + 0.006069561381704018, + 0.004801454151349513, + 0.003845224924702773, + 0.0031814607417248444, + 0.0027910790295164016, + 0.0026401320646206616, + 0.0027021216784045613, + 0.0029710870290359753, + 0.0034536861786549724, + 0.004191599289505981, + 0.0052045558712901525, + 0.0064312981468395486, + 0.007765255222635191, + 0.009103107246343637, + 0.010312997761864562, + 0.011248817055978457, + 0.011954576404047172, + 0.012474099928085779, + 0.012825542536247143, + 0.013074123775074753, + 0.013256467381074125, + 0.013387970737943419, + 0.013489611604306295, + 0.013572031211493772, + 0.013647643971177827, + 0.013718019988848747, + 0.01378104099623269, + 0.013827879585083367, + 0.01386818278478092, + 0.013900031379918541, + 0.013929355605424637, + 0.013953772097710655, + 0.013967929914231037, + 0.013976627281177175, + 0.013985642394341686, + 0.013994488844902262, + 0.01399506960835183, + 0.013992039807662194, + 0.013994820560574371, + 0.014003453712959383, + 0.014008773866540002, + 0.01400778925309757, + 0.014004534477522063, + 0.013999968669190116, + 0.013988256389594817, + 0.013969534721805904, + 0.013942245216503607, + 0.013909899989880523, + 0.013878120822175174, + 0.01385062636810895, + 0.013825330526379792, + 0.013806917553043646, + 0.013794460240942214, + 0.01379251078123397, + 0.013791987826745785, + 0.013790966702525803, + 0.013787846703350603, + 0.013784064657198792, + 0.013781649099606495, + 0.013778512554621022, + 0.013775461408656285, + 0.013770063308073987, + 0.013764173161114213, + 0.013758517679362882, + 0.013747447018150637, + 0.013726703517166282, + 0.013697933901028981, + 0.013668460237143904, + 0.013632695420702317, + 0.013591604325959964, + 0.013536513691119696, + 0.013462338739584913, + 0.013371062315461398, + 0.013258502047252594, + 0.013105804669443478, + 0.01290554949809786, + 0.012641913529102617, + 0.012270258356028489, + 0.011793374805078628, + 0.011196505192914418, + 0.01044701300421843, + 0.009605427207456729, + 0.008740006413701632, + 0.007874178471339683, + 0.00711571594301556, + 0.006527337691969473, + 0.006105136229014983, + 0.005870379589271007, + 0.005830969331202741, + 0.005982171602572359, + 0.006297342654985124, + 0.00672362225292584, + 0.0072010948442057555, + 0.007588393565215451, + 0.00770650586467994, + 0.007419046907195016, + 0.006739316236002455, + 0.0058574914238722535, + 0.004965657535820854, + 0.004239797593460326, + 0.0037699541053979315, + 0.003549280512791672, + 0.0035582143066745318, + 0.0037960026976555854, + 0.004276574807429549, + 0.0050179677281543015, + 0.005966463406666553, + 0.007059628778410419, + 0.008240353536309676, + 0.0093857232063615, + 0.010331992129582678, + 0.011071977511690532, + 0.01162443132584488, + 0.011986929535463561, + 0.012223416813352, + 0.012371022317684137, + 0.012446849415394836, + 0.012468753677347181, + 0.012439664388737013, + 0.012359050248974528, + 0.012216775815379447, + 0.012011325131579499, + 0.011720927604126496, + 0.01129409104721559, + 0.010719700453973184, + 0.009990251009556224, + 0.009065909686706666, + 0.008027012615230953, + 0.006976677094263366, + 0.005957070298549267, + 0.00510135415193446, + 0.004461305344428669, + 0.004011756048158351, + 0.0037466917162217108, + 0.003641029405691335, + 0.0036558883216590734, + 0.0037296833953628494, + 0.0037887024487774125, + 0.003778075860810039, + 0.003687940591107815, + 0.0035596680743179127, + 0.003457377805548319, + 0.0034369964572274333, + 0.003527523810971096, + 0.003743050460496553, + 0.0040727318888534175, + 0.0044647620954319095, + 0.004872971317899874, + 0.005255333318023706, + 0.005588002007639705, + 0.005907889888355031, + 0.006298209090785762, + 0.006827593370124995, + 0.007531977228882357, + 0.008432697470272404, + 0.009419754289686375, + 0.01039243043202417, + 0.011300976589995917, + 0.01206557267612458, + 0.01263804136059632, + 0.013051359756855965, + 0.013346873816901826, + 0.013539751275343155, + 0.013672654978767917, + 0.013765971000449661, + 0.01383189736444231, + 0.013879454220003832, + 0.013921949617216677, + 0.013960691034147472, + 0.01399368352469353, + 0.014017431242895811, + 0.014033608053088086, + 0.014047910859352506, + 0.01405833140731616, + 0.014069772712560925, + 0.01408271532416808, + 0.014094216073267293, + 0.01410035219586168, + 0.014109459836597314, + 0.014115578840890451, + 0.014122804786884009, + 0.014127752077433773, + 0.014131945017951161, + 0.014135803523911066, + 0.014135189678656495, + 0.014131439173879965, + 0.014126865369647362, + 0.014119988662592323, + 0.014109976258874243, + 0.014099147394356689, + 0.01408883941593554, + 0.01407168753473467, + 0.014049640016983389, + 0.014023676223895458, + 0.013994220394533938, + 0.013962556447894769, + 0.013928565167034702, + 0.013896454703638686, + 0.013865012109442304, + 0.013828309949659136, + 0.013791239019232933, + 0.013760335229374924, + 0.013738374346862679, + 0.013721416332590695, + 0.013709698282530451, + 0.0137031156097302, + 0.013696804994566459, + 0.013691533663168925, + 0.013683437371486097, + 0.01367108865954034, + 0.013651133035469035, + 0.013633207783005167, + 0.013613589215445317, + 0.01359648679996874, + 0.013581386409505508, + 0.013566296591141915, + 0.013552636770855522, + 0.01353858582734504, + 0.013525835427123975, + 0.013514059222182254, + 0.013498720488276883, + 0.013477982440935154, + 0.01344904973912687, + 0.013415828907382285, + 0.013376697651379863, + 0.013328432429632223, + 0.013273656520440874, + 0.013206183869287296, + 0.013117908149271875, + 0.013002234263628936, + 0.01283926340424283, + 0.012620382218126945, + 0.0123294179819469, + 0.01191597506568824, + 0.011350736683497478, + 0.010619411093808095, + 0.009679450184045325, + 0.008570776354448586, + 0.0074185584101581865, + 0.00630952850862028, + 0.005360215254803789, + 0.004655259062491218, + 0.004190776684778126, + 0.003941701045001656, + 0.003908970501616251, + 0.00408750607713185, + 0.004484982228404803, + 0.005085171080646363, + 0.005879839922842171, + 0.0068814362086191995, + 0.007987515769092414, + 0.009070035563375439, + 0.010078419316984924, + 0.010935664919218642, + 0.01157376761035256, + 0.012039116105773755, + 0.012369335337163515, + 0.012586659804110948, + 0.012735479786982019, + 0.012843687350837076, + 0.012913983984938681, + 0.012960721811028296, + 0.012989988733632088, + 0.01300642491911418, + 0.01301040389541568, + 0.013003976601870517, + 0.012991067649382853, + 0.012965415403459963, + 0.012928281631987273, + 0.012881336076693633, + 0.012822765417084919, + 0.012752034582813878, + 0.012669113867583622, + 0.012565790757792286, + 0.01243992373480338, + 0.0122871494988146, + 0.012100576812497803, + 0.011875596531105379, + 0.011601899554325189, + 0.011256098892344243, + 0.010828336813426332, + 0.010308976448420435, + 0.009678809279308608, + 0.008935525241801065, + 0.00810431135126233, + 0.007170606552792041, + 0.006193549948095128, + 0.00525115119336125, + 0.004373282997326513, + 0.0036156781046072155, + 0.0030210282669948783, + 0.0025720792611842245, + 0.0022436262097499087, + 0.0020269003056444714, + 0.0018956386734912296, + 0.0018234517891940062, + 0.001794349682220069, + 0.0017969654272929334, + 0.001824540267035623, + 0.0018732972363988466, + 0.001948110087082535, + 0.0020568346189007826, + 0.002199844544694282, + 0.002376711879176095, + 0.002602580728388329, + 0.0028805368375756975, + 0.0032178165642975007, + 0.0036352023553728897, + 0.004105554309060913, + 0.0045740726380067, + 0.004962486416421651, + 0.005133786087332541, + 0.004972520984319253, + 0.004440801900369942, + 0.0037177338977323897, + 0.0030077908097430714, + 0.0024143499980765343, + 0.0020115463381781555, + 0.0017812714484553918, + 0.0016915248177988209, + 0.001729943598396463, + 0.0018945210599136731, + 0.0022166879686475387, + 0.00271608693835864, + 0.0033961234776177505, + 0.004300959538782922, + 0.005427864667445178, + 0.006694999505552193, + 0.007970849284830401, + 0.009150283450997767, + 0.010143106391018895, + 0.010888806109426346, + 0.011437896900162338, + 0.01183527734091586, + 0.012107426809039146, + 0.012298970681470046, + 0.012432529711802807, + 0.01252003099634655, + 0.012579917375168097, + 0.012617494433061148, + 0.012634316486164154, + 0.012637298891077502, + 0.012629026739112613, + 0.012611097905231794, + 0.012583706081425727, + 0.012552348537143489, + 0.012519637550718849, + 0.012484893402271576, + 0.012436967666271715, + 0.012367589302243326, + 0.01225728745123587, + 0.01208981357551836, + 0.01183142244952202, + 0.011423402305084556, + 0.010829424718704477, + 0.01003270754056189, + 0.009028430270333291, + 0.007985784095581584, + 0.007047273740870577, + 0.006282213005221758, + 0.00578662627933136, + 0.005575729332938063, + 0.0056412079498522885, + 0.005966932218739672, + 0.006530432854067387, + 0.007332507595602368, + 0.00828694717964307, + 0.009281465365384963, + 0.010263960735425126, + 0.011152868691940578, + 0.011872968871550536, + 0.012414515944546746, + 0.012811197703399923, + 0.01308173553024288, + 0.013265158411796811, + 0.013394658753162286, + 0.013486382685914122, + 0.013548292201126692, + 0.013587433337266627, + 0.013614944391102751, + 0.013637552129195258, + 0.013655446133556843, + 0.013665852772570684, + 0.013673065275316037, + 0.01367897571247688, + 0.013681960935418375, + 0.013680835137387442, + 0.013675753495776795, + 0.01367048552117156, + 0.013660815000597355, + 0.013654138832622734, + 0.013648612239721303, + 0.013642410404714877, + 0.013631824869463818, + 0.013619583249330186, + 0.013606032998953748, + 0.013595013087196526, + 0.013582807435440138, + 0.01356548176692599, + 0.013540758383061038, + 0.01350977508672587, + 0.013475544115678643, + 0.01342878126275554, + 0.013375581487822627, + 0.01330791124821974, + 0.01321179957970034, + 0.013078164731162021, + 0.012892581915402714, + 0.012622835706466861, + 0.012241949610537829, + 0.011724458060650587, + 0.011008327046441061, + 0.01012469788406483, + 0.009140856305312552, + 0.008120066026559713, + 0.007231201149813163, + 0.006558685605016253, + 0.006107247728152917, + 0.005874982530570541, + 0.005820009354959653, + 0.005873946941296922, + 0.00593273207358489, + 0.005922014579004048, + 0.005815782498205604, + 0.0056488972786012505, + 0.005490391535681053, + 0.005388418009276455, + 0.005372991943077313, + 0.005451780148695371, + 0.005619353615291925, + 0.005854988439344942, + 0.006143459183593509, + 0.006498613068630832, + 0.006942669268517879, + 0.0074937558702608265, + 0.008177217634648262, + 0.008979811387698584, + 0.009832439247673429, + 0.010666030709563092, + 0.011428871380933516, + 0.012069876214998262, + 0.012564687774680722, + 0.012935921499935452, + 0.013203451843693361, + 0.013376247159283719, + 0.013486470572119515, + 0.013561620052714817, + 0.013605088650030456, + 0.013628612544487297, + 0.013638707714239126, + 0.013639779276410581, + 0.013628389122610851, + 0.013607063646411285, + 0.013573048749804504, + 0.013524794251971102, + 0.013454300317829685, + 0.013352328726484217, + 0.01319040905698481, + 0.012944276858501974, + 0.012576459974972557, + 0.012022640413172407, + 0.011262333966864583, + 0.01031157170571964, + 0.009214122190745836, + 0.008169637659509963, + 0.0073195417334905605, + 0.006714105618569572, + 0.0064098848267676615, + 0.006404241350547453, + 0.006700288979865646, + 0.007251852070261521, + 0.008000525262645341, + 0.008921007646301547, + 0.009897610715644914, + 0.010827024044048467, + 0.01165408514301822, + 0.012334726255114937, + 0.012850335500221582, + 0.013211225631686906, + 0.013468023616645404, + 0.013648197251197496, + 0.01377281634056645, + 0.01385993002808781, + 0.013923708546956085, + 0.013967286903637726, + 0.014003037310043662, + 0.014033516899003732, + 0.014057825289853379, + 0.01407667919525087, + 0.014091150265429432, + 0.01410072839110347, + 0.014112461188240881, + 0.01412279768633888, + 0.01413180382506687, + 0.014138050503837124, + 0.014144732642282888, + 0.014153770353481454, + 0.014162655367754977, + 0.014168383593751955, + 0.014166853233498611, + 0.014164850172182608, + 0.014167350386183959, + 0.014174015804328678, + 0.014177381024601548, + 0.01417956454427116, + 0.014180838362051362, + 0.01418371206970886, + 0.014186431346456167, + 0.014186303904989728, + 0.014186488158910875, + 0.0141834849135604, + 0.01418108896046933, + 0.014177616674709185, + 0.014174702517081039, + 0.0141715786144667, + 0.014165111432219617, + 0.014156726878582167, + 0.01414430168917425, + 0.014131057783775559, + 0.01411723600277854, + 0.014107494736000656, + 0.014097625381051429, + 0.014087518479490784, + 0.014080118342741352, + 0.014078214330286616, + 0.014076280600188331, + 0.014071343603539958, + 0.014063184331249593, + 0.01405502698146411, + 0.014041263208748113, + 0.014025614038079556, + 0.014006417114234894, + 0.013984288516483813, + 0.013962103308040163, + 0.013937583575090956, + 0.013913639163983287, + 0.013885719527406777, + 0.01384944971667751, + 0.013798354517716363, + 0.013733274341998466, + 0.013655090003347302, + 0.013554482095002408, + 0.013409671226693402, + 0.013198710620599215, + 0.012894832425254216, + 0.012455498034435348, + 0.011843252557056172, + 0.011053986490448454, + 0.010110902210445836, + 0.009070506733321916, + 0.008111737065784854, + 0.007343032265201385, + 0.006808782029511814, + 0.006555166466082384, + 0.006574714476406273, + 0.006861703285831144, + 0.007378381561031299, + 0.008089590503064084, + 0.008952861346362268, + 0.009855249272081925, + 0.010707336770502363, + 0.011473236030999999, + 0.012108772756942962, + 0.012583739909754267, + 0.012927584145655221, + 0.01316814965863343, + 0.013326567744066046, + 0.013435901722611544, + 0.013511531220335231, + 0.013561374032525912, + 0.013593128988004683, + 0.013614365050247622, + 0.01362706385530735, + 0.013634424563376149, + 0.013634410381268095, + 0.013627692451492139, + 0.013616254099525446, + 0.013605094299237099, + 0.013593557082085768, + 0.013578395207039183, + 0.013559517947329345, + 0.013541389301492842, + 0.013519183601615534, + 0.01349175596943704, + 0.013459078639172645, + 0.01342369676297712, + 0.013380435631675871, + 0.013328000993835984, + 0.013266978645772334, + 0.013189854222209443, + 0.013087362612284733, + 0.012945095899002473, + 0.012756795077424448, + 0.012513596286715237, + 0.01219350112859498, + 0.011792640198275604, + 0.011314297562398304, + 0.010751726166546707, + 0.010134669901059002, + 0.009508470754908653, + 0.00889149944814362, + 0.008329538732139161, + 0.007859469450018529, + 0.00748905712733696, + 0.0072174462733851545, + 0.007038454243823804, + 0.006923744049410073, + 0.006838140972396126, + 0.006745208206484661, + 0.0066279671168446375, + 0.0064986059800020935, + 0.006400938054296993, + 0.006378421128577189, + 0.006456446407278761, + 0.006637303252564362, + 0.006891136357898631, + 0.007156897080395981, + 0.007342793948149999, + 0.007402690026737448, + 0.00736225982096197, + 0.0072972696106872225, + 0.007276525474023406, + 0.007343962645379342, + 0.007487841227129331, + 0.007648306136378134, + 0.0077368139029436065, + 0.007662254696737433, + 0.00742474285156188, + 0.00710024271644368, + 0.006818629916844312, + 0.0066687956650113706, + 0.006703189722495449, + 0.006938245213410731, + 0.007367178934475738, + 0.007980913970499314, + 0.008689726536043857, + 0.009419557069708494, + 0.010129105549965454, + 0.010756444638264391, + 0.011262902042860217, + 0.011639054340587533, + 0.011899841307631371, + 0.012058223394045088, + 0.01213287025799331, + 0.0121448539194958, + 0.012106324922095256, + 0.012009997457202505, + 0.011847674512766799, + 0.011608339006201882, + 0.011250536037836689, + 0.01074432578126088, + 0.010065486482840535, + 0.009176821710729557, + 0.00814424503150628, + 0.007083964624707528, + 0.006075961196600504, + 0.005233247196842395, + 0.004597500852483664, + 0.004141279891548553, + 0.0038418530937559636, + 0.0036729862999860348, + 0.003613354193148078, + 0.003648055020063873, + 0.003774097766239225, + 0.00401501849886007, + 0.00439084182703832, + 0.004905542580897702, + 0.005572264899516795, + 0.006383464292481136, + 0.00727121485686415, + 0.008162921971625239, + 0.008996902029517317, + 0.009696660985372956, + 0.010187909009067323, + 0.010470500989635211, + 0.010556247866956392, + 0.010452373446402171, + 0.010188532522263873, + 0.009816910828626985, + 0.009367788174900808, + 0.008869604924992886, + 0.008376332005153093, + 0.00791205023445258, + 0.007479518518058368, + 0.007103270229219346, + 0.006788519899186956, + 0.00652260328462073, + 0.006313305288932989, + 0.006157788442763852, + 0.006038354459831867, + 0.005936968089533356, + 0.0058504712533854674, + 0.005789172908828945, + 0.005783680840680016, + 0.005872714715367271, + 0.0060968012323898415, + 0.006463438267684721, + 0.006952017823965937, + 0.007531490769751888, + 0.008103955587603693, + 0.008567820670956646, + 0.008865775878946406, + 0.008983001982499938, + 0.008943981044657488, + 0.00880432010343618, + 0.008653689477217206, + 0.008558816802003032, + 0.008563241122026584, + 0.008690887351845823, + 0.00894506447902315, + 0.00932736140811101, + 0.009795432753450668, + 0.010297973568489056, + 0.010801078030626146, + 0.011261310218792907, + 0.011649991837823491, + 0.011961996349073354, + 0.012200384085488757, + 0.012374869650841924, + 0.012493114690002211, + 0.012572928893716903, + 0.012623574047261173, + 0.012656397676924535, + 0.012673694587544667, + 0.012679552915652299, + 0.012676480245062361, + 0.012670738259820933, + 0.012660201211292197, + 0.012646291570564959, + 0.012632156390096965, + 0.012619144085824176, + 0.012607714703997916, + 0.012600697329192962, + 0.01259644077856465, + 0.012592624238510253, + 0.012592042742111556, + 0.012593590156242621, + 0.012599050476416157, + 0.012604918776185524, + 0.012612798075740674, + 0.01261830705769669, + 0.0126237872163512, + 0.01262737531167257, + 0.01262894764577335, + 0.012626779654626514, + 0.012618153593753617, + 0.012602431855660715, + 0.012578306126871218, + 0.012545358222513448, + 0.012499213268268862, + 0.01243246878456794, + 0.012337373396617727, + 0.01221005406709133, + 0.012031071210142043, + 0.011791832838422996, + 0.011474066644392392, + 0.011044795101910997, + 0.010509188765421205, + 0.009871718819478252, + 0.00913893748077179, + 0.008389943231478653, + 0.007695487017061171, + 0.0070869606421226986, + 0.0066235890368620326, + 0.00631375476771574, + 0.006141253132595266, + 0.006094977335529344, + 0.006162278280216865, + 0.006340459535119467, + 0.006611487762793992, + 0.006966945879841982, + 0.007407588814867801, + 0.007890469489325895, + 0.008353019947227393, + 0.008733534253901595, + 0.008948235924032402, + 0.00893446055910369, + 0.008667380351939263, + 0.008220414719717099, + 0.00770215241348278, + 0.007209489296610944, + 0.006844431769414642, + 0.006656013641398788, + 0.006652819709484004, + 0.006807744446649098, + 0.007063448164873668, + 0.007351194288388562, + 0.007577111118742508, + 0.007669911071135552, + 0.007625920901356056, + 0.007514494146802779, + 0.007420785022022629, + 0.007406509431779923, + 0.007506482954862435, + 0.007716401521533047, + 0.008007093523867977, + 0.00831169762355302, + 0.008547703232000525, + 0.008669251888844095, + 0.008645711256565837, + 0.00847422962779643, + 0.00815984731194486, + 0.007723209244034321, + 0.007210252077172229, + 0.006646382390581065, + 0.006052368651884684, + 0.005470342379357186, + 0.004915301009318089, + 0.004398300213371088, + 0.003951278021617563, + 0.0035805632932491096, + 0.0032851611731707655, + 0.003075954524053688, + 0.002946191721110073, + 0.0028835213314563047, + 0.002874262590158773, + 0.0029018558487863082, + 0.002948970959046232, + 0.003000526154263255, + 0.003063240281475776, + 0.0031550357087422663, + 0.0032916144595190474, + 0.0034869446725271517, + 0.003748101385562573, + 0.004041045568715303, + 0.004330841027622688, + 0.0046117115630791555, + 0.004886650234579424, + 0.005183219075199287, + 0.005551868736262292, + 0.006014484099373302, + 0.006568445343467062, + 0.007201990393689066, + 0.007839503893866688, + 0.008387145460598957, + 0.008748924840579965, + 0.008846581412355631, + 0.008650686047003926, + 0.008194140036466775, + 0.007634793374334554, + 0.007118017246053081, + 0.006728828104196056, + 0.006534833483160771, + 0.006550568178567797, + 0.006780656381448919, + 0.007187565564186937, + 0.0077064705223084794, + 0.008288462507947058, + 0.008829119569079549, + 0.009223912964289966, + 0.009402658716314034, + 0.009354605582948162, + 0.009131865695340856, + 0.008819945976407353, + 0.008543242604617156, + 0.008388117149788897, + 0.008391487152575646, + 0.008548868044177099, + 0.008814609077673223, + 0.009125650851867624, + 0.009381856938009914, + 0.009488819346131069, + 0.00940067695998873, + 0.009142147376207652, + 0.008800741810443657, + 0.008467353210599157, + 0.008234077853385773, + 0.008163016190859363, + 0.008278988714355624, + 0.008565861299030812, + 0.0089764740795409, + 0.009463190588853023, + 0.009962923318612883, + 0.010410883537983756, + 0.010766930788494417, + 0.011009603696571325, + 0.011121836200520367, + 0.011090032195731975, + 0.010926346417161331, + 0.01066302034364212, + 0.010322976027663923, + 0.009940691725737605, + 0.009570848867792485, + 0.009249089847290686, + 0.008999272626230598, + 0.008852298475752116, + 0.008822501938777665, + 0.00892107585302201, + 0.009135201781123179, + 0.009452155003445196, + 0.009852034081379524, + 0.01027862487697073, + 0.010686895640067967, + 0.011041584842450113, + 0.011299294434383668, + 0.011430437499093414, + 0.011414374455302414, + 0.011245079977406813, + 0.010921001820698314, + 0.010450514733242424, + 0.009899166041430721, + 0.009314358902169494, + 0.008727012210408298, + 0.008206194665016986, + 0.00777922400224825, + 0.007447269341881656, + 0.007227971685716751, + 0.007130275790578273, + 0.007164703863300619, + 0.007328491209383372, + 0.0076241427311082525, + 0.00805695700814887, + 0.008582002862225654, + 0.009147144228504933, + 0.009718891512745978, + 0.010227415218527065, + 0.010619081577798482, + 0.010864057189992761, + 0.01095953759488293, + 0.010914981609959268, + 0.010743688750042424, + 0.010491867945471403, + 0.010198672799835457, + 0.009889023615748959, + 0.009601596828510379, + 0.009357287808341776, + 0.009165011674673238, + 0.00903428544128458, + 0.00895792089906583, + 0.008923375671983461, + 0.008897121332780547, + 0.008843691040106752, + 0.008726626790862162, + 0.00854703975831399, + 0.008349700798838027, + 0.008191852887932404, + 0.008136291153710925, + 0.008228219766307252, + 0.00849172168551297, + 0.008914089132968131, + 0.009446633580964885, + 0.010053879390137745, + 0.010680582946742716, + 0.011260960303220274, + 0.011765674991933888, + 0.012184804983225252, + 0.012513022862851143, + 0.012749373119762134, + 0.012912767298466812, + 0.013018200205712661, + 0.013070893415273229, + 0.013083786563539264, + 0.013061511268977087, + 0.013001061070808414, + 0.012888762962982423, + 0.012711461689360222, + 0.012443333634134333, + 0.012068340365142123, + 0.011588374009572149, + 0.011023418878169492, + 0.010407709395167266, + 0.009822068921387294, + 0.009313820141984584, + 0.008905089513752304, + 0.008614786438119247, + 0.008423534174244619, + 0.00828614318855982, + 0.008174680236749323, + 0.008085414694704432, + 0.008038834741800378, + 0.008078035413140795, + 0.008243352997885157, + 0.008564224573036723, + 0.009031359085013879, + 0.009610978478011626, + 0.010271490141865949, + 0.010927277370330498, + 0.011528518156522578, + 0.012058198619261955, + 0.01249701134286161, + 0.012835483091278391, + 0.013086863015476992, + 0.013270407432268979, + 0.013398159797158336, + 0.013486247159336636, + 0.013544339493077895, + 0.013584670841806213, + 0.013614937790197379, + 0.013641648881777324, + 0.013662765859480997, + 0.013681215460261504, + 0.013695526492418484, + 0.013706007232033376, + 0.013716077720623688, + 0.01372498921378832, + 0.013731855708724065, + 0.013735232039213653, + 0.013737756617143092, + 0.0137410162856964, + 0.01374925395396546, + 0.013755177046129293, + 0.013757836522842107, + 0.013755924347678004, + 0.013757595365992942, + 0.013760963658531676, + 0.013763690411491464, + 0.013762883978293783, + 0.013761801655262567, + 0.013760773439220858, + 0.013761059011601786, + 0.013756690021082912, + 0.013750541064712024, + 0.013744021445333227, + 0.013740914006974036, + 0.013739136627477425, + 0.013738566829599135, + 0.013735587085018205, + 0.013732718938574107, + 0.01373025518045027, + 0.013728045360822496, + 0.013724541305781442, + 0.013719970468487979, + 0.01371833298562115, + 0.013714830538201586, + 0.013707477870806044, + 0.013698563325527586, + 0.01368852043521552, + 0.013677688641984528, + 0.013667016960055995, + 0.01365662846897851, + 0.013641839136367915, + 0.013623566313338576, + 0.013599483157191198, + 0.013568232718228887, + 0.01352476029294731, + 0.013465062307185778, + 0.013383655463876437, + 0.013276450850535672, + 0.013128955992238676, + 0.012928883970775332, + 0.012665604822212812, + 0.012327965337922403, + 0.011908093128603648, + 0.011432928424824079, + 0.010934452183249642, + 0.010458446998925142, + 0.010071657748971959, + 0.009817143910173472, + 0.00971752967829257, + 0.00978066847903751, + 0.009999643211730242, + 0.010353289250254916, + 0.010782250318741407, + 0.01124057639561629, + 0.011691060653560072, + 0.012082516047531125, + 0.012396884158705669, + 0.012625111789936099, + 0.012767016463218251, + 0.012814441692900184, + 0.01276000949815296, + 0.012604567252011482, + 0.012335842251825008, + 0.01193677277103871, + 0.011427271485674746, + 0.010838843267798949, + 0.010212357753428374, + 0.009634557152518196, + 0.009150486804113634, + 0.00877746985709371, + 0.008543727831465512, + 0.008455253616956072, + 0.008512009161656595, + 0.00870153814476713, + 0.0090136675289933, + 0.009442123590399297, + 0.009931377028089147, + 0.010435308206677095, + 0.010918267818404676, + 0.011327998175006931, + 0.01163578308677985, + 0.01183790152713021, + 0.011941464303787421, + 0.011956420437708469, + 0.011898458234738552, + 0.01179550132743151, + 0.011664448128291788, + 0.011514358189689477, + 0.01136299207940296, + 0.011217455156033928, + 0.011070483764154716, + 0.010913167966257745, + 0.010728461253129035, + 0.010487363588308133, + 0.010170243780778005, + 0.00976507433849402, + 0.009275567550101964, + 0.00876059725658093, + 0.0082797588891786, + 0.007869771548012964, + 0.007571078793028694, + 0.007393096452599645, + 0.007327272541455761, + 0.007349321581552546, + 0.007432533225819023, + 0.00756360963825155, + 0.007713216242805309, + 0.007867215921895265, + 0.008019891949084871, + 0.008161089872015725, + 0.008285885469645997, + 0.008397140749021717, + 0.008501206778351734, + 0.008602376740553253, + 0.008698516423670206, + 0.00878302120787798, + 0.008840751471775198, + 0.008857678531047476, + 0.00883250571248865, + 0.00877607405686372, + 0.008709744212107429, + 0.008661525413556732, + 0.008649410752811929, + 0.008671599235800543, + 0.008697807399070473, + 0.008683574243354501, + 0.00859704493642006, + 0.00843051309069228, + 0.008213805085505252, + 0.007986866648229689, + 0.007794144021158449, + 0.007668405430667432, + 0.0076150784811694055, + 0.007629406307260055, + 0.007701590325523101, + 0.007823849573252748, + 0.00798483381935948, + 0.008167133800054339, + 0.008358275706160176, + 0.008538909938298095, + 0.008691536460827534, + 0.008828524871832348, + 0.008973792708020638, + 0.00915740150185599, + 0.009411088933008991, + 0.009752361602506676, + 0.010168123283797145, + 0.01063119848014107, + 0.011107143987302693, + 0.011543136209836881, + 0.011917426866415932, + 0.012226141455319117, + 0.012468128217886199, + 0.012636971955792747, + 0.012742711721960585, + 0.012797510484928354, + 0.012803096999105534, + 0.012763671317395834, + 0.01268811371864433, + 0.012568625997226572, + 0.012391915505649774, + 0.01215072077698369, + 0.011835224620177727, + 0.011424458723966038, + 0.010928381906605299, + 0.010359052490273761, + 0.009735863307299178, + 0.009122971068602199, + 0.008561152061199378, + 0.008072517822880423, + 0.00768797176612173, + 0.00740490014935517, + 0.007206007410349172, + 0.007080430525892497, + 0.0070255733326855295, + 0.007041969000783464, + 0.0071313190944040225, + 0.00729970964978565, + 0.00754681985474702, + 0.007841253384858745, + 0.00814192900232292, + 0.008408189260393504, + 0.008592424150019231, + 0.008664602054082999, + 0.008617197477208688, + 0.008467355945805126, + 0.008235858692542904, + 0.007945267818763467, + 0.007641575412456193, + 0.007353941460669531, + 0.007095535220261862, + 0.0068879949342930055, + 0.006742871272655633, + 0.006672147605067923, + 0.0066838888219803395, + 0.006781452041650741, + 0.006962266722654967, + 0.007197180782239735, + 0.0074549600901950746, + 0.007703386095993721, + 0.007890944836935114, + 0.007982287998985763, + 0.007946986299690055, + 0.007776113830165783, + 0.0074708523219298864, + 0.00704239629430493, + 0.0065513007117558655, + 0.006059965324679646, + 0.005620073559782767, + 0.005295098282347547, + 0.005111471828700356, + 0.005076936866141358, + 0.005184827354670958, + 0.005425904288499779, + 0.005792949777842146, + 0.006238316918674292, + 0.006723371403135482, + 0.0072341931308282075, + 0.007744804195520719, + 0.008233937847331702, + 0.008674688205790254, + 0.00903012420538519, + 0.009251725175114507, + 0.009287115140762138, + 0.009135563858268225, + 0.008837797171793798, + 0.008462134971427667, + 0.008110068873760751, + 0.007855604678068236, + 0.007737199666352701, + 0.007777309944931935, + 0.007971351334450105, + 0.008319155342820773, + 0.008787277255213704, + 0.009329267880454436, + 0.009914741733885834, + 0.010487758547582422, + 0.010994741780685761, + 0.011389858080672364, + 0.011643623672660698, + 0.011749992447809854, + 0.011698307684849302, + 0.011520223204048092, + 0.011268147764388756, + 0.010984159347386824, + 0.010730448565106616, + 0.010556276490066034, + 0.010485009552432435, + 0.010520410304435032, + 0.010647752060102393, + 0.010852578603291266, + 0.011098930634082462, + 0.011352264089890986, + 0.011602532872792436, + 0.011840770758281762, + 0.012060268585792252, + 0.01226084147000026, + 0.012442549293991573, + 0.012605600466622924, + 0.012745154761277048, + 0.01286474038282754, + 0.01295856226665372, + 0.013028776752891017, + 0.01307050977140168, + 0.013085211175196398, + 0.013070968148144069, + 0.013023761534488705, + 0.012943311360311932, + 0.012825335046189492, + 0.012677878437715326, + 0.012507155459329468, + 0.012314326105641253, + 0.01210005960514772, + 0.011871574833929971, + 0.011632335072614847, + 0.01137908953445841, + 0.011112924251380272, + 0.010831031626740697, + 0.01053290556657673, + 0.010236743968807138, + 0.00996855419280822, + 0.009753636926773761, + 0.009623620632067493, + 0.009598383085257395, + 0.009672223360631626, + 0.009817407152751246, + 0.00999102318156723, + 0.010137856083648724, + 0.010194704714901835, + 0.010131711789227558, + 0.009955012617060641, + 0.009718880943980272, + 0.009475251467088457, + 0.009271129978028732, + 0.00915095401824809, + 0.009120739011774808, + 0.00916827283659672, + 0.009259552304370276, + 0.00935301865451686, + 0.00940409992543761, + 0.009373130426617795, + 0.0092461229294175, + 0.009032987924229227, + 0.008784056968786437, + 0.008548438542959457, + 0.008376568793519527, + 0.008315654475056092, + 0.008390494988648241, + 0.008611947631496038, + 0.008962344913888606, + 0.009422561842575304, + 0.009964097513301535, + 0.010513029677093754, + 0.011017863146382562, + 0.011445324067131822, + 0.011751695229396172, + 0.01190913289395942, + 0.01190293989482889, + 0.011758289076904831, + 0.01149855519412142, + 0.011166254158513484, + 0.010837424602458838, + 0.010566103239788075, + 0.010376364890292812, + 0.010294539343333676, + 0.010316930719028882, + 0.010433011251402006, + 0.01060898176716852, + 0.010820364627778642, + 0.011055639600337392, + 0.011291194636576499, + 0.011522787187221715, + 0.011755594629903398, + 0.011985633553142347, + 0.01221096825129633, + 0.01242832825448042, + 0.012634402547486717, + 0.012822926407616068, + 0.012994826372765021, + 0.013144839370588027, + 0.013268379855017451, + 0.013364666287368708, + 0.013437374200772447, + 0.013494407168999458, + 0.013534206003137483, + 0.013559395442167029, + 0.013571438654813615, + 0.013575735278245911, + 0.013570960430679492, + 0.013553832204404693, + 0.013519395554054516, + 0.013463298869163219, + 0.013379990806313958, + 0.013260891522947514, + 0.013097702856044677, + 0.012879308787115157, + 0.012606314159164625, + 0.01230925115277328, + 0.012027237831983922, + 0.011793357825766284, + 0.011648957140764549, + 0.011609431280975531, + 0.011676515826059157, + 0.011834293170465894, + 0.012054804330186252, + 0.012309498539119794, + 0.012556907348460067, + 0.012778352091086763, + 0.0129713998217959, + 0.013124260226382327, + 0.013235670714521603, + 0.013310417238752838, + 0.013348537101735811, + 0.013353169839237856, + 0.013315903258056526, + 0.01323487641073951, + 0.013102562129072994, + 0.012910433799927998, + 0.012661493890066532, + 0.012365634156749775, + 0.012046627742875229, + 0.011753533762719016, + 0.011532994327823355, + 0.011412501701437094, + 0.011401922404662661, + 0.011493656181063135, + 0.011673745045671797, + 0.011908030019654499, + 0.012154240307220456, + 0.012391896760661431, + 0.012595465547282822, + 0.012752744687827656, + 0.012855681169683261, + 0.012901403688770687, + 0.012896356606202536, + 0.012833000277450492, + 0.012712519903628518, + 0.012541680972376875, + 0.012319876911597267, + 0.012063324723655644, + 0.011785628030112147, + 0.011502110062781146, + 0.011234180506289269, + 0.010995500249308399, + 0.010789767600546531, + 0.01061571245621878, + 0.010468132781324378, + 0.010326398882180371, + 0.01016801942576684, + 0.009972795564017877, + 0.009733191453964155, + 0.009465807389662446, + 0.00919290383496248, + 0.008936770534926551, + 0.008719656961886809, + 0.008562139879671677, + 0.00846973021742531, + 0.008437883439282872, + 0.008455559434970922, + 0.00851226971457003, + 0.008592346794115593, + 0.008685044934442736, + 0.00879317489564177, + 0.008922451957726393, + 0.009083581115811597, + 0.00928864818691788, + 0.009541624870624522, + 0.009836618464293404, + 0.01016794291359506, + 0.010518053228686519, + 0.010867151221492902, + 0.011200171128579493, + 0.011498451632301338, + 0.011740896949769767, + 0.011902649851811789, + 0.011969252813158355, + 0.011933103534233214, + 0.01177686386631667, + 0.011517914403140215, + 0.011185832325630503, + 0.01081335179066513, + 0.010453914033148486, + 0.010150899160887038, + 0.009926757797038395, + 0.009789688113612787, + 0.009733243734710838, + 0.009743168197123512, + 0.009795741930121693, + 0.009873673347972362, + 0.00997231097110842, + 0.01008528386625471, + 0.010212212940476908, + 0.010353155405228971, + 0.010494824169437752, + 0.010618120105080875, + 0.010700421876245347, + 0.01072632018391722, + 0.010697812030133608, + 0.01063909431494084, + 0.010584520348753972, + 0.010567899633549373, + 0.010602941161490815, + 0.010688999787375699, + 0.01080718291077665, + 0.010934795784851204, + 0.011038981966290306, + 0.011089778227187246, + 0.011072723913798356, + 0.010991031493278706, + 0.010863213806824677, + 0.010712001761716376, + 0.010566114028933931, + 0.010453770903250403, + 0.010397934882290625, + 0.010413542775223657, + 0.010501056819322589, + 0.010662282473727995, + 0.010886580073486408, + 0.011153980073979214, + 0.011446428860955768, + 0.01173457472078774, + 0.011986611268303594, + 0.012176936446557662, + 0.012291300982691258, + 0.012319340787974559, + 0.012254537835814615, + 0.012112925453079362, + 0.011934271186093182, + 0.011754021067885735, + 0.01161428302570861, + 0.011548526213196913, + 0.011572468827991773, + 0.011682592365675802, + 0.011853809050244827, + 0.012062730024839676, + 0.012280956487062698, + 0.012478830170009204, + 0.012645551383946643, + 0.012776048651241304, + 0.01286913684120231, + 0.012922679641733128, + 0.012935381484055921, + 0.012909979833146215, + 0.01284318520985716, + 0.012742078708349995, + 0.012607029954206227, + 0.012436605779393631, + 0.012227170591037916, + 0.011988525143357135, + 0.011723402755234934, + 0.011438578655393522, + 0.011153277090098444, + 0.01087885720644164, + 0.010630692339156355, + 0.01042663375740229, + 0.0102789795503539, + 0.010196032794889384, + 0.010174638283077603, + 0.010209072890058696, + 0.010278149063493268, + 0.010351882554086242, + 0.010404193618654807, + 0.010412861087002586, + 0.01036974030372051, + 0.010281684196873104, + 0.010169742703589554, + 0.01005887631104575, + 0.009955865560359312, + 0.009857518031645775, + 0.00976304887463417, + 0.009672961429214007, + 0.009593733858716667, + 0.009540846981359583, + 0.009532748738190613, + 0.009586152736725825, + 0.009706336518307766, + 0.009893066890622962, + 0.010133459341684232, + 0.010397809504784443, + 0.010667245691589843, + 0.010927407947655865, + 0.011159478551567983, + 0.011356561775411113, + 0.011519081173947322, + 0.011649017878239677, + 0.011750382544807859, + 0.011838266476120253, + 0.01192166330643976, + 0.012006036360383889, + 0.012096544214830196, + 0.012196238928888353, + 0.012303958618826341, + 0.012413544773481453, + 0.01251137615487554, + 0.012591110928111347, + 0.0126356469234018, + 0.01263152619758317, + 0.01255701922525389, + 0.012393271936763416, + 0.01212858528667565, + 0.011754411783374653, + 0.011278729256703939, + 0.010756730944788892, + 0.01024109638366088, + 0.009787773756100192, + 0.009457209300666349, + 0.009264905163786832, + 0.009207985743350813, + 0.009261681580041217, + 0.009397812803213706, + 0.009577649889523757, + 0.009753175332661495, + 0.009916971441842672, + 0.010076026058028943, + 0.010242148450218298, + 0.010430210921360709, + 0.01064225334204072, + 0.010865575012124217, + 0.011086182000431313, + 0.011290060930205343, + 0.01145858533985223, + 0.011583756474906327, + 0.011671979200292157, + 0.011732777821908536, + 0.011771907086146002, + 0.011789559882125628, + 0.011792669199246233, + 0.011776870568039817, + 0.011741037879661652, + 0.011682832212113118, + 0.011593375310326774, + 0.011471049090426849, + 0.011323779795956319, + 0.011166485322237824, + 0.01101921241491432, + 0.010910014383886248, + 0.010860326282340817, + 0.01087977286035344, + 0.01096693530989186, + 0.011109924757546854, + 0.011293474409021434, + 0.011492649738752272, + 0.011697355555879271, + 0.01189428539977396, + 0.012066567179871585, + 0.01220394987183656, + 0.012294551459836999, + 0.012327453244069829, + 0.012292054841154112, + 0.012181039812067498, + 0.012006631714145073, + 0.011782059231062245, + 0.011529108333820088, + 0.011282421078618939, + 0.011058456215320863, + 0.010864138234344066, + 0.010704234569152156, + 0.010573723794668203, + 0.010465448657459936, + 0.01037399856186918, + 0.010292642039102915, + 0.01021585466815717, + 0.010140874012991153, + 0.010071386370312596, + 0.010012932505367871, + 0.0099773769901049, + 0.00997863182765468, + 0.01002727169223951, + 0.010126690768923868, + 0.01027704983478304, + 0.010472172147253402, + 0.010697959009243028, + 0.010942083698700908, + 0.011194476325308626, + 0.011432750251660614, + 0.011643307515963522, + 0.011805627944386771, + 0.011900876391879034, + 0.011916444153903952, + 0.011849097933310921, + 0.011706177028576072, + 0.011499940352799375, + 0.011251372064177643, + 0.010994823862978889, + 0.010753524774300886, + 0.010547503397797798, + 0.010395422393047204, + 0.010308281627886934, + 0.01029358265429762, + 0.010352476149088075, + 0.01048033230551387, + 0.010666122423645766, + 0.010888290820649498, + 0.011125660208664682, + 0.011347329111811903, + 0.011521047470335836, + 0.011625267478688004, + 0.011650983911231465, + 0.011595286702268595, + 0.011467559879248045, + 0.011289513124192957, + 0.011104456803620226, + 0.010947267000408639, + 0.010850096099789411, + 0.010834743028115002, + 0.010905660198970695, + 0.01105423291898188, + 0.011255957764515509, + 0.011486235627643645, + 0.011711678546137258, + 0.011891738653019221, + 0.012009441015011188, + 0.012057724960516998, + 0.012039892431526717, + 0.011966105771345636, + 0.011858797149129656, + 0.011754367158625963, + 0.011670799609391267, + 0.011622687923607494, + 0.011612161324819407, + 0.011635533117565568, + 0.011681997129650361, + 0.01173481250363306, + 0.011783995563573605, + 0.011823105160270823, + 0.011851180665589836, + 0.011869675183073266, + 0.01188123478830213, + 0.011888115375902043, + 0.01189310613547029, + 0.01189992413651994, + 0.011911713078520908, + 0.011930493805425681, + 0.01195563048365444, + 0.011984802475150018, + 0.012015783550689637, + 0.012042856737965976, + 0.012061570030252303, + 0.012070006627941185, + 0.012071042623586149, + 0.012065876637635782, + 0.012060123957786743, + 0.01206014245280348, + 0.012071229760473106, + 0.012094392585755164, + 0.012122583558641237, + 0.012136950343047521, + 0.012118544124571373, + 0.012055667324042476, + 0.011943840475817343, + 0.011794069528694719, + 0.011633588127228462, + 0.011501526683610626, + 0.011425619252259116, + 0.011425935650643437, + 0.011504278572004575, + 0.011652450583540934, + 0.01184227633247467, + 0.012043266892099969, + 0.01223316293613474, + 0.012391804208208726, + 0.012505186960847259, + 0.012571374897117333, + 0.012592706102965567, + 0.012573805345402284, + 0.012511514293430307, + 0.012413695259387132, + 0.012289419427833799, + 0.012142463093303078, + 0.011981131400674033, + 0.011815107344116718, + 0.011653974960592216, + 0.011507342933798766, + 0.011381609521082215, + 0.011274324756605548, + 0.011176571358174996, + 0.01107434582967356, + 0.010953325633059978, + 0.010802495505227452, + 0.010621969049280007, + 0.010417790169991987, + 0.010209809009418544, + 0.01002062247813631, + 0.009868694234319391, + 0.009768080622016987, + 0.009723909577001947, + 0.009733084725718245, + 0.009784383798342339, + 0.009863237429822577, + 0.009953188756844178, + 0.010031910228371087, + 0.010079792719723108, + 0.010083899915846496, + 0.010037136916779805, + 0.009941778741585283, + 0.00980361994199829, + 0.009641611698788239, + 0.009474142402391925, + 0.009312091545148648, + 0.009169369386661809, + 0.009058544103613678, + 0.008986745866584793, + 0.008954748092911751, + 0.008962243799632365, + 0.00900866803903965, + 0.0090865105515306, + 0.009183008463932343, + 0.009290480694700756, + 0.009394079304317909, + 0.009480377586427679, + 0.009540664103720987, + 0.009572765295567403, + 0.00958026526148665, + 0.009568015357632166, + 0.009548525845676337, + 0.00953543837777758, + 0.009541634594895093, + 0.009575124080116727, + 0.009644281993591025, + 0.009750998835033544, + 0.009894519454576003, + 0.010073874464564671, + 0.010292910923286575, + 0.010541387604710257, + 0.01080892287058975, + 0.011084993151535487, + 0.011351644361406893, + 0.011590100641219129, + 0.011792571587503351, + 0.011947451340301306, + 0.012056352631108597, + 0.012117257989678519, + 0.01214309905490095, + 0.01214178970704175, + 0.012114927284614536, + 0.012067959983397254, + 0.01200672226987434, + 0.011930000084104114, + 0.011834755136652825, + 0.011724354934128225, + 0.011606514437755802, + 0.01148534018225393, + 0.011363321436930458, + 0.011241104358529512, + 0.011119025255240932, + 0.010990666838045745, + 0.010852270399941681, + 0.010703887822709294, + 0.01054358778333888, + 0.01036906679909685, + 0.010183248543274686, + 0.0099912087544003, + 0.009789550408812292, + 0.009581471221869567, + 0.009369179646013748, + 0.009153779401473052, + 0.008941035023035494, + 0.008738557638579317, + 0.008556427889919848, + 0.00840733640666677, + 0.008305854227212008, + 0.00826172656226766, + 0.00827800380297819, + 0.008349343907883597, + 0.008470560013301504, + 0.008624821577442765, + 0.008795747630508399, + 0.008971181093672632, + 0.009141633029926613, + 0.009307996382513851, + 0.009479041779807391, + 0.009665937219819336, + 0.009871703701953767, + 0.010096723549265715, + 0.010326242680975524, + 0.010540120601482838, + 0.010710481320719221, + 0.010805675716569521, + 0.010804458388487802, + 0.010690979189505892, + 0.010470742441896943, + 0.01016012212565145, + 0.00978484348083594, + 0.009392509468307724, + 0.009013161339146095, + 0.008658962895961526, + 0.008345688637834336, + 0.008067372374414284, + 0.007814628185777652, + 0.007588411138079034, + 0.007393027230142057, + 0.007237099410762594, + 0.007139553897694534, + 0.007115238505508102, + 0.0071787462839815715, + 0.007327168774048916, + 0.007554458474298239, + 0.007851783998467745, + 0.008184776423269724, + 0.008525288702499419, + 0.008850308236597049, + 0.00912855090708692, + 0.009343688215171187, + 0.009487307189812942, + 0.00955818364696821, + 0.009562954524592765, + 0.009509643988012434, + 0.00942758973023195, + 0.009343589858073155, + 0.009284779908240628, + 0.00927886737123886, + 0.009344469814800431, + 0.009487673451463875, + 0.009698367157146559, + 0.009967047726230669, + 0.01027545325754904, + 0.010592511614677336, + 0.010897196588502406, + 0.011173610756261288, + 0.011398518728500852, + 0.011566886669078595, + 0.011678456468069033, + 0.0117485983522126, + 0.011792450637182234, + 0.011826620259677368, + 0.011863804479844918, + 0.011909750781684674, + 0.011956868355617505, + 0.011994936707392819, + 0.012015646962437954, + 0.012009458620787032, + 0.0119720752656568, + 0.011906836489582706, + 0.011820632152267637, + 0.011722556270061302, + 0.011623910723544044, + 0.011534643928451544, + 0.011468286316412293, + 0.011421454596208165, + 0.011394758803613726, + 0.011380927291367578, + 0.011375181169439188, + 0.011376102304297846, + 0.011391919778035307, + 0.011433216970677647, + 0.011501845617317758, + 0.011590671174681115, + 0.011688428195527985, + 0.011781298853545091, + 0.011843789781690964, + 0.01185619836719497, + 0.011806820767581699, + 0.01169849144635107, + 0.011543218892324444, + 0.011361826181995651, + 0.0111862437784615, + 0.011037581688933745, + 0.010937008426073735, + 0.010896557304527947, + 0.010922697918011868, + 0.011010866460267943, + 0.011147677900044421, + 0.011326569295530284, + 0.011535765696127165, + 0.011759595792889078, + 0.01199242860802076, + 0.012218402072020471, + 0.012430299740306289, + 0.012623198381513788, + 0.012792786150755173, + 0.01293468408304184, + 0.013052917700771998, + 0.013146491356072945, + 0.013223248995576416, + 0.013283457757378929, + 0.01333159925666709, + 0.013365396743698224, + 0.013390776016598133, + 0.013408478683165262, + 0.013421058156286901, + 0.013429281623813535, + 0.01343620013992636, + 0.013439717884193953, + 0.013437876119727608, + 0.013430514108768905, + 0.013421346295509964, + 0.013403311314008935, + 0.013373969681930518, + 0.013333190918854489, + 0.013280932302875607, + 0.013209672272099507, + 0.013114464976435803, + 0.012995980399145263, + 0.01286512130087712, + 0.012734626429688478, + 0.01261964951563501, + 0.012538335709096555, + 0.012502825103977728, + 0.012516624358302616, + 0.01257317050876354, + 0.01265898296765211, + 0.012763984953802286, + 0.012872216823808284, + 0.012971606500471805, + 0.013057574687683591, + 0.013125352361650869, + 0.01317607706438711, + 0.01320843162134563, + 0.013219972090285761, + 0.013211739651154823, + 0.013186095485313982, + 0.013148830512673277, + 0.013099905099086798, + 0.013039312557104426, + 0.01297455506861716, + 0.012909139801542532, + 0.012845046305631505, + 0.012784016649207836, + 0.012728803229315707, + 0.01268219921289607, + 0.012647075368879776, + 0.012622973074697928, + 0.01260983005299016, + 0.012604408061156184, + 0.01260421938230435, + 0.01260631254295701, + 0.01260799727415502, + 0.01260615250072557, + 0.01259973879998083, + 0.01258921869447844, + 0.01257575408209877, + 0.012556837575675455, + 0.01253198442201049, + 0.0124972393254656, + 0.012452056229244758, + 0.012388372919701976, + 0.012304087594671779, + 0.0121985185290331, + 0.012074192092549174, + 0.011935064116110287, + 0.011787981808549298, + 0.011636772741623594, + 0.011481390684645338, + 0.011324474759932516, + 0.011176847743598832, + 0.011040115711329124, + 0.010920664241072183, + 0.01082402998683379, + 0.010754427391917511, + 0.010715408929090103, + 0.01070466322675397, + 0.010716258724099932, + 0.010743813508291207, + 0.010779723934105114, + 0.010817856958202891, + 0.010865438402240466, + 0.010929633093283792, + 0.011024138656957666, + 0.011155350229331428, + 0.011325373022038808, + 0.011534045403120365, + 0.01177027066692203, + 0.01200948026210184, + 0.012241227037036275, + 0.012447714681490444, + 0.012616923592164073, + 0.012741467638449312, + 0.012816784897593957, + 0.012838273684998383, + 0.012800884644764915, + 0.012702855408774383, + 0.012548999182993643, + 0.012341632879618036, + 0.012092173299089985, + 0.011819144864991579, + 0.011531805121966589, + 0.011251514042969278, + 0.010999415085533922, + 0.010786515669888273, + 0.01063012446011219, + 0.010534319561443333, + 0.010500962313594415, + 0.010524870981716325, + 0.010595474299415061, + 0.010705956982932969, + 0.010834604207216386, + 0.010965329718299806, + 0.01109259255166298, + 0.011207524263226156, + 0.01131062649697591, + 0.01140445913051895, + 0.01149264369208736, + 0.01157772911223424, + 0.011656785778407735, + 0.011729988326782473, + 0.011797385449209103, + 0.01185923098653722, + 0.01191228901074316, + 0.011959148820560766, + 0.012000994711087341, + 0.01204141662346452, + 0.01207914701880917, + 0.01211290605046581, + 0.012138828216783151, + 0.01215183601913604, + 0.012148188022352664, + 0.01212989291068489, + 0.012100866154623833, + 0.012060034444801861, + 0.012009696672328147, + 0.011952665721602378, + 0.011885597137791507, + 0.011807700385217522, + 0.011712166223530532, + 0.011592130902928929, + 0.011447539200352814, + 0.011284373789852116, + 0.01110436931290253, + 0.010920692144617999, + 0.010743427207251943, + 0.010576680814591259, + 0.010432764339449717, + 0.010320222258915521, + 0.010240469888466639, + 0.010197397186769597, + 0.010186514168850545, + 0.010205054332613435, + 0.010244218270772267, + 0.010296334894792324, + 0.010353098160814684, + 0.010406283191662988, + 0.010455082279726973, + 0.010499328772346937, + 0.01053670341517243, + 0.010566508696386015, + 0.010586778476053584, + 0.010596478506927083, + 0.010590099876307886, + 0.010561279910494827, + 0.010502914760291885, + 0.010408161742464611, + 0.010275952990030625, + 0.010112607741112091, + 0.009925529500542356, + 0.009734902311874216, + 0.009563993526140435, + 0.00942626853221443, + 0.009336756798501598, + 0.00930045518112899, + 0.009320078407791595, + 0.009392255506996955, + 0.009510072006517316, + 0.009664156218212308, + 0.009841963568568977, + 0.010027870582045916, + 0.010209748832948165, + 0.010376099295022694, + 0.010521164982602828, + 0.010644150637833591, + 0.010746320150003033, + 0.010835748313265023, + 0.010917356585458848, + 0.010992225161549825, + 0.011053711176184816, + 0.011094550844585672, + 0.01110263921511823, + 0.011072859548704794, + 0.011000466549697217, + 0.010894163901999767, + 0.010770757104985096, + 0.010655017366268114, + 0.010569450600758937, + 0.010530740583858722, + 0.010544140233442982, + 0.010609022698564643, + 0.010713644358419296, + 0.010837952115026889, + 0.010959762723223779, + 0.011064877076719323, + 0.011144511794951751, + 0.011190047569185398, + 0.0111986100622045, + 0.011176921766576019, + 0.011127300819474877, + 0.011059228477010088, + 0.010982264058016947, + 0.010912896895774273, + 0.010863471009712094, + 0.010846943849967322, + 0.010871391747097215, + 0.010937984706196084, + 0.011042112261767203, + 0.011170463859090277, + 0.011306271498813775, + 0.011430223187263772, + 0.01152957078222807, + 0.011600812460441291, + 0.011642247119693914, + 0.011659346958960131, + 0.011654620886983436, + 0.011638474901418219, + 0.01161631010100013, + 0.011595379706579085, + 0.011578414002686119, + 0.011567082657542966, + 0.011553307486591924, + 0.011531973206354674, + 0.011498679270323022, + 0.011450690447257222, + 0.011387323887877719, + 0.011317641997715166, + 0.011252612648905714, + 0.011202477161832721, + 0.011177895275885754, + 0.011186110760920284, + 0.011226907437803883, + 0.011295737581064457, + 0.011386555244028295, + 0.011496594550156204, + 0.011623259951463166, + 0.011757209040477988, + 0.01188783504005289, + 0.012007212461642993, + 0.012102471382663488, + 0.012159062640624345, + 0.012167550377031405, + 0.012127481788216992, + 0.012044566513444136, + 0.011929532099757176, + 0.011796495336119792, + 0.011669476535610268, + 0.011569228763233295, + 0.011513437115659666, + 0.011505600807965631, + 0.011545552766347819, + 0.011623799393656176, + 0.011730657404961351, + 0.011856021056961126, + 0.011987116994650252, + 0.012112161692306365, + 0.012227406703801668, + 0.012332980305883067, + 0.012432811561746802, + 0.012528008853734281, + 0.012622816256353595, + 0.012720000636071264, + 0.01281425794792323, + 0.01289543841758399, + 0.012961272488998588, + 0.013013020432779347, + 0.01305072776026732, + 0.01307124666383715, + 0.01307921309924104, + 0.013079210924994887, + 0.013076332444938032, + 0.013072095757694437, + 0.013066802238119834, + 0.013062431996791255, + 0.013064236081812973, + 0.01307460196657138, + 0.013091637969138384, + 0.013109386207875884, + 0.013124840222214619, + 0.013133662139984834, + 0.0131339275432027, + 0.013119116967811912, + 0.013091313690002687, + 0.01305924731506175, + 0.01302428091475931, + 0.012990076276434084, + 0.012964035135483238, + 0.012949533387974235, + 0.012942302981125227, + 0.012935004903700456, + 0.012917194951091763, + 0.012878906359848018, + 0.012819599548953878, + 0.012738914169626409, + 0.01264217284228673, + 0.012532075884255471, + 0.01241215843331075, + 0.012285365173825983, + 0.012154472859765182, + 0.012020625968034082, + 0.01188694524038, + 0.01175986554106543, + 0.011643944328848535, + 0.011543899365961232, + 0.011461905042992155, + 0.011396818642741426, + 0.011349429490862003, + 0.01131659905085117, + 0.01129460782899912, + 0.011274944800908852, + 0.011259235876878848, + 0.011251673732880918, + 0.011260781967888225, + 0.011295228807565163, + 0.011359644419356212, + 0.011456452045356018, + 0.011582251093746339, + 0.01173081068749932, + 0.011890323306815588, + 0.012046973195027217, + 0.012191040465207375, + 0.01231554294262345, + 0.012413534191711713, + 0.012481979715956154, + 0.012521591063992381, + 0.01253520481561213, + 0.012526531784632663, + 0.012500245178246393, + 0.012465057177328837, + 0.012427492781352873, + 0.012393727403385934, + 0.012362911905720165, + 0.012331851678536537, + 0.012296045071573244, + 0.012253930245139773, + 0.0122037589770909, + 0.012146895587916057, + 0.01209301561797778, + 0.012057577064190346, + 0.01204511293293902, + 0.012053736386106326, + 0.012076800534817151, + 0.012102702331884405, + 0.012122367172682648, + 0.01212941435170733, + 0.012121861927946608, + 0.012102816320117171, + 0.012078168989342546, + 0.012055678781135771, + 0.012044479445011162, + 0.012042025079424925, + 0.012038070102971737, + 0.012017626316452113, + 0.011969746145349645, + 0.011889659978545627, + 0.011778227634095341, + 0.01164043427540395, + 0.011480328401718863, + 0.011305124037476254, + 0.011121313403660345, + 0.010934409919355178, + 0.010748604658089717, + 0.01056769287231211, + 0.010396826928178986, + 0.010242964324495413, + 0.01011663136931492, + 0.010027704102684226, + 0.009986214911099382, + 0.009994763383651822, + 0.010051183030243214, + 0.010150701843739974, + 0.010288527555055809, + 0.010459767616572932, + 0.01065792123805776, + 0.010875740564548384, + 0.01111076324669368, + 0.011356386302085285, + 0.011603677814738993, + 0.011848076476851252, + 0.012080603595413346, + 0.01228622771140887, + 0.012454204077961864, + 0.012577372723735167, + 0.012654445861921373, + 0.012684261072088095, + 0.012666711313868482, + 0.012599041998328205, + 0.01248991786664233, + 0.012343837735408258, + 0.012168230013013773, + 0.011976643570807, + 0.011788643734505416, + 0.0116185126203126, + 0.011475990473021974, + 0.011372590678879246, + 0.011314040054085659, + 0.011299417494361532, + 0.011318545693075695, + 0.011356657221568423, + 0.011396653815321543, + 0.011425267682499421, + 0.011429517178665473, + 0.011411121960798264, + 0.011380226370995093, + 0.011354892215336082, + 0.011350006715810325, + 0.01137703708472831, + 0.011441877453313445, + 0.011542397888138982, + 0.011669448484642842, + 0.011805833171690226, + 0.011932548038966527, + 0.012034660615898614, + 0.012103426155548607, + 0.012138595511045853, + 0.01214107065975764, + 0.012119823436250005, + 0.012091623345815249, + 0.012072660334329919, + 0.012072497988017405, + 0.012095966700953274, + 0.012142824189053715, + 0.012212167781387522, + 0.012299766264134647, + 0.012396546095103596, + 0.01249308968324878, + 0.012587197286835867, + 0.012678319498771384, + 0.012764394735094206, + 0.012840974076393959, + 0.012905386003212654, + 0.01295448305359552, + 0.012990036795969228, + 0.01301354886379902, + 0.013027218955473591, + 0.013031691340254871, + 0.0130286278201951, + 0.013019022594103091, + 0.01300737404111505, + 0.012996366124017455, + 0.012987000548165062, + 0.012981622705369589, + 0.012982886267017222, + 0.01298896920674572, + 0.012999992529034294, + 0.013012893822851408, + 0.013022232105882246, + 0.013024672635419576, + 0.013016748782648467, + 0.01298988703157169, + 0.012935682763124092, + 0.012853731275242452, + 0.012749821235617066, + 0.012637497089916154, + 0.012533952577070724, + 0.012451053943547613, + 0.012389117655605165, + 0.012351567729002425, + 0.012339563565774361, + 0.012346043379142461, + 0.012358547610948248, + 0.01237298422871886, + 0.012387242716947095, + 0.012396737596285956, + 0.012397748355459013, + 0.012390912334593107, + 0.01237111533895902, + 0.012333262301060214, + 0.012276919312653402, + 0.01221270030587283, + 0.012146244220227906, + 0.012082313340413696, + 0.012025639627179391, + 0.011986800911580867, + 0.011970342642488576, + 0.011981476757227353, + 0.012022358842502084, + 0.012090609836587742, + 0.01217997239905955, + 0.012285405860214052, + 0.01239559375455109, + 0.012499038848910597, + 0.01259116535853707, + 0.012674034454666843, + 0.01275128196654978, + 0.012827393918104573, + 0.01290356793414928, + 0.012979683693394624, + 0.013055912458724082, + 0.013129544734550165, + 0.013197739129782171, + 0.013254990046919431, + 0.013298364431193069, + 0.013330352771319106, + 0.013349796959754112, + 0.013352087522363311, + 0.013335693324309545, + 0.013302236954728111, + 0.01325167059706512, + 0.013183010218664701, + 0.013092847184228089, + 0.012982495771446311, + 0.012855819449703973, + 0.012719831523379093, + 0.012585576920291153, + 0.01245738698364441, + 0.012336016789121473, + 0.01222726146006249, + 0.01213245248107997, + 0.012051605498265314, + 0.01198580234057209, + 0.011931945887468954, + 0.011881145756998408, + 0.011832092824774933, + 0.011789888273670826, + 0.01175841495328504, + 0.011735980199960227, + 0.01172348803898993, + 0.011722632456650292, + 0.011737974297492433, + 0.011768844986519271, + 0.011812341020817707, + 0.011868610411338366, + 0.011941677543792419, + 0.012031605362112086, + 0.012135463668480437, + 0.012248426100824262, + 0.01236891706947916, + 0.012493142871494054, + 0.012612327175196213, + 0.012724801064458923, + 0.012832012361646224, + 0.012928290558965725, + 0.013010331576642454, + 0.013078341332397606, + 0.01313308224040179, + 0.013175603340634067, + 0.01320413773638218, + 0.013219527204463517, + 0.01322099086502458, + 0.013209379393229474, + 0.013184483928951635, + 0.013144613073881383, + 0.013091086617278154, + 0.013023928042484994, + 0.012946329769490068, + 0.012863858674199032, + 0.012779017785153913, + 0.012691425105955167, + 0.01260674176790844, + 0.012529103809821833, + 0.012461701712265716, + 0.012411224062580562, + 0.012384182917021003, + 0.012383710992570882, + 0.012408893254260324, + 0.012455962820038137, + 0.012523810435906708, + 0.01260583242845317, + 0.012690003855492196, + 0.012765869168921909, + 0.0128300168940338, + 0.012880867698239339, + 0.012908489297094877, + 0.012904917990881866, + 0.012862788579994861, + 0.01278476149707169, + 0.012670414082357591, + 0.01252522382492935, + 0.012365323458242582, + 0.012213283710292625, + 0.012083117154888471, + 0.011985889292526282, + 0.011935698101771294, + 0.01193562310655662, + 0.011980673267654543, + 0.012057529369321892, + 0.012152484981374527, + 0.012250031028685469, + 0.012342279028363424, + 0.01242476325168079, + 0.012493696611470246, + 0.012547910757531595, + 0.01259361677547331, + 0.01263704424446383, + 0.012683990619350778, + 0.012737957192364532, + 0.012796528859034971, + 0.012860162705351072, + 0.012928270580669105, + 0.012998102162570985, + 0.013066883438074326, + 0.013131082814242767, + 0.01318632056094711, + 0.013230666818202431, + 0.013263719852745581, + 0.013284439216183348, + 0.013291551604922085, + 0.01328472870013731, + 0.013259057757115627, + 0.013214104306059316, + 0.013155516264507198, + 0.01308441610614393, + 0.013004128411153676, + 0.012922979481028224, + 0.012846640581648612, + 0.012777900720065604, + 0.012719005357602462, + 0.012669780066962764, + 0.012628457289500317, + 0.012592284286835164, + 0.012561289699458827, + 0.012533470766851006, + 0.012505760063981927, + 0.012477903157372216, + 0.01245455120979357, + 0.012440349968093673, + 0.012432717216185784, + 0.01242815698634103, + 0.012425757774773031, + 0.012420318308002058, + 0.012405588698504826, + 0.01237606888035193, + 0.01232517581153365, + 0.012258454442854715, + 0.012183736910267464, + 0.012107732884518208, + 0.012037307277483289, + 0.011981988256841287, + 0.011954447383149928, + 0.01196448882240107, + 0.012016104102398433, + 0.012097058143696804, + 0.012194373505187327, + 0.012301155702164425, + 0.01241121426882156, + 0.012517417665923307, + 0.012609569638550717, + 0.01268051217731452, + 0.01272834216744155, + 0.012757721360483148, + 0.012775018434690142, + 0.012782835963793605, + 0.012786372440553471, + 0.012792220147490554, + 0.012800651282390895, + 0.012810565380362605, + 0.012827525314492341, + 0.012853472032963238, + 0.01288445989983454, + 0.012918457461241742, + 0.012950657630127215, + 0.012975476851161771, + 0.012993602562616594, + 0.013009193074947332, + 0.013020865585407037, + 0.01302232913943958, + 0.01301086495411311, + 0.012988937885193194, + 0.012957096357329983, + 0.012915046918900242, + 0.012866369019919936, + 0.01281195031324111, + 0.012750909413316299, + 0.012685467817208472, + 0.012616242295291579, + 0.01254723128708413, + 0.012481203173847254, + 0.01242059646511777, + 0.01236391948903016, + 0.012316317137329167, + 0.012284617123288433, + 0.01227105214364607, + 0.01227690589683628, + 0.01229920111332467, + 0.012328961433799902, + 0.012358373211380417, + 0.01238176400346022, + 0.012388102839806488, + 0.01236541056209656, + 0.012310440008508124, + 0.012224293475948054, + 0.012114396159587943, + 0.011991148258104519, + 0.011869614988472553, + 0.011761776995087868, + 0.011673983836655629, + 0.011614269303205388, + 0.011582914682762319, + 0.0115723172704099, + 0.01157537573847329, + 0.011588483979691361, + 0.011603687744841227, + 0.011614044956409655, + 0.01162123800634533, + 0.01162956836471029, + 0.011640530073132392, + 0.011650283504225869, + 0.011655310759084405, + 0.011660882477152348, + 0.011672238014572203, + 0.011690363761932089, + 0.011719375882424762, + 0.011764403178722963, + 0.011829640612573791, + 0.01191701584869726, + 0.01202365138171844, + 0.01214348869031433, + 0.012272023359898568, + 0.012401135167967951, + 0.012521498556864671, + 0.012624048218374248, + 0.012699295250248018, + 0.012743471998800006, + 0.012750871787846748, + 0.0127220134776652, + 0.01266167939626078, + 0.012585262322121508, + 0.012504922897405254, + 0.012424904980116714, + 0.012353015076058007, + 0.012301873438281782, + 0.01228032518058419, + 0.012284231044136737, + 0.012310841998359277, + 0.012353339514917249, + 0.012401931115806173, + 0.012449799933825305, + 0.012494273426256688, + 0.01253475087955269, + 0.01257033522881104, + 0.012601314354765135, + 0.012633572829430534, + 0.01267031691342437, + 0.012706679531805267, + 0.012735404716651175, + 0.0127556115510292, + 0.012773562218601594, + 0.012789767352838804, + 0.012802384611076908, + 0.012816636177497686, + 0.01283391504105638, + 0.01285430861724663, + 0.012879906149708612, + 0.012906602571707339, + 0.01292871265816229, + 0.012944797589633643, + 0.012952594805395658, + 0.012947843552407402, + 0.012932998118816532, + 0.012912578178558953, + 0.012883453070647395, + 0.012842417602055305, + 0.012791345854302968, + 0.012729318718076433, + 0.012653288579243803, + 0.012564318016061421, + 0.012463297842153854, + 0.012354457716314677, + 0.012247477307398535, + 0.012145571914758483, + 0.012046384536196872, + 0.011951193699394836, + 0.011867855656963465, + 0.011795655247654632, + 0.011727698922822313, + 0.011666292343760468, + 0.011620882881374474, + 0.01159384532150937, + 0.011582786053197984, + 0.011586234109723086, + 0.011607291137385317, + 0.01165083684920802, + 0.011716958641793403, + 0.011797794274590252, + 0.01188512903838034, + 0.011979678636327496, + 0.01207917262095288, + 0.012177602800368554, + 0.01227186441601817, + 0.012357219350846212, + 0.012429577155856842, + 0.012493194869302324, + 0.012552633041279567, + 0.012601041774797778, + 0.012633001750493783, + 0.01264823273588178, + 0.012651615332411041, + 0.012644823483683738, + 0.012629669664634672, + 0.012614718852443262, + 0.012602702882077314, + 0.01258914372672897, + 0.012575086473229748, + 0.012562239979141058, + 0.012544135968510986, + 0.01251634666321537, + 0.012479734745294646, + 0.012432282072851363, + 0.012372205228085546, + 0.012307015106801846, + 0.012242732497140297, + 0.012182496534766827, + 0.012129570748088476, + 0.012082987943287844, + 0.012043465339477494, + 0.012016356003372862, + 0.012000540186075657, + 0.011985481576263205, + 0.011965524623658266, + 0.011940910930050907, + 0.011915031224781639, + 0.011896283273553077, + 0.011890439441549421, + 0.011897082683471649, + 0.011918290891657272, + 0.011953120624952407, + 0.012001044524831427, + 0.012053239802403833, + 0.012101913787521516, + 0.012140683430235421, + 0.012159919943912146, + 0.01215484368675812, + 0.012125515066734748, + 0.012075271822745948, + 0.012005453527207421, + 0.01192197271152341, + 0.0118307717288021, + 0.011737423154986435, + 0.011644983653343132, + 0.011558282634637181, + 0.011484108125288285, + 0.011422631105583015, + 0.011372777177721434, + 0.011342822781370002, + 0.011344718886325185, + 0.011380777086506443, + 0.011450607418499556, + 0.011548556738650198, + 0.0116712696847121, + 0.011816722517942828, + 0.0119733880052917, + 0.012127954209723252, + 0.012268286014335394, + 0.012384332302309184, + 0.012471697582259144, + 0.012526664670231157, + 0.01254873126457246, + 0.012540748198519325, + 0.012509027876436044, + 0.012457352254556525, + 0.012393918035620625, + 0.012324651588006197, + 0.01225535136121459, + 0.012193461048662917, + 0.012146869696410979, + 0.012118397722491599, + 0.012106606338588517, + 0.012114618234360983, + 0.012143811967247889, + 0.012196332743639994, + 0.012268149750858322, + 0.012356877621857502, + 0.012458302662103043, + 0.012562819930370653, + 0.012663656283063455, + 0.012753190973522259, + 0.012821016952761725, + 0.012865012704834292, + 0.012891703994884573, + 0.01290228758872401, + 0.0129024256030102, + 0.012907879111861233, + 0.012924502676426563, + 0.012948563267638059, + 0.012985722032537837, + 0.01304322515424996, + 0.013108736780732972, + 0.013166957357819625, + 0.013213828993199315, + 0.013256457995131702, + 0.013293853682704838, + 0.013314952313289864, + 0.013319305501160365, + 0.013315243128620018, + 0.013301960206146893, + 0.013279598851301472, + 0.013253235190518515, + 0.013228042578432447, + 0.01320639588082116, + 0.013188132934000306, + 0.01317165814385987, + 0.013163458868552615, + 0.013167996639967592, + 0.0131799727797818, + 0.013201837814851599, + 0.013232439748847212, + 0.01326190945797532, + 0.013285886313780719, + 0.013309986968437996, + 0.013338137399638874, + 0.013366863804640533, + 0.013391722317546751, + 0.013416076541779828, + 0.013439903926147766, + 0.013456053110027575, + 0.013464967324271602, + 0.013467731162602272, + 0.013464229631427087, + 0.013457172614431146, + 0.01344573308245729, + 0.013431061851057363, + 0.013420539627637423, + 0.013415019701042379, + 0.013411261003217125, + 0.013408524863490338, + 0.013409373984815688, + 0.013420701320529305, + 0.013440158420201007, + 0.013458348039528186, + 0.013476868710961012, + 0.013499256662149467, + 0.013521381086238913, + 0.013537481168404223, + 0.013545541861211855, + 0.01354738338713369, + 0.01354206411736153, + 0.013527078720315985, + 0.013502850626224023, + 0.013474649191031933, + 0.013440998230981297, + 0.013399461004403188, + 0.013351490439968949, + 0.013302884994859645, + 0.01325725936102905, + 0.013210529236414997, + 0.013155418996038549, + 0.01309428946696691, + 0.01303433589040266, + 0.012981284996694077, + 0.012934480280712346, + 0.01288991977844092, + 0.012847083388966557, + 0.012810801607136222, + 0.012786033174002882, + 0.012771440115726689, + 0.012766342486216876, + 0.01276836670448863, + 0.012777262545242373, + 0.012792314200787212, + 0.01281371092162986, + 0.0128417167685401, + 0.012875149464745415, + 0.012907887162622996, + 0.012936065341988861, + 0.012962097527638152, + 0.012985637979968448, + 0.013003655360681212, + 0.013019188118195236, + 0.013033557792156474, + 0.013045060289779852, + 0.013062075319047602, + 0.013089506478035895, + 0.0131205339611434, + 0.013155178690954459, + 0.013192406676781924, + 0.013227336845525477, + 0.013260263218638258, + 0.013287108332049453, + 0.013308896324015317, + 0.013333176000078772, + 0.013351711676058456, + 0.013353190244738685, + 0.013343334771200416, + 0.013332734762872698, + 0.013322956847870448, + 0.013314176867253152, + 0.013300500158445397, + 0.013280384625755832, + 0.013264170402897738, + 0.01325012110643817, + 0.013225556385736515, + 0.013191421952469407, + 0.013148979567793156, + 0.013098635239074112, + 0.013043549651619475, + 0.012984547531716809, + 0.012926938156149204, + 0.012879229903324874, + 0.012843073628854621, + 0.012819040364728258, + 0.012805165417696059, + 0.012796356038404394, + 0.01279681787488104, + 0.01280557909700136, + 0.012812389898368998, + 0.012811024486331408, + 0.012806457423180569, + 0.012809184084154442, + 0.012827132392099592, + 0.012847995544456986, + 0.012859534790318839, + 0.012871054337089502, + 0.012891742879887442, + 0.012917690165830375, + 0.012941458312560163, + 0.0129618578236833, + 0.012977451012344172, + 0.012985932599582818, + 0.012993737815019227, + 0.013007676532596572, + 0.01302132005433941, + 0.013026973385210893, + 0.013030017128628562, + 0.013032497722547236, + 0.013036259716582043, + 0.013044154989929032, + 0.01305082262151351, + 0.01305773989258749, + 0.013067453163777458, + 0.013078161250531656, + 0.013084881988903726, + 0.013081473103173933, + 0.01307628809016051, + 0.013078171254569572, + 0.01308436821428718, + 0.013094461270843906, + 0.013108887987032355, + 0.01312945749455691, + 0.013160788977896722, + 0.01319734756140148, + 0.013229655008911774, + 0.013264062573000845, + 0.013298196680259484, + 0.013324872451509345, + 0.013346645947112833, + 0.013367697661234551, + 0.013394724913464717, + 0.01342465047288043, + 0.013449178539211008, + 0.013474800184967235, + 0.013506781470793806, + 0.013540930446560387, + 0.013574043480691265, + 0.01360396511016372, + 0.013631061692411822, + 0.013651287062046474, + 0.013661237876709448, + 0.013666551451396869, + 0.013666588025702519, + 0.013658047730924995, + 0.013650947735584531, + 0.013647833446810611, + 0.013643985781420682, + 0.013639669509722058, + 0.01363268171425024, + 0.013618582305955099, + 0.013591690298793434, + 0.013552898357016207, + 0.013507700622405222, + 0.013449612794625261, + 0.013369848898859771, + 0.013275793729780149, + 0.013179856595484296, + 0.013097878676384445, + 0.013037013499491386, + 0.012987785109150999, + 0.012944967624573839, + 0.012910468134288497, + 0.012889558515259907, + 0.012882548536448645, + 0.01288747457206544, + 0.01290140580596691, + 0.012924853156694577, + 0.012953769509620443, + 0.012985373819665958, + 0.013017920497345174, + 0.013056618225733906, + 0.01309570022893577, + 0.013117120915532812, + 0.013119710955722515, + 0.013107912196242757, + 0.01308589616027388, + 0.013056171692944363, + 0.01302756725740422, + 0.013013815462200113, + 0.013018749314658046, + 0.013042441668587064, + 0.01308341565793523, + 0.013147337946904434, + 0.013233083678333951, + 0.013327936393406632, + 0.013419978087011635, + 0.013516408362876505, + 0.013612331855843618, + 0.013690400091083436, + 0.013759212384509556, + 0.01382842860784959, + 0.013887766057216592, + 0.013931386391519657, + 0.013968533782375132, + 0.01400520137437198, + 0.014034189062407094, + 0.014052406554011446, + 0.01406600551406996, + 0.014068150833498458, + 0.014056371476504686, + 0.014036793679294241, + 0.014013797896561478, + 0.013989008829327852, + 0.013957020657076562, + 0.01391784783025765, + 0.013880757986201557, + 0.013852529826778925, + 0.013826247358472281, + 0.01380041170089247, + 0.013784558018595145, + 0.01377657097973366, + 0.013770521910154512, + 0.013762160002191893, + 0.01375005205804084, + 0.013729471355654322, + 0.01369305984713453, + 0.013646977063494397, + 0.01359191674771144, + 0.013528231948339828, + 0.013468011160766302, + 0.013412096290835226, + 0.01334348328874222, + 0.013273632324318123, + 0.013222856801988517, + 0.013183712112311615, + 0.013150072743092425, + 0.013125777349962897, + 0.013117827626878268, + 0.013121681962681528, + 0.013133913943312628, + 0.013151644227570206, + 0.013171336505148694, + 0.013192739967543492, + 0.013228589506255379, + 0.013272674862602323, + 0.013313098157242267, + 0.0133597123686311, + 0.013422030273791137, + 0.013483616272930446, + 0.013523845797494482, + 0.013551158072110376, + 0.013577926339189382, + 0.013601471583470973, + 0.013617579621929837, + 0.013625748761873446, + 0.013627014268852773, + 0.01362323591531208, + 0.013612575486830685, + 0.01359715160319828, + 0.013576493678829077, + 0.013550975942798336, + 0.013530254526693994, + 0.013513761514777702, + 0.013484725106907767, + 0.01345034060627723, + 0.013427674732979804, + 0.013409547754920034, + 0.013381480198833897, + 0.013341198393146788, + 0.013290603235861361, + 0.0132360592134513, + 0.013181910234692418, + 0.013116990959041966, + 0.013052626533543889, + 0.013001836154146608, + 0.012953363694328715, + 0.012907441425119869, + 0.012877699223948446, + 0.012867944590539486, + 0.012871222861040437, + 0.012883020836254677, + 0.012899231284023514, + 0.012927222043268821, + 0.012962687209878398, + 0.012999054796478823, + 0.013035706536429034, + 0.013073607366724648, + 0.01310144104284209, + 0.013110109132535203, + 0.013112777738780156, + 0.013112578342423678, + 0.0131049372148139, + 0.0130831475063244, + 0.013057203965860957, + 0.01303953437886109, + 0.013025990762364123, + 0.013011022090897873, + 0.013000561593189484, + 0.01300136197899634, + 0.013006754042014299, + 0.013015350239125426, + 0.013026396394997737, + 0.013040549317773029, + 0.013054773769920655, + 0.013060804106332063, + 0.01306377123456639, + 0.013069837690797328, + 0.013073712122238375, + 0.013063000032381478, + 0.013042878608854705, + 0.01302814176123039, + 0.013018761814397786, + 0.013008653810126253, + 0.012990381826595704, + 0.012960844844334764, + 0.012935474674208278, + 0.012922518684981526, + 0.012911374898186853, + 0.012891445756353394, + 0.01286972694012584, + 0.012866299554951756, + 0.012881592222786512, + 0.012890663916007987, + 0.012886680122282548, + 0.012885569070287876, + 0.01288516076284666, + 0.012877658315866724, + 0.01286915326688754, + 0.012870250535670221, + 0.012881076987372462, + 0.012899709463829756, + 0.01292934734559868, + 0.012967344168216684, + 0.013008822944325414, + 0.01305152047273, + 0.013095750820853744, + 0.013140313151725083, + 0.01318176529208205, + 0.013222006683224853, + 0.013265053249249956, + 0.013311852424829577, + 0.013354577522823258, + 0.013391097973446514, + 0.013436276353525812, + 0.013488048539017292, + 0.013522801207290594, + 0.013540798484125809, + 0.013547871152760054, + 0.013539830998296434, + 0.01351894330209282, + 0.01350026099872335, + 0.013466727048256695, + 0.01342465184796863, + 0.01338465725307937, + 0.013334836324071155, + 0.013281777454247376, + 0.013242697514685113, + 0.013207566055384787, + 0.013170300666183377, + 0.013135025675470768, + 0.013102790037866604, + 0.013083519266311155, + 0.013065419835568021, + 0.013045156367097403, + 0.013030070236450165, + 0.01302190176850452, + 0.013010111608879106, + 0.012983985868509193, + 0.012946095763543997, + 0.012909555988074252, + 0.012884857608986305, + 0.01286547235505588, + 0.01284964849900893, + 0.012842340427905153, + 0.01284163792405251, + 0.012860208969977468, + 0.01288875620355459, + 0.012924646264645526, + 0.012971193148023462, + 0.013027930687038133, + 0.013083041291843088, + 0.01314380286283154, + 0.013211619354091144, + 0.013293641099975181, + 0.013382440672226303, + 0.013473072050407242, + 0.013571229749229126, + 0.013671390486989217, + 0.013764441529549273, + 0.013833640912303751, + 0.013886543854727334, + 0.013924791831425467, + 0.013947695079521616, + 0.013931076924447396, + 0.013884618780446023, + 0.013839346159359984, + 0.013804544866413486, + 0.01374282392989919, + 0.01365135625698836, + 0.013562391845892481, + 0.013489407060815698, + 0.013445924347757663, + 0.013422433914013423, + 0.01340214639668591, + 0.013377838580458434, + 0.01334506284464935, + 0.013326596649882842, + 0.013367091003789822, + 0.013443638709802105, + 0.013496241765595201, + 0.01352527574031724, + 0.013560817013302197, + 0.01361915917534443, + 0.013680762311776309, + 0.01373352136144633, + 0.013791183394070166, + 0.013847547593297546, + 0.013908422986942143, + 0.013975884618637519, + 0.014007026810452497, + 0.014007628075469177, + 0.01402912287491978, + 0.014060729797618864, + 0.01406051963534687, + 0.014031814739921177, + 0.014029219976876027, + 0.014058686263053705, + 0.014081182233169929, + 0.014070301339035753, + 0.01404797108301798, + 0.01403816927182225, + 0.014032669022861996, + 0.01402558001974441, + 0.014020820999664013, + 0.014018448696234018, + 0.014019205388076801, + 0.014020290584581912, + 0.014008326207014121, + 0.013996363797871498, + 0.014002713183069712, + 0.014011105451859041, + 0.014011009597742631, + 0.014004144944860197, + 0.013992276805823682, + 0.013984608309907465, + 0.013983392872359536, + 0.013974797840630339, + 0.013951966455900933, + 0.01394603345828589, + 0.013962835088056062, + 0.013961435057286626, + 0.013943421373617582, + 0.013931299522215576, + 0.01392580574539711, + 0.013907346181763236, + 0.013877880818899499, + 0.013842056800499701, + 0.01379614595896565, + 0.013715973899552866, + 0.013618306386679954, + 0.013556032555529023, + 0.013529014839326982, + 0.013517543972011931, + 0.013493396757141325, + 0.01349956438809158, + 0.013545215704648556, + 0.013594352723279402, + 0.013640174353253489, + 0.013678757774479114, + 0.013690886294129689, + 0.013696009242391359, + 0.013717541908819972, + 0.013730864564161902, + 0.013732173651726185, + 0.013651790397177706, + 0.013525831239440424, + 0.013453916854379995, + 0.013409796527738382, + 0.013324811494558029, + 0.013228090638918862, + 0.013162034792539617, + 0.013102823656938834, + 0.01304658253408662, + 0.012995428914539382, + 0.013001935034304657, + 0.013040053288605476, + 0.013119090707133003, + 0.013243346457518807, + 0.013333409740882301, + 0.013389962534231399, + 0.013491911049530432, + 0.013645977298081107, + 0.013728656943920526, + 0.013746063898110113, + 0.013787238052938062, + 0.013851230383034643, + 0.013905676950007847, + 0.013939562402384859, + 0.013960439244274578, + 0.013989928587175616, + 0.01406498215288789, + 0.014225685514297032, + 0.01436199768351548, + 0.01436199768351548 + ] + }, + "fit_range": [ + 1.0, + 15.0 + ], + "instrument": { + "description": "Pair distribution function (PDF) beamline (port 28-ID-1) at NSLS-II, BNL", + "radiation": { + "setup_wavelength": [ + 0.1665, + false, + null, + null + ] + }, + "polarization": { + "setup_polarization_coefficient": 0.01, + "setup_monochromator_twotheta": 0.0 + }, + "corrections": { + "calib_twotheta_offset": [ + 0.0, + false, + null, + null + ] + }, + "broadening": { + "peak_type": "cwl-pseudo-voigt", + "parameters": { + "broad_gauss_u": [ + 0.3418, + true, + null, + null + ], + "broad_gauss_v": [ + -0.02233, + true, + null, + null + ], + "broad_gauss_w": [ + 0.0008358, + true, + null, + null + ], + "broad_lorentz_x": [ + 0.2307, + true, + null, + null + ], + "broad_lorentz_y": [ + 0.006645, + true, + null, + null + ] + } + } + }, + "background": { + "chebyshev": { + "num_coefficients": 6, + "coefficients": [ + 66.07, + -2.888, + -0.911, + 1.838, + -1.476, + 1.909 + ], + "refine_flag": true + } + }, + "phases": { + "DRX_33": { + "space_group": "F m -3 m", + "unit_cell": { + "a": [ + 4.182, + true, + null, + null + ], + "b": [ + 4.182, + true, + null, + null + ], + "c": [ + 4.182, + true, + null, + null + ], + "alpha": [ + 90.0, + false, + null, + null + ], + "beta": [ + 90.0, + false, + null, + null + ], + "gamma": [ + 90.0, + false, + null, + null + ] + }, + "atoms": { + "Li": { + "element": "Li", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.0, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 0.6, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0051, + false, + null, + null + ] + }, + "Mg": { + "element": "Mg", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.0, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 0.1, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0051, + false, + null, + null + ] + }, + "Mn1": { + "element": "Mn", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.0, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 0.2, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0051, + false, + null, + null + ] + }, + "O1": { + "element": "O", + "x": [ + 0.5, + false, + null, + null + ], + "y": [ + 0.5, + false, + null, + null + ], + "z": [ + 0.5, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0098, + false, + null, + null + ] + }, + "W": { + "element": "W", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.0, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 0.1, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0051, + false, + null, + null + ] + } + }, + "scale": [ + 1.373e-06, + true, + null, + null + ] + }, + "Li4MgWO6_SG12": { + "space_group": "C 1 2/m 1", + "unit_cell": { + "a": [ + 5.1326, + true, + null, + null + ], + "b": [ + 8.7882, + true, + null, + null + ], + "c": [ + 5.1045, + true, + null, + null + ], + "alpha": [ + 90.0, + false, + null, + null + ], + "beta": [ + 110.818, + true, + null, + null + ], + "gamma": [ + 90.0, + false, + null, + null + ] + }, + "atoms": { + "Li1": { + "element": "Li", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.33, + false, + null, + null + ], + "z": [ + 0.5, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0, + false, + null, + null + ] + }, + "Li2": { + "element": "Li", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.167, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 0.5, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0, + false, + null, + null + ] + }, + "Li3": { + "element": "Li", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.0, + false, + null, + null + ], + "z": [ + 0.5, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0, + false, + null, + null + ] + }, + "Mg": { + "element": "Mg", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.167, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 0.5, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0, + false, + null, + null + ] + }, + "O1": { + "element": "O", + "x": [ + 0.238, + false, + null, + null + ], + "y": [ + 0.343, + false, + null, + null + ], + "z": [ + 0.234, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0, + false, + null, + null + ] + }, + "O2": { + "element": "O", + "x": [ + 0.259, + false, + null, + null + ], + "y": [ + 0.0, + false, + null, + null + ], + "z": [ + 0.226, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0, + false, + null, + null + ] + }, + "W": { + "element": "W", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.5, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.0, + false, + null, + null + ] + } + }, + "scale": [ + 3.916e-07, + true, + null, + null + ] + } + }, + "refinement_controls": { + "calculator": "cryspy", + "minimizer": "lmfit (leastsq)", + "max_iterations": 1000, + "chi_square_change_tolerance": 1e-08, + "parameter_change_tolerance": 1e-08, + "gradient_tolerance": 0.0 + } + } +} diff --git a/tests/data/easydiffraction/native/golden/drx33_two_phase_cryspy.json b/tests/data/easydiffraction/native/golden/drx33_two_phase_cryspy.json new file mode 100644 index 0000000..eea29d5 --- /dev/null +++ b/tests/data/easydiffraction/native/golden/drx33_two_phase_cryspy.json @@ -0,0 +1,1061 @@ +{ + "easydiffraction": "0.21.1", + "fixture": "drx33_two_phase_cryspy.json", + "built_parameters": { + "drx_33.atom_site.Li.adp_iso": { + "value": 0.0051, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Li.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Li.fract_y": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Li.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Li.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Li.occupancy": { + "value": 0.6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mg.adp_iso": { + "value": 0.0051, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mg.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mg.fract_y": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mg.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mg.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mg.occupancy": { + "value": 0.1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mn1.adp_iso": { + "value": 0.0051, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mn1.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mn1.fract_y": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mn1.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mn1.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.Mn1.occupancy": { + "value": 0.2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.O1.adp_iso": { + "value": 0.0098, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.O1.fract_x": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.O1.fract_y": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.O1.fract_z": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.O1.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.O1.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.W.adp_iso": { + "value": 0.0051, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.W.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.W.fract_y": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.W.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.W.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.atom_site.W.occupancy": { + "value": 0.1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.cell.angle_alpha": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.cell.angle_beta": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.cell.angle_gamma": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.cell.length_a": { + "value": 4.182, + "free": true, + "fit_min": null, + "fit_max": null + }, + "drx_33.cell.length_b": { + "value": 4.182, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.cell.length_c": { + "value": 4.182, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.geom.bond_distance_inc": { + "value": 0.25, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.geom.min_bond_distance_cutoff": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.192l.multiplicity": { + "value": 192, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.24d.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.24e.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.32f.multiplicity": { + "value": 32, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.48g.multiplicity": { + "value": 48, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.48h.multiplicity": { + "value": 48, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.48i.multiplicity": { + "value": 48, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.4a.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.4b.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.8c.multiplicity": { + "value": 8, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.96j.multiplicity": { + "value": 96, + "free": false, + "fit_min": null, + "fit_max": null + }, + "drx_33.space_group_Wyckoff.96k.multiplicity": { + "value": 96, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li1.adp_iso": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li1.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li1.fract_y": { + "value": 0.33, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li1.fract_z": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li1.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li1.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li2.adp_iso": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li2.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li2.fract_y": { + "value": 0.167, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li2.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li2.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li2.occupancy": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li3.adp_iso": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li3.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li3.fract_y": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li3.fract_z": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li3.multiplicity": { + "value": 2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Li3.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Mg.adp_iso": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Mg.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Mg.fract_y": { + "value": 0.167, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Mg.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Mg.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.Mg.occupancy": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O1.adp_iso": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O1.fract_x": { + "value": 0.238, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O1.fract_y": { + "value": 0.343, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O1.fract_z": { + "value": 0.234, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O1.multiplicity": { + "value": 8, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O1.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O2.adp_iso": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O2.fract_x": { + "value": 0.259, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O2.fract_y": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O2.fract_z": { + "value": 0.226, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O2.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.O2.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.W.adp_iso": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.W.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.W.fract_y": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.W.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.W.multiplicity": { + "value": 2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.atom_site.W.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.cell.angle_alpha": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.cell.angle_beta": { + "value": 110.818, + "free": true, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.cell.angle_gamma": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.cell.length_a": { + "value": 5.1326, + "free": true, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.cell.length_b": { + "value": 8.7882, + "free": true, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.cell.length_c": { + "value": 5.1045, + "free": true, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.geom.bond_distance_inc": { + "value": 0.25, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.geom.min_bond_distance_cutoff": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.space_group_Wyckoff.2a.multiplicity": { + "value": 2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.space_group_Wyckoff.2b.multiplicity": { + "value": 2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.space_group_Wyckoff.2c.multiplicity": { + "value": 2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.space_group_Wyckoff.2d.multiplicity": { + "value": 2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.space_group_Wyckoff.4e.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.space_group_Wyckoff.4f.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.space_group_Wyckoff.4g.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.space_group_Wyckoff.4h.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.space_group_Wyckoff.4i.multiplicity": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "li4mgwo6_sg12.space_group_Wyckoff.8j.multiplicity": { + "value": 8, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.0.coef": { + "value": 66.07, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.0.order": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.1.coef": { + "value": -2.888, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.1.order": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.2.coef": { + "value": -0.911, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.2.order": { + "value": 2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.3.coef": { + "value": 1.838, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.3.order": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.4.coef": { + "value": -1.476, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.4.order": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.5.coef": { + "value": 1.909, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.background.5.order": { + "value": 5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.d_spacing": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_bkg": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_calc": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_meas": { + "value": 75.24112956, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_meas_su": { + "value": 8.674164487718688, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.two_theta": { + "value": 14.99760389, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_inc": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_max": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_min": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.monochromator_twotheta": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.polarization_coefficient": { + "value": 0.01, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.sample_displacement": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.sample_transparency": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.twotheta_offset": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength": { + "value": 0.1665, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength_2": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength_2_to_1_ratio": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.linked_structure.drx_33.scale": { + "value": 1.373e-06, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.linked_structure.li4mgwo6_sg12.scale": { + "value": 3.916e-07, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_u": { + "value": 0.3418, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_v": { + "value": -0.02233, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_w": { + "value": 0.0008358, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_lorentz_x": { + "value": 0.2307, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_lorentz_y": { + "value": 0.006645, + "free": true, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.cutoff_fwhm": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + } + }, + "run": { + "rwp": 7.248036732101178, + "r_exp": 9.81837790760473, + "gof": 0.738211219847963, + "chi2_red": 0.5449558051094175, + "simulation_mode": false, + "engine_details": { + "engine": "easydiffraction", + "engine_version": "0.21.1", + "calculator": "cryspy", + "peak_type": "cwl-pseudo-voigt", + "minimizer": "lmfit (leastsq)", + "rwp": 7.248036732101178, + "r_exp": 9.81837790760473, + "reduced_chi_square": 0.5449558048306369, + "n_points": 3767, + "parameters_requested": 18, + "parameters_varied": 18, + "fit_success": true, + "fit_message": "Fit succeeded." + }, + "refined": { + "broad_gauss_u": [ + 0.34199936321343954, + 0.03922606599019212 + ], + "broad_gauss_v": [ + -0.02234043523390987, + 0.002705675217302981 + ], + "broad_gauss_w": [ + 0.0008360005737478769, + 4.929895358505463e-05 + ], + "broad_lorentz_x": [ + 0.23077922871400922, + 0.022073871912261615 + ], + "broad_lorentz_y": [ + 0.0066447261136393055, + 0.000642259494598643 + ], + "background_coefficient_0": [ + 66.06752080188139, + 0.17972243609411595 + ], + "background_coefficient_1": [ + -2.8878341771455185, + 0.2292942458819555 + ], + "background_coefficient_2": [ + -0.9108673929346239, + 0.21377200507520855 + ], + "background_coefficient_3": [ + 1.8380961188013527, + 0.2058175908051448 + ], + "background_coefficient_4": [ + -1.4762425797298813, + 0.18219516945708586 + ], + "background_coefficient_5": [ + 1.9088280512078633, + 0.18399362098234487 + ], + "DRX_33_scale": [ + 1.3730342910237313e-06, + 2.596904131767145e-08 + ], + "DRX_33_a": [ + 4.182006026737868, + 0.00029405213818992976 + ], + "Li4MgWO6_SG12_scale": [ + 3.9165136376850745e-07, + 1.9173347931041624e-09 + ], + "Li4MgWO6_SG12_a": [ + 5.132612221007365, + 0.00023977969715476675 + ], + "Li4MgWO6_SG12_b": [ + 8.7881770990685, + 0.000384753253271482 + ], + "Li4MgWO6_SG12_c": [ + 5.104482953717024, + 0.00022631546439692368 + ], + "Li4MgWO6_SG12_beta": [ + 110.81821323480737, + 0.0037413540981832386 + ] + }, + "unit_cell": { + "DRX_33": [ + { + "parameter": "a", + "value": 4.182006026737868, + "esd": 0.00029405213818992976 + }, + { + "parameter": "b", + "value": 4.182006026737868, + "esd": 0.00029405213818992976 + }, + { + "parameter": "c", + "value": 4.182006026737868, + "esd": 0.00029405213818992976 + }, + { + "parameter": "alpha", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "beta", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "gamma", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "volume", + "value": 73.13983277555336, + "esd": NaN + } + ], + "Li4MgWO6_SG12": [ + { + "parameter": "a", + "value": 5.132612221007365, + "esd": 0.00023977969715476675 + }, + { + "parameter": "b", + "value": 8.7881770990685, + "esd": 0.000384753253271482 + }, + { + "parameter": "c", + "value": 5.104482953717024, + "esd": 0.00022631546439692368 + }, + { + "parameter": "alpha", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "beta", + "value": 110.81821323480737, + "esd": 0.0037413540981832386 + }, + { + "parameter": "gamma", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "volume", + "value": 215.21234382529843, + "esd": NaN + } + ] + }, + "warnings": [] + } +} diff --git a/tests/test_easydiffraction_native.py b/tests/test_easydiffraction_native.py index 57cea2a..42046c2 100644 --- a/tests/test_easydiffraction_native.py +++ b/tests/test_easydiffraction_native.py @@ -767,6 +767,36 @@ def find_spec(self, name, path, target=None): assert "OK" in proc.stdout +@pytest.fixture(scope="module") +def drx33_two_phase_build(): + """Build drx33_two_phase_cryspy.json once; return Build object.""" + return native_builder.build_project(schema.validate_recipe(_load_fixture("drx33_two_phase_cryspy.json"))) + + +@pytest.fixture(scope="module") +def drx33_two_phase_result(tmp_path_factory): + """Run drx33_two_phase_cryspy.json once (two phases, CrysPy); return (result, output dir).""" + out = tmp_path_factory.mktemp("drx33_two_phase") + return gateway.run(_load_fixture("drx33_two_phase_cryspy.json"), str(out)), out + + +def test_two_phases_built_and_refined(drx33_two_phase_build, drx33_two_phase_result): + """Two phases (cubic + C 1 2/m 1): one structure each, scales and cells refined per phase, reports per phase.""" + assert set(drx33_two_phase_build.structures) == {"DRX_33", "Li4MgWO6_SG12"} + linked = drx33_two_phase_build.experiment.linked_structures + assert {"drx_33", "li4mgwo6_sg12"} <= {ls.structure_id.value for ls in linked} + result, out = drx33_two_phase_result + d = result["engine_details"] + assert result["success"] and d["fit_success"] and d["parameters_varied"] == d["parameters_requested"] == 18 + rows = result["refined_parameters"].set_index("parameter_name") + assert rows.loc["DRX_33_scale", "phase_idx"] == 0 and rows.loc["Li4MgWO6_SG12_scale", "phase_idx"] == 1 + assert np.isfinite(rows["esd"].astype(float)).all() + assert set(result["unit_cell_data"]) == {"DRX_33", "Li4MgWO6_SG12"} + for phase in ("DRX_33", "Li4MgWO6_SG12"): + assert (out / f"{phase}_peak_list_report.csv").is_file() and (out / f"{phase}_unit_cell_report.csv").is_file() + assert not [w for w in result["warnings"] if w["code"] == "easydiffraction_phase_contributes_nothing"] + + # ============================================================================ # Goldens (A157 B8): regenerated only on a deliberate engine change # (devkit probes/re06/make_goldens.py) @@ -774,7 +804,13 @@ def find_spec(self, name, path, target=None): _GOLDEN_CASES = [("lab6_crysfml_tch.json", "lab6_crysfml_tch_build", "lab6_crysfml_tch_result"), ("lab6_cryspy_pv.json", "lab6_cryspy_pv_build", "lab6_cryspy_pv_result"), - ("lab6_slots_simulation.json", "lab6_slots_simulation_build", "lab6_slots_simulation_result")] + ("lab6_slots_simulation.json", "lab6_slots_simulation_build", "lab6_slots_simulation_result"), + ("drx33_two_phase_cryspy.json", "drx33_two_phase_build", "drx33_two_phase_run")] + + +@pytest.fixture(scope="module") +def drx33_two_phase_run(drx33_two_phase_result): + return drx33_two_phase_result[0] def _golden(name: str) -> dict: From e5219b2a23d312f6b2c7fa9dc7d10049c3f762f4 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 22:28:43 -0400 Subject: [PATCH 10/20] feat(easydiffraction): negative peak widths are refused, and reported after a run (A171) Where the Gaussian FWHM^2 (U tan^2 + V tan + W) or the Lorentzian FWHM (X tan + Y / cos) is negative, easydiffraction 0.21.1 computes a wrong pattern without a message: CrysFML drops those peaks, CrysPy distorts them (EB-87). A stated profile that makes a width negative at a point handed to the engine is a validation error naming the 2theta range; a refined one gets the warning easydiffraction_negative_width, values kept. Also: pydantic's error templates take no format specs, so the weight error printed "sigma {sigma:.3g}" literally; values are formatted before. Assisted-by: claude-code:claude-opus-5-5 --- .../gateways/easydiffraction/native_run.py | 12 ++++- .../gateways/easydiffraction/schema.py | 44 +++++++++++++++++-- tests/test_easydiffraction_native.py | 12 +++++ tests/test_easydiffraction_schema.py | 37 ++++++++++++++++ 4 files changed, 101 insertions(+), 4 deletions(-) diff --git a/src/powderline/gateways/easydiffraction/native_run.py b/src/powderline/gateways/easydiffraction/native_run.py index d1c25bb..757b467 100644 --- a/src/powderline/gateways/easydiffraction/native_run.py +++ b/src/powderline/gateways/easydiffraction/native_run.py @@ -25,7 +25,9 @@ ``easydiffraction_parameter_at_limit`` (A157 B4: PowderLine's own check against the limits acting in the fit), ``easydiffraction_phase_contributes_nothing`` (A157 B7), ``easydiffraction_fit_not_converged`` (informative, A166: lmfit stopped without - success; the values are reported), ``easydiffraction_reflections_not_available`` (CrysFML, A165). + success; the values are reported), ``easydiffraction_reflections_not_available`` (CrysFML, A165), + ``easydiffraction_negative_width`` (the refined profile makes a peak width + negative in the window, A171). Runtime layer: imports easydiffraction. """ @@ -46,6 +48,7 @@ from powderline.exceptions import EngineExecutionError, StructuredWarning from powderline.fitstats import compute_fit_statistics from powderline.gateways.easydiffraction.native_builder import Build, build_project, structure_name +from powderline.gateways.easydiffraction.schema import profile_negative_widths from powderline.schema_core import collect_warnings, parameters_requested from powderline.symmetry import cell_tie_groups @@ -129,6 +132,13 @@ def build_result(model, build: Build, out: Path, warnings: list, *, elapsed: flo field_path=None)) warnings += _limit_hits(build) warnings += _empty_phases(model, build) + for kind, (lo, hi) in profile_negative_widths(lambda n: getattr(expt.peak, n).value, x_window).items(): + warnings.append(StructuredWarning( + code="easydiffraction_negative_width", + message=(f"with the refined profile the {kind} is negative from {lo:g} to {hi:g} deg 2theta: " + "easydiffraction computed those peaks wrongly without a message (CrysFML drops them, CrysPy " + "distorts them; EB-87); the values are reported as they stand"), + field_path="payload.instrument.broadening.parameters")) refined_rows = _refined_rows(model, build) unit_cells = {name: _cell_rows(model, build, name) for name in p.phases} diff --git a/src/powderline/gateways/easydiffraction/schema.py b/src/powderline/gateways/easydiffraction/schema.py index 9d72ece..317386f 100644 --- a/src/powderline/gateways/easydiffraction/schema.py +++ b/src/powderline/gateways/easydiffraction/schema.py @@ -38,6 +38,9 @@ CrysPy setting (CrysFML ignores it) (A162, A127 principle); - ``Uaniso`` needs the cryspy calculator: easydiffraction hands CrysFML only B = 8 pi^2 Ueq, so the tensor would have no effect (EB-23, A127 principle); +- the stated profile makes no peak width negative at a point handed to the + engine (Gaussian FWHM^2 or Lorentzian FWHM): easydiffraction would compute a + wrong pattern without a message (EB-87, A171); - the Kα2 wavelength and its intensity ratio are stated together; - simulation = no refine flag set (lmfit is not run). """ @@ -140,6 +143,31 @@ def _omit_none(data: dict, model: CoreModel, names: tuple[str, ...]) -> dict: return data +def negative_widths(u: float, v: float, w: float, x: float, y: float, tth) -> dict[str, tuple[float, float]]: + """2theta range (first, last point of ``tth``) where a peak width is negative, per width. + + The Gaussian FWHM^2 is U tan^2 theta + V tan theta + W, the Lorentzian FWHM X tan theta + Y / cos theta + (both calculators, EB-76). Where either is negative easydiffraction computes a wrong pattern without a + message: CrysFML drops those peaks, CrysPy distorts them (EB-87, A171). + """ + tth = np.asarray(tth, dtype=float) + theta = np.radians(tth / 2) + tan, cos = np.tan(theta), np.cos(theta) + out = {} + for kind, width in (("Gaussian FWHM^2 (U tan^2 + V tan + W)", u * tan ** 2 + v * tan + w), + ("Lorentzian FWHM (X tan + Y / cos)", x * tan + y / cos)): + bad = tth[width < 0] + if bad.size: + out[kind] = (float(bad.min()), float(bad.max())) + return out + + +def profile_negative_widths(values, tth) -> dict[str, tuple[float, float]]: + """:func:`negative_widths` for an object carrying ``broad_gauss_u`` ... ``broad_lorentz_y`` values.""" + return negative_widths(*(float(values(name)) for name in ( + "broad_gauss_u", "broad_gauss_v", "broad_gauss_w", "broad_lorentz_x", "broad_lorentz_y")), tth) + + def physical_problems(p: Optional[P], limits: tuple, loc: tuple, what: str) -> list[InitErrorDetails]: """A value outside easydiffraction's physical limits: the engine refuses it at input (EB-71).""" if p is None: @@ -475,11 +503,11 @@ def _easydiffraction_payload(self) -> "RietveldPayload": for i in heavy[:20]: problems.append(_error( "easydiffraction_weight", - "weight {value} (sigma {sigma:.3g}) is above {limit:g}: easydiffraction would replace sigma " + "weight {value} (sigma {sigma}) is above {limit}: easydiffraction would replace sigma " "< 1e-4 by 1.0 without saying so (EB-73); rescale the intensities and weights", ("xrd_data", "Itth_weights", int(i)), self.xrd_data.Itth_weights[i], - value=self.xrd_data.Itth_weights[i], sigma=self.xrd_data.Itth_weights[i] ** -0.5, - limit=MAX_WEIGHT)) + value=self.xrd_data.Itth_weights[i], sigma=f"{self.xrd_data.Itth_weights[i] ** -0.5:.3g}", + limit=f"{MAX_WEIGHT:g}")) # pydantic's templates take no format specs calculator = self.refinement_controls.calculator for name, phase in self.phases.items(): why = calculator_setting_problem(phase.space_group, calculator) @@ -507,6 +535,16 @@ def _easydiffraction_payload(self) -> "RietveldPayload": "easydiffraction_cutoff", "cutoff_fwhm is a CrysPy setting; {calculator} ignores it (fixed 30-FWHM window, EB-76): leave it out", ("instrument", "broadening", "cutoff_fwhm"), profile.cutoff_fwhm, calculator=calculator)) + if mask is not None: + pars = profile.parameters + tth = np.asarray(self.xrd_data.tth, dtype=float)[mask] + for kind, (lo, hi) in profile_negative_widths(lambda n: getattr(pars, n).value, tth).items(): + problems.append(_error( + "easydiffraction_negative_width", + "the {width} is negative from {lo} to {hi} deg 2theta in the fit window: easydiffraction " + "then computes a wrong pattern without a message (CrysFML drops those peaks, CrysPy distorts " + "them; EB-87)", ("instrument", "broadening", "parameters"), pars.model_dump(), + width=kind, lo=f"{lo:g}", hi=f"{hi:g}")) _raise(type(self).__name__, problems) return self diff --git a/tests/test_easydiffraction_native.py b/tests/test_easydiffraction_native.py index 42046c2..1586f72 100644 --- a/tests/test_easydiffraction_native.py +++ b/tests/test_easydiffraction_native.py @@ -726,6 +726,18 @@ def with_nan(self): native_run.build_result(model, build, tmp_path, [], elapsed=0.0, fit_info={}) +def test_run_refined_negative_width_warns(tmp_path): + """A refined profile that makes a width negative in the window is reported, values kept (A171, EB-87).""" + model = schema.validate_recipe(_load_fixture("lab6_slots_simulation.json")) + build = native_builder.build_project(model) + build.project.analysis.calculate() + build.experiment.peak.broad_gauss_w._set_value_from_minimizer(-0.01) # as lmfit could leave it + result = native_run.build_result(model, build, tmp_path, [], elapsed=0.0, fit_info={}) + hits = [w for w in result["warnings"] if w["code"] == "easydiffraction_negative_width"] + assert len(hits) == 1 and hits[0]["field_path"] == "payload.instrument.broadening.parameters" + assert "Gaussian" in hits[0]["message"] + + def test_run_validate_only(tmp_path): """validate_only returns method 'validate_only' without importing easydiffraction's runtime.""" recipe = _load_fixture("lab6_crysfml_tch.json") diff --git a/tests/test_easydiffraction_schema.py b/tests/test_easydiffraction_schema.py index 25c4afd..aa5b273 100644 --- a/tests/test_easydiffraction_schema.py +++ b/tests/test_easydiffraction_schema.py @@ -228,6 +228,10 @@ def test_heavy_weight_inside_window_rejected(): r["payload"]["xrd_data"]["Itth_weights"][idx] = 2e8 _fails(r, ("payload", "xrd_data", "Itth_weights", idx), "easydiffraction_weight") + with pytest.raises(ValidationError) as exc: + validate_recipe(r) + msg = next(e["msg"] for e in exc.value.errors() if e["type"] == "easydiffraction_weight") + assert "sigma 7.07e-05" in msg and "above 1e+08" in msg and "{" not in msg def test_heavy_weight_outside_window_accepted(): @@ -330,6 +334,39 @@ def test_uaniso_with_cryspy_accepted(): validate_recipe(_b_uaniso(_load_fixture("lab6_cryspy_pv.json"), u11=0.03)) +def _w_negative_below(two_theta: float, r: dict) -> float: + """The W that makes the fixture's Gaussian FWHM^2 (U tan^2 + V tan + W) negative below ``two_theta``.""" + pars = r["payload"]["instrument"]["broadening"]["parameters"] + t = np.tan(np.radians(two_theta / 2)) + return -(pars["broad_gauss_u"][0] * t ** 2 + pars["broad_gauss_v"][0] * t) + + +@pytest.mark.parametrize("fixture", ["lab6_cryspy_pv.json", "lab6_crysfml_tch.json"]) +def test_negative_gaussian_width_in_window_rejected(fixture): + """FWHM^2 < 0 below 5 deg: CrysFML would drop those peaks, CrysPy distort them (EB-87, A171).""" + r = _load_fixture(fixture) + r["payload"]["instrument"]["broadening"]["parameters"]["broad_gauss_w"][0] = _w_negative_below(5.0, r) + with pytest.raises(ValidationError) as exc: + validate_recipe(r) + hits = [e for e in exc.value.errors() if e["type"] == "easydiffraction_negative_width"] + assert [e["loc"] for e in hits] == [("payload", "instrument", "broadening", "parameters")] + assert "Gaussian" in hits[0]["msg"] and "from 1" in hits[0]["msg"] and "{" not in hits[0]["msg"] + + +def test_negative_lorentzian_width_rejected(): + r = _load_fixture("lab6_cryspy_pv.json") + r["payload"]["instrument"]["broadening"]["parameters"]["broad_lorentz_y"][0] = -0.0028 + errors = _fails(r, ("payload", "instrument", "broadening", "parameters"), "easydiffraction_negative_width") + assert len(errors) == 1 + + +def test_negative_width_outside_the_window_accepted(): + """Only the points handed to the engine count (window [1, 15]).""" + r = _load_fixture("lab6_cryspy_pv.json") + r["payload"]["instrument"]["broadening"]["parameters"]["broad_gauss_w"][0] = _w_negative_below(0.9, r) + validate_recipe(r) + + # --- per-type parameter sets (test 8) ----------------------------------------------- From 4cccf85d3fbb4dd4a1dc44d2fd8e39b10b382b72 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 22:31:02 -0400 Subject: [PATCH 11/20] docs(easydiffraction): SCHEMA_HISTORY entry for engine schema 1.0.0 (re/06) Assisted-by: claude-code:claude-opus-5-5 --- docs/SCHEMA_HISTORY.md | 68 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 66 insertions(+), 2 deletions(-) diff --git a/docs/SCHEMA_HISTORY.md b/docs/SCHEMA_HISTORY.md index e8c489d..c2ab583 100644 --- a/docs/SCHEMA_HISTORY.md +++ b/docs/SCHEMA_HISTORY.md @@ -332,9 +332,73 @@ unchanged). ## easydiffraction engine schema -### 1.0.0 — introduced in PowderLine 0.2.0 +### 1.0.0 — introduced in PowderLine 0.2.0 (in development) + +Defined in `src/powderline/gateways/easydiffraction/schema.py` (engine-free), +on core 1.0.0. Accepted versions are declared: engine schema `==1.0.0`, +requiring core `==1.0.0`. Native recipes use easydiffraction's own names and +units (`setup_wavelength`, `calib_twotheta_offset`, `broad_gauss_u` in deg², …). +There is no converter from 0.26.0 recipes (the 0.26.0 `GSASII_*` → +easydiffraction path is unchanged until re/07). -Entries added by re/06 (`easydiffraction.rietveld`). +- **Workflow**: `easydiffraction.rietveld` (`phases`); no single peak fitting. +- **easydiffraction version**: pinned (`==0.21.1`) and read at run time; a + recipe states none. +- **No defaults**: a block left out means the feature is not modelled; every + value PowderLine would otherwise choose is a required field. +- **Parameters**: `[value, refine_flag, min, max]`. A stated bound replaces + easydiffraction's physical limit on that side; `null` keeps it (cell lengths + 0–30 Å, angles 0–180°, occupancy 0–1, Uiso and U11/U22/U33 0–10 Ų, scale, + wavelength and μR ≥ 0). A value outside a physical limit is an error, even + when fixed (easydiffraction refuses it); a cell length over 30 Å cannot be + modelled. +- **Instrument**: `radiation` (`setup_wavelength` > 0; a Kα2 line + `setup_wavelength_2` + `setup_wavelength_2_to_1_ratio` stated together); + `polarization` (`setup_polarization_coefficient` p, `setup_monochromator_twotheta`; + GSAS-II's P is 1 − p); `corrections` (`calib_twotheta_offset`, and optionally + `calib_sample_displacement`, `calib_sample_transparency`); `absorption` + (`cylinder-hewat`, `mu_r`); `broadening` `{peak_type, parameters}` with + `cwl-pseudo-voigt` (both calculators), `cwl-pseudo-voigt-berar-baldinozzi-asymmetry` + (CrysPy) or `cwl-thompson-cox-hastings` (CrysFML, FCJ `asym_fcj_1/2`), and + `cutoff_fwhm` (CrysPy only). Gaussian FWHM² = U tan²θ + V tanθ + W (deg²), + Lorentzian FWHM = X tanθ + Y/cosθ (deg; GSAS-II's X and Y swap roles). A stated + profile that makes either width negative at a point handed to the engine is + an error (easydiffraction would compute a wrong pattern without a message). +- **Background**: `chebyshev`, over the fit window's first and last points. +- **Phase block**: core's `space_group`, `unit_cell`, `atoms` (`Uiso` and + `Uaniso` in Ų, used as given), plus `scale` (≥ 0: a phase may contribute + nothing). Symmetry ties become one easydiffraction parameter per tie group, + the one easydiffraction leaves free. +- **Space groups**: the canonical name maps to one of easydiffraction's 230 + short names plus a setting code (531 settings); each calculator accepts only + the settings it was verified to compute (CrysPy 437, CrysFML 230; the error + names one it computes, or the other calculator). +- **Calculator-specific rules**: `Uaniso` needs CrysPy (CrysFML is handed only + B = 8π²·Ueq). With CrysPy, an atom on a special position with a free + coordinate must be written in the pattern of easydiffraction's Wyckoff + template for its site (CrysPy computes wrong intensities for other equivalent + writings); the run refuses it before calculating and names the position to + write. +- **Refinement controls** (required): `calculator` (`cryspy` | `crysfml`), + `minimizer` (`lmfit (leastsq)`), `max_iterations` (lmfit's maximum number of + function evaluations), `chi_square_change_tolerance`, + `parameter_change_tolerance`, `gradient_tolerance`. No refine flag set = a + simulation (the pattern is calculated, lmfit is not run). +- **Fit window and data**: easydiffraction gets exactly the weighted points + with min ≤ 2θ ≤ max (open ends: the data's first or last weighted point), as + a CIF data loop at full precision; a weight above 1e8 (σ < 1e-4) on one of + them is an error (easydiffraction would replace σ by 1.0 without saying so). +- **Results**: `rwp`, `r_exp`, `gof`, `chi2_red` from PowderLine's uniform fit + statistics over the window (Rwp equal to easydiffraction's); its values, + calculator, peak type, `parameters_requested` and `parameters_varied` + (lmfit's count) under `engine_details`. The background column is + easydiffraction's own. CrysFML reports no reflection list, so no peak lists + are written with it. Warnings: `easydiffraction_parameters_not_varied`, + `easydiffraction_parameter_at_limit`, `easydiffraction_phase_contributes_nothing` + (informative), `easydiffraction_fit_not_converged` (the values are reported), + `easydiffraction_negative_width` (the refined profile makes a width negative + in the window), `easydiffraction_reflections_not_available` (CrysFML). Any + non-finite calculated value is a divergence error. --- From a0119d73f52df264a0740529339156b0d7392c9e Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 22:35:52 -0400 Subject: [PATCH 12/20] fix(easydiffraction): write the data loop without exponents (EB-89) easydiffraction 0.21.1's CIF data loop cannot read exponent notation (5e-05, 5E-05, 1e+16: an opaque TypeError), and repr() writes it for |v| < 1e-4 or >= 1e16, so normalized intensities (allowed with sigma >= 1e-4, A159) crashed the run. Numbers are now written positional at full precision (numpy format_float_positional, unique: exact round trip). Test: intensities ~1e-5 with sigma 1e-4 reach the engine exactly. Assisted-by: claude-code:claude-opus-5-5 --- .../gateways/easydiffraction/native_builder.py | 9 +++++++-- tests/test_easydiffraction_native.py | 16 ++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/powderline/gateways/easydiffraction/native_builder.py b/src/powderline/gateways/easydiffraction/native_builder.py index c69b67e..fd2c9b4 100644 --- a/src/powderline/gateways/easydiffraction/native_builder.py +++ b/src/powderline/gateways/easydiffraction/native_builder.py @@ -83,13 +83,18 @@ def structure_name(phase: str) -> str: return phase.lower() +def _cif_number(v) -> str: + """``v`` at full precision without an exponent: easydiffraction's CIF loop cannot read ``5e-05`` (EB-89).""" + return np.format_float_positional(float(v), unique=True, trim="-") + + def data_cif(tth: np.ndarray, yobs: np.ndarray, sigma: np.ndarray) -> str: - """An experiment CIF holding only the experiment type and the data, numbers at full precision (EB-72).""" + """An experiment CIF holding only the experiment type and the data, numbers at full precision (EB-72, EB-89).""" lines = ["data_" + EXPERIMENT_NAME, "_experiment_type.sample_form powder", '_experiment_type.beam_mode "constant wavelength"', "_experiment_type.radiation_probe xray", "_experiment_type.scattering_type bragg", "", "loop_", "_data.two_theta", "_data.intensity_meas", "_data.intensity_meas_su"] - lines += [f"{float(x)!r} {float(y)!r} {float(s)!r}" for x, y, s in zip(tth, yobs, sigma)] + lines += [f"{_cif_number(x)} {_cif_number(y)} {_cif_number(s)}" for x, y, s in zip(tth, yobs, sigma)] return "\n".join(lines) + "\n" diff --git a/tests/test_easydiffraction_native.py b/tests/test_easydiffraction_native.py index 1586f72..23b47d7 100644 --- a/tests/test_easydiffraction_native.py +++ b/tests/test_easydiffraction_native.py @@ -306,6 +306,22 @@ def test_builder_data_sigma(lab6_crysfml_tch_build): np.testing.assert_allclose(ed_sigma, sigma_expected, rtol=1e-15) +def test_builder_small_intensities_handed_exactly(): + """Normalized data (intensities ~1e-5, sigma >= 1e-4 as A159 requires) reach the engine exactly: the CIF + loop is written without exponents, which easydiffraction's reader cannot parse (EB-89).""" + recipe = _load_fixture("lab6_slots_simulation.json") + xrd = recipe["payload"]["xrd_data"] + xrd["Itth"] = [y * 1e-6 for y in xrd["Itth"]] + xrd["Itth_weights"] = [1e8] * len(xrd["Itth"]) # sigma = 1e-4 + model = schema.validate_recipe(recipe) + build = native_builder.build_project(model) + mask = model.payload.window_mask() + np.testing.assert_array_equal(np.asarray(build.experiment.data.intensity_meas, dtype=float), + np.asarray(xrd["Itth"], dtype=float)[mask]) + np.testing.assert_array_equal(np.asarray(build.experiment.data.intensity_meas_su, dtype=float), 1e-4) + assert "e-" not in native_builder.data_cif(np.array([5e-5]), np.array([1e16]), np.array([1e-4])).lower() + + def test_builder_free_parameters_lab6_crysfml_tch(lab6_crysfml_tch_build): """Free parameters for lab6_crysfml_tch: exactly the expected set.""" build = lab6_crysfml_tch_build From f1c9bcea92d60d8b313d58d24c3c6cfe426d0944 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 22:50:45 -0400 Subject: [PATCH 13/20] test(easydiffraction): the CrysPy LaB6 golden carries the negative-width warning (A171) The refined CrysPy pseudo-Voigt profile has broad_lorentz_x = -0.098(4), so X tan + Y / cos is negative from 11.2 to 15 deg 2theta and the run now warns easydiffraction_negative_width. Values unchanged (regenerated with make_goldens.py lab6_cryspy_pv.json; only the warnings list differs). Assisted-by: claude-code:claude-opus-5-5 --- tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json b/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json index d2087c6..2c524fe 100644 --- a/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json +++ b/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json @@ -537,6 +537,8 @@ } ] }, - "warnings": [] + "warnings": [ + "easydiffraction_negative_width" + ] } } From 3b1feec8bfe227a99633a12922c96cacfa4e7ade Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Fri, 9 Oct 2026 23:48:45 -0400 Subject: [PATCH 14/20] feat(gsasii): report whether a Rietveld refinement converged (A172) fit_report reads GSAS-II's Rvals['converged'] (the last cycle's chi^2 change below its tolerance) into engine_details['converged'] and warns gsasii_fit_not_converged when it is False, values kept (as A166 for easydiffraction; not in a simulation). Single peak fitting reports converged None: DoPeakFit keeps no convergence flag (EB-85). fit_report.py is neither frozen nor hashed. Tests: fit_report on a faked run (False warns, True and simulation do not); LaB6 with 2 cycles is a success with the warning; the 5-cycle LaB6 converges; SPF reports None. Default suite 3029 passed, 19 skipped. Assisted-by: claude-code:claude-opus-5-5 --- docs/SCHEMA_HISTORY.md | 6 ++-- src/powderline/gateways/gsasii/fit_report.py | 19 ++++++++++-- tests/test_gsasii_native_run.py | 31 ++++++++++++++++++++ 3 files changed, 52 insertions(+), 4 deletions(-) diff --git a/docs/SCHEMA_HISTORY.md b/docs/SCHEMA_HISTORY.md index c2ab583..d9fd64b 100644 --- a/docs/SCHEMA_HISTORY.md +++ b/docs/SCHEMA_HISTORY.md @@ -252,9 +252,11 @@ core `==1.0.0`. A 0.26.0 `GSASII_*` recipe is converted with statistics over the stated fit window (`None` where undefined, e.g. no degrees of freedom); `simulation_mode` (a simulation gets the same statistics; against placeholder data they mean nothing); GSAS-II's own - values, `parameters_requested` and `parameters_varied` under + values, `parameters_requested`, `parameters_varied` and `converged` + (Rietveld; GSAS-II keeps no such flag for a peak fit) under `engine_details`; structured `warnings` (defaults applied, GSAS-II's - refinement messages, fewer parameters varied than requested). A refinement + refinement messages, fewer parameters varied than requested, a Rietveld + refinement that stopped before converging, values kept). A refinement that diverges (a non-finite calculated pattern) is a failure with a clear message; GSAS-II itself does not flag it. diff --git a/src/powderline/gateways/gsasii/fit_report.py b/src/powderline/gateways/gsasii/fit_report.py index 2cc2fc5..62d555e 100644 --- a/src/powderline/gateways/gsasii/fit_report.py +++ b/src/powderline/gateways/gsasii/fit_report.py @@ -17,7 +17,12 @@ - GSAS-II's refinement message (``Rvals['msg']``: parameters dropped as singular, SVD problems, limits), which ``G2strMain.Refine`` only prints (EB-32), as a structured warning; and a warning when GSAS-II varied fewer - parameters than the recipe requested (A128). + parameters than the recipe requested (A128); +- whether a Rietveld refinement converged (``Rvals['converged']``: the last + cycle's chi^2 change below GSAS-II's tolerance), as ``engine_details['converged']`` + and the informative warning ``gsasii_fit_not_converged`` when it did not + (values kept, as for easydiffraction, A166, A172; EB-85). A peak fit has no such + flag (``DoPeakFit`` drops scipy's), so ``converged`` is ``None`` there. A calculated pattern that is not finite inside the fit window means the refinement diverged; GSAS-II does not report that as a failure (its wR shows @@ -91,7 +96,9 @@ def fit_report(proj, hist, recipe, engine_rwp, engine_rvals=None) -> dict: "parameters_requested": requested, "parameters_varied": n_params, "message": message or None, + "converged": None if spf or rvals.get("converged") is None else bool(rvals["converged"]), } + simulation = recipe.payload.refinement_controls.refinement_cycles == 1 warnings = [] if message: dropped = _dropped(message) @@ -101,6 +108,14 @@ def fit_report(proj, hist, recipe, engine_rwp, engine_rvals=None) -> dict: + (f" ({dropped} parameter(s) dropped as singular are still counted in " "parameters_varied, GSAS-II's own count, EB-33)" if dropped else "")), field_path=None)) + if details["converged"] is False and not simulation: + warnings.append(StructuredWarning( + code="gsasii_fit_not_converged", + message=(f"GSAS-II stopped after {recipe.payload.refinement_controls.refinement_cycles} cycle(s) without " + "converging (its last chi^2 change was above its tolerance); the values are reported as they " + "stand. Likely causes: too few cycles (refinement_cycles) or poorly conditioned parameters " + "(strong correlations); check the ESDs and GSAS-II's message"), + field_path="payload.refinement_controls.refinement_cycles")) if n_params < requested: warnings.append(StructuredWarning( code="gsasii_parameters_not_varied", @@ -110,5 +125,5 @@ def fit_report(proj, hist, recipe, engine_rwp, engine_rvals=None) -> dict: + "; compare refined_parameters with the recipe's refine flags"), field_path=None)) return {"rwp": num(stats.rwp), "r_exp": num(stats.rexp), "gof": num(stats.gof), "chi2_red": num(stats.chi2_red), - "simulation_mode": recipe.payload.refinement_controls.refinement_cycles == 1, + "simulation_mode": simulation, "engine_details": details, "warnings": warnings} diff --git a/tests/test_gsasii_native_run.py b/tests/test_gsasii_native_run.py index 4cad907..7ce7b46 100644 --- a/tests/test_gsasii_native_run.py +++ b/tests/test_gsasii_native_run.py @@ -57,6 +57,8 @@ def test_standard_fit_statistics_and_engine_details(lab6_result): assert abs(r["rwp"] - d["rwp"]) < 0.05 # core Rwp vs GSAS-II's wR (same data; A23 documents differences) assert abs(r["gof"] - d["gof"]) / d["gof"] < 0.01 # Rietveld: GSAS-II's 'GOF' is sqrt(reduced chi^2) (EB-52) assert r["gof"] == pytest.approx(r["chi2_red"] ** 0.5) + assert d["converged"] is True # GSAS-II's Rvals['converged'] (A172) + assert "gsasii_fit_not_converged" not in [w["code"] for w in r["warnings"]] json.dumps(d) # crosses the server boundary @@ -173,6 +175,7 @@ def test_spf_runs_with_standard_statistics(tmp_path): assert isinstance(r["engine_details"]["gof"], float) # DoPeakFit's own reduced chi^2 (EB-52; ledger R16) assert r["rwp"] == pytest.approx(r["engine_details"]["rwp"], rel=1e-9) # A149/R17: SPF fits the stated window too assert r["simulation_mode"] is False + assert r["engine_details"]["converged"] is None # DoPeakFit keeps no convergence flag (A172) @@ -211,6 +214,34 @@ def test_fewer_parameters_varied_than_requested_warns(): assert fit_report(proj, hist, recipe, engine_rwp=1.0)["warnings"] == [] +@pytest.mark.parametrize("converged, cycles, warned", [(False, 5, True), (True, 5, False), (False, 1, False)]) +def test_not_converged_is_reported_with_values_kept(converged, cycles, warned): + """GSAS-II's Rvals['converged'] goes to engine_details; False warns, except in a simulation (A172, EB-85).""" + raw = _lab6() + raw["payload"]["refinement_controls"]["refinement_cycles"] = cycles + if cycles == 1: # a simulation refines nothing + raw = json.loads(json.dumps(raw).replace("true", "false")) + recipe = validate_recipe(raw) + proj, hist = _fake_run(recipe, lambda y: y * 1.01, parameters_requested(recipe)) + proj.data["Covariance"]["data"]["Rvals"]["converged"] = converged + out = fit_report(proj, hist, recipe, engine_rwp=1.0) + assert out["engine_details"]["converged"] is converged + hits = [w for w in out["warnings"] if w["code"] == "gsasii_fit_not_converged"] + assert len(hits) == int(warned) + if warned: + assert hits[0]["field_path"] == "payload.refinement_controls.refinement_cycles" + + +def test_two_cycles_lab6_not_converged(tmp_path): + """LaB6 with 2 cycles: GSAS-II stops before converging; a success with the warning (A172, EB-85).""" + recipe = _lab6() + recipe["payload"]["refinement_controls"]["refinement_cycles"] = 2 + r = powderline.run(recipe, tmp_path, execution_mode="subprocess") + assert r["success"], r.get("error") + assert r["engine_details"]["converged"] is False + assert "gsasii_fit_not_converged" in [w["code"] for w in r["warnings"]] + + def test_undefined_statistic_is_none_not_nan(): """No degrees of freedom: r_exp, gof and chi2_red are undefined; None in every execution mode (JSON-safe).""" recipe = validate_recipe(_lab6()) From 585ba694cc068d234aa88dfb35ac3ef1770dfa29 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Sat, 10 Oct 2026 11:30:01 -0400 Subject: [PATCH 15/20] fix(easydiffraction): read the reflection list strictly; tests for six safeguards (re/06 PR review N1, N5) A non-finite value in easydiffraction's reflection list (d-spacing, 2theta, F^2) is now the divergence error, as the profile and refined values are (A154). New tests for safeguards that no test caught when disabled: the EB-47 site check, interior zero-weight points not handed, the RAISE reaction against ED_LOG_REACTION=WARN (EB-48), the not-varied warning (A128), y_bkg = easydiffraction's own Chebyshev (A157 B5), and the divergence error for a non-finite refined value or reflection. Assisted-by: claude-code:claude-opus-5-5 --- .../gateways/easydiffraction/native_run.py | 20 ++-- tests/test_easydiffraction_native.py | 99 +++++++++++++++++++ 2 files changed, 113 insertions(+), 6 deletions(-) diff --git a/src/powderline/gateways/easydiffraction/native_run.py b/src/powderline/gateways/easydiffraction/native_run.py index 757b467..fa996d2 100644 --- a/src/powderline/gateways/easydiffraction/native_run.py +++ b/src/powderline/gateways/easydiffraction/native_run.py @@ -14,8 +14,8 @@ handed to lmfit, which varies every one of them; A41). easydiffraction's own values go under ``engine_details``; an undefined statistic is ``None``. - **Strict reading** (A130, A154): a non-finite calculated point, background - point or refined value is the divergence error; an undetermined ESD is - left empty. + point, refined value or reflection-list value is the divergence error; an + undetermined ESD is left empty. - **Background column** (A152's principle): easydiffraction's own ``intensity_bkg`` on the fitted points. - **Reflection lists**: CrysPy's per phase; CrysFML provides none, and the @@ -144,14 +144,16 @@ def build_result(model, build: Build, out: Path, warnings: list, *, elapsed: flo unit_cells = {name: _cell_rows(model, build, name) for name in p.phases} peak_lists = {} if expt.refln is not None: - refln = expt.refln - ids = np.asarray(refln.structure_id) + refln = _refln_arrays(expt.refln) + for key in ("d_spacing", "two_theta", "f_squared_calc"): + if not np.isfinite(refln[key].astype(float)).all(): + raise _diverged(f"the reflection list ({key})") for name in p.phases: - sel = ids == structure_name(name) + sel = refln["structure_id"] == structure_name(name) peak_lists[name] = [ {"h": int(h), "k": int(k), "l": int(l), "d_spacing": float(d), "2theta": float(t), "F_calc_squared": float(f2), "phase": name} - for h, k, l, d, t, f2 in zip(*(np.asarray(getattr(refln, a))[sel] for a in ( + for h, k, l, d, t, f2 in zip(*(refln[a][sel] for a in ( "index_h", "index_k", "index_l", "d_spacing", "two_theta", "f_squared_calc")))] else: warnings.append(StructuredWarning( @@ -213,6 +215,12 @@ def build_result(model, build: Build, out: Path, warnings: list, *, elapsed: flo } +def _refln_arrays(refln) -> dict: + """easydiffraction's reflection list as arrays, one per column the reports use.""" + return {a: np.asarray(getattr(refln, a)) for a in ( + "structure_id", "index_h", "index_k", "index_l", "d_spacing", "two_theta", "f_squared_calc")} + + def _percent(v): return None if v is None else 100.0 * float(v) diff --git a/tests/test_easydiffraction_native.py b/tests/test_easydiffraction_native.py index 23b47d7..b60607d 100644 --- a/tests/test_easydiffraction_native.py +++ b/tests/test_easydiffraction_native.py @@ -766,6 +766,105 @@ def test_run_validate_only(tmp_path): assert "engine_schema_version" in result +# ============================================================================ +# Safeguards without a test before the re/06 PR review (record N1, N5) +# ============================================================================ + + +def test_builder_site_mismatch_raises(monkeypatch): + """EB-47: an atom whose easydiffraction multiplicity differs from core's is refused before the run.""" + model = schema.validate_recipe(_load_fixture("lab6_crysfml_tch.json")) + phase_class = type(model.payload.phases["LaB6"]) + core_site = phase_class.site + + def site(self, label): + s = core_site(self, label) + return Mock(multiplicity=s.multiplicity * 2) if label == "B" else s + + monkeypatch.setattr(phase_class, "site", site) + with pytest.raises(EngineExecutionError, match=r"payload\.phases\.LaB6\.atoms\.B: .*core has multiplicity 12 \(EB-47\)"): + native_builder.build_project(model) + + +def test_builder_interior_zero_weights_not_handed(): + """Zero-weight points inside the window (a masked region) are not handed to easydiffraction (A154, A158).""" + recipe = _load_fixture("lab6_crysfml_tch.json") + xrd = recipe["payload"]["xrd_data"] + masked = [i for i, t in enumerate(xrd["tth"]) if 5.0 <= t <= 5.1] + for i in masked: + xrd["Itth_weights"][i] = 0.0 + model = schema.validate_recipe(recipe) + mask = model.payload.window_mask() + assert masked and not mask[masked].any() + build = native_builder.build_project(model) + np.testing.assert_array_equal(np.asarray(build.experiment.data.x, dtype=float), + np.asarray(xrd["tth"], dtype=float)[mask]) + + +def test_builder_sets_raise_reaction(monkeypatch): + """EB-48: a value easydiffraction refuses raises, even when the user's environment asks it to warn.""" + from easydiffraction.utils.logging import Logger + + monkeypatch.setenv("ED_LOG_REACTION", "WARN") + Logger.configure() + try: + build = native_builder.build_project(schema.validate_recipe(_load_fixture("lab6_crysfml_tch.json"))) + with pytest.raises(TypeError, match="outside"): + build.structures["LaB6"].cell.length_a = 35.0 # above easydiffraction's 30 A limit (EB-71) + finally: + Logger.configure(reaction=Logger.Reaction.RAISE) + + +def test_run_not_varied_warning(tmp_path, monkeypatch): + """A128: fewer parameters varied than the recipe requests gives easydiffraction_parameters_not_varied.""" + recipe = _load_fixture("lab6_crysfml_tch.json") + recipe["payload"]["refinement_controls"]["max_iterations"] = 3 + requested = native_run.parameters_requested + monkeypatch.setattr(native_run, "parameters_requested", lambda model: requested(model) + 1) + result = gateway.run(recipe, str(tmp_path)) + hits = [w for w in result["warnings"] if w["code"] == "easydiffraction_parameters_not_varied"] + assert len(hits) == 1 and "requests 14" in hits[0]["message"] and "varied 13" in hits[0]["message"] + + +def test_run_y_bkg_is_the_engines_chebyshev(lab6_crysfml_tch_result): + """A157 B5: y_bkg is easydiffraction's Chebyshev at the refined coefficients over the handed points' range.""" + fp = lab6_crysfml_tch_result["fit_profile"] + rows = lab6_crysfml_tch_result["refined_parameters"].set_index("parameter_name") + x = fp["two_theta"].to_numpy(dtype=float) + u = (x - x.min()) / (x.max() - x.min()) * 2 - 1 + coefficients = [rows.loc[f"background_coefficient_{k}", "value"] for k in range(6)] + np.testing.assert_allclose(fp["y_bkg"].to_numpy(dtype=float), np.polynomial.chebyshev.chebval(u, coefficients), + rtol=1e-12, atol=1e-12) + + +def test_run_divergence_nan_refined_value(tmp_path): + """A non-finite refined value is the divergence error (A130, A154).""" + model = schema.validate_recipe(_load_fixture("lab6_cryspy_pv.json")) + build = native_builder.build_project(model) + build.project.analysis.calculate() + build.free[0].parameter._set_value_from_minimizer(float("nan")) # as lmfit could leave it + with pytest.raises(EngineExecutionError, match=f"diverged.*{build.free[0].path}"): + native_run.build_result(model, build, tmp_path, [], elapsed=0.0, fit_info={}) + + +def test_run_divergence_nan_in_reflection_list(tmp_path, monkeypatch): + """A non-finite value in the reflection list is the divergence error (A154).""" + model = schema.validate_recipe(_load_fixture("lab6_slots_simulation.json")) + build = native_builder.build_project(model) + build.project.analysis.calculate() + arrays = native_run._refln_arrays + + def with_nan(refln): + out = arrays(refln) + out["f_squared_calc"] = out["f_squared_calc"].astype(float) + out["f_squared_calc"][0] = np.nan + return out + + monkeypatch.setattr(native_run, "_refln_arrays", with_nan) + with pytest.raises(EngineExecutionError, match=r"diverged.*reflection list \(f_squared_calc\)"): + native_run.build_result(model, build, tmp_path, [], elapsed=0.0, fit_info={}) + + def test_zero_gsasii_imports_subprocess(): """A subprocess that blocks GSASII imports can import native_run and schema.""" import textwrap From 1c9e499f4089055f1dc18b593dfbf3f965cfe2f9 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Sat, 10 Oct 2026 14:42:08 -0400 Subject: [PATCH 16/20] fix(easydiffraction): verify settings on every special site; CrysPy refuses nine origin-1 settings (A174) CrysPy computes template-form special positions with a free coordinate wrongly in nine origin-choice-1 settings although their general position is right (re/06 PR review S1, EB-77). The settings verification now also compares, per calculator, every special Wyckoff site's pattern with the calculator's own P 1 expansion (raw R < 1e-3; CrysFML's general position by raw R too, N7), and the support table is regenerated: CrysPy 437 -> 428 (F d d d:1, F d -3 m:1, F d -3:1, P n -3 m:1, P 4/n n c:1, P 42/n n m:1, I 41/a:1, I 41/a m d:1, I 41/a c d:1), CrysFML 230 unchanged. The error names the origin-2 setting. Assisted-by: claude-code:claude-opus-5-5 --- scripts/verify_easydiffraction_settings.py | 97 ++++++++++++++----- .../gateways/easydiffraction/schema.py | 2 +- .../easydiffraction/space_group_support.py | 16 +-- tests/test_easydiffraction_schema.py | 5 +- tests/test_easydiffraction_space_groups.py | 8 +- 5 files changed, 86 insertions(+), 42 deletions(-) diff --git a/scripts/verify_easydiffraction_settings.py b/scripts/verify_easydiffraction_settings.py index ecd7c35..4f4f975 100644 --- a/scripts/verify_easydiffraction_settings.py +++ b/scripts/verify_easydiffraction_settings.py @@ -1,24 +1,29 @@ """Verify which space-group settings each easydiffraction calculator computes correctly (re/06, EB-42, EB-80). -For every entry of ``space_group_table.SPACE_GROUPS``: one Fe atom at a general -position (0.137, 0.271, 0.389) in a cell of the setting's crystal system. - -Each calculator is verified on its own (A170): - -- CrysPy: per-reflection F^2 against a reference computed here (the orbit - expanded with gemmi's operations of the canonical setting, i.e. the ITC - operators; IT92 form factors, isotropic Debye-Waller), R after a least-squares - scale. Sensitive to the hand: CrysPy computes P 31 with P 32's operators (same - powder pattern, the other hand per reflection), so P 31 fails. -- CrysFML (no reflection list, operators not exposed): its calculated pattern - against its own pattern of the same orbit written out in P 1 (no symmetry - handling involved), same pseudo-Voigt profile, R after a least-squares scale. - -A setting passes with R < ``R_PASS`` (easydiffraction 0.21.1: CrysPy passes R <= 0.009, -failures >= 0.075; CrysFML passes R < 1e-4, failures >= 0.11; a failure means a misread -setting). An engine error fails that calculator only (EB-84: the 53 crashes are CrysPy's). The result is written to +For every entry of ``space_group_table.SPACE_GROUPS``, in a cell of the setting's +crystal system, each calculator is verified on its own (A170): + +- the general position (0.137, 0.271, 0.389): + - CrysPy: per-reflection F^2 against a reference computed here (the orbit + expanded with gemmi's operations of the canonical setting, i.e. the ITC + operators; IT92 form factors, isotropic Debye-Waller), R after a least-squares + scale (the form-factor tables differ by a few %), passing R < ``R_PASS``. + Sensitive to the hand: CrysPy computes P 31 with P 32's operators (same powder + pattern, the other hand per reflection), so P 31 fails; + - CrysFML (no reflection list, operators not exposed): its pattern against its + own pattern of the same orbit written out in P 1 (no symmetry handling + involved), raw R (no scale), passing R < ``R_P1``; +- then every special Wyckoff site of easydiffraction's table, one atom at the + site's template evaluated at the same generic values: the calculator's pattern + against its own P 1 expansion, raw R < ``R_P1`` (re/06 PR review S1, A174: + CrysPy computes template-form special positions wrongly in nine origin-1 + settings although their general position is right). + +easydiffraction 0.21.1: CrysPy's general position passes R <= 0.009, fails >= 0.075; every +P 1 comparison passes R <= 1.8e-5 (CrysFML is single precision, EB-90) and fails >= 0.11. +An engine error fails that calculator only (EB-84: the 53 crashes are CrysPy's). The result is written to ``src/powderline/gateways/easydiffraction/space_group_support.py``, which the schema -uses so that validation needs no easydiffraction. About an hour; ``--jobs N`` runs +uses so that validation needs no easydiffraction. About two hours of CPU; ``--jobs N`` runs N processes. ``--check XHM ...`` re-verifies only the named settings against the committed module (the test does this for a fixed sample). @@ -28,6 +33,7 @@ from __future__ import annotations import math +import re import sys import tempfile from importlib.metadata import version @@ -42,6 +48,7 @@ U = 0.005 WAVELENGTH = 0.5 R_PASS = 0.03 +R_P1 = 1e-3 _CELLS = {"cubic": (5.1, 5.1, 5.1, 90, 90, 90), "tetragonal": (5.1, 5.1, 7.3, 90, 90, 90), "hexagonal": (5.1, 5.1, 7.3, 90, 90, 120), "trigonal": (5.1, 5.1, 7.3, 90, 90, 120), "orthorhombic": (5.1, 6.2, 7.3, 90, 90, 90), "triclinic": (5.1, 6.2, 7.3, 81, 103, 95)} @@ -65,11 +72,11 @@ def cell_for(sg: gemmi.SpaceGroup) -> tuple: return _CELLS[system] -def orbit(sg: gemmi.SpaceGroup) -> list[np.ndarray]: - """The general position ``XYZ``'s orbit under gemmi's (ITC) operations, each point once, in [0, 1).""" +def orbit(sg: gemmi.SpaceGroup, xyz=XYZ) -> list[np.ndarray]: + """The orbit of ``xyz`` (default: the general position) under gemmi's (ITC) operations, each point once, in [0, 1).""" pts = [] for op in sg.operations(): - q = np.mod(np.array(op.apply_to_xyz(list(XYZ)), dtype=float), 1.0) + q = np.mod(np.array(op.apply_to_xyz(list(xyz)), dtype=float), 1.0) if not any(np.allclose(np.mod(q - r + 0.5, 1.0) - 0.5, 0, atol=1e-9) for r in pts): pts.append(q) return pts @@ -128,6 +135,39 @@ def _pattern(experiment) -> np.ndarray: return np.asarray(arrays["calc"]) - np.asarray(arrays["bkg"]) +def _raw_r(a: np.ndarray, b: np.ndarray) -> float: + return float(np.sum(np.abs(a - b)) / np.sum(np.abs(b))) + + +def _evaluate(template: str) -> tuple: + """easydiffraction's Wyckoff template, e.g. ``"(x,2x,1/4)"``, at the generic values ``XYZ``, in [0, 1).""" + values = dict(zip("xyz", XYZ)) + exprs = [re.sub(r"(\d)([xyz])", r"\1*\2", e.strip()) for e in template.strip("()").split(",")] + return tuple(float(eval(e, {"__builtins__": {}}, values)) % 1.0 for e in exprs) + + +def special_sites(name: str, code: str, sg: gemmi.SpaceGroup) -> list[tuple[str, str, tuple]]: + """``(letter, template, position)`` for every special Wyckoff site of easydiffraction's table.""" + import easydiffraction.crystallography.crystallography as ecr + + general = len(orbit(sg)) + table = ecr.space_group_wyckoff_table(name, code or None) or {} + return [(letter, info["coords_xyz"][0], _evaluate(info["coords_xyz"][0])) + for letter, info in sorted(table.items()) if info["multiplicity"] < general] + + +def _sites_problem(name: str, code: str, sg: gemmi.SpaceGroup, cell: tuple, calculator: str, + data_path: Path) -> str | None: + """The first special site the calculator computes wrongly (its pattern vs its own P 1 expansion), or ``None``.""" + for letter, template, xyz in special_sites(name, code, sg): + y = _pattern(_experiment(name, code, cell, calculator, data_path, atoms=(xyz,))) + y_p1 = _pattern(_experiment("P 1", "", cell, calculator, data_path, atoms=orbit(sg, xyz))) + r = _raw_r(y, y_p1) + if not r < R_P1: + return f"site {letter} {template} R={r:.3g}" + return None + + def verify(xhm: str, entry: tuple, data_path: Path) -> tuple[bool, bool, str]: """``(cryspy_ok, crysfml_ok, note)`` for one setting; each calculator on its own (A170).""" name, code, _default = entry @@ -141,13 +181,19 @@ def verify(xhm: str, entry: tuple, data_path: Path) -> tuple[bool, bool, str]: keep = fr > 1e-6 * fr.max() r_cryspy = _ls_r(fc[keep], fr[keep]) cryspy_ok, cryspy_note = r_cryspy < R_PASS, f"cryspy R={r_cryspy:.3f}" + if cryspy_ok: + bad = _sites_problem(name, code, sg, cell, "cryspy", data_path) + cryspy_ok, cryspy_note = bad is None, cryspy_note + (f", {bad}" if bad else "") except Exception as exc: # noqa: BLE001 an engine crash means the setting is unusable cryspy_ok, cryspy_note = False, f"cryspy {type(exc).__name__}: {str(exc)[:60]}" try: y_setting = _pattern(_experiment(name, code, cell, "crysfml", data_path)) y_p1 = _pattern(_experiment("P 1", "", cell, "crysfml", data_path, atoms=orbit(sg))) - r_crysfml = _ls_r(y_setting, y_p1) - crysfml_ok, crysfml_note = r_crysfml < R_PASS, f"crysfml R={r_crysfml:.3f}" + r_crysfml = _raw_r(y_setting, y_p1) + crysfml_ok, crysfml_note = r_crysfml < R_P1, f"crysfml R={r_crysfml:.3g}" + if crysfml_ok: + bad = _sites_problem(name, code, sg, cell, "crysfml", data_path) + crysfml_ok, crysfml_note = bad is None, crysfml_note + (f", {bad}" if bad else "") except Exception as exc: # noqa: BLE001 crysfml_ok, crysfml_note = False, f"crysfml {type(exc).__name__}: {str(exc)[:60]}" return cryspy_ok, crysfml_ok, f"{cryspy_note}, {crysfml_note}" @@ -178,8 +224,9 @@ def render(results: list) -> str: "", "Generated by ``scripts/verify_easydiffraction_settings.py`` from easydiffraction", f"{version('easydiffraction')} by computation (EB-42, EB-80): a setting is listed when the calculator's", - "per-reflection structure factors (CrysPy, against an ITC reference) or pattern (CrysFML, against its own", - f"pattern of the orbit written out in P 1) for a general-position atom match within R < {R_PASS} (A170).", + "per-reflection structure factors (CrysPy, against an ITC reference, R < " + f"{R_PASS}" + ") or pattern (CrysFML,", + f"against its own pattern of the orbit written out in P 1, R < {R_P1}) for a general-position atom match (A170),", + f"and its pattern of every special Wyckoff site equals its own P 1 expansion (R < {R_P1}; A174).", "CrysFML is handed only the short symbol, so it misreads most non-default settings; easydiffraction's cell", "constraints assume b-unique monoclinic cells; some settings crash in CrysPy.", '"""', diff --git a/src/powderline/gateways/easydiffraction/schema.py b/src/powderline/gateways/easydiffraction/schema.py index 317386f..588ffe5 100644 --- a/src/powderline/gateways/easydiffraction/schema.py +++ b/src/powderline/gateways/easydiffraction/schema.py @@ -197,7 +197,7 @@ def calculator_setting_problem(name: str, calculator: str) -> Optional[str]: "correctly by it") alt = f", or use the {other[0]} calculator" if other else "" return (f"the {calculator} calculator does not compute the setting {name!r} correctly (easydiffraction " - f"misreads it or fails, EB-80): {hint}{alt}") + f"misreads it, fails, or computes its special positions wrongly; EB-80, EB-77): {hint}{alt}") def easydiffraction_space_group(name: str) -> tuple[str, str]: diff --git a/src/powderline/gateways/easydiffraction/space_group_support.py b/src/powderline/gateways/easydiffraction/space_group_support.py index 7d22110..07bf323 100644 --- a/src/powderline/gateways/easydiffraction/space_group_support.py +++ b/src/powderline/gateways/easydiffraction/space_group_support.py @@ -2,13 +2,14 @@ Generated by ``scripts/verify_easydiffraction_settings.py`` from easydiffraction 0.21.1 by computation (EB-42, EB-80): a setting is listed when the calculator's -per-reflection structure factors (CrysPy, against an ITC reference) or pattern (CrysFML, against its own -pattern of the orbit written out in P 1) for a general-position atom match within R < 0.03 (A170). +per-reflection structure factors (CrysPy, against an ITC reference, R < 0.03) or pattern (CrysFML, +against its own pattern of the orbit written out in P 1, R < 0.001) for a general-position atom match (A170), +and its pattern of every special Wyckoff site equals its own P 1 expansion (R < 0.001; A174). CrysFML is handed only the short symbol, so it misreads most non-default settings; easydiffraction's cell constraints assume b-unique monoclinic cells; some settings crash in CrysPy. """ -CRYSPY_SETTINGS: frozenset[str] = frozenset({ # 437 of 531 +CRYSPY_SETTINGS: frozenset[str] = frozenset({ # 428 of 531 'P 1', 'P -1', 'P 1 2 1', @@ -259,7 +260,6 @@ 'B b a b:1', 'B b a b:2', 'F m m m', - 'F d d d:1', 'F d d d:2', 'I m m m', 'I b a m', @@ -288,7 +288,6 @@ 'P 42/n:1', 'P 42/n:2', 'I 4/m', - 'I 41/a:1', 'I 41/a:2', 'P 4 2 2', 'P 4 21 2', @@ -328,7 +327,6 @@ 'P 4/m c c', 'P 4/n b m:1', 'P 4/n b m:2', - 'P 4/n n c:1', 'P 4/n n c:2', 'P 4/m b m', 'P 4/m n c', @@ -340,7 +338,6 @@ 'P 42/m c m', 'P 42/n b c:1', 'P 42/n b c:2', - 'P 42/n n m:1', 'P 42/n n m:2', 'P 42/m b c', 'P 42/m n m', @@ -350,9 +347,7 @@ 'P 42/n c m:2', 'I 4/m m m', 'I 4/m c m', - 'I 41/a m d:1', 'I 41/a m d:2', - 'I 41/a c d:1', 'I 41/a c d:2', 'P 3', 'P 32', @@ -413,7 +408,6 @@ 'P n -3:1', 'P n -3:2', 'F m -3', - 'F d -3:1', 'F d -3:2', 'I m -3', 'P a -3', @@ -436,11 +430,9 @@ 'P n -3 n:1', 'P n -3 n:2', 'P m -3 n', - 'P n -3 m:1', 'P n -3 m:2', 'F m -3 m', 'F m -3 c', - 'F d -3 m:1', 'F d -3 m:2', 'F d -3 c:1', 'I m -3 m', diff --git a/tests/test_easydiffraction_schema.py b/tests/test_easydiffraction_schema.py index aa5b273..5b52e61 100644 --- a/tests/test_easydiffraction_schema.py +++ b/tests/test_easydiffraction_schema.py @@ -524,6 +524,9 @@ def test_window_mask_selects_weighted_points_in_range(): ("P n n n:1", "crysfml", "P n n n:2"), ("R -3 m:R", "cryspy", "R -3 m:H"), ("P 1 1 2", "cryspy", "P 1 2 1"), + ("F d -3 m:1", "cryspy", "F d -3 m:2"), # special positions computed wrongly (A174, EB-77) + ("F d d d:1", "cryspy", "F d d d:2"), + ("P n -3 m:1", "cryspy", "P n -3 m:2"), ]) def test_setting_the_calculator_misreads_rejected(setting, calculator, suggestion): from powderline.gateways.easydiffraction.schema import calculator_setting_problem @@ -541,7 +544,7 @@ def test_p31_cryspy_rejected_naming_crysfml(): @pytest.mark.parametrize("setting, calculator", [("P m -3 m", "crysfml"), ("P m -3 m", "cryspy"), - ("F d -3 m:1", "cryspy"), ("C 1 2/m 1", "crysfml"), + ("P n -3:1", "cryspy"), ("C 1 2/m 1", "crysfml"), ("P 31", "crysfml"), ("P 6/m", "crysfml"), ("F d -3 c:2", "crysfml")]) def test_setting_the_calculator_computes_accepted(setting, calculator): from powderline.gateways.easydiffraction.schema import calculator_setting_problem diff --git a/tests/test_easydiffraction_space_groups.py b/tests/test_easydiffraction_space_groups.py index 0f4d1ba..697e123 100644 --- a/tests/test_easydiffraction_space_groups.py +++ b/tests/test_easydiffraction_space_groups.py @@ -71,10 +71,12 @@ def test_structure_accepts_the_mapped_setting(xhm, expected): #: A fixed sample re-verified by computation against the committed support sets (EB-80): defaults, -#: origin choices, rhombohedral axes, non-default monoclinic and orthorhombic settings, CrysPy crashes, and -#: P 31 (CrysPy computes the other hand; A170). +#: origin choices, rhombohedral axes, non-default monoclinic and orthorhombic settings, CrysPy crashes, +#: P 31 (CrysPy computes the other hand; A170), and origin-1 settings whose special positions CrysPy computes +#: wrongly (A174). SUPPORT_SAMPLE = ("P m -3 m", "F d -3 m:1", "F d -3 m:2", "R -3 m:H", "R -3 m:R", "C 1 2/m 1", "P 1 1 2", - "P n n n:1", "P n n n:2", "P b n m", "A 1 2 1", "P 31", "P 6/m", "F d -3 c:2") + "P n n n:1", "P n n n:2", "P b n m", "A 1 2 1", "P 31", "P 6/m", "F d -3 c:2", "F d d d:1", + "P n -3 m:1") def test_support_sets_reverified_on_a_sample(): From 8dfa9bb76d466bc372319b4114e8cf6c3a13bf3f Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Sat, 10 Oct 2026 14:42:16 -0400 Subject: [PATCH 17/20] fix(easydiffraction): refuse negative intensities; check peak widths within 1 deg of the window (A177, A178) A177 (S4, EB-91): easydiffraction refuses a negative measured intensity, so a negative Itth on a point handed to it is now a validation error at xrd_data.Itth[i] instead of a raw TypeError at run time; points outside the window or with zero weight are not checked. A178 (S5): the stated (and, after the run, refined) peak widths must be >= 0 on the handed points and on a 0.01 deg grid over the window widened by 1 deg plus the size of the zero, displacement and transparency corrections: easydiffraction computes reflections just outside the window, and a negative width there moved the first window point by 12 sigma in the review's probe. Assisted-by: claude-code:claude-opus-5-5 --- .../gateways/easydiffraction/native_run.py | 14 ++-- .../gateways/easydiffraction/schema.py | 61 ++++++++++++++---- tests/test_easydiffraction_schema.py | 64 +++++++++++++++++-- 3 files changed, 118 insertions(+), 21 deletions(-) diff --git a/src/powderline/gateways/easydiffraction/native_run.py b/src/powderline/gateways/easydiffraction/native_run.py index fa996d2..f757591 100644 --- a/src/powderline/gateways/easydiffraction/native_run.py +++ b/src/powderline/gateways/easydiffraction/native_run.py @@ -48,7 +48,7 @@ from powderline.exceptions import EngineExecutionError, StructuredWarning from powderline.fitstats import compute_fit_statistics from powderline.gateways.easydiffraction.native_builder import Build, build_project, structure_name -from powderline.gateways.easydiffraction.schema import profile_negative_widths +from powderline.gateways.easydiffraction.schema import profile_negative_widths, width_check_points from powderline.schema_core import collect_warnings, parameters_requested from powderline.symmetry import cell_tie_groups @@ -132,12 +132,16 @@ def build_result(model, build: Build, out: Path, warnings: list, *, elapsed: flo field_path=None)) warnings += _limit_hits(build) warnings += _empty_phases(model, build) - for kind, (lo, hi) in profile_negative_widths(lambda n: getattr(expt.peak, n).value, x_window).items(): + shifts = [getattr(expt.instrument, n).value for n in + ("calib_twotheta_offset", "calib_sample_displacement", "calib_sample_transparency")] + points, pad = width_check_points(x_window, shifts) + for kind, (lo, hi) in profile_negative_widths(lambda n: getattr(expt.peak, n).value, points).items(): warnings.append(StructuredWarning( code="easydiffraction_negative_width", - message=(f"with the refined profile the {kind} is negative from {lo:g} to {hi:g} deg 2theta: " - "easydiffraction computed those peaks wrongly without a message (CrysFML drops them, CrysPy " - "distorts them; EB-87); the values are reported as they stand"), + message=(f"with the refined profile the {kind} is negative from {lo:g} to {hi:g} deg 2theta (within " + f"{pad:g} deg of the fit window): easydiffraction computed those peaks wrongly without a " + "message (CrysFML drops them, CrysPy distorts them; EB-87); the values are reported as they " + "stand"), field_path="payload.instrument.broadening.parameters")) refined_rows = _refined_rows(model, build) diff --git a/src/powderline/gateways/easydiffraction/schema.py b/src/powderline/gateways/easydiffraction/schema.py index 588ffe5..daeaa34 100644 --- a/src/powderline/gateways/easydiffraction/schema.py +++ b/src/powderline/gateways/easydiffraction/schema.py @@ -25,22 +25,26 @@ easydiffraction rules checked here: - the space group must be a setting easydiffraction has (EB-42) and one the - chosen calculator computes correctly (EB-80: established by computation; - CrysFML misreads most non-default settings); + chosen calculator computes correctly, for a general position and every special + site (EB-80, A174: established by computation; CrysFML misreads most + non-default settings, CrysPy computes special positions wrongly in nine + origin-choice-1 settings); - a value outside easydiffraction's physical limits is refused by the engine even when fixed, so it is an error (cell lengths 0..30 A, angles 0..180 deg, occupancy 0..1, Uiso and U11/U22/U33 0..10 A^2, wavelength, scale and absorption mu_r >= 0; EB-71; A111, A157 B4); - wavelength > 0 (A126); scale >= 0 (A161: a phase may contribute nothing); - a data point handed to the engine has a weight <= 1e8 (sigma >= 1e-4): - easydiffraction replaces a smaller sigma with 1.0 silently (A159); + easydiffraction replaces a smaller sigma with 1.0 silently (A159), and an + intensity >= 0: easydiffraction refuses a negative one (EB-91, A177); - the peak type must be one the calculator computes; ``cutoff_fwhm`` is a CrysPy setting (CrysFML ignores it) (A162, A127 principle); - ``Uaniso`` needs the cryspy calculator: easydiffraction hands CrysFML only B = 8 pi^2 Ueq, so the tensor would have no effect (EB-23, A127 principle); -- the stated profile makes no peak width negative at a point handed to the - engine (Gaussian FWHM^2 or Lorentzian FWHM): easydiffraction would compute a - wrong pattern without a message (EB-87, A171); +- the stated profile makes no peak width negative within ``WIDTH_MARGIN`` of the + fit window, widened by the stated position corrections (Gaussian FWHM^2 or + Lorentzian FWHM): easydiffraction would compute a wrong pattern without a + message, also from a reflection just outside the window (EB-87, A171, A178); - the Kα2 wavelength and its intensity ratio are stated together; - simulation = no refine flag set (lmfit is not run). """ @@ -104,6 +108,13 @@ #: Largest data weight easydiffraction keeps: it replaces sigma < 1e-4 by 1.0 (EB-73, A159). MAX_WEIGHT = 1e8 +#: How far outside the fit window (deg 2theta) peak widths must be >= 0 (A178): easydiffraction computes +#: reflections beyond the window whose tails reach it (EB-70), and a negative width there distorts or drops +#: them silently (EB-87). The stated position corrections widen it further (they move reflections). +WIDTH_MARGIN = 1.0 +#: Spacing of the 2theta grid on which the widths are checked, besides the points handed to the engine. +WIDTH_GRID_STEP = 0.01 + #: easydiffraction's physical limits (min, max) on values (EB-71; ``None`` = none). The #: engine refuses a value outside them at input, fixed or refined, and gives an #: unbounded side of a refined parameter its physical limit. @@ -168,6 +179,19 @@ def profile_negative_widths(values, tth) -> dict[str, tuple[float, float]]: "broad_gauss_u", "broad_gauss_v", "broad_gauss_w", "broad_lorentz_x", "broad_lorentz_y")), tth) +def width_check_points(tth, shifts=()) -> tuple[np.ndarray, float]: + """2theta values where the peak widths must be >= 0, and the margin used (A178). + + The points handed to the engine (``tth``) and a ``WIDTH_GRID_STEP`` grid over the window widened by + ``WIDTH_MARGIN`` plus the size of the position corrections ``shifts`` (zero, displacement, transparency, + deg), kept inside (0, 179] deg. + """ + tth = np.asarray(tth, dtype=float) + pad = WIDTH_MARGIN + sum(abs(float(v)) for v in shifts) + lo, hi = max(tth.min() - pad, 1e-3), min(tth.max() + pad, 179.0) + return np.union1d(tth, np.linspace(lo, hi, int(np.ceil((hi - lo) / WIDTH_GRID_STEP)) + 1)), pad + + def physical_problems(p: Optional[P], limits: tuple, loc: tuple, what: str) -> list[InitErrorDetails]: """A value outside easydiffraction's physical limits: the engine refuses it at input (EB-71).""" if p is None: @@ -508,6 +532,15 @@ def _easydiffraction_payload(self) -> "RietveldPayload": ("xrd_data", "Itth_weights", int(i)), self.xrd_data.Itth_weights[i], value=self.xrd_data.Itth_weights[i], sigma=f"{self.xrd_data.Itth_weights[i] ** -0.5:.3g}", limit=f"{MAX_WEIGHT:g}")) # pydantic's templates take no format specs + itth = np.asarray(self.xrd_data.Itth, dtype=float) + for i in np.flatnonzero(mask & (itth < 0))[:20]: + problems.append(_error( + "easydiffraction_negative_intensity", + "intensity {value} at {tth} deg 2theta is negative: easydiffraction refuses negative measured " + "intensities (EB-91); shift the data so that every point in the fit window is >= 0, or give " + "the point weight 0 (it is then not handed to the engine)", + ("xrd_data", "Itth", int(i)), self.xrd_data.Itth[i], value=self.xrd_data.Itth[i], + tth=f"{self.xrd_data.tth[i]:g}")) calculator = self.refinement_controls.calculator for name, phase in self.phases.items(): why = calculator_setting_problem(phase.space_group, calculator) @@ -537,14 +570,18 @@ def _easydiffraction_payload(self) -> "RietveldPayload": ("instrument", "broadening", "cutoff_fwhm"), profile.cutoff_fwhm, calculator=calculator)) if mask is not None: pars = profile.parameters - tth = np.asarray(self.xrd_data.tth, dtype=float)[mask] - for kind, (lo, hi) in profile_negative_widths(lambda n: getattr(pars, n).value, tth).items(): + corrections = self.instrument.corrections + shifts = [q.value for q in (corrections.calib_twotheta_offset, corrections.calib_sample_displacement, + corrections.calib_sample_transparency) if q is not None] + points, pad = width_check_points(np.asarray(self.xrd_data.tth, dtype=float)[mask], shifts) + for kind, (lo, hi) in profile_negative_widths(lambda n: getattr(pars, n).value, points).items(): problems.append(_error( "easydiffraction_negative_width", - "the {width} is negative from {lo} to {hi} deg 2theta in the fit window: easydiffraction " - "then computes a wrong pattern without a message (CrysFML drops those peaks, CrysPy distorts " - "them; EB-87)", ("instrument", "broadening", "parameters"), pars.model_dump(), - width=kind, lo=f"{lo:g}", hi=f"{hi:g}")) + "the {width} is negative from {lo} to {hi} deg 2theta, within {pad} deg of the fit window " + "(reflections there are computed and reach it): easydiffraction then computes a wrong " + "pattern without a message (CrysFML drops those peaks, CrysPy distorts them; EB-87)", + ("instrument", "broadening", "parameters"), pars.model_dump(), + width=kind, lo=f"{lo:g}", hi=f"{hi:g}", pad=f"{pad:g}")) _raise(type(self).__name__, problems) return self diff --git a/tests/test_easydiffraction_schema.py b/tests/test_easydiffraction_schema.py index 5b52e61..b1f4941 100644 --- a/tests/test_easydiffraction_schema.py +++ b/tests/test_easydiffraction_schema.py @@ -350,7 +350,8 @@ def test_negative_gaussian_width_in_window_rejected(fixture): validate_recipe(r) hits = [e for e in exc.value.errors() if e["type"] == "easydiffraction_negative_width"] assert [e["loc"] for e in hits] == [("payload", "instrument", "broadening", "parameters")] - assert "Gaussian" in hits[0]["msg"] and "from 1" in hits[0]["msg"] and "{" not in hits[0]["msg"] + assert "Gaussian" in hits[0]["msg"] and "within 1 deg of the fit window" in hits[0]["msg"] + assert "{" not in hits[0]["msg"] def test_negative_lorentzian_width_rejected(): @@ -360,10 +361,65 @@ def test_negative_lorentzian_width_rejected(): assert len(errors) == 1 -def test_negative_width_outside_the_window_accepted(): - """Only the points handed to the engine count (window [1, 15]).""" +def _x_negative_above(two_theta: float, r: dict) -> float: + """The Lorentzian X that makes the fixture's FWHM (X tan + Y / cos) negative above ``two_theta``.""" + y = r["payload"]["instrument"]["broadening"]["parameters"]["broad_lorentz_y"][0] + return -y / np.sin(np.radians(two_theta / 2)) + + +def test_negative_width_beyond_the_margin_accepted(): + """Only the window widened by WIDTH_MARGIN (1 deg) counts: window [1, 15], negative above 16.2 deg (A178).""" + r = _load_fixture("lab6_cryspy_pv.json") + r["payload"]["instrument"]["broadening"]["parameters"]["broad_lorentz_x"][0] = _x_negative_above(16.2, r) + validate_recipe(r) + + +def test_negative_width_just_outside_the_window_rejected(): + """A reflection just outside the window is computed and reaches it (A178; the review's 12-sigma case).""" r = _load_fixture("lab6_cryspy_pv.json") - r["payload"]["instrument"]["broadening"]["parameters"]["broad_gauss_w"][0] = _w_negative_below(0.9, r) + r["payload"]["instrument"]["broadening"]["parameters"]["broad_lorentz_x"][0] = _x_negative_above(15.5, r) + with pytest.raises(ValidationError) as exc: + validate_recipe(r) + msg = next(e["msg"] for e in exc.value.errors() if e["type"] == "easydiffraction_negative_width") + assert "Lorentzian" in msg and "from 15.5" in msg and "to 15.9976 deg" in msg # last handed point 14.9976 + 1 + + +def test_negative_width_margin_widened_by_the_zero_shift(): + """The stated zero offset moves reflections, so it widens the checked range (A178).""" + r = _load_fixture("lab6_cryspy_pv.json") + r["payload"]["instrument"]["broadening"]["parameters"]["broad_lorentz_x"][0] = _x_negative_above(16.2, r) + r["payload"]["instrument"]["corrections"]["calib_twotheta_offset"] = [0.5, False, None, None] + _fails(r, ("payload", "instrument", "broadening", "parameters"), "easydiffraction_negative_width") + + +# --- negative intensities (A177, EB-91) -------------------------------------------- + + +def _index_at(r: dict, lo: float, hi: float) -> int: + return next(i for i, t in enumerate(r["payload"]["xrd_data"]["tth"]) if lo <= t <= hi) + + +def test_negative_intensity_in_window_rejected(): + """easydiffraction refuses a negative measured intensity on a point it is handed (EB-91).""" + r = _load_fixture("lab6_crysfml_tch.json") + i = _index_at(r, 10.0, 10.1) + r["payload"]["xrd_data"]["Itth"][i] = -3.0 + with pytest.raises(ValidationError) as exc: + validate_recipe(r) + hits = [e for e in exc.value.errors() if e["type"] == "easydiffraction_negative_intensity"] + assert [e["loc"] for e in hits] == [("payload", "xrd_data", "Itth", i)] + assert "EB-91" in hits[0]["msg"] and "{" not in hits[0]["msg"] + + +@pytest.mark.parametrize("where", ["outside the window", "zero weight"]) +def test_negative_intensity_not_handed_accepted(where): + """A negative intensity outside the window, or on a zero-weight point, never reaches the engine.""" + r = _load_fixture("lab6_crysfml_tch.json") + xrd = r["payload"]["xrd_data"] + i = _index_at(r, 15.5, 16.0) if where == "outside the window" else _index_at(r, 10.0, 10.1) + xrd["Itth"][i] = -3.0 + if where == "zero weight": + xrd["Itth_weights"][i] = 0.0 validate_recipe(r) From 0000d5fdc5dacab9215d8e9b4c6af4753bc7c722 Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Sat, 10 Oct 2026 14:42:37 -0400 Subject: [PATCH 18/20] feat(easydiffraction): accept positions held as a lattice translation; CrysFML warns; golden tolerances (A175, A176, A179) A176 (Q3, EB-74): easydiffraction stores some template-pattern positions in its own writing, e.g. (0.137, 0.863, z) on (x, -x, z) as (0.137, -0.137, z): the same atom and pattern. The site check now accepts a lattice translation (multiplicity and position otherwise unchanged), records it, moves stated bounds of a free coordinate with it, reports refined coordinates in the recipe's writing, and warns easydiffraction_position_translated. Any other move, or another multiplicity, stays an error (EB-47). A175 (Q2, EB-90): every CrysFML refinement warns easydiffraction_crysfml_start_dependent: CrysFML computes in single precision, below lmfit's finite-difference step, so refined values, Rwp and ESDs can depend on the starting values. Its refinement golden now compares only stop-independent quantities (counts, warnings, cell within 1e-4); a new CrysFML calculation fixture carries CrysFML's numbers. A179 (S6): golden tolerances follow docs/regression-tolerance.md (values, ESDs, statistics rtol 1e-3, a value also within 1 % of its ESD; cell 1e-4); goldens record the easydiffraction, cryspy, crysfml, lmfit, numpy and scipy versions (regenerated: no value changed). Assisted-by: claude-code:claude-opus-5-5 --- .../easydiffraction/native_builder.py | 47 +- .../gateways/easydiffraction/native_run.py | 37 +- tests/data/easydiffraction/native/README.md | 1 + .../native/golden/drx33_two_phase_cryspy.json | 8 + .../native/golden/lab6_crysfml_tch.json | 9 + .../golden/lab6_crysfml_tch_calculation.json | 509 + .../native/golden/lab6_cryspy_pv.json | 8 + .../native/golden/lab6_slots_simulation.json | 8 + .../native/lab6_crysfml_tch_calculation.json | 12518 ++++++++++++++++ tests/test_easydiffraction_native.py | 107 +- 10 files changed, 13228 insertions(+), 24 deletions(-) create mode 100644 tests/data/easydiffraction/native/golden/lab6_crysfml_tch_calculation.json create mode 100644 tests/data/easydiffraction/native/lab6_crysfml_tch_calculation.json diff --git a/src/powderline/gateways/easydiffraction/native_builder.py b/src/powderline/gateways/easydiffraction/native_builder.py index fd2c9b4..5ea9f08 100644 --- a/src/powderline/gateways/easydiffraction/native_builder.py +++ b/src/powderline/gateways/easydiffraction/native_builder.py @@ -22,7 +22,12 @@ anisotropic atom after an isotropic one would keep its starting tensor (EB-86). Order is not physics; everything is keyed by label. - **Checks after the build** (errors, never substitutions): easydiffraction's - multiplicity of every atom equals core's and no coordinate moved (EB-47); + multiplicity of every atom equals core's and no coordinate moved (EB-47), + except by a lattice translation: easydiffraction stores a template-pattern + position in its own writing, e.g. (0.137, 0.863, z) on (x, -x, z) as + (0.137, -0.137, z), the same atom (EB-74, A176). Such a translation is kept + per atom: stated bounds of a free coordinate are moved with it, reports give + the recipe's writing, and the run warns; with CrysPy, an atom on a special position with a free coordinate is written in the pattern of easydiffraction's template for its site, since CrysPy computes wrong structure factors for the other images (EB-77). @@ -66,6 +71,8 @@ class FreeParameter: limit_source: tuple = (None, None) #: The recipe members this parameter stands for (a tie group), each with its relation k, c. members: tuple = () + #: Added to easydiffraction's value to give the recipe's writing (a lattice translation, A176). + report_offset: float = 0.0 @dataclass @@ -76,6 +83,8 @@ class Build: free: list = field(default_factory=list) mask: np.ndarray = None tth: np.ndarray = None + #: (phase, label) -> (stated - held) per coordinate, integers: positions easydiffraction holds translated. + translations: dict = field(default_factory=dict) def structure_name(phase: str) -> str: @@ -115,15 +124,17 @@ def _bounds(p: BoundedRefinableParameter, physical: tuple) -> tuple[tuple, tuple def _free(build: Build, param, p: BoundedRefinableParameter, *, name: str, path: str, descriptive: str, - category: str, physical: tuple = (None, None), phase=None, atom=None, members=()) -> None: + category: str, physical: tuple = (None, None), phase=None, atom=None, members=(), offset: float = 0.0) -> None: + """Free ``param`` with the recipe's bounds; ``offset`` = recipe writing - easydiffraction's (A176).""" param.free = True if p.min is not None: - param.fit_min = p.min + param.fit_min = p.min - offset if p.max is not None: - param.fit_max = p.max + param.fit_max = p.max - offset limits, source = _bounds(p, physical) + limits = tuple(None if v is None else (v - offset if src == "stated" else v) for v, src in zip(limits, source)) build.free.append(FreeParameter(param, name, path, descriptive, category, phase, atom, limits, source, - members or ((name, 1, 0),))) + members or ((name, 1, 0),), offset)) def _set(obj, name: str, value) -> None: @@ -262,8 +273,10 @@ def _free_parameters(model, build: Build) -> None: site = s.atom_sites[label] apath = f"{ppath}.atoms.{label}" ties = coupling_groups(phase.space_group, (atom.x.value, atom.y.value, atom.z.value)) + shift = dict(zip("xyz", build.translations.get((name, label), (0, 0, 0)))) for group in ties.xyz.groups: - _free_group(build, site, _XYZ, atom, group, path=apath, phase=name, atom=label, category="atom_xyz") + _free_group(build, site, _XYZ, atom, group, path=apath, phase=name, atom=label, category="atom_xyz", + offsets=shift) if atom.occupancy.refine_flag: _free(build, site.occupancy, atom.occupancy, name=f"{name}_{label}_occupancy", path=f"{apath}.occupancy", descriptive=f"{label} occupancy", category="atom_occupancy", @@ -280,7 +293,7 @@ def _free_parameters(model, build: Build) -> None: def _free_group(build: Build, holder, attrs: dict, recipe, group, *, path: str, phase: str, category: str, - atom: Optional[str] = None, physical: tuple = (None, None)) -> None: + atom: Optional[str] = None, physical: tuple = (None, None), offsets: Optional[dict] = None) -> None: """Free one tie group: the member easydiffraction leaves free (its constraints tie the others, EB-47).""" members = group.members if not getattr(recipe, members[0]).refine_flag: # F1: the whole group shares the flag @@ -296,7 +309,8 @@ def _free_group(build: Build, holder, attrs: dict, recipe, group, *, path: str, _free(build, getattr(holder, attrs[m]), getattr(recipe, m), name=f"{phase}_{atom + '_' if atom else ''}{m}", path=f"{path}.{m}", descriptive=f"{phase} {owner}{m}", category=category, phase=phase, atom=atom, physical=physical if m in ("a", "b", "c", "alpha", "beta", "gamma", "U11", "U22", "U33") else (None, None), - members=tuple((name, k, c) for name, k, c in zip(members, group.coefficients, group.offsets))) + members=tuple((name, k, c) for name, k, c in zip(members, group.coefficients, group.offsets)), + offset=(offsets or {}).get(m, 0)) # --- checks after the build --------------------------------------------------------------- @@ -327,7 +341,11 @@ def _matches_template(template: str, xyz: tuple) -> bool: def site_problems(model, build: Build) -> list[str]: - """Atoms easydiffraction reads differently from core (EB-47), or CrysPy computes wrongly (EB-77).""" + """Atoms easydiffraction reads differently from core (EB-47), or CrysPy computes wrongly (EB-77). + + A position easydiffraction holds translated by a lattice vector is the same atom: it is recorded in + ``build.translations`` (EB-74, A176), not a problem. + """ import easydiffraction.crystallography.crystallography as ecr problems = [] @@ -342,11 +360,20 @@ def site_problems(model, build: Build) -> list[str]: held = (site.fract_x.value, site.fract_y.value, site.fract_z.value) where = f"payload.phases.{name}.atoms.{label}" core_mult = phase.site(label).multiplicity - if site.multiplicity.value != core_mult or held != stated: + shift = tuple(a - b for a, b in zip(stated, held)) + translated = all(abs(d - round(d)) <= 1e-9 for d in shift) + if site.multiplicity.value != core_mult: problems.append(f"{where}: easydiffraction reads the position {stated} as Wyckoff " f"{site.wyckoff_letter.value!r} with multiplicity {site.multiplicity.value} at " f"{held}; core has multiplicity {core_mult} (EB-47)") continue + if not translated: + problems.append(f"{where}: easydiffraction moved the position {stated} to {held} (Wyckoff " + f"{site.wyckoff_letter.value!r}), not by a lattice translation; state the position " + "exactly (EB-47, EB-74)") + continue + if any(round(d) for d in shift): + build.translations[(name, label)] = tuple(int(round(d)) for d in shift) entry = table.get(site.wyckoff_letter.value) free_coordinate = entry is not None and any(c in entry["coords_xyz"][0] for c in "xyz") if not (cryspy and free_coordinate and core_mult < len(orbit(phase.space_group, (0.1371, 0.2713, 0.3893)))): diff --git a/src/powderline/gateways/easydiffraction/native_run.py b/src/powderline/gateways/easydiffraction/native_run.py index f757591..3c41bd2 100644 --- a/src/powderline/gateways/easydiffraction/native_run.py +++ b/src/powderline/gateways/easydiffraction/native_run.py @@ -27,7 +27,12 @@ (A157 B7), ``easydiffraction_fit_not_converged`` (informative, A166: lmfit stopped without success; the values are reported), ``easydiffraction_reflections_not_available`` (CrysFML, A165), ``easydiffraction_negative_width`` (the refined profile makes a peak width - negative in the window, A171). + negative within the checked range, A171, A178), + ``easydiffraction_position_translated`` (an atom easydiffraction holds in + another writing of the same position; reports use the recipe's, A176), + ``easydiffraction_crysfml_start_dependent`` (every CrysFML refinement: its + single-precision pattern is flat at lmfit's finite-difference step, so the + result depends on the starting values, EB-90, A175). Runtime layer: imports easydiffraction. """ @@ -74,6 +79,7 @@ def run_native(model, output_dir, *, validated_warnings: list | None = None) -> build = build_project(model) p = model.payload simulation = p.simulation_mode() + warnings += _translations(model, build) analysis = build.project.analysis fit_info = {} if simulation: @@ -89,6 +95,14 @@ def run_native(model, output_dir, *, validated_warnings: list | None = None) -> results = analysis.fit_results fit_info = {"success": bool(results.success), "message": str(results.message), "iterations": results.iterations} + if rc.calculator == "crysfml": + warnings.append(StructuredWarning( + code="easydiffraction_crysfml_start_dependent", + message=("the CrysFML calculator computes in single precision: its pattern does not change for " + "parameter steps below about 1e-7 relative, smaller than lmfit's finite-difference step, so " + "the refined values, Rwp and ESDs can depend on the starting values (EB-90). Check by " + "refining again from slightly different starts, or use the cryspy calculator"), + field_path="payload.refinement_controls.calculator")) if not results.success: warnings.append(StructuredWarning( code="easydiffraction_fit_not_converged", @@ -234,6 +248,23 @@ def _esd(param) -> float | None: return None if e is None or not math.isfinite(e) else float(e) +def _translations(model, build: Build) -> list: + """Atoms easydiffraction holds in another writing of the stated position (a lattice translation, A176).""" + found = [] + for (name, label), shift in build.translations.items(): + site = build.structures[name].atom_sites[label] + atom = model.payload.phases[name].atoms[label] + held = (site.fract_x.value, site.fract_y.value, site.fract_z.value) + found.append(StructuredWarning( + code="easydiffraction_position_translated", + message=(f"easydiffraction holds {label} at {tuple(round(v, 10) for v in held)}, the stated " + f"{(atom.x.value, atom.y.value, atom.z.value)} moved by the lattice vector {shift} (its own " + "writing of the Wyckoff position, EB-74): the same atom and the same pattern. Refined " + "coordinates are reported in the recipe's writing"), + field_path=f"payload.phases.{name}.atoms.{label}")) + return found + + def _limit_hits(build: Build) -> list: found = [] for fp in build.free: @@ -246,7 +277,7 @@ def _limit_hits(build: Build) -> list: whose = "the recipe's stated bound" if source == "stated" else "easydiffraction's physical limit" found.append(StructuredWarning( code="easydiffraction_parameter_at_limit", - message=(f"{fp.descriptive} ended at its {side} limit {lim:g} ({whose}): the refinement may " + message=(f"{fp.descriptive} ended at its {side} limit {lim + fp.report_offset:g} ({whose}): the refinement may " "have been stopped by the limit"), field_path=fp.path)) return found @@ -280,7 +311,7 @@ def _refined_rows(model, build: Build) -> list[dict]: "parameter_name": fp.name, "descriptive_name": fp.descriptive, "phase_name": fp.phase or "", "phase_idx": phases.index(fp.phase) if fp.phase in phases else None, "atom_name": fp.atom or "", "atom_idx": atoms.index(fp.atom) if fp.atom in atoms else None, - "value": float(fp.parameter.value), "esd": _esd(fp.parameter), "category": fp.category, + "value": float(fp.parameter.value) + fp.report_offset, "esd": _esd(fp.parameter), "category": fp.category, }) return rows diff --git a/tests/data/easydiffraction/native/README.md b/tests/data/easydiffraction/native/README.md index c35ccba..aaa1a8d 100644 --- a/tests/data/easydiffraction/native/README.md +++ b/tests/data/easydiffraction/native/README.md @@ -8,6 +8,7 @@ They are not converted recipes: PowderLine ships no 0.26.0 → | Fixture | What it is | |---|---| | `lab6_crysfml_tch.json` | LaB6, CrysFML, Thompson-Cox-Hastings with FCJ axial asymmetry (fixed); U, V, W, X, Y, cell, scale and a 6-term Chebyshev refined; window [1, 15] | +| `lab6_crysfml_tch_calculation.json` | `lab6_crysfml_tch.json` with every refine flag cleared: a CrysFML calculation. Its golden carries CrysFML's numbers, because a CrysFML refinement stops at start-dependent points (EB-90) and the refinement's golden compares only the cell, counts and warnings | | `lab6_cryspy_pv.json` | LaB6, CrysPy, pseudo-Voigt (no asymmetry); the same refinement | | `lab6_slots_simulation.json` | Calculation only (no flag set), CrysPy, every instrument slot: Kα2 doublet, polarization with a monochromator angle, displacement, transparency, cylinder absorption, Bérar–Baldinozzi asymmetry, a peak cutoff. Exercises the builder; not a physical model | | `drx33_two_phase_cryspy.json` | Two phases from the `example_DRX_33` data: cubic DRX_33 (`F m -3 m`, four cations sharing 4a) and monoclinic Li4MgWO6 (`C 1 2/m 1`); CrysPy, pseudo-Voigt; U, V, W, X, Y, 6-term Chebyshev, both scales and cells (cubic a; a, b, c, β) refined; window [1, 15] | diff --git a/tests/data/easydiffraction/native/golden/drx33_two_phase_cryspy.json b/tests/data/easydiffraction/native/golden/drx33_two_phase_cryspy.json index eea29d5..b10b8c2 100644 --- a/tests/data/easydiffraction/native/golden/drx33_two_phase_cryspy.json +++ b/tests/data/easydiffraction/native/golden/drx33_two_phase_cryspy.json @@ -1,5 +1,13 @@ { "easydiffraction": "0.21.1", + "versions": { + "easydiffraction": "0.21.1", + "cryspy": "0.13.0", + "crysfml": "0.8.0", + "lmfit": "1.3.4", + "numpy": "2.4.6", + "scipy": "1.18.0" + }, "fixture": "drx33_two_phase_cryspy.json", "built_parameters": { "drx_33.atom_site.Li.adp_iso": { diff --git a/tests/data/easydiffraction/native/golden/lab6_crysfml_tch.json b/tests/data/easydiffraction/native/golden/lab6_crysfml_tch.json index d7fed05..f9f8239 100644 --- a/tests/data/easydiffraction/native/golden/lab6_crysfml_tch.json +++ b/tests/data/easydiffraction/native/golden/lab6_crysfml_tch.json @@ -1,5 +1,13 @@ { "easydiffraction": "0.21.1", + "versions": { + "easydiffraction": "0.21.1", + "cryspy": "0.13.0", + "crysfml": "0.8.0", + "lmfit": "1.3.4", + "numpy": "2.4.6", + "scipy": "1.18.0" + }, "fixture": "lab6_crysfml_tch.json", "built_parameters": { "lab6.atom_site.B.adp_iso": { @@ -550,6 +558,7 @@ ] }, "warnings": [ + "easydiffraction_crysfml_start_dependent", "easydiffraction_reflections_not_available" ] } diff --git a/tests/data/easydiffraction/native/golden/lab6_crysfml_tch_calculation.json b/tests/data/easydiffraction/native/golden/lab6_crysfml_tch_calculation.json new file mode 100644 index 0000000..402cc0c --- /dev/null +++ b/tests/data/easydiffraction/native/golden/lab6_crysfml_tch_calculation.json @@ -0,0 +1,509 @@ +{ + "easydiffraction": "0.21.1", + "versions": { + "easydiffraction": "0.21.1", + "cryspy": "0.13.0", + "crysfml": "0.8.0", + "lmfit": "1.3.4", + "numpy": "2.4.6", + "scipy": "1.18.0" + }, + "fixture": "lab6_crysfml_tch_calculation.json", + "built_parameters": { + "lab6.atom_site.B.adp_iso": { + "value": 0.009, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_x": { + "value": 0.2021, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_y": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.fract_z": { + "value": 0.5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.B.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.adp_iso": { + "value": 0.00858, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_x": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_y": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.fract_z": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.atom_site.La.occupancy": { + "value": 1.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_alpha": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_beta": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.angle_gamma": { + "value": 90.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_a": { + "value": 4.15682, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_b": { + "value": 4.15682, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.cell.length_c": { + "value": 4.15682, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.geom.bond_distance_inc": { + "value": 0.25, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.geom.min_bond_distance_cutoff": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12h.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12i.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.12j.multiplicity": { + "value": 12, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.1a.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.1b.multiplicity": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24k.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24l.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.24m.multiplicity": { + "value": 24, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.3c.multiplicity": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.3d.multiplicity": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.48n.multiplicity": { + "value": 48, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.6e.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.6f.multiplicity": { + "value": 6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "lab6.space_group_Wyckoff.8g.multiplicity": { + "value": 8, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.0.coef": { + "value": 30.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.0.order": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.1.coef": { + "value": 0.6, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.1.order": { + "value": 1, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.2.coef": { + "value": 0.7, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.2.order": { + "value": 2, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.3.coef": { + "value": -0.4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.3.order": { + "value": 3, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.4.coef": { + "value": -0.8, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.4.order": { + "value": 4, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.5.coef": { + "value": 0.9, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.background.5.order": { + "value": 5, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.d_spacing": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_bkg": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_calc": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_meas": { + "value": 29.800086975097656, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.intensity_meas_su": { + "value": 5.458945591879228, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data.0.two_theta": { + "value": 14.997603894670918, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_inc": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_max": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.data_range.two_theta_min": { + "value": null, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.monochromator_twotheta": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.polarization_coefficient": { + "value": 0.01, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.sample_displacement": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.sample_transparency": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.twotheta_offset": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength": { + "value": 0.1665, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength_2": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.instrument.wavelength_2_to_1_ratio": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.linked_structure.lab6.scale": { + "value": 5.4e-06, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.asym_fcj_1": { + "value": 0.001, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.asym_fcj_2": { + "value": 0.001, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_u": { + "value": 0.010379135146427253, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_v": { + "value": 0.0003328998068853359, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_gauss_w": { + "value": 0.0006360390661515072, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_lorentz_x": { + "value": 1e-05, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.broad_lorentz_y": { + "value": 0.0028143034323339765, + "free": false, + "fit_min": null, + "fit_max": null + }, + "powderline.peak.cutoff_fwhm": { + "value": 0.0, + "free": false, + "fit_min": null, + "fit_max": null + } + }, + "run": { + "rwp": 10.910866266223461, + "r_exp": 12.477923894768345, + "gof": 0.8744135930175124, + "chi2_red": 0.7645991316537959, + "simulation_mode": true, + "engine_details": { + "engine": "easydiffraction", + "engine_version": "0.21.1", + "calculator": "crysfml", + "peak_type": "cwl-thompson-cox-hastings", + "minimizer": null, + "rwp": null, + "r_exp": null, + "reduced_chi_square": null, + "n_points": 3767, + "parameters_requested": 0, + "parameters_varied": 0 + }, + "refined": {}, + "unit_cell": { + "LaB6": [ + { + "parameter": "a", + "value": 4.15682, + "esd": 0.0 + }, + { + "parameter": "b", + "value": 4.15682, + "esd": 0.0 + }, + { + "parameter": "c", + "value": 4.15682, + "esd": 0.0 + }, + { + "parameter": "alpha", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "beta", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "gamma", + "value": 90.0, + "esd": 0.0 + }, + { + "parameter": "volume", + "value": 71.82632674659455, + "esd": NaN + } + ] + }, + "warnings": [ + "easydiffraction_reflections_not_available" + ] + } +} diff --git a/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json b/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json index 2c524fe..5810e42 100644 --- a/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json +++ b/tests/data/easydiffraction/native/golden/lab6_cryspy_pv.json @@ -1,5 +1,13 @@ { "easydiffraction": "0.21.1", + "versions": { + "easydiffraction": "0.21.1", + "cryspy": "0.13.0", + "crysfml": "0.8.0", + "lmfit": "1.3.4", + "numpy": "2.4.6", + "scipy": "1.18.0" + }, "fixture": "lab6_cryspy_pv.json", "built_parameters": { "lab6.atom_site.B.adp_iso": { diff --git a/tests/data/easydiffraction/native/golden/lab6_slots_simulation.json b/tests/data/easydiffraction/native/golden/lab6_slots_simulation.json index b99f867..e2160a5 100644 --- a/tests/data/easydiffraction/native/golden/lab6_slots_simulation.json +++ b/tests/data/easydiffraction/native/golden/lab6_slots_simulation.json @@ -1,5 +1,13 @@ { "easydiffraction": "0.21.1", + "versions": { + "easydiffraction": "0.21.1", + "cryspy": "0.13.0", + "crysfml": "0.8.0", + "lmfit": "1.3.4", + "numpy": "2.4.6", + "scipy": "1.18.0" + }, "fixture": "lab6_slots_simulation.json", "built_parameters": { "lab6.atom_site.B.adp_iso": { diff --git a/tests/data/easydiffraction/native/lab6_crysfml_tch_calculation.json b/tests/data/easydiffraction/native/lab6_crysfml_tch_calculation.json new file mode 100644 index 0000000..69d32af --- /dev/null +++ b/tests/data/easydiffraction/native/lab6_crysfml_tch_calculation.json @@ -0,0 +1,12518 @@ +{ + "schema_name": "easydiffraction.rietveld", + "core_schema_version": "1.0.0", + "engine_schema_version": "1.0.0", + "payload": { + "xrd_data": { + "tth": [ + 0.6472655703475011, + 0.6509823116902422, + 0.6546990530329833, + 0.6584157943757244, + 0.6621325357184655, + 0.6658492770612067, + 0.6695660184039477, + 0.6732827597466888, + 0.67699950108943, + 0.6807162424321711, + 0.6844329837749121, + 0.6881497251176533, + 0.6918664664603944, + 0.6955832078031355, + 0.6992999491458766, + 0.7030166904886177, + 0.7067334318313588, + 0.7104501731741, + 0.714166914516841, + 0.7178836558595821, + 0.7216003972023233, + 0.7253171385450644, + 0.7290338798878054, + 0.7327506212305466, + 0.7364673625732877, + 0.7401841039160288, + 0.7439008452587699, + 0.747617586601511, + 0.7513343279442521, + 0.7550510692869933, + 0.7587678106297343, + 0.7624845519724754, + 0.7662012933152166, + 0.7699180346579577, + 0.7736347760006987, + 0.7773515173434399, + 0.781068258686181, + 0.7847850000289222, + 0.7885017413716632, + 0.7922184827144042, + 0.7959352240571455, + 0.7996519653998866, + 0.8033687067426276, + 0.8070854480853686, + 0.8108021894281099, + 0.814518930770851, + 0.818235672113592, + 0.8219524134563331, + 0.8256691547990743, + 0.8293858961418155, + 0.8331026374845565, + 0.8368193788272975, + 0.8405361201700388, + 0.8442528615127799, + 0.8479696028555209, + 0.851686344198262, + 0.8554030855410032, + 0.8591198268837443, + 0.8628365682264854, + 0.8665533095692264, + 0.8702700509119676, + 0.8739867922547088, + 0.8777035335974498, + 0.8814202749401908, + 0.8851370162829321, + 0.8888537576256732, + 0.8925704989684142, + 0.8962872403111553, + 0.9000039816538965, + 0.9037207229966376, + 0.9074374643393786, + 0.9111542056821197, + 0.9148709470248608, + 0.9185876883676021, + 0.9223044297103432, + 0.9260211710530841, + 0.9297379123958253, + 0.9334546537385665, + 0.9371713950813074, + 0.9408881364240486, + 0.9446048777667897, + 0.9483216191095309, + 0.9520383604522721, + 0.955755101795013, + 0.9594718431377541, + 0.9631885844804954, + 0.9669053258232363, + 0.9706220671659774, + 0.9743388085087186, + 0.9780555498514598, + 0.981772291194201, + 0.9854890325369419, + 0.989205773879683, + 0.9929225152224243, + 0.9966392565651652, + 1.0003559979079064, + 1.0040727392506474, + 1.0077894805933887, + 1.0115062219361297, + 1.0152229632788707, + 1.018939704621612, + 1.022656445964353, + 1.026373187307094, + 1.0300899286498353, + 1.0338066699925763, + 1.0375234113353176, + 1.0412401526780586, + 1.0449568940207996, + 1.0486736353635409, + 1.0523903767062819, + 1.056107118049023, + 1.0598238593917642, + 1.0635406007345052, + 1.0672573420772464, + 1.0709740834199875, + 1.0746908247627285, + 1.0784075661054697, + 1.0821243074482108, + 1.0858410487909518, + 1.089557790133693, + 1.093274531476434, + 1.0969912728191753, + 1.1007080141619163, + 1.1044247555046574, + 1.1081414968473986, + 1.1118582381901396, + 1.1155749795328807, + 1.1192917208756217, + 1.123008462218363, + 1.1267252035611042, + 1.1304419449038452, + 1.1341586862465862, + 1.1378754275893275, + 1.1415921689320685, + 1.1453089102748095, + 1.1490256516175505, + 1.1527423929602918, + 1.156459134303033, + 1.160175875645774, + 1.163892616988515, + 1.1676093583312563, + 1.1713260996739974, + 1.1750428410167384, + 1.1787595823594794, + 1.1824763237022207, + 1.186193065044962, + 1.189909806387703, + 1.193626547730444, + 1.1973432890731852, + 1.2010600304159262, + 1.2047767717586673, + 1.2084935131014083, + 1.2122102544441495, + 1.2159269957868908, + 1.2196437371296318, + 1.2233604784723728, + 1.227077219815114, + 1.230793961157855, + 1.2345107025005961, + 1.2382274438433372, + 1.2419441851860784, + 1.2456609265288197, + 1.2493776678715607, + 1.2530944092143017, + 1.2568111505570427, + 1.260527891899784, + 1.264244633242525, + 1.267961374585266, + 1.2716781159280073, + 1.2753948572707485, + 1.2791115986134896, + 1.2828283399562306, + 1.2865450812989716, + 1.2902618226417129, + 1.2939785639844539, + 1.297695305327195, + 1.3014120466699362, + 1.3051287880126774, + 1.3088455293554184, + 1.3125622706981595, + 1.3162790120409005, + 1.3199957533836417, + 1.3237124947263827, + 1.3274292360691238, + 1.331145977411865, + 1.3348627187546063, + 1.3385794600973473, + 1.3422962014400883, + 1.3460129427828293, + 1.3497296841255706, + 1.3534464254683116, + 1.3571631668110526, + 1.360879908153794, + 1.364596649496535, + 1.3683133908392762, + 1.3720301321820172, + 1.3757468735247582, + 1.3794636148674995, + 1.3831803562102405, + 1.3868970975529815, + 1.3906138388957228, + 1.3943305802384638, + 1.398047321581205, + 1.401764062923946, + 1.405480804266687, + 1.4091975456094283, + 1.4129142869521694, + 1.4166310282949104, + 1.4203477696376516, + 1.4240645109803927, + 1.427781252323134, + 1.431497993665875, + 1.435214735008616, + 1.4389314763513572, + 1.4426482176940982, + 1.4463649590368393, + 1.4500817003795805, + 1.4537984417223215, + 1.4575151830650628, + 1.4612319244078038, + 1.4649486657505448, + 1.468665407093286, + 1.472382148436027, + 1.4760988897787681, + 1.4798156311215094, + 1.4835323724642504, + 1.4872491138069917, + 1.4909658551497327, + 1.4946825964924737, + 1.498399337835215, + 1.502116079177956, + 1.505832820520697, + 1.5095495618634382, + 1.5132663032061793, + 1.5169830445489205, + 1.5206997858916615, + 1.5244165272344026, + 1.5281332685771438, + 1.5318500099198848, + 1.5355667512626259, + 1.5392834926053671, + 1.5430002339481081, + 1.5467169752908494, + 1.5504337166335904, + 1.5541504579763314, + 1.5578671993190727, + 1.5615839406618137, + 1.5653006820045547, + 1.569017423347296, + 1.572734164690037, + 1.5764509060327783, + 1.5801676473755193, + 1.5838843887182603, + 1.5876011300610016, + 1.5913178714037426, + 1.5950346127464836, + 1.5987513540892249, + 1.6024680954319659, + 1.6061848367747071, + 1.6099015781174482, + 1.6136183194601892, + 1.6173350608029304, + 1.6210518021456712, + 1.6247685434884125, + 1.6284852848311537, + 1.6322020261738948, + 1.635918767516636, + 1.639635508859377, + 1.643352250202118, + 1.6470689915448593, + 1.6507857328876, + 1.6545024742303414, + 1.6582192155730826, + 1.6619359569158236, + 1.6656526982585649, + 1.669369439601306, + 1.673086180944047, + 1.6768029222867882, + 1.680519663629529, + 1.6842364049722702, + 1.6879531463150115, + 1.6916698876577525, + 1.6953866290004938, + 1.6991033703432348, + 1.7028201116859758, + 1.706536853028717, + 1.7102535943714579, + 1.713970335714199, + 1.7176870770569403, + 1.7214038183996814, + 1.7251205597424226, + 1.7288373010851636, + 1.7325540424279047, + 1.736270783770646, + 1.7399875251133867, + 1.743704266456128, + 1.7474210077988692, + 1.7511377491416102, + 1.7548544904843515, + 1.7585712318270923, + 1.7622879731698335, + 1.7660047145125748, + 1.7697214558553156, + 1.7734381971980568, + 1.777154938540798, + 1.7808716798835391, + 1.7845884212262804, + 1.7883051625690212, + 1.7920219039117622, + 1.7957386452545034, + 1.7994553865972445, + 1.8031721279399857, + 1.806888869282727, + 1.810605610625468, + 1.8143223519682092, + 1.8180390933109503, + 1.8217558346536915, + 1.8254725759964328, + 1.8291893173391733, + 1.8329060586819146, + 1.8366228000246558, + 1.8403395413673969, + 1.844056282710138, + 1.847773024052879, + 1.85148976539562, + 1.8552065067383612, + 1.8589232480811022, + 1.8626399894238435, + 1.8663567307665847, + 1.8700734721093257, + 1.873790213452067, + 1.877506954794808, + 1.8812236961375493, + 1.8849404374802903, + 1.888657178823031, + 1.8923739201657723, + 1.8960906615085134, + 1.8998074028512546, + 1.9035241441939958, + 1.9072408855367364, + 1.9109576268794777, + 1.914674368222219, + 1.91839110956496, + 1.9221078509077012, + 1.9258245922504422, + 1.9295413335931835, + 1.9332580749359247, + 1.9369748162786657, + 1.940691557621407, + 1.944408298964148, + 1.9481250403068888, + 1.95184178164963, + 1.955558522992371, + 1.9592752643351123, + 1.9629920056778536, + 1.9667087470205942, + 1.9704254883633354, + 1.9741422297060767, + 1.9778589710488177, + 1.981575712391559, + 1.9852924537343, + 1.9890091950770412, + 1.9927259364197825, + 1.9964426777625235, + 2.0001594191052647, + 2.003876160448006, + 2.007592901790747, + 2.0113096431334876, + 2.015026384476229, + 2.01874312581897, + 2.0224598671617113, + 2.026176608504452, + 2.029893349847193, + 2.033610091189934, + 2.0373268325326754, + 2.0410435738754167, + 2.044760315218158, + 2.0484770565608987, + 2.05219379790364, + 2.0559105392463812, + 2.0596272805891225, + 2.0633440219318637, + 2.0670607632746045, + 2.0707775046173453, + 2.0744942459600866, + 2.078210987302828, + 2.081927728645569, + 2.08564446998831, + 2.0893612113310507, + 2.093077952673792, + 2.096794694016533, + 2.1005114353592744, + 2.1042281767020157, + 2.1079449180447565, + 2.1116616593874977, + 2.115378400730239, + 2.11909514207298, + 2.1228118834157215, + 2.1265286247584623, + 2.130245366101203, + 2.1339621074439443, + 2.1376788487866856, + 2.141395590129427, + 2.1451123314721676, + 2.1488290728149084, + 2.1525458141576497, + 2.156262555500391, + 2.159979296843132, + 2.1636960381858734, + 2.167412779528614, + 2.1711295208713555, + 2.1748462622140967, + 2.178563003556838, + 2.182279744899579, + 2.18599648624232, + 2.189713227585061, + 2.193429968927802, + 2.1971467102705433, + 2.2008634516132846, + 2.2045801929560254, + 2.208296934298766, + 2.2120136756415074, + 2.2157304169842487, + 2.21944715832699, + 2.223163899669731, + 2.226880641012472, + 2.230597382355213, + 2.2343141236979545, + 2.2380308650406957, + 2.241747606383437, + 2.2454643477261778, + 2.2491810890689186, + 2.25289783041166, + 2.256614571754401, + 2.2603313130971423, + 2.264048054439883, + 2.267764795782624, + 2.271481537125365, + 2.2751982784681064, + 2.2789150198108477, + 2.282631761153589, + 2.2863485024963297, + 2.290065243839071, + 2.293781985181812, + 2.2974987265245534, + 2.3012154678672947, + 2.304932209210035, + 2.3086489505527763, + 2.3123656918955175, + 2.316082433238259, + 2.319799174581, + 2.323515915923741, + 2.3272326572664817, + 2.330949398609223, + 2.334666139951964, + 2.3383828812947054, + 2.3420996226374466, + 2.3458163639801874, + 2.3495331053229287, + 2.35324984666567, + 2.356966588008411, + 2.3606833293511524, + 2.364400070693893, + 2.368116812036634, + 2.3718335533793753, + 2.3755502947221165, + 2.379267036064858, + 2.3829837774075986, + 2.3867005187503394, + 2.3904172600930806, + 2.394134001435822, + 2.397850742778563, + 2.4015674841213044, + 2.405284225464045, + 2.4090009668067864, + 2.4127177081495277, + 2.416434449492269, + 2.42015119083501, + 2.4238679321777505, + 2.427584673520492, + 2.431301414863233, + 2.4350181562059743, + 2.4387348975487155, + 2.4424516388914563, + 2.4461683802341976, + 2.4498851215769384, + 2.4536018629196796, + 2.457318604262421, + 2.461035345605162, + 2.464752086947903, + 2.468468828290644, + 2.4721855696333854, + 2.4759023109761262, + 2.4796190523188675, + 2.4833357936616083, + 2.4870525350043495, + 2.4907692763470908, + 2.494486017689832, + 2.4982027590325733, + 2.501919500375314, + 2.5056362417180553, + 2.509352983060796, + 2.5130697244035374, + 2.5167864657462786, + 2.5205032070890194, + 2.5242199484317607, + 2.527936689774502, + 2.531653431117243, + 2.535370172459984, + 2.539086913802725, + 2.542803655145466, + 2.5465203964882073, + 2.5502371378309485, + 2.5539538791736898, + 2.557670620516431, + 2.561387361859172, + 2.565104103201913, + 2.568820844544654, + 2.572537585887395, + 2.5762543272301364, + 2.579971068572877, + 2.5836878099156184, + 2.5874045512583597, + 2.591121292601101, + 2.5948380339438417, + 2.598554775286583, + 2.6022715166293238, + 2.605988257972065, + 2.6097049993148063, + 2.6134217406575475, + 2.6171384820002888, + 2.6208552233430296, + 2.624571964685771, + 2.6282887060285116, + 2.632005447371253, + 2.635722188713994, + 2.639438930056735, + 2.643155671399476, + 2.6468724127422174, + 2.6505891540849587, + 2.6543058954276995, + 2.6580226367704407, + 2.6617393781131815, + 2.6654561194559228, + 2.669172860798664, + 2.6728896021414053, + 2.6766063434841465, + 2.6803230848268873, + 2.6840398261696286, + 2.6877565675123694, + 2.6914733088551106, + 2.695190050197852, + 2.6989067915405927, + 2.702623532883334, + 2.706340274226075, + 2.7100570155688164, + 2.713773756911557, + 2.7174904982542984, + 2.7212072395970393, + 2.7249239809397805, + 2.7286407222825217, + 2.732357463625263, + 2.7360742049680042, + 2.739790946310745, + 2.7435076876534863, + 2.747224428996227, + 2.7509411703389683, + 2.7546579116817096, + 2.7583746530244504, + 2.7620913943671916, + 2.765808135709933, + 2.769524877052674, + 2.773241618395415, + 2.7769583597381557, + 2.780675101080897, + 2.7843918424236382, + 2.7881085837663795, + 2.7918253251091207, + 2.7955420664518615, + 2.799258807794603, + 2.802975549137344, + 2.806692290480085, + 2.810409031822826, + 2.8141257731655673, + 2.817842514508308, + 2.8215592558510494, + 2.8252759971937906, + 2.828992738536532, + 2.8327094798792727, + 2.8364262212220135, + 2.8401429625647547, + 2.843859703907496, + 2.8475764452502372, + 2.8512931865929785, + 2.8550099279357193, + 2.8587266692784605, + 2.862443410621202, + 2.8661601519639426, + 2.869876893306684, + 2.873593634649425, + 2.877310375992166, + 2.881027117334907, + 2.8847438586776484, + 2.8884606000203896, + 2.8921773413631304, + 2.8958940827058712, + 2.8996108240486125, + 2.9033275653913537, + 2.907044306734095, + 2.910761048076836, + 2.914477789419577, + 2.9181945307623183, + 2.9219112721050595, + 2.9256280134478003, + 2.9293447547905416, + 2.933061496133283, + 2.9367782374760236, + 2.940494978818765, + 2.944211720161506, + 2.9479284615042474, + 2.951645202846988, + 2.955361944189729, + 2.95907868553247, + 2.9627954268752115, + 2.9665121682179527, + 2.970228909560694, + 2.9739456509034348, + 2.977662392246176, + 2.9813791335889173, + 2.985095874931658, + 2.9888126162743993, + 2.9925293576171406, + 2.9962460989598814, + 2.9999628403026226, + 3.003679581645364, + 3.007396322988105, + 3.011113064330846, + 3.0148298056735867, + 3.018546547016328, + 3.022263288359069, + 3.0259800297018105, + 3.0296967710445517, + 3.0334135123872925, + 3.0371302537300338, + 3.040846995072775, + 3.044563736415516, + 3.048280477758257, + 3.051997219100998, + 3.055713960443739, + 3.0594307017864804, + 3.0631474431292216, + 3.066864184471963, + 3.0705809258147037, + 3.0742976671574445, + 3.0780144085001857, + 3.081731149842927, + 3.085447891185668, + 3.0891646325284094, + 3.0928813738711503, + 3.0965981152138915, + 3.1003148565566327, + 3.1040315978993736, + 3.107748339242115, + 3.1114650805848556, + 3.115181821927597, + 3.118898563270338, + 3.1226153046130793, + 3.1263320459558206, + 3.1300487872985614, + 3.133765528641302, + 3.1374822699840434, + 3.1411990113267847, + 3.144915752669526, + 3.148632494012267, + 3.152349235355008, + 3.1560659766977492, + 3.1597827180404905, + 3.1634994593832313, + 3.1672162007259725, + 3.1709329420687133, + 3.1746496834114546, + 3.178366424754196, + 3.182083166096937, + 3.1857999074396783, + 3.189516648782419, + 3.19323339012516, + 3.196950131467901, + 3.2006668728106424, + 3.2043836141533837, + 3.208100355496125, + 3.2118170968388657, + 3.215533838181607, + 3.2192505795243482, + 3.222967320867089, + 3.2266840622098303, + 3.230400803552571, + 3.2341175448953123, + 3.2378342862380536, + 3.241551027580795, + 3.245267768923536, + 3.248984510266277, + 3.2527012516090177, + 3.256417992951759, + 3.2601347342945, + 3.2638514756372414, + 3.2675682169799827, + 3.2712849583227235, + 3.2750016996654647, + 3.278718441008206, + 3.282435182350947, + 3.286151923693688, + 3.289868665036429, + 3.29358540637917, + 3.2973021477219113, + 3.3010188890646526, + 3.304735630407394, + 3.308452371750134, + 3.3121691130928754, + 3.3158858544356167, + 3.319602595778358, + 3.323319337121099, + 3.32703607846384, + 3.330752819806581, + 3.3344695611493225, + 3.3381863024920637, + 3.3419030438348045, + 3.3456197851775458, + 3.3493365265202866, + 3.353053267863028, + 3.356770009205769, + 3.3604867505485103, + 3.3642034918912516, + 3.367920233233992, + 3.371636974576733, + 3.3753537159194744, + 3.3790704572622157, + 3.382787198604957, + 3.3865039399476977, + 3.390220681290439, + 3.39393742263318, + 3.3976541639759215, + 3.4013709053186623, + 3.4050876466614035, + 3.4088043880041443, + 3.4125211293468856, + 3.416237870689627, + 3.419954612032368, + 3.4236713533751093, + 3.4273880947178497, + 3.431104836060591, + 3.434821577403332, + 3.4385383187460734, + 3.4422550600888147, + 3.4459718014315555, + 3.4496885427742967, + 3.453405284117038, + 3.457122025459779, + 3.46083876680252, + 3.4645555081452613, + 3.468272249488002, + 3.4719889908307433, + 3.4757057321734846, + 3.479422473516226, + 3.483139214858967, + 3.4868559562017074, + 3.4905726975444487, + 3.49428943888719, + 3.498006180229931, + 3.5017229215726724, + 3.505439662915413, + 3.5091564042581544, + 3.5128731456008957, + 3.516589886943637, + 3.5203066282863777, + 3.524023369629119, + 3.52774011097186, + 3.531456852314601, + 3.5351735936573423, + 3.5388903350000835, + 3.5426070763428243, + 3.546323817685565, + 3.5500405590283064, + 3.5537573003710476, + 3.557474041713789, + 3.56119078305653, + 3.564907524399271, + 3.568624265742012, + 3.5723410070847534, + 3.5760577484274947, + 3.5797744897702355, + 3.5834912311129763, + 3.5872079724557175, + 3.590924713798459, + 3.5946414551412, + 3.5983581964839413, + 3.602074937826682, + 3.6057916791694233, + 3.6095084205121637, + 3.613225161854906, + 3.616941903197646, + 3.620658644540388, + 3.6243753858831282, + 3.6280921272258704, + 3.6318088685686107, + 3.635525609911353, + 3.6392423512540932, + 3.642959092596834, + 3.6466758339395753, + 3.6503925752823165, + 3.654109316625058, + 3.657826057967799, + 3.66154279931054, + 3.66525954065328, + 3.6689762819960223, + 3.6726930233387627, + 3.676409764681505, + 3.680126506024245, + 3.683843247366987, + 3.6875599887097272, + 3.6912767300524694, + 3.6949934713952097, + 3.698710212737951, + 3.702426954080692, + 3.706143695423433, + 3.7098604367661743, + 3.7135771781089155, + 3.7172939194516568, + 3.7210106607943976, + 3.724727402137139, + 3.728444143479879, + 3.7321608848226213, + 3.7358776261653617, + 3.7395943675081034, + 3.7433111088508437, + 3.747027850193586, + 3.7507445915363262, + 3.7544613328790684, + 3.7581780742218087, + 3.7618948155645495, + 3.7656115569072908, + 3.769328298250032, + 3.7730450395927733, + 3.7767617809355145, + 3.7804785222782553, + 3.7841952636209957, + 3.787912004963738, + 3.791628746306478, + 3.7953454876492203, + 3.7990622289919607, + 3.8027789703347024, + 3.8064957116774427, + 3.810212453020185, + 3.813929194362925, + 3.8176459357056665, + 3.8213626770484073, + 3.8250794183911485, + 3.8287961597338898, + 3.832512901076631, + 3.8362296424193723, + 3.839946383762113, + 3.8436631251048543, + 3.8473798664475947, + 3.851096607790337, + 3.854813349133077, + 3.858530090475819, + 3.862246831818559, + 3.8659635731613013, + 3.8696803145040417, + 3.873397055846784, + 3.877113797189524, + 3.880830538532265, + 3.8845472798750063, + 3.8882640212177475, + 3.8919807625604887, + 3.89569750390323, + 3.899414245245971, + 3.903130986588711, + 3.9068477279314533, + 3.9105644692741937, + 3.914281210616936, + 3.917997951959676, + 3.921714693302418, + 3.925431434645158, + 3.9291481759879003, + 3.9328649173306407, + 3.936581658673382, + 3.9402984000161227, + 3.944015141358864, + 3.9477318827016052, + 3.9514486240443465, + 3.9551653653870877, + 3.9588821067298285, + 3.96259884807257, + 3.96631558941531, + 3.9700323307580523, + 3.9737490721007926, + 3.9774658134435343, + 3.9811825547862747, + 3.984899296129017, + 3.988616037471757, + 3.9923327788144993, + 3.9960495201572397, + 3.9997662614999805, + 4.003483002842722, + 4.0071997441854625, + 4.010916485528204, + 4.014633226870945, + 4.018349968213687, + 4.022066709556427, + 4.025783450899168, + 4.029500192241909, + 4.033216933584651, + 4.036933674927392, + 4.040650416270133, + 4.044367157612874, + 4.048083898955616, + 4.051800640298356, + 4.055517381641097, + 4.059234122983838, + 4.06295086432658, + 4.066667605669321, + 4.0703843470120615, + 4.074101088354803, + 4.077817829697544, + 4.081534571040286, + 4.085251312383026, + 4.088968053725767, + 4.092684795068508, + 4.09640153641125, + 4.100118277753991, + 4.103835019096732, + 4.107551760439472, + 4.111268501782215, + 4.114985243124955, + 4.118701984467696, + 4.122418725810437, + 4.126135467153178, + 4.12985220849592, + 4.1335689498386605, + 4.137285691181402, + 4.141002432524142, + 4.144719173866884, + 4.148435915209625, + 4.152152656552366, + 4.155869397895107, + 4.159586139237849, + 4.16330288058059, + 4.167019621923331, + 4.170736363266071, + 4.174453104608813, + 4.178169845951554, + 4.181886587294295, + 4.185603328637036, + 4.189320069979777, + 4.193036811322519, + 4.1967535526652595, + 4.200470294008001, + 4.204187035350741, + 4.207903776693483, + 4.211620518036224, + 4.215337259378965, + 4.219054000721706, + 4.222770742064448, + 4.226487483407188, + 4.23020422474993, + 4.23392096609267, + 4.237637707435413, + 4.241354448778153, + 4.245071190120894, + 4.248787931463635, + 4.252504672806375, + 4.256221414149118, + 4.259938155491858, + 4.263654896834599, + 4.26737163817734, + 4.271088379520082, + 4.274805120862823, + 4.278521862205564, + 4.282238603548305, + 4.285955344891047, + 4.289672086233787, + 4.293388827576529, + 4.297105568919269, + 4.300822310262011, + 4.304539051604752, + 4.308255792947492, + 4.311972534290234, + 4.315689275632974, + 4.319406016975716, + 4.323122758318457, + 4.326839499661198, + 4.330556241003939, + 4.334272982346681, + 4.337989723689422, + 4.341706465032163, + 4.345423206374903, + 4.349139947717646, + 4.352856689060386, + 4.356573430403127, + 4.360290171745868, + 4.36400691308861, + 4.367723654431351, + 4.371440395774091, + 4.375157137116833, + 4.378873878459573, + 4.382590619802315, + 4.386307361145056, + 4.390024102487797, + 4.393740843830538, + 4.39745758517328, + 4.40117432651602, + 4.404891067858762, + 4.408607809201502, + 4.412324550544245, + 4.416041291886985, + 4.419758033229726, + 4.423474774572467, + 4.427191515915207, + 4.43090825725795, + 4.43462499860069, + 4.438341739943431, + 4.442058481286172, + 4.445775222628914, + 4.449491963971655, + 4.453208705314396, + 4.456925446657137, + 4.460642187999879, + 4.464358929342619, + 4.468075670685361, + 4.471792412028101, + 4.475509153370843, + 4.479225894713584, + 4.482942636056325, + 4.486659377399066, + 4.490376118741806, + 4.494092860084549, + 4.497809601427289, + 4.50152634277003, + 4.505243084112771, + 4.508959825455513, + 4.512676566798254, + 4.516393308140995, + 4.520110049483735, + 4.523826790826478, + 4.527543532169218, + 4.53126027351196, + 4.5349770148547, + 4.538693756197442, + 4.542410497540183, + 4.546127238882923, + 4.549843980225665, + 4.553560721568405, + 4.557277462911147, + 4.560994204253888, + 4.564710945596629, + 4.56842768693937, + 4.572144428282112, + 4.575861169624853, + 4.579577910967594, + 4.583294652310334, + 4.587011393653077, + 4.590728134995817, + 4.594444876338558, + 4.598161617681299, + 4.601878359024041, + 4.605595100366782, + 4.609311841709522, + 4.613028583052264, + 4.616745324395004, + 4.620462065737746, + 4.624178807080487, + 4.627895548423228, + 4.631612289765969, + 4.635329031108711, + 4.639045772451451, + 4.642762513794193, + 4.646479255136933, + 4.650195996479676, + 4.653912737822416, + 4.657629479165157, + 4.661346220507898, + 4.665062961850638, + 4.668779703193381, + 4.672496444536121, + 4.676213185878862, + 4.679929927221603, + 4.683646668564345, + 4.6873634099070856, + 4.691080151249827, + 4.694796892592568, + 4.69851363393531, + 4.70223037527805, + 4.705947116620792, + 4.709663857963532, + 4.713380599306274, + 4.717097340649015, + 4.720814081991756, + 4.724530823334497, + 4.728247564677237, + 4.73196430601998, + 4.7356810473627196, + 4.739397788705461, + 4.743114530048202, + 4.746831271390944, + 4.7505480127336845, + 4.754264754076426, + 4.757981495419166, + 4.761698236761909, + 4.765414978104649, + 4.769131719447391, + 4.772848460790131, + 4.776565202132873, + 4.780281943475614, + 4.7839986848183536, + 4.787715426161096, + 4.791432167503836, + 4.795148908846578, + 4.7988656501893185, + 4.80258239153206, + 4.806299132874801, + 4.810015874217543, + 4.8137326155602835, + 4.817449356903025, + 4.821166098245765, + 4.824882839588508, + 4.828599580931248, + 4.832316322273989, + 4.83603306361673, + 4.839749804959472, + 4.843466546302213, + 4.8471832876449525, + 4.850900028987694, + 4.854616770330435, + 4.858333511673177, + 4.8620502530159175, + 4.865766994358659, + 4.8694837357014, + 4.873200477044142, + 4.876917218386882, + 4.880633959729624, + 4.884350701072364, + 4.888067442415106, + 4.891784183757847, + 4.895500925100588, + 4.899217666443329, + 4.902934407786069, + 4.906651149128812, + 4.9103678904715515, + 4.914084631814293, + 4.917801373157034, + 4.921518114499776, + 4.9252348558425165, + 4.928951597185258, + 4.932668338527998, + 4.936385079870741, + 4.940101821213481, + 4.943818562556223, + 4.947535303898963, + 4.951252045241705, + 4.954968786584446, + 4.958685527927187, + 4.962402269269928, + 4.966119010612668, + 4.96983575195541, + 4.9735524932981505, + 4.977269234640892, + 4.980985975983633, + 4.984702717326375, + 4.9884194586691155, + 4.992136200011857, + 4.995852941354597, + 4.99956968269734, + 5.00328642404008, + 5.007003165382821, + 5.010719906725562, + 5.014436648068304, + 5.018153389411045, + 5.0218701307537845, + 5.025586872096527, + 5.029303613439267, + 5.033020354782009, + 5.0367370961247495, + 5.040453837467491, + 5.044170578810232, + 5.047887320152974, + 5.051604061495714, + 5.055320802838456, + 5.059037544181196, + 5.062754285523939, + 5.066471026866679, + 5.07018776820942, + 5.073904509552161, + 5.077621250894903, + 5.081337992237644, + 5.0850547335803835, + 5.088771474923125, + 5.092488216265866, + 5.096204957608608, + 5.0999216989513485, + 5.10363844029409, + 5.107355181636831, + 5.111071922979573, + 5.114788664322313, + 5.118505405665055, + 5.122222147007795, + 5.125938888350537, + 5.129655629693278, + 5.133372371036019, + 5.13708911237876, + 5.1408058537215, + 5.144522595064243, + 5.1482393364069825, + 5.151956077749724, + 5.155672819092465, + 5.159389560435207, + 5.1631063017779475, + 5.166823043120689, + 5.170539784463429, + 5.174256525806172, + 5.177973267148912, + 5.181690008491654, + 5.185406749834394, + 5.189123491177136, + 5.192840232519877, + 5.196556973862618, + 5.200273715205359, + 5.203990456548099, + 5.207707197890841, + 5.2114239392335815, + 5.215140680576323, + 5.218857421919064, + 5.222574163261806, + 5.2262909046045465, + 5.230007645947288, + 5.233724387290028, + 5.237441128632771, + 5.241157869975511, + 5.244874611318252, + 5.248591352660993, + 5.252308094003735, + 5.256024835346476, + 5.2597415766892155, + 5.263458318031958, + 5.267175059374698, + 5.27089180071744, + 5.2746085420601805, + 5.278325283402922, + 5.282042024745663, + 5.285758766088405, + 5.289475507431145, + 5.293192248773887, + 5.296908990116627, + 5.30062573145937, + 5.30434247280211, + 5.308059214144851, + 5.311775955487592, + 5.315492696830334, + 5.319209438173075, + 5.3229261795158145, + 5.326642920858556, + 5.330359662201297, + 5.334076403544039, + 5.3377931448867795, + 5.341509886229521, + 5.345226627572262, + 5.348943368915004, + 5.352660110257744, + 5.356376851600486, + 5.360093592943226, + 5.363810334285968, + 5.367527075628709, + 5.37124381697145, + 5.374960558314191, + 5.378677299656931, + 5.382394040999673, + 5.3861107823424135, + 5.389827523685155, + 5.393544265027896, + 5.397261006370638, + 5.4009777477133785, + 5.40469448905612, + 5.40841123039886, + 5.412127971741603, + 5.415844713084343, + 5.419561454427084, + 5.423278195769825, + 5.426994937112567, + 5.430711678455308, + 5.434428419798049, + 5.43814516114079, + 5.44186190248353, + 5.445578643826272, + 5.4492953851690125, + 5.453012126511754, + 5.456728867854495, + 5.460445609197237, + 5.464162350539977, + 5.467879091882719, + 5.471595833225459, + 5.475312574568202, + 5.4790293159109416, + 5.482746057253683, + 5.486462798596424, + 5.490179539939166, + 5.4938962812819065, + 5.4976130226246465, + 5.501329763967388, + 5.505046505310129, + 5.508763246652871, + 5.5124799879956115, + 5.516196729338353, + 5.519913470681094, + 5.523630212023836, + 5.5273469533665756, + 5.531063694709318, + 5.534780436052058, + 5.5384971773948, + 5.5422139187375405, + 5.545930660080282, + 5.549647401423023, + 5.553364142765765, + 5.5570808841085055, + 5.5607976254512455, + 5.564514366793987, + 5.568231108136728, + 5.57194784947947, + 5.57566459082221, + 5.579381332164952, + 5.583098073507692, + 5.586814814850435, + 5.5905315561931745, + 5.594248297535917, + 5.597965038878657, + 5.601681780221399, + 5.6053985215641395, + 5.609115262906881, + 5.612832004249622, + 5.616548745592362, + 5.620265486935104, + 5.623982228277844, + 5.627698969620586, + 5.631415710963327, + 5.635132452306069, + 5.638849193648809, + 5.642565934991551, + 5.646282676334291, + 5.649999417677034, + 5.6537161590197735, + 5.657432900362515, + 5.661149641705256, + 5.664866383047998, + 5.6685831243907385, + 5.67229986573348, + 5.676016607076221, + 5.679733348418961, + 5.683450089761703, + 5.687166831104443, + 5.690883572447185, + 5.694600313789926, + 5.698317055132668, + 5.7020337964754075, + 5.70575053781815, + 5.70946727916089, + 5.713184020503633, + 5.7169007618463725, + 5.720617503189114, + 5.724334244531855, + 5.728050985874597, + 5.7317677272173375, + 5.735484468560077, + 5.739201209902819, + 5.74291795124556, + 5.746634692588302, + 5.750351433931042, + 5.754068175273784, + 5.757784916616525, + 5.761501657959267, + 5.7652183993020065, + 5.768935140644749, + 5.772651881987489, + 5.776368623330231, + 5.7800853646729715, + 5.783802106015713, + 5.787518847358454, + 5.791235588701196, + 5.7949523300439365, + 5.798669071386676, + 5.802385812729418, + 5.806102554072159, + 5.809819295414901, + 5.813536036757641, + 5.817252778100383, + 5.820969519443123, + 5.824686260785866, + 5.8284030021286055, + 5.832119743471348, + 5.835836484814088, + 5.83955322615683, + 5.8432699674995705, + 5.846986708842312, + 5.850703450185053, + 5.854420191527793, + 5.858136932870535, + 5.861853674213275, + 5.865570415556017, + 5.869287156898758, + 5.8730038982415, + 5.8767206395842395, + 5.880437380926982, + 5.884154122269722, + 5.887870863612465, + 5.8915876049552045, + 5.895304346297946, + 5.899021087640687, + 5.902737828983429, + 5.9064545703261695, + 5.910171311668911, + 5.913888053011651, + 5.917604794354392, + 5.921321535697134, + 5.925038277039874, + 5.928755018382616, + 5.932471759725357, + 5.936188501068099, + 5.9399052424108385, + 5.943621983753581, + 5.947338725096321, + 5.951055466439063, + 5.9547722077818035, + 5.958488949124545, + 5.962205690467286, + 5.965922431810028, + 5.9696391731527685, + 5.973355914495508, + 5.97707265583825, + 5.980789397180991, + 5.984506138523733, + 5.988222879866473, + 5.991939621209215, + 5.995656362551955, + 5.999373103894698, + 6.0030898452374375, + 6.00680658658018, + 6.01052332792292, + 6.014240069265662, + 6.0179568106084025, + 6.021673551951144, + 6.025390293293885, + 6.029107034636627, + 6.032823775979367, + 6.036540517322107, + 6.040257258664849, + 6.04397400000759, + 6.047690741350332, + 6.051407482693072, + 6.055124224035814, + 6.058840965378554, + 6.062557706721297, + 6.0662744480640365, + 6.069991189406778, + 6.073707930749519, + 6.077424672092261, + 6.0811414134350015, + 6.084858154777743, + 6.088574896120484, + 6.092291637463224, + 6.096008378805966, + 6.099725120148706, + 6.103441861491448, + 6.107158602834189, + 6.110875344176931, + 6.1145920855196705, + 6.118308826862413, + 6.122025568205153, + 6.125742309547896, + 6.1294590508906355, + 6.133175792233377, + 6.136892533576118, + 6.14060927491886, + 6.1443260162616005, + 6.148042757604342, + 6.151759498947082, + 6.155476240289823, + 6.159192981632565, + 6.162909722975305, + 6.166626464318047, + 6.170343205660788, + 6.17405994700353, + 6.1777766883462695, + 6.181493429689012, + 6.185210171031752, + 6.188926912374494, + 6.1926436537172345, + 6.196360395059976, + 6.200077136402717, + 6.203793877745459, + 6.2075106190881995, + 6.211227360430939, + 6.214944101773681, + 6.218660843116422, + 6.222377584459164, + 6.226094325801904, + 6.229811067144646, + 6.233527808487386, + 6.2372445498301285, + 6.2409612911728685, + 6.244678032515611, + 6.248394773858351, + 6.252111515201093, + 6.2558282565438335, + 6.259544997886575, + 6.263261739229316, + 6.266978480572058, + 6.270695221914798, + 6.274411963257538, + 6.27812870460028, + 6.281845445943021, + 6.2855621872857625, + 6.289278928628503, + 6.292995669971245, + 6.296712411313985, + 6.3004291526567275, + 6.3041458939994675, + 6.307862635342209, + 6.31157937668495, + 6.315296118027692, + 6.3190128593704324, + 6.322729600713174, + 6.326446342055915, + 6.330163083398655, + 6.3338798247413965, + 6.337596566084137, + 6.341313307426879, + 6.34503004876962, + 6.3487467901123615, + 6.3524635314551015, + 6.356180272797844, + 6.359897014140584, + 6.363613755483326, + 6.367330496826066, + 6.371047238168808, + 6.374763979511549, + 6.378480720854291, + 6.382197462197031, + 6.385914203539773, + 6.389630944882513, + 6.393347686225254, + 6.3970644275679955, + 6.400781168910736, + 6.404497910253478, + 6.408214651596218, + 6.4119313929389605, + 6.4156481342817, + 6.419364875624443, + 6.423081616967183, + 6.426798358309925, + 6.430515099652665, + 6.434231840995407, + 6.437948582338148, + 6.44166532368089, + 6.4453820650236295, + 6.44909880636637, + 6.452815547709112, + 6.456532289051853, + 6.4602490303945945, + 6.463965771737335, + 6.467682513080077, + 6.471399254422817, + 6.4751159957655595, + 6.478832737108299, + 6.482549478451041, + 6.486266219793782, + 6.489982961136524, + 6.493699702479264, + 6.497416443822006, + 6.501133185164747, + 6.504849926507489, + 6.5085666678502285, + 6.512283409192969, + 6.516000150535711, + 6.519716891878452, + 6.5234336332211935, + 6.527150374563933, + 6.530867115906676, + 6.534583857249416, + 6.5383005985921585, + 6.542017339934898, + 6.54573408127764, + 6.549450822620381, + 6.553167563963123, + 6.556884305305863, + 6.560601046648605, + 6.564317787991345, + 6.568034529334086, + 6.5717512706768275, + 6.575468012019568, + 6.57918475336231, + 6.582901494705051, + 6.5866182360477925, + 6.590334977390532, + 6.594051718733275, + 6.597768460076015, + 6.601485201418757, + 6.605201942761497, + 6.608918684104239, + 6.61263542544698, + 6.616352166789722, + 6.620068908132462, + 6.623785649475204, + 6.627502390817944, + 6.631219132160685, + 6.6349358735034265, + 6.638652614846167, + 6.642369356188909, + 6.646086097531649, + 6.6498028388743915, + 6.653519580217131, + 6.657236321559874, + 6.660953062902614, + 6.664669804245356, + 6.668386545588096, + 6.672103286930838, + 6.675820028273579, + 6.679536769616321, + 6.6832535109590605, + 6.686970252301801, + 6.690686993644543, + 6.694403734987284, + 6.6981204763300255, + 6.701837217672766, + 6.705553959015508, + 6.709270700358248, + 6.7129874417009905, + 6.71670418304373, + 6.720420924386472, + 6.724137665729213, + 6.727854407071955, + 6.731571148414695, + 6.735287889757437, + 6.739004631100178, + 6.74272137244292, + 6.7464381137856595, + 6.7501548551284, + 6.753871596471142, + 6.757588337813883, + 6.7613050791566245, + 6.765021820499364, + 6.768738561842107, + 6.772455303184847, + 6.7761720445275895, + 6.779888785870329, + 6.783605527213071, + 6.787322268555812, + 6.791039009898554, + 6.794755751241294, + 6.798472492584036, + 6.802189233926776, + 6.805905975269517, + 6.8096227166122585, + 6.813339457954999, + 6.817056199297741, + 6.820772940640482, + 6.8244896819832235, + 6.828206423325963, + 6.831923164668706, + 6.835639906011446, + 6.839356647354188, + 6.843073388696928, + 6.84679013003967, + 6.850506871382411, + 6.854223612725153, + 6.857940354067893, + 6.861657095410635, + 6.865373836753375, + 6.869090578096116, + 6.8728073194388575, + 6.876524060781598, + 6.88024080212434, + 6.88395754346708, + 6.8876742848098225, + 6.891391026152562, + 6.895107767495304, + 6.898824508838045, + 6.902541250180787, + 6.906257991523527, + 6.909974732866269, + 6.91369147420901, + 6.917408215551752, + 6.9211249568944915, + 6.924841698237232, + 6.928558439579974, + 6.932275180922715, + 6.9359919222654565, + 6.939708663608196, + 6.943425404950939, + 6.947142146293679, + 6.9508588876364215, + 6.954575628979161, + 6.958292370321903, + 6.962009111664644, + 6.965725853007386, + 6.969442594350126, + 6.973159335692868, + 6.976876077035608, + 6.9805928183783506, + 6.9843095597210905, + 6.988026301063831, + 6.991743042406573, + 6.995459783749314, + 6.9991765250920555, + 7.002893266434795, + 7.006610007777538, + 7.010326749120278, + 7.01404349046302, + 7.01776023180576, + 7.021476973148502, + 7.025193714491243, + 7.0289104558339845, + 7.032627197176725, + 7.036343938519467, + 7.040060679862207, + 7.043777421204948, + 7.0474941625476895, + 7.05121090389043, + 7.054927645233172, + 7.058644386575912, + 7.0623611279186544, + 7.066077869261394, + 7.069794610604137, + 7.073511351946877, + 7.0772280932896185, + 7.080944834632359, + 7.084661575975101, + 7.088378317317842, + 7.0920950586605835, + 7.0958118000033235, + 7.099528541346066, + 7.103245282688806, + 7.106962024031547, + 7.1106787653742884, + 7.114395506717029, + 7.118112248059771, + 7.121828989402511, + 7.125545730745253, + 7.129262472087993, + 7.132979213430735, + 7.136695954773476, + 7.1404126961162175, + 7.144129437458958, + 7.1478461788017, + 7.151562920144441, + 7.1552796614871825, + 7.1589964028299224, + 7.162713144172663, + 7.166429885515405, + 7.170146626858146, + 7.173863368200887, + 7.177580109543627, + 7.18129685088637, + 7.18501359222911, + 7.188730333571852, + 7.192447074914592, + 7.196163816257334, + 7.199880557600075, + 7.2035972989428165, + 7.207314040285557, + 7.211030781628299, + 7.214747522971039, + 7.2184642643137815, + 7.222181005656521, + 7.225897746999262, + 7.229614488342004, + 7.233331229684745, + 7.237047971027486, + 7.240764712370226, + 7.244481453712969, + 7.248198195055709, + 7.2519149363984505, + 7.255631677741191, + 7.259348419083933, + 7.263065160426674, + 7.2667819017694155, + 7.270498643112156, + 7.274215384454898, + 7.277932125797638, + 7.281648867140379, + 7.28536560848312, + 7.289082349825861, + 7.292799091168603, + 7.296515832511343, + 7.300232573854085, + 7.303949315196825, + 7.307666056539568, + 7.311382797882308, + 7.3150995392250495, + 7.31881628056779, + 7.322533021910532, + 7.326249763253273, + 7.3299665045960145, + 7.333683245938754, + 7.337399987281497, + 7.341116728624237, + 7.344833469966978, + 7.348550211309719, + 7.35226695265246, + 7.355983693995202, + 7.359700435337942, + 7.363417176680684, + 7.367133918023424, + 7.370850659366166, + 7.374567400708907, + 7.3782841420516485, + 7.382000883394389, + 7.385717624737131, + 7.389434366079872, + 7.3931511074226135, + 7.396867848765353, + 7.400584590108094, + 7.404301331450836, + 7.408018072793577, + 7.411734814136318, + 7.415451555479058, + 7.419168296821801, + 7.422885038164541, + 7.4266017795072825, + 7.430318520850023, + 7.434035262192765, + 7.437752003535506, + 7.4414687448782475, + 7.445185486220988, + 7.44890222756373, + 7.45261896890647, + 7.4563357102492125, + 7.460052451591952, + 7.463769192934693, + 7.467485934277435, + 7.471202675620175, + 7.474919416962917, + 7.478636158305657, + 7.4823528996484, + 7.48606964099114, + 7.4897863823338815, + 7.493503123676622, + 7.497219865019364, + 7.500936606362105, + 7.5046533477048465, + 7.508370089047586, + 7.512086830390329, + 7.515803571733069, + 7.51952031307581, + 7.523237054418551, + 7.526953795761292, + 7.530670537104034, + 7.534387278446774, + 7.538104019789516, + 7.541820761132256, + 7.545537502474998, + 7.549254243817739, + 7.5529709851604805, + 7.556687726503221, + 7.560404467845963, + 7.564121209188704, + 7.5678379505314455, + 7.571554691874185, + 7.575271433216928, + 7.578988174559668, + 7.582704915902409, + 7.58642165724515, + 7.59013839858789, + 7.593855139930633, + 7.597571881273373, + 7.601288622616115, + 7.605005363958855, + 7.608722105301597, + 7.612438846644338, + 7.6161555879870795, + 7.61987232932982, + 7.623589070672562, + 7.627305812015302, + 7.6310225533580445, + 7.634739294700784, + 7.638456036043525, + 7.642172777386267, + 7.645889518729008, + 7.649606260071749, + 7.653323001414489, + 7.657039742757232, + 7.660756484099972, + 7.6644732254427135, + 7.668189966785454, + 7.671906708128196, + 7.675623449470937, + 7.6793401908136785, + 7.683056932156419, + 7.686773673499161, + 7.690490414841901, + 7.6942071561846435, + 7.697923897527383, + 7.701640638870124, + 7.705357380212866, + 7.709074121555606, + 7.712790862898348, + 7.716507604241088, + 7.720224345583831, + 7.723941086926571, + 7.7276578282693125, + 7.731374569612053, + 7.735091310954795, + 7.738808052297536, + 7.7425247936402775, + 7.746241534983017, + 7.74995827632576, + 7.7536750176685, + 7.757391759011241, + 7.761108500353982, + 7.764825241696723, + 7.768541983039465, + 7.772258724382205, + 7.775975465724947, + 7.779692207067687, + 7.783408948410429, + 7.78712568975317, + 7.7908424310959115, + 7.794559172438652, + 7.798275913781394, + 7.801992655124135, + 7.8057093964668764, + 7.809426137809616, + 7.813142879152359, + 7.816859620495099, + 7.8205763618378406, + 7.824293103180581, + 7.828009844523323, + 7.831726585866064, + 7.8354433272088055, + 7.839160068551546, + 7.842876809894288, + 7.846593551237028, + 7.850310292579769, + 7.8540270339225104, + 7.857743775265251, + 7.861460516607993, + 7.865177257950733, + 7.868893999293475, + 7.872610740636215, + 7.876327481978958, + 7.880044223321698, + 7.8837609646644395, + 7.88747770600718, + 7.891194447349922, + 7.894911188692663, + 7.8986279300354045, + 7.9023446713781444, + 7.906061412720885, + 7.909778154063627, + 7.913494895406368, + 7.917211636749109, + 7.920928378091849, + 7.924645119434592, + 7.928361860777332, + 7.932078602120074, + 7.935795343462814, + 7.939512084805556, + 7.943228826148297, + 7.9469455674910385, + 7.950662308833779, + 7.954379050176521, + 7.958095791519261, + 7.961812532862002, + 7.965529274204743, + 7.969246015547484, + 7.972962756890226, + 7.976679498232967, + 7.980396239575708, + 7.984112980918448, + 7.987829722261191, + 7.991546463603931, + 7.9952632049466725, + 7.998979946289413, + 8.002696687632156, + 8.006413428974895, + 8.010130170317638, + 8.013846911660378, + 8.01756365300312, + 8.02128039434586, + 8.0249971356886, + 8.028713877031343, + 8.032430618374082, + 8.036147359716825, + 8.039864101059566, + 8.043580842402307, + 8.047297583745047, + 8.05101432508779, + 8.05473106643053, + 8.058447807773272, + 8.062164549116012, + 8.065881290458755, + 8.069598031801494, + 8.073314773144237, + 8.077031514486977, + 8.080748255829718, + 8.084464997172459, + 8.0881817385152, + 8.091898479857942, + 8.095615221200681, + 8.099331962543424, + 8.103048703886165, + 8.106765445228906, + 8.110482186571646, + 8.114198927914389, + 8.117915669257128, + 8.12163241059987, + 8.125349151942611, + 8.129065893285354, + 8.132782634628093, + 8.136499375970836, + 8.140216117313576, + 8.143932858656315, + 8.147649599999058, + 8.151366341341799, + 8.15508308268454, + 8.15879982402728, + 8.162516565370023, + 8.166233306712764, + 8.169950048055505, + 8.173666789398245, + 8.177383530740988, + 8.181100272083727, + 8.18481701342647, + 8.18853375476921, + 8.192250496111951, + 8.195967237454692, + 8.199683978797433, + 8.203400720140175, + 8.207117461482914, + 8.210834202825657, + 8.214550944168398, + 8.218267685511139, + 8.22198442685388, + 8.225701168196622, + 8.229417909539363, + 8.233134650882104, + 8.236851392224844, + 8.240568133567587, + 8.244284874910326, + 8.248001616253068, + 8.25171835759581, + 8.25543509893855, + 8.259151840281291, + 8.262868581624032, + 8.266585322966774, + 8.270302064309513, + 8.274018805652256, + 8.277735546994997, + 8.281452288337737, + 8.285169029680478, + 8.28888577102322, + 8.292602512365962, + 8.296319253708702, + 8.300035995051443, + 8.303752736394186, + 8.307469477736925, + 8.311186219079667, + 8.314902960422408, + 8.318619701765149, + 8.32233644310789, + 8.32605318445063, + 8.329769925793373, + 8.333486667136112, + 8.337203408478855, + 8.340920149821596, + 8.344636891164336, + 8.348353632507077, + 8.35207037384982, + 8.355787115192559, + 8.359503856535301, + 8.363220597878042, + 8.366937339220785, + 8.370654080563524, + 8.374370821906266, + 8.378087563249007, + 8.381804304591746, + 8.385521045934489, + 8.38923778727723, + 8.39295452861997, + 8.396671269962711, + 8.400388011305454, + 8.404104752648195, + 8.407821493990935, + 8.411538235333676, + 8.415254976676419, + 8.418971718019158, + 8.4226884593619, + 8.426405200704641, + 8.430121942047382, + 8.433838683390123, + 8.437555424732864, + 8.441272166075606, + 8.444988907418345, + 8.448705648761088, + 8.452422390103829, + 8.45613913144657, + 8.45985587278931, + 8.463572614132053, + 8.467289355474794, + 8.471006096817534, + 8.474722838160275, + 8.478439579503018, + 8.482156320845757, + 8.4858730621885, + 8.48958980353124, + 8.493306544873981, + 8.497023286216722, + 8.500740027559463, + 8.504456768902205, + 8.508173510244944, + 8.511890251587687, + 8.515606992930428, + 8.519323734273168, + 8.52304047561591, + 8.526757216958652, + 8.53047395830139, + 8.534190699644133, + 8.537907440986874, + 8.541624182329617, + 8.545340923672356, + 8.549057665015098, + 8.55277440635784, + 8.55649114770058, + 8.56020788904332, + 8.563924630386062, + 8.567641371728802, + 8.571358113071543, + 8.575074854414286, + 8.578791595757027, + 8.582508337099767, + 8.586225078442508, + 8.58994181978525, + 8.59365856112799, + 8.597375302470732, + 8.601092043813473, + 8.604808785156214, + 8.608525526498955, + 8.612242267841697, + 8.615959009184438, + 8.619675750527177, + 8.62339249186992, + 8.62710923321266, + 8.630825974555401, + 8.634542715898142, + 8.638259457240885, + 8.641976198583626, + 8.645692939926366, + 8.649409681269107, + 8.65312642261185, + 8.656843163954589, + 8.660559905297331, + 8.664276646640072, + 8.667993387982813, + 8.671710129325554, + 8.675426870668295, + 8.679143612011037, + 8.682860353353776, + 8.686577094696519, + 8.69029383603926, + 8.694010577382, + 8.697727318724741, + 8.701444060067484, + 8.705160801410225, + 8.708877542752965, + 8.712594284095706, + 8.716311025438449, + 8.720027766781188, + 8.72374450812393, + 8.727461249466671, + 8.731177990809412, + 8.734894732152153, + 8.738611473494894, + 8.742328214837636, + 8.746044956180375, + 8.749761697523118, + 8.753478438865859, + 8.7571951802086, + 8.76091192155134, + 8.764628662894083, + 8.768345404236822, + 8.772062145579564, + 8.775778886922305, + 8.779495628265048, + 8.783212369607787, + 8.78692911095053, + 8.79064585229327, + 8.794362593636011, + 8.798079334978752, + 8.801796076321493, + 8.805512817664233, + 8.809229559006974, + 8.812946300349717, + 8.816663041692458, + 8.820379783035198, + 8.82409652437794, + 8.827813265720682, + 8.83153000706342, + 8.835246748406163, + 8.838963489748904, + 8.842680231091645, + 8.846396972434386, + 8.850113713777128, + 8.85383045511987, + 8.857547196462608, + 8.86126393780535, + 8.864980679148092, + 8.868697420490832, + 8.872414161833573, + 8.876130903176316, + 8.879847644519057, + 8.883564385861797, + 8.887281127204538, + 8.89099786854728, + 8.89471460989002, + 8.898431351232762, + 8.902148092575503, + 8.905864833918244, + 8.909581575260985, + 8.913298316603726, + 8.917015057946468, + 8.920731799289207, + 8.92444854063195, + 8.92816528197469, + 8.931882023317431, + 8.935598764660172, + 8.939315506002915, + 8.943032247345654, + 8.946748988688396, + 8.950465730031137, + 8.95418247137388, + 8.957899212716619, + 8.961615954059361, + 8.965332695402102, + 8.969049436744843, + 8.972766178087584, + 8.976482919430325, + 8.980199660773065, + 8.983916402115806, + 8.987633143458549, + 8.99134988480129, + 8.99506662614403, + 8.998783367486771, + 9.002500108829514, + 9.006216850172253, + 9.009933591514995, + 9.013650332857736, + 9.017367074200477, + 9.021083815543218, + 9.02480055688596, + 9.028517298228701, + 9.032234039571442, + 9.035950780914183, + 9.039667522256924, + 9.043384263599664, + 9.047101004942405, + 9.050817746285148, + 9.054534487627889, + 9.05825122897063, + 9.06196797031337, + 9.065684711656113, + 9.069401452998852, + 9.073118194341594, + 9.076834935684335, + 9.080551677027076, + 9.084268418369817, + 9.08798515971256, + 9.0917019010553, + 9.09541864239804, + 9.099135383740782, + 9.102852125083523, + 9.106568866426263, + 9.110285607769004, + 9.114002349111747, + 9.117719090454488, + 9.121435831797228, + 9.12515257313997, + 9.128869314482712, + 9.13258605582545, + 9.136302797168193, + 9.140019538510934, + 9.143736279853675, + 9.147453021196416, + 9.151169762539157, + 9.1548865038819, + 9.158603245224638, + 9.16231998656738, + 9.166036727910122, + 9.169753469252862, + 9.173470210595603, + 9.177186951938346, + 9.180903693281085, + 9.184620434623827, + 9.188337175966568, + 9.19205391730931, + 9.19577065865205, + 9.199487399994792, + 9.203204141337533, + 9.206920882680274, + 9.210637624023015, + 9.214354365365756, + 9.218071106708496, + 9.221787848051237, + 9.22550458939398, + 9.22922133073672, + 9.232938072079461, + 9.236654813422202, + 9.240371554764945, + 9.244088296107684, + 9.247805037450426, + 9.251521778793167, + 9.255238520135908, + 9.258955261478649, + 9.262672002821391, + 9.266388744164132, + 9.270105485506873, + 9.273822226849614, + 9.277538968192355, + 9.281255709535095, + 9.284972450877836, + 9.288689192220579, + 9.29240593356332, + 9.29612267490606, + 9.299839416248801, + 9.303556157591544, + 9.307272898934283, + 9.310989640277025, + 9.314706381619766, + 9.318423122962507, + 9.322139864305248, + 9.32585660564799, + 9.329573346990731, + 9.33329008833347, + 9.337006829676213, + 9.340723571018954, + 9.344440312361694, + 9.348157053704435, + 9.351873795047178, + 9.355590536389919, + 9.35930727773266, + 9.3630240190754, + 9.366740760418143, + 9.370457501760882, + 9.374174243103624, + 9.377890984446365, + 9.381607725789106, + 9.385324467131847, + 9.389041208474588, + 9.39275794981733, + 9.39647469116007, + 9.400191432502812, + 9.403908173845553, + 9.407624915188293, + 9.411341656531034, + 9.415058397873777, + 9.418775139216516, + 9.422491880559258, + 9.426208621902, + 9.42992536324474, + 9.43364210458748, + 9.437358845930223, + 9.441075587272964, + 9.444792328615705, + 9.448509069958446, + 9.452225811301187, + 9.455942552643927, + 9.459659293986668, + 9.46337603532941, + 9.467092776672152, + 9.470809518014892, + 9.474526259357633, + 9.478243000700376, + 9.481959742043115, + 9.485676483385857, + 9.489393224728598, + 9.493109966071339, + 9.49682670741408, + 9.500543448756822, + 9.504260190099563, + 9.507976931442304, + 9.511693672785045, + 9.515410414127786, + 9.519127155470526, + 9.522843896813267, + 9.52656063815601, + 9.53027737949875, + 9.533994120841491, + 9.537710862184232, + 9.541427603526975, + 9.545144344869714, + 9.548861086212456, + 9.552577827555197, + 9.556294568897938, + 9.560011310240679, + 9.563728051583421, + 9.567444792926162, + 9.571161534268901, + 9.574878275611644, + 9.578595016954385, + 9.582311758297125, + 9.586028499639866, + 9.589745240982609, + 9.593461982325348, + 9.59717872366809, + 9.600895465010831, + 9.604612206353574, + 9.608328947696313, + 9.612045689039055, + 9.615762430381796, + 9.619479171724537, + 9.623195913067278, + 9.626912654410019, + 9.63062939575276, + 9.6343461370955, + 9.638062878438243, + 9.641779619780984, + 9.645496361123724, + 9.649213102466465, + 9.652929843809208, + 9.656646585151947, + 9.66036332649469, + 9.66408006783743, + 9.667796809180171, + 9.671513550522912, + 9.675230291865654, + 9.678947033208395, + 9.682663774551136, + 9.686380515893877, + 9.690097257236618, + 9.693813998579358, + 9.6975307399221, + 9.701247481264842, + 9.704964222607583, + 9.708680963950323, + 9.712397705293064, + 9.716114446635807, + 9.719831187978546, + 9.723547929321288, + 9.727264670664029, + 9.73098141200677, + 9.73469815334951, + 9.738414894692253, + 9.742131636034994, + 9.745848377377735, + 9.749565118720476, + 9.753281860063217, + 9.756998601405957, + 9.760715342748698, + 9.76443208409144, + 9.768148825434182, + 9.771865566776922, + 9.775582308119663, + 9.779299049462406, + 9.783015790805145, + 9.786732532147887, + 9.790449273490628, + 9.794166014833369, + 9.79788275617611, + 9.801599497518852, + 9.805316238861593, + 9.809032980204332, + 9.812749721547075, + 9.816466462889816, + 9.820183204232556, + 9.823899945575297, + 9.82761668691804, + 9.831333428260779, + 9.835050169603521, + 9.838766910946262, + 9.842483652289005, + 9.846200393631744, + 9.849917134974486, + 9.853633876317227, + 9.857350617659968, + 9.861067359002709, + 9.86478410034545, + 9.86850084168819, + 9.872217583030931, + 9.875934324373674, + 9.879651065716414, + 9.883367807059155, + 9.887084548401896, + 9.890801289744639, + 9.894518031087378, + 9.89823477243012, + 9.901951513772861, + 9.905668255115602, + 9.909384996458343, + 9.913101737801085, + 9.916818479143826, + 9.920535220486567, + 9.924251961829308, + 9.927968703172048, + 9.93168544451479, + 9.93540218585753, + 9.939118927200273, + 9.942835668543013, + 9.946552409885754, + 9.950269151228495, + 9.953985892571238, + 9.957702633913977, + 9.96141937525672, + 9.96513611659946, + 9.9688528579422, + 9.972569599284942, + 9.976286340627684, + 9.980003081970425, + 9.983719823313166, + 9.987436564655907, + 9.991153305998647, + 9.994870047341388, + 9.998586788684129, + 10.002303530026872, + 10.00602027136961, + 10.009737012712353, + 10.013453754055094, + 10.017170495397837, + 10.020887236740576, + 10.024603978083318, + 10.028320719426059, + 10.0320374607688, + 10.03575420211154, + 10.039470943454283, + 10.043187684797022, + 10.046904426139763, + 10.050621167482506, + 10.054337908825246, + 10.058054650167987, + 10.061771391510728, + 10.06548813285347, + 10.06920487419621, + 10.072921615538952, + 10.076638356881693, + 10.080355098224434, + 10.084071839567175, + 10.087788580909917, + 10.091505322252658, + 10.095222063595399, + 10.09893880493814, + 10.10265554628088, + 10.106372287623621, + 10.110089028966362, + 10.113805770309105, + 10.117522511651845, + 10.121239252994586, + 10.124955994337327, + 10.12867273568007, + 10.132389477022809, + 10.136106218365551, + 10.139822959708292, + 10.143539701051033, + 10.147256442393774, + 10.150973183736516, + 10.154689925079257, + 10.158406666421998, + 10.162123407764739, + 10.16584014910748, + 10.16955689045022, + 10.173273631792961, + 10.176990373135704, + 10.180707114478444, + 10.184423855821185, + 10.188140597163926, + 10.191857338506669, + 10.195574079849408, + 10.19929082119215, + 10.203007562534891, + 10.206724303877632, + 10.210441045220373, + 10.214157786563115, + 10.217874527905856, + 10.221591269248597, + 10.225308010591338, + 10.229024751934078, + 10.23274149327682, + 10.23645823461956, + 10.240174975962303, + 10.243891717305042, + 10.247608458647784, + 10.251325199990525, + 10.255041941333268, + 10.258758682676007, + 10.26247542401875, + 10.26619216536149, + 10.26990890670423, + 10.273625648046972, + 10.277342389389714, + 10.281059130732453, + 10.284775872075194, + 10.288492613417937, + 10.292209354760677, + 10.295926096103418, + 10.299642837446159, + 10.303359578788902, + 10.30707632013164, + 10.310793061474383, + 10.314509802817124, + 10.318226544159865, + 10.321943285502606, + 10.325660026845348, + 10.329376768188089, + 10.33309350953083, + 10.33681025087357, + 10.340526992216311, + 10.344243733559052, + 10.347960474901793, + 10.351677216244536, + 10.355393957587276, + 10.359110698930017, + 10.362827440272758, + 10.3665441816155, + 10.37026092295824, + 10.373977664300982, + 10.377694405643723, + 10.381411146986464, + 10.385127888329205, + 10.388844629671947, + 10.392561371014688, + 10.396278112357429, + 10.39999485370017, + 10.40371159504291, + 10.407428336385651, + 10.411145077728392, + 10.414861819071135, + 10.418578560413875, + 10.422295301756616, + 10.426012043099357, + 10.4297287844421, + 10.433445525784839, + 10.437162267127581, + 10.440879008470322, + 10.444595749813063, + 10.448312491155804, + 10.452029232498546, + 10.455745973841287, + 10.459462715184028, + 10.463179456526769, + 10.46689619786951, + 10.47061293921225, + 10.474329680554991, + 10.478046421897734, + 10.481763163240473, + 10.485479904583215, + 10.489196645925956, + 10.492913387268697, + 10.496630128611438, + 10.50034686995418, + 10.504063611296921, + 10.507780352639662, + 10.511497093982403, + 10.515213835325145, + 10.518930576667884, + 10.522647318010625, + 10.526364059353368, + 10.530080800696108, + 10.53379754203885, + 10.53751428338159, + 10.541231024724333, + 10.544947766067072, + 10.548664507409814, + 10.552381248752555, + 10.556097990095296, + 10.559814731438037, + 10.56353147278078, + 10.56724821412352, + 10.57096495546626, + 10.574681696809002, + 10.578398438151742, + 10.582115179494483, + 10.585831920837224, + 10.589548662179967, + 10.593265403522707, + 10.596982144865448, + 10.600698886208189, + 10.604415627550932, + 10.60813236889367, + 10.611849110236413, + 10.615565851579154, + 10.619282592921895, + 10.622999334264636, + 10.626716075607378, + 10.630432816950119, + 10.63414955829286, + 10.6378662996356, + 10.641583040978341, + 10.645299782321082, + 10.649016523663823, + 10.652733265006566, + 10.656450006349305, + 10.660166747692047, + 10.663883489034788, + 10.66760023037753, + 10.67131697172027, + 10.675033713063012, + 10.678750454405753, + 10.682467195748494, + 10.686183937091235, + 10.689900678433977, + 10.693617419776716, + 10.697334161119459, + 10.7010509024622, + 10.70476764380494, + 10.708484385147681, + 10.712201126490422, + 10.715917867833165, + 10.719634609175904, + 10.723351350518646, + 10.727068091861387, + 10.730784833204128, + 10.734501574546869, + 10.738218315889611, + 10.741935057232352, + 10.745651798575093, + 10.749368539917834, + 10.753085281260576, + 10.756802022603315, + 10.760518763946056, + 10.764235505288799, + 10.76795224663154, + 10.77166898797428, + 10.775385729317021, + 10.779102470659764, + 10.782819212002503, + 10.786535953345245, + 10.790252694687986, + 10.793969436030727, + 10.797686177373468, + 10.80140291871621, + 10.805119660058951, + 10.808836401401692, + 10.812553142744433, + 10.816269884087173, + 10.819986625429914, + 10.823703366772655, + 10.827420108115398, + 10.831136849458138, + 10.83485359080088, + 10.83857033214362, + 10.842287073486363, + 10.846003814829102, + 10.849720556171844, + 10.853437297514585, + 10.857154038857326, + 10.860870780200067, + 10.86458752154281, + 10.86830426288555, + 10.87202100422829, + 10.875737745571032, + 10.879454486913772, + 10.883171228256513, + 10.886887969599254, + 10.890604710941997, + 10.894321452284736, + 10.898038193627478, + 10.901754934970219, + 10.905471676312962, + 10.9091884176557, + 10.912905158998443, + 10.916621900341184, + 10.920338641683925, + 10.924055383026666, + 10.927772124369408, + 10.931488865712147, + 10.93520560705489, + 10.93892234839763, + 10.942639089740371, + 10.946355831083112, + 10.950072572425853, + 10.953789313768596, + 10.957506055111335, + 10.961222796454077, + 10.964939537796818, + 10.968656279139559, + 10.9723730204823, + 10.976089761825042, + 10.979806503167783, + 10.983523244510524, + 10.987239985853265, + 10.990956727196007, + 10.994673468538746, + 10.998390209881487, + 11.00210695122423, + 11.00582369256697, + 11.009540433909711, + 11.013257175252452, + 11.016973916595195, + 11.020690657937934, + 11.024407399280676, + 11.028124140623417, + 11.031840881966158, + 11.035557623308899, + 11.039274364651641, + 11.042991105994382, + 11.046707847337123, + 11.050424588679864, + 11.054141330022604, + 11.057858071365345, + 11.061574812708086, + 11.065291554050829, + 11.069008295393568, + 11.07272503673631, + 11.076441778079051, + 11.080158519421794, + 11.083875260764533, + 11.087592002107275, + 11.091308743450016, + 11.095025484792757, + 11.098742226135498, + 11.10245896747824, + 11.10617570882098, + 11.109892450163722, + 11.113609191506463, + 11.117325932849203, + 11.121042674191944, + 11.124759415534685, + 11.128476156877428, + 11.132192898220167, + 11.13590963956291, + 11.13962638090565, + 11.14334312224839, + 11.147059863591132, + 11.150776604933874, + 11.154493346276615, + 11.158210087619356, + 11.161926828962097, + 11.16564357030484, + 11.169360311647578, + 11.17307705299032, + 11.176793794333062, + 11.180510535675802, + 11.184227277018543, + 11.187944018361284, + 11.191660759704027, + 11.195377501046766, + 11.199094242389508, + 11.202810983732249, + 11.20652772507499, + 11.21024446641773, + 11.213961207760473, + 11.217677949103214, + 11.221394690445955, + 11.225111431788696, + 11.228828173131438, + 11.232544914474177, + 11.236261655816918, + 11.23997839715966, + 11.243695138502401, + 11.247411879845142, + 11.251128621187883, + 11.254845362530626, + 11.258562103873365, + 11.262278845216107, + 11.265995586558848, + 11.269712327901589, + 11.27342906924433, + 11.277145810587072, + 11.280862551929813, + 11.284579293272554, + 11.288296034615295, + 11.292012775958035, + 11.295729517300776, + 11.299446258643517, + 11.30316299998626, + 11.306879741328999, + 11.310596482671741, + 11.314313224014482, + 11.318029965357224, + 11.321746706699964, + 11.325463448042706, + 11.329180189385447, + 11.332896930728188, + 11.336613672070929, + 11.340330413413671, + 11.34404715475641, + 11.347763896099153, + 11.351480637441894, + 11.355197378784634, + 11.358914120127375, + 11.362630861470116, + 11.366347602812858, + 11.370064344155598, + 11.37378108549834, + 11.377497826841081, + 11.381214568183822, + 11.384931309526563, + 11.388648050869305, + 11.392364792212046, + 11.396081533554787, + 11.399798274897528, + 11.40351501624027, + 11.40723175758301, + 11.410948498925752, + 11.414665240268492, + 11.418381981611233, + 11.422098722953974, + 11.425815464296715, + 11.429532205639457, + 11.433248946982197, + 11.436965688324939, + 11.44068242966768, + 11.44439917101042, + 11.448115912353162, + 11.451832653695904, + 11.455549395038645, + 11.459266136381386, + 11.462982877724126, + 11.466699619066869, + 11.470416360409608, + 11.474133101752349, + 11.477849843095091, + 11.481566584437832, + 11.485283325780573, + 11.489000067123314, + 11.492716808466056, + 11.496433549808796, + 11.500150291151538, + 11.503867032494279, + 11.50758377383702, + 11.51130051517976, + 11.515017256522503, + 11.518733997865242, + 11.522450739207985, + 11.526167480550725, + 11.529884221893466, + 11.533600963236207, + 11.537317704578948, + 11.54103444592169, + 11.54475118726443, + 11.548467928607172, + 11.552184669949913, + 11.555901411292654, + 11.559618152635394, + 11.563334893978137, + 11.567051635320878, + 11.570768376663619, + 11.57448511800636, + 11.578201859349102, + 11.581918600691841, + 11.585635342034584, + 11.589352083377324, + 11.593068824720065, + 11.596785566062806, + 11.600502307405547, + 11.60421904874829, + 11.607935790091028, + 11.611652531433771, + 11.615369272776512, + 11.619086014119253, + 11.622802755461993, + 11.626519496804736, + 11.630236238147477, + 11.633952979490218, + 11.637669720832958, + 11.641386462175701, + 11.64510320351844, + 11.648819944861183, + 11.652536686203923, + 11.656253427546664, + 11.659970168889405, + 11.663686910232146, + 11.667403651574888, + 11.671120392917627, + 11.67483713426037, + 11.67855387560311, + 11.682270616945852, + 11.685987358288592, + 11.689704099631335, + 11.693420840974076, + 11.697137582316817, + 11.700854323659557, + 11.7045710650023, + 11.708287806345039, + 11.71200454768778, + 11.715721289030522, + 11.719438030373261, + 11.723154771716004, + 11.726871513058745, + 11.730588254401487, + 11.734304995744226, + 11.738021737086969, + 11.74173847842971, + 11.74545521977245, + 11.749171961115191, + 11.752888702457934, + 11.756605443800673, + 11.760322185143416, + 11.764038926486156, + 11.767755667828897, + 11.771472409171638, + 11.775189150514379, + 11.778905891857121, + 11.78262263319986, + 11.786339374542603, + 11.790056115885344, + 11.793772857228085, + 11.797489598570825, + 11.801206339913568, + 11.804923081256309, + 11.80863982259905, + 11.81235656394179, + 11.816073305284533, + 11.819790046627272, + 11.823506787970015, + 11.827223529312755, + 11.830940270655496, + 11.834657011998237, + 11.838373753340978, + 11.84209049468372, + 11.84580723602646, + 11.849523977369202, + 11.853240718711943, + 11.856957460054684, + 11.860674201397424, + 11.864390942740167, + 11.868107684082908, + 11.871824425425649, + 11.87554116676839, + 11.879257908111132, + 11.882974649453871, + 11.886691390796614, + 11.890408132139354, + 11.894124873482095, + 11.897841614824836, + 11.901558356167577, + 11.90527509751032, + 11.908991838853058, + 11.912708580195801, + 11.916425321538542, + 11.920142062881283, + 11.923858804224023, + 11.927575545566766, + 11.931292286909507, + 11.935009028252248, + 11.938725769594988, + 11.942442510937731, + 11.94615925228047, + 11.94987599362321, + 11.953592734965953, + 11.957309476308692, + 11.961026217651435, + 11.964742958994176, + 11.968459700336918, + 11.972176441679657, + 11.9758931830224, + 11.97960992436514, + 11.983326665707882, + 11.987043407050622, + 11.990760148393365, + 11.994476889736104, + 11.998193631078847, + 12.001910372421587, + 12.005627113764328, + 12.009343855107069, + 12.01306059644981, + 12.016777337792552, + 12.020494079135291, + 12.024210820478034, + 12.027927561820775, + 12.031644303163516, + 12.035361044506256, + 12.039077785848999, + 12.04279452719174, + 12.04651126853448, + 12.050228009877221, + 12.053944751219964, + 12.057661492562703, + 12.061378233905446, + 12.065094975248186, + 12.068811716590927, + 12.072528457933668, + 12.076245199276409, + 12.079961940619151, + 12.08367868196189, + 12.087395423304633, + 12.091112164647374, + 12.094828905990115, + 12.098545647332855, + 12.102262388675598, + 12.105979130018339, + 12.10969587136108, + 12.11341261270382, + 12.117129354046563, + 12.120846095389302, + 12.124562836732045, + 12.128279578074785, + 12.131996319417524, + 12.135713060760267, + 12.139429802103008, + 12.14314654344575, + 12.14686328478849, + 12.150580026131232, + 12.154296767473973, + 12.158013508816714, + 12.161730250159454, + 12.165446991502197, + 12.169163732844936, + 12.172880474187679, + 12.17659721553042, + 12.180313956873162, + 12.184030698215901, + 12.187747439558642, + 12.191464180901384, + 12.195180922244123, + 12.198897663586866, + 12.202614404929607, + 12.206331146272348, + 12.210047887615088, + 12.213764628957831, + 12.217481370300572, + 12.221198111643313, + 12.224914852986053, + 12.228631594328796, + 12.232348335671535, + 12.236065077014278, + 12.239781818357018, + 12.24349855969976, + 12.2472153010425, + 12.25093204238524, + 12.254648783727983, + 12.258365525070722, + 12.262082266413465, + 12.265799007756206, + 12.269515749098947, + 12.273232490441687, + 12.27694923178443, + 12.28066597312717, + 12.284382714469912, + 12.288099455812652, + 12.291816197155395, + 12.295532938498134, + 12.299249679840877, + 12.302966421183617, + 12.306683162526358, + 12.310399903869099, + 12.31411664521184, + 12.317833386554582, + 12.321550127897321, + 12.325266869240064, + 12.328983610582805, + 12.332700351925546, + 12.336417093268286, + 12.340133834611029, + 12.34385057595377, + 12.34756731729651, + 12.351284058639251, + 12.355000799981994, + 12.358717541324733, + 12.362434282667476, + 12.366151024010216, + 12.369867765352955, + 12.373584506695698, + 12.377301248038439, + 12.381017989381181, + 12.38473473072392, + 12.388451472066663, + 12.392168213409404, + 12.395884954752145, + 12.399601696094885, + 12.403318437437628, + 12.407035178780367, + 12.41075192012311, + 12.41446866146585, + 12.418185402808593, + 12.421902144151332, + 12.425618885494073, + 12.429335626836815, + 12.433052368179554, + 12.436769109522297, + 12.440485850865038, + 12.444202592207779, + 12.44791933355052, + 12.451636074893262, + 12.455352816236003, + 12.459069557578744, + 12.462786298921484, + 12.466503040264227, + 12.470219781606966, + 12.473936522949709, + 12.47765326429245, + 12.48137000563519, + 12.485086746977931, + 12.488803488320672, + 12.492520229663414, + 12.496236971006153, + 12.499953712348896, + 12.503670453691637, + 12.507387195034378, + 12.511103936377118, + 12.514820677719861, + 12.518537419062602, + 12.522254160405343, + 12.525970901748083, + 12.529687643090826, + 12.533404384433565, + 12.537121125776308, + 12.540837867119048, + 12.54455460846179, + 12.54827134980453, + 12.55198809114727, + 12.555704832490013, + 12.559421573832752, + 12.563138315175495, + 12.566855056518236, + 12.570571797860977, + 12.574288539203717, + 12.57800528054646, + 12.581722021889199, + 12.585438763231942, + 12.589155504574682, + 12.592872245917425, + 12.596588987260164, + 12.600305728602907, + 12.604022469945647, + 12.607739211288386, + 12.611455952631129, + 12.61517269397387, + 12.61888943531661, + 12.622606176659351, + 12.626322918002094, + 12.630039659344835, + 12.633756400687576, + 12.637473142030316, + 12.641189883373059, + 12.644906624715798, + 12.64862336605854, + 12.652340107401281, + 12.656056848744022, + 12.659773590086763, + 12.663490331429504, + 12.667207072772246, + 12.670923814114985, + 12.674640555457728, + 12.678357296800469, + 12.68207403814321, + 12.68579077948595, + 12.689507520828693, + 12.693224262171434, + 12.696941003514175, + 12.700657744856915, + 12.704374486199658, + 12.708091227542397, + 12.71180796888514, + 12.71552471022788, + 12.719241451570621, + 12.722958192913362, + 12.726674934256103, + 12.730391675598845, + 12.734108416941584, + 12.737825158284327, + 12.741541899627068, + 12.745258640969809, + 12.74897538231255, + 12.752692123655292, + 12.756408864998033, + 12.760125606340774, + 12.763842347683514, + 12.767559089026257, + 12.771275830368996, + 12.774992571711739, + 12.77870931305448, + 12.782426054397218, + 12.786142795739961, + 12.789859537082702, + 12.793576278425444, + 12.797293019768183, + 12.801009761110926, + 12.804726502453667, + 12.808443243796408, + 12.812159985139148, + 12.815876726481891, + 12.81959346782463, + 12.823310209167373, + 12.827026950510113, + 12.830743691852856, + 12.834460433195595, + 12.838177174538338, + 12.841893915881078, + 12.845610657223817, + 12.84932739856656, + 12.8530441399093, + 12.856760881252042, + 12.860477622594782, + 12.864194363937525, + 12.867911105280266, + 12.871627846623007, + 12.875344587965747, + 12.87906132930849, + 12.882778070651229, + 12.886494811993972, + 12.890211553336712, + 12.893928294679453, + 12.897645036022194, + 12.901361777364935, + 12.905078518707677, + 12.908795260050416, + 12.912512001393159, + 12.9162287427359, + 12.91994548407864, + 12.923662225421381, + 12.927378966764124, + 12.931095708106865, + 12.934812449449606, + 12.938529190792346, + 12.942245932135089, + 12.945962673477828, + 12.94967941482057, + 12.953396156163311, + 12.957112897506052, + 12.960829638848793, + 12.964546380191534, + 12.968263121534276, + 12.971979862877015, + 12.975696604219758, + 12.979413345562499, + 12.98313008690524, + 12.98684682824798, + 12.990563569590723, + 12.994280310933464, + 12.997997052276204, + 13.001713793618945, + 13.005430534961688, + 13.009147276304427, + 13.01286401764717, + 13.01658075898991, + 13.02029750033265, + 13.024014241675392, + 13.027730983018133, + 13.031447724360875, + 13.035164465703614, + 13.038881207046357, + 13.042597948389098, + 13.046314689731838, + 13.05003143107458, + 13.053748172417322, + 13.057464913760061, + 13.061181655102803, + 13.064898396445544, + 13.068615137788285, + 13.072331879131026, + 13.076048620473768, + 13.07976536181651, + 13.083482103159248, + 13.087198844501991, + 13.090915585844732, + 13.094632327187472, + 13.098349068530213, + 13.102065809872956, + 13.105782551215697, + 13.109499292558437, + 13.113216033901178, + 13.11693277524392, + 13.12064951658666, + 13.124366257929402, + 13.128082999272143, + 13.131799740614884, + 13.135516481957625, + 13.139233223300366, + 13.142949964643108, + 13.146666705985847, + 13.15038344732859, + 13.15410018867133, + 13.157816930014071, + 13.161533671356812, + 13.165250412699555, + 13.168967154042296, + 13.172683895385036, + 13.176400636727777, + 13.18011737807052, + 13.183834119413259, + 13.187550860756001, + 13.191267602098742, + 13.194984343441481, + 13.198701084784224, + 13.202417826126965, + 13.206134567469707, + 13.209851308812446, + 13.213568050155189, + 13.21728479149793, + 13.22100153284067, + 13.224718274183411, + 13.228435015526154, + 13.232151756868893, + 13.235868498211635, + 13.239585239554376, + 13.243301980897119, + 13.247018722239858, + 13.2507354635826, + 13.254452204925341, + 13.25816894626808, + 13.261885687610823, + 13.265602428953564, + 13.269319170296304, + 13.273035911639045, + 13.276752652981788, + 13.280469394324529, + 13.28418613566727, + 13.28790287701001, + 13.291619618352753, + 13.295336359695492, + 13.299053101038234, + 13.302769842380975, + 13.306486583723716, + 13.310203325066457, + 13.3139200664092, + 13.31763680775194, + 13.32135354909468, + 13.325070290437422, + 13.328787031780163, + 13.332503773122903, + 13.336220514465644, + 13.339937255808387, + 13.343653997151128, + 13.347370738493868, + 13.35108747983661, + 13.354804221179352, + 13.35852096252209, + 13.362237703864833, + 13.365954445207574, + 13.369671186550315, + 13.373387927893056, + 13.377104669235797, + 13.38082141057854, + 13.384538151921278, + 13.38825489326402, + 13.391971634606762, + 13.395688375949502, + 13.399405117292243, + 13.403121858634986, + 13.406838599977727, + 13.410555341320467, + 13.414272082663208, + 13.41798882400595, + 13.42170556534869, + 13.425422306691432, + 13.429139048034173, + 13.432855789376912, + 13.436572530719655, + 13.440289272062396, + 13.444006013405138, + 13.447722754747877, + 13.45143949609062, + 13.45515623743336, + 13.458872978776101, + 13.462589720118842, + 13.466306461461585, + 13.470023202804324, + 13.473739944147066, + 13.477456685489807, + 13.48117342683255, + 13.484890168175289, + 13.488606909518031, + 13.492323650860772, + 13.496040392203511, + 13.499757133546254, + 13.503473874888995, + 13.507190616231735, + 13.510907357574476, + 13.514624098917219, + 13.51834084025996, + 13.5220575816027, + 13.525774322945441, + 13.529491064288184, + 13.533207805630923, + 13.536924546973665, + 13.540641288316406, + 13.544358029659147, + 13.548074771001888, + 13.55179151234463, + 13.555508253687371, + 13.55922499503011, + 13.562941736372853, + 13.566658477715594, + 13.570375219058334, + 13.574091960401075, + 13.577808701743818, + 13.581525443086559, + 13.5852421844293, + 13.58895892577204, + 13.592675667114783, + 13.596392408457522, + 13.600109149800264, + 13.603825891143005, + 13.607542632485746, + 13.611259373828487, + 13.614976115171228, + 13.61869285651397, + 13.62240959785671, + 13.626126339199452, + 13.629843080542193, + 13.633559821884933, + 13.637276563227674, + 13.640993304570417, + 13.644710045913156, + 13.648426787255898, + 13.65214352859864, + 13.655860269941382, + 13.65957701128412, + 13.663293752626863, + 13.667010493969604, + 13.670727235312343, + 13.674443976655086, + 13.678160717997827, + 13.681877459340567, + 13.685594200683308, + 13.68931094202605, + 13.693027683368792, + 13.696744424711532, + 13.700461166054273, + 13.704177907397016, + 13.707894648739755, + 13.711611390082497, + 13.715328131425238, + 13.719044872767979, + 13.72276161411072, + 13.726478355453462, + 13.730195096796203, + 13.733911838138942, + 13.737628579481685, + 13.741345320824426, + 13.745062062167166, + 13.748778803509907, + 13.75249554485265, + 13.75621228619539, + 13.759929027538131, + 13.763645768880872, + 13.767362510223615, + 13.771079251566354, + 13.774795992909096, + 13.778512734251837, + 13.782229475594578, + 13.785946216937319, + 13.789662958280061, + 13.793379699622802, + 13.797096440965541, + 13.800813182308284, + 13.804529923651025, + 13.808246664993765, + 13.811963406336506, + 13.815680147679249, + 13.81939688902199, + 13.82311363036473, + 13.826830371707471, + 13.830547113050214, + 13.834263854392953, + 13.837980595735695, + 13.841697337078436, + 13.845414078421177, + 13.849130819763918, + 13.852847561106659, + 13.856564302449401, + 13.86028104379214, + 13.863997785134883, + 13.867714526477624, + 13.871431267820364, + 13.875148009163105, + 13.878864750505848, + 13.882581491848587, + 13.88629823319133, + 13.89001497453407, + 13.893731715876813, + 13.897448457219552, + 13.901165198562294, + 13.904881939905035, + 13.908598681247774, + 13.912315422590517, + 13.916032163933258, + 13.919748905275998, + 13.92346564661874, + 13.927182387961482, + 13.930899129304223, + 13.934615870646963, + 13.938332611989704, + 13.942049353332447, + 13.945766094675186, + 13.949482836017928, + 13.95319957736067, + 13.95691631870341, + 13.96063306004615, + 13.964349801388893, + 13.968066542731634, + 13.971783284074373, + 13.975500025417116, + 13.979216766759857, + 13.982933508102597, + 13.986650249445338, + 13.99036699078808, + 13.994083732130822, + 13.997800473473562, + 14.001517214816303, + 14.005233956159046, + 14.008950697501785, + 14.012667438844527, + 14.016384180187268, + 14.020100921530009, + 14.02381766287275, + 14.027534404215492, + 14.031251145558233, + 14.034967886900972, + 14.038684628243715, + 14.042401369586456, + 14.046118110929196, + 14.049834852271937, + 14.05355159361468, + 14.05726833495742, + 14.060985076300161, + 14.064701817642902, + 14.068418558985645, + 14.072135300328384, + 14.075852041671126, + 14.079568783013867, + 14.083285524356608, + 14.087002265699349, + 14.09071900704209, + 14.09443574838483, + 14.098152489727571, + 14.101869231070314, + 14.105585972413055, + 14.109302713755795, + 14.113019455098536, + 14.116736196441279, + 14.120452937784018, + 14.12416967912676, + 14.127886420469501, + 14.131603161812242, + 14.135319903154983, + 14.139036644497725, + 14.142753385840466, + 14.146470127183205, + 14.150186868525948, + 14.153903609868689, + 14.15762035121143, + 14.16133709255417, + 14.165053833896913, + 14.168770575239654, + 14.172487316582394, + 14.176204057925135, + 14.179920799267878, + 14.183637540610617, + 14.18735428195336, + 14.1910710232961, + 14.194787764638841, + 14.198504505981582, + 14.202221247324324, + 14.205937988667065, + 14.209654730009804, + 14.213371471352547, + 14.217088212695288, + 14.220804954038028, + 14.22452169538077, + 14.228238436723512, + 14.231955178066253, + 14.235671919408993, + 14.239388660751734, + 14.243105402094477, + 14.246822143437216, + 14.250538884779958, + 14.2542556261227, + 14.25797236746544, + 14.26168910880818, + 14.265405850150923, + 14.269122591493664, + 14.272839332836403, + 14.276556074179146, + 14.280272815521887, + 14.283989556864627, + 14.287706298207368, + 14.29142303955011, + 14.29513978089285, + 14.298856522235592, + 14.302573263578333, + 14.306290004921076, + 14.310006746263815, + 14.313723487606557, + 14.317440228949298, + 14.321156970292039, + 14.324873711634778, + 14.32859045297752, + 14.332307194320261, + 14.336023935663, + 14.339740677005743, + 14.343457418348486, + 14.347174159691226, + 14.350890901033965, + 14.354607642376708, + 14.358324383719449, + 14.362041125062191, + 14.36575786640493, + 14.369474607747673, + 14.373191349090414, + 14.376908090433156, + 14.380624831775895, + 14.384341573118636, + 14.388058314461379, + 14.391775055804118, + 14.39549179714686, + 14.399208538489601, + 14.402925279832344, + 14.406642021175083, + 14.410358762517824, + 14.414075503860566, + 14.417792245203309, + 14.421508986546046, + 14.425225727888789, + 14.428942469231531, + 14.432659210574272, + 14.436375951917011, + 14.440092693259754, + 14.443809434602496, + 14.447526175945233, + 14.451242917287976, + 14.454959658630719, + 14.45867639997346, + 14.462393141316198, + 14.466109882658941, + 14.469826624001684, + 14.473543365344424, + 14.477260106687163, + 14.480976848029906, + 14.484693589372647, + 14.48841033071539, + 14.492127072058128, + 14.49584381340087, + 14.499560554743612, + 14.503277296086354, + 14.506994037429093, + 14.510710778771834, + 14.514427520114577, + 14.518144261457316, + 14.521861002800057, + 14.5255777441428, + 14.529294485485542, + 14.53301122682828, + 14.536727968171022, + 14.540444709513764, + 14.544161450856507, + 14.547878192199244, + 14.551594933541987, + 14.555311674884729, + 14.55902841622747, + 14.562745157570209, + 14.566461898912952, + 14.570178640255692, + 14.573895381598431, + 14.577612122941174, + 14.581328864283917, + 14.585045605626657, + 14.588762346969396, + 14.592479088312139, + 14.59619582965488, + 14.599912570997622, + 14.603629312340361, + 14.607346053683104, + 14.611062795025845, + 14.614779536368587, + 14.618496277711326, + 14.622213019054067, + 14.62592976039681, + 14.629646501739549, + 14.63336324308229, + 14.637079984425032, + 14.640796725767775, + 14.644513467110514, + 14.648230208453255, + 14.651946949795997, + 14.65566369113874, + 14.659380432481477, + 14.66309717382422, + 14.666813915166962, + 14.670530656509703, + 14.674247397852442, + 14.677964139195185, + 14.681680880537927, + 14.685397621880664, + 14.689114363223407, + 14.69283110456615, + 14.69654784590889, + 14.70026458725163, + 14.703981328594372, + 14.707698069937113, + 14.711414811279855, + 14.715131552622594, + 14.718848293965337, + 14.722565035308078, + 14.72628177665082, + 14.72999851799356, + 14.7337152593363, + 14.737432000679043, + 14.741148742021785, + 14.744865483364524, + 14.748582224707265, + 14.752298966050008, + 14.756015707392747, + 14.759732448735488, + 14.76344919007823, + 14.767165931420973, + 14.770882672763712, + 14.774599414106452, + 14.778316155449195, + 14.782032896791936, + 14.785749638134675, + 14.789466379477417, + 14.79318312082016, + 14.7968998621629, + 14.80061660350564, + 14.804333344848382, + 14.808050086191123, + 14.811766827533862, + 14.815483568876605, + 14.819200310219347, + 14.822917051562088, + 14.826633792904827, + 14.83035053424757, + 14.83406727559031, + 14.837784016933053, + 14.841500758275792, + 14.845217499618535, + 14.848934240961276, + 14.852650982304018, + 14.856367723646757, + 14.860084464989498, + 14.86380120633224, + 14.86751794767498, + 14.87123468901772, + 14.874951430360463, + 14.878668171703206, + 14.882384913045945, + 14.886101654388685, + 14.889818395731428, + 14.89353513707417, + 14.897251878416908, + 14.90096861975965, + 14.904685361102393, + 14.908402102445134, + 14.912118843787873, + 14.915835585130615, + 14.919552326473358, + 14.923269067816095, + 14.926985809158838, + 14.93070255050158, + 14.934419291844321, + 14.93813603318706, + 14.941852774529803, + 14.945569515872544, + 14.949286257215286, + 14.953002998558025, + 14.956719739900768, + 14.960436481243509, + 14.964153222586251, + 14.96786996392899, + 14.971586705271731, + 14.975303446614474, + 14.979020187957216, + 14.982736929299955, + 14.986453670642696, + 14.990170411985439, + 14.993887153328181, + 14.997603894670918, + 15.001320636013661, + 15.005037377356404, + 15.008754118699144, + 15.012470860041883, + 15.016187601384626, + 15.019904342727367, + 15.02362108407011, + 15.027337825412848, + 15.031054566755591, + 15.034771308098332, + 15.038488049441074, + 15.042204790783813, + 15.045921532126554, + 15.049638273469297, + 15.053355014812036, + 15.057071756154778, + 15.06078849749752, + 15.064505238840262, + 15.068221980183, + 15.071938721525742, + 15.075655462868484, + 15.079372204211227, + 15.083088945553966, + 15.086805686896707, + 15.09052242823945, + 15.09423916958219, + 15.097955910924929, + 15.101672652267672, + 15.105389393610414, + 15.109106134953151, + 15.112822876295894, + 15.116539617638637, + 15.120256358981377, + 15.123973100324116, + 15.127689841666859, + 15.131406583009602, + 15.135123324352342, + 15.138840065695081, + 15.142556807037824, + 15.146273548380565, + 15.149990289723307, + 15.153707031066046, + 15.157423772408787, + 15.16114051375153, + 15.164857255094269, + 15.168573996437011, + 15.172290737779752, + 15.176007479122495, + 15.179724220465234, + 15.183440961807975, + 15.187157703150717, + 15.19087444449346, + 15.194591185836199, + 15.19830792717894, + 15.202024668521682, + 15.205741409864425, + 15.209458151207162, + 15.213174892549905, + 15.216891633892647, + 15.220608375235386, + 15.224325116578127, + 15.22804185792087, + 15.23175859926361, + 15.23547534060635, + 15.239192081949092, + 15.242908823291835, + 15.246625564634575, + 15.250342305977314, + 15.254059047320057, + 15.257775788662798, + 15.26149253000554, + 15.26520927134828, + 15.268926012691022, + 15.272642754033763, + 15.276359495376502, + 15.280076236719244, + 15.283792978061985, + 15.287509719404728, + 15.291226460747467, + 15.29494320209021, + 15.29865994343295, + 15.302376684775693, + 15.306093426118432, + 15.309810167461173, + 15.313526908803915, + 15.317243650146658, + 15.320960391489395, + 15.324677132832138, + 15.32839387417488, + 15.332110615517621, + 15.33582735686036, + 15.339544098203103, + 15.343260839545845, + 15.346977580888582, + 15.350694322231325, + 15.354411063574068, + 15.358127804916808, + 15.361844546259547, + 15.36556128760229, + 15.369278028945033, + 15.372994770287773, + 15.376711511630512, + 15.380428252973255, + 15.384144994315996, + 15.387861735658738, + 15.391578477001477, + 15.395295218344218, + 15.39901195968696, + 15.4027287010297, + 15.406445442372442, + 15.410162183715183, + 15.413878925057926, + 15.417595666400665, + 15.421312407743406, + 15.425029149086148, + 15.42874589042889, + 15.43246263177163, + 15.43617937311437, + 15.439896114457113, + 15.443612855799856, + 15.447329597142593, + 15.451046338485336, + 15.454763079828078, + 15.458479821170817, + 15.462196562513558, + 15.4659133038563, + 15.469630045199041, + 15.47334678654178, + 15.477063527884523, + 15.480780269227266, + 15.484497010570006, + 15.488213751912745, + 15.491930493255488, + 15.495647234598229, + 15.499363975940971, + 15.50308071728371, + 15.506797458626453, + 15.510514199969194, + 15.514230941311936, + 15.517947682654675, + 15.521664423997416, + 15.525381165340159, + 15.529097906682898, + 15.53281464802564, + 15.536531389368381, + 15.540248130711124, + 15.543964872053863, + 15.547681613396604, + 15.551398354739346, + 15.555115096082089, + 15.558831837424826, + 15.562548578767569, + 15.566265320110311, + 15.569982061453052, + 15.573698802795791, + 15.577415544138534, + 15.581132285481276, + 15.584849026824013, + 15.588565768166756, + 15.592282509509499, + 15.59599925085224, + 15.599715992194978, + 15.603432733537721, + 15.607149474880462, + 15.610866216223204, + 15.614582957565943, + 15.618299698908686, + 15.622016440251427, + 15.62573318159417, + 15.629449922936908, + 15.63316666427965, + 15.636883405622392, + 15.64060014696513, + 15.644316888307873, + 15.648033629650614, + 15.651750370993357, + 15.655467112336096, + 15.659183853678837, + 15.66290059502158, + 15.666617336364322, + 15.67033407770706, + 15.674050819049802, + 15.677767560392544, + 15.681484301735285, + 15.685201043078024, + 15.688917784420767, + 15.69263452576351, + 15.696351267106246, + 15.700068008448989, + 15.703784749791732, + 15.707501491134472, + 15.711218232477211, + 15.714934973819954, + 15.718651715162697, + 15.722368456505437, + 15.726085197848176, + 15.729801939190919, + 15.73351868053366, + 15.737235421876402, + 15.740952163219141, + 15.744668904561884, + 15.748385645904625, + 15.752102387247364, + 15.755819128590106, + 15.759535869932847, + 15.76325261127559, + 15.766969352618329, + 15.77068609396107, + 15.774402835303812, + 15.778119576646555, + 15.781836317989294, + 15.785553059332035, + 15.789269800674777, + 15.79298654201752, + 15.796703283360257, + 15.800420024703, + 15.804136766045742, + 15.807853507388483, + 15.811570248731222, + 15.815286990073965, + 15.819003731416707, + 15.822720472759444, + 15.826437214102187, + 15.83015395544493, + 15.83387069678767, + 15.83758743813041, + 15.841304179473152, + 15.845020920815893, + 15.848737662158635, + 15.852454403501374, + 15.856171144844117, + 15.859887886186858, + 15.8636046275296, + 15.86732136887234 + ], + "Itth": [ + 30.655195236206055, + 29.83406639099121, + 29.250301361083984, + 29.05618667602539, + 29.000913619995117, + 29.225038528442383, + 29.46074867248535, + 29.12308692932129, + 27.65679359436035, + 26.10845947265625, + 25.19525718688965, + 24.712743759155273, + 24.63957405090332, + 24.664337158203125, + 24.804119110107422, + 25.0291690826416, + 25.383033752441406, + 25.76605224609375, + 25.97580337524414, + 26.269529342651367, + 26.61513328552246, + 26.96686363220215, + 27.19447898864746, + 27.419681549072266, + 27.494121551513672, + 27.674341201782227, + 27.80927085876465, + 27.948331832885742, + 28.087631225585938, + 28.289072036743164, + 28.53715705871582, + 28.739686965942383, + 28.77363395690918, + 28.687801361083984, + 28.60637092590332, + 28.632291793823242, + 28.771686553955078, + 28.924388885498047, + 28.999300003051758, + 29.000823974609375, + 29.09023094177246, + 29.188947677612305, + 29.33367347717285, + 29.42925453186035, + 29.50635528564453, + 29.429615020751953, + 29.318897247314453, + 29.29048728942871, + 29.317636489868164, + 29.315523147583008, + 29.282075881958008, + 29.247848510742188, + 29.27845573425293, + 29.34998321533203, + 29.441238403320312, + 29.456716537475586, + 29.445804595947266, + 29.41053581237793, + 29.312252044677734, + 29.311321258544922, + 29.535066604614258, + 29.766727447509766, + 29.79578971862793, + 29.591358184814453, + 29.52048683166504, + 29.533164978027344, + 29.544538497924805, + 29.558753967285156, + 29.5627498626709, + 29.648454666137695, + 29.731971740722656, + 29.774791717529297, + 29.694412231445312, + 29.594369888305664, + 29.580310821533203, + 29.641633987426758, + 29.81170082092285, + 29.817169189453125, + 29.790098190307617, + 29.766626358032227, + 29.81119155883789, + 29.860187530517578, + 29.81318473815918, + 29.839805603027344, + 29.836238861083984, + 29.774539947509766, + 29.78204917907715, + 29.829927444458008, + 29.953853607177734, + 30.019975662231445, + 29.976238250732422, + 29.905105590820312, + 29.771648406982422, + 29.772783279418945, + 29.813814163208008, + 29.90070343017578, + 29.8947811126709, + 29.905099868774414, + 29.900402069091797, + 29.903696060180664, + 29.848705291748047, + 29.813203811645508, + 29.84122085571289, + 29.917837142944336, + 29.974720001220703, + 29.985958099365234, + 29.95180892944336, + 29.942644119262695, + 29.930627822875977, + 29.887975692749023, + 29.840593338012695, + 29.86276626586914, + 29.95361328125, + 29.94370460510254, + 29.931072235107422, + 29.934133529663086, + 29.992340087890625, + 30.0114803314209, + 29.9796085357666, + 29.937564849853516, + 29.894977569580078, + 29.890487670898438, + 29.94139289855957, + 29.97698974609375, + 29.96536636352539, + 29.917743682861328, + 29.885751724243164, + 29.877750396728516, + 29.98424530029297, + 29.992807388305664, + 29.981983184814453, + 29.894968032836914, + 29.904296875, + 29.97266960144043, + 30.041515350341797, + 30.103015899658203, + 30.1289119720459, + 30.07527732849121, + 30.022716522216797, + 30.051767349243164, + 30.10101890563965, + 30.163509368896484, + 30.14126968383789, + 30.120107650756836, + 30.032405853271484, + 29.99365234375, + 30.014400482177734, + 30.05683135986328, + 30.058652877807617, + 30.03716468811035, + 30.00949478149414, + 30.052122116088867, + 30.13282012939453, + 30.225595474243164, + 30.282535552978516, + 30.3687686920166, + 30.342214584350586, + 30.29414939880371, + 30.25435447692871, + 30.246702194213867, + 30.240678787231445, + 30.162412643432617, + 30.133079528808594, + 30.133346557617188, + 30.144006729125977, + 30.165822982788086, + 30.181108474731445, + 30.191465377807617, + 30.214277267456055, + 30.170211791992188, + 30.1935977935791, + 30.13808250427246, + 30.177553176879883, + 30.199600219726562, + 30.265737533569336, + 30.284151077270508, + 30.258464813232422, + 30.20931625366211, + 30.137216567993164, + 30.15107536315918, + 30.173847198486328, + 30.130687713623047, + 30.107423782348633, + 30.124467849731445, + 30.190038681030273, + 30.199920654296875, + 30.147010803222656, + 30.11749267578125, + 30.157804489135742, + 30.237058639526367, + 30.24636459350586, + 30.220491409301758, + 30.212188720703125, + 30.24651527404785, + 30.295055389404297, + 30.22862434387207, + 30.18080711364746, + 30.110126495361328, + 30.16349983215332, + 30.18855857849121, + 30.245548248291016, + 30.333284378051758, + 30.419145584106445, + 30.414892196655273, + 30.333158493041992, + 30.314844131469727, + 30.30124282836914, + 30.300338745117188, + 30.332300186157227, + 30.367271423339844, + 30.38383674621582, + 30.34083366394043, + 30.279659271240234, + 30.24929428100586, + 30.284250259399414, + 30.383243560791016, + 30.407255172729492, + 30.39202308654785, + 30.349651336669922, + 30.322402954101562, + 30.316617965698242, + 30.308074951171875, + 30.28091049194336, + 30.239643096923828, + 30.276531219482422, + 30.301340103149414, + 30.3394718170166, + 30.376232147216797, + 30.400630950927734, + 30.369319915771484, + 30.346641540527344, + 30.374685287475586, + 30.43925666809082, + 30.500764846801758, + 30.51518440246582, + 30.511693954467773, + 30.495220184326172, + 30.482440948486328, + 30.460262298583984, + 30.479890823364258, + 30.60963249206543, + 30.66193389892578, + 30.659957885742188, + 30.692537307739258, + 30.708215713500977, + 30.735214233398438, + 30.739255905151367, + 30.76188087463379, + 30.7623348236084, + 30.788532257080078, + 30.86225128173828, + 30.897878646850586, + 30.82114601135254, + 30.706666946411133, + 30.727991104125977, + 30.79245948791504, + 30.88789176940918, + 30.915307998657227, + 30.957603454589844, + 30.959274291992188, + 30.94269371032715, + 30.94972801208496, + 30.96067237854004, + 31.00096893310547, + 30.96592903137207, + 30.931020736694336, + 30.912633895874023, + 30.97464370727539, + 31.010717391967773, + 31.055391311645508, + 31.0456485748291, + 31.05409812927246, + 31.070911407470703, + 31.11444091796875, + 31.20515251159668, + 31.192028045654297, + 31.151187896728516, + 31.16691780090332, + 31.260072708129883, + 31.323118209838867, + 31.33897590637207, + 31.330320358276367, + 31.265363693237305, + 31.325178146362305, + 31.398391723632812, + 31.452795028686523, + 31.429737091064453, + 31.40837287902832, + 31.431928634643555, + 31.4499568939209, + 31.46269989013672, + 31.444435119628906, + 31.443479537963867, + 31.442686080932617, + 31.498275756835938, + 31.571674346923828, + 31.599695205688477, + 31.561655044555664, + 31.55573081970215, + 31.583459854125977, + 31.652124404907227, + 31.659677505493164, + 31.66083526611328, + 31.70829200744629, + 31.779380798339844, + 31.817628860473633, + 31.786043167114258, + 31.74173355102539, + 31.71877670288086, + 31.730634689331055, + 31.748708724975586, + 31.796634674072266, + 31.783170700073242, + 31.814151763916016, + 31.854351043701172, + 31.8576717376709, + 31.856300354003906, + 31.860599517822266, + 31.905296325683594, + 31.89594841003418, + 31.935630798339844, + 31.993148803710938, + 32.07071304321289, + 32.11125946044922, + 32.123374938964844, + 32.193233489990234, + 32.22174072265625, + 32.22189712524414, + 32.192806243896484, + 32.21459197998047, + 32.29185485839844, + 32.3137092590332, + 32.32758712768555, + 32.33790969848633, + 32.33599853515625, + 32.3914909362793, + 32.444705963134766, + 32.485286712646484, + 32.52824401855469, + 32.58897018432617, + 32.64231872558594, + 32.606788635253906, + 32.577571868896484, + 32.57267379760742, + 32.64385223388672, + 32.722129821777344, + 32.71510696411133, + 32.69007110595703, + 32.70197677612305, + 32.72857666015625, + 32.75815200805664, + 32.76007080078125, + 32.78892517089844, + 32.834632873535156, + 32.92661666870117, + 33.0507698059082, + 33.09678268432617, + 33.031097412109375, + 33.00022506713867, + 32.99265670776367, + 32.994873046875, + 32.9798469543457, + 33.031002044677734, + 33.059288024902344, + 33.02427291870117, + 32.986873626708984, + 33.00354766845703, + 33.06257247924805, + 33.12177276611328, + 33.16192626953125, + 33.21307373046875, + 33.22243118286133, + 33.2237434387207, + 33.23664093017578, + 33.267879486083984, + 33.32833480834961, + 33.36656188964844, + 33.46747970581055, + 33.50011444091797, + 33.46601867675781, + 33.434715270996094, + 33.47855758666992, + 33.555580139160156, + 33.65308380126953, + 33.72681427001953, + 33.75707244873047, + 33.76725387573242, + 33.787635803222656, + 33.786109924316406, + 33.817073822021484, + 33.87891387939453, + 33.95157241821289, + 33.96954345703125, + 33.92698287963867, + 33.905216217041016, + 33.95687484741211, + 34.01503372192383, + 34.1195068359375, + 34.27295684814453, + 34.38189697265625, + 34.43177795410156, + 34.466819763183594, + 34.58599853515625, + 34.7269401550293, + 34.833946228027344, + 34.96219253540039, + 35.09735870361328, + 35.23222351074219, + 35.32642364501953, + 35.45528030395508, + 35.657108306884766, + 35.8322868347168, + 35.92313003540039, + 36.04854202270508, + 36.19651412963867, + 36.36369323730469, + 36.56855773925781, + 36.88492202758789, + 37.33466339111328, + 37.68680191040039, + 37.9900016784668, + 38.32686996459961, + 38.839111328125, + 39.446903228759766, + 40.15448760986328, + 41.08134460449219, + 42.26953125, + 43.72754669189453, + 45.78263854980469, + 48.73918914794922, + 52.90522003173828, + 59.0512809753418, + 68.56512451171875, + 83.40565490722656, + 107.05292510986328, + 146.81353759765625, + 212.51651000976562, + 318.0817565917969, + 482.7589111328125, + 711.8302612304688, + 990.050048828125, + 1285.00732421875, + 1511.0733642578125, + 1601.6463623046875, + 1531.0985107421875, + 1320.9278564453125, + 1037.547119140625, + 740.9671020507812, + 500.5221862792969, + 332.96966552734375, + 220.77334594726562, + 150.68130493164062, + 109.67970275878906, + 84.47444152832031, + 68.7204818725586, + 59.11444854736328, + 52.694095611572266, + 48.33076477050781, + 45.38225555419922, + 43.25034713745117, + 41.6935920715332, + 40.508514404296875, + 39.54587936401367, + 38.7602424621582, + 38.14168167114258, + 37.600006103515625, + 37.10805892944336, + 36.6885986328125, + 36.30133056640625, + 35.95799255371094, + 35.600799560546875, + 35.32086181640625, + 35.02847671508789, + 34.82054138183594, + 34.58174133300781, + 34.357994079589844, + 34.134010314941406, + 33.99287033081055, + 33.84563446044922, + 33.710453033447266, + 33.50799560546875, + 33.36771011352539, + 33.23287582397461, + 33.149505615234375, + 33.05148696899414, + 32.92702865600586, + 32.791866302490234, + 32.63798141479492, + 32.53141403198242, + 32.42772674560547, + 32.32834243774414, + 32.239437103271484, + 32.15425491333008, + 32.033267974853516, + 31.93523597717285, + 31.85132598876953, + 31.747182846069336, + 31.62746810913086, + 31.56980323791504, + 31.575326919555664, + 31.568132400512695, + 31.526004791259766, + 31.491729736328125, + 31.409086227416992, + 31.36904525756836, + 31.287830352783203, + 31.273529052734375, + 31.222564697265625, + 31.199533462524414, + 31.11415672302246, + 31.047773361206055, + 30.959735870361328, + 30.89130210876465, + 30.90373420715332, + 30.89154624938965, + 30.909231185913086, + 30.897979736328125, + 30.890491485595703, + 30.812320709228516, + 30.759675979614258, + 30.727624893188477, + 30.67600440979004, + 30.628252029418945, + 30.661943435668945, + 30.67974090576172, + 30.614038467407227, + 30.54181480407715, + 30.53827476501465, + 30.57747459411621, + 30.580968856811523, + 30.567045211791992, + 30.564027786254883, + 30.5073184967041, + 30.400232315063477, + 30.329322814941406, + 30.33580207824707, + 30.3377628326416, + 30.346067428588867, + 30.36860466003418, + 30.376380920410156, + 30.328107833862305, + 30.284788131713867, + 30.272602081298828, + 30.251949310302734, + 30.252933502197266, + 30.272323608398438, + 30.266979217529297, + 30.261558532714844, + 30.240745544433594, + 30.19658660888672, + 30.156105041503906, + 30.112215042114258, + 30.122169494628906, + 30.13726234436035, + 30.158681869506836, + 30.155729293823242, + 30.125391006469727, + 30.1219425201416, + 30.157079696655273, + 30.191438674926758, + 30.222108840942383, + 30.25638198852539, + 30.276214599609375, + 30.25552749633789, + 30.223228454589844, + 30.20261573791504, + 30.198225021362305, + 30.200424194335938, + 30.203824996948242, + 30.17653465270996, + 30.1549072265625, + 30.11594581604004, + 30.151580810546875, + 30.163551330566406, + 30.20865821838379, + 30.202177047729492, + 30.19918441772461, + 30.1340274810791, + 30.08165168762207, + 30.097740173339844, + 30.163623809814453, + 30.217252731323242, + 30.177541732788086, + 30.115549087524414, + 30.103519439697266, + 30.14201545715332, + 30.23259162902832, + 30.250703811645508, + 30.271936416625977, + 30.261560440063477, + 30.2685546875, + 30.264217376708984, + 30.281095504760742, + 30.312015533447266, + 30.307443618774414, + 30.290000915527344, + 30.25479507446289, + 30.26529884338379, + 30.319902420043945, + 30.366445541381836, + 30.35373306274414, + 30.330541610717773, + 30.30899429321289, + 30.309818267822266, + 30.32732391357422, + 30.389183044433594, + 30.39971160888672, + 30.39501190185547, + 30.383344650268555, + 30.402238845825195, + 30.38288116455078, + 30.375762939453125, + 30.390045166015625, + 30.405189514160156, + 30.433631896972656, + 30.50391960144043, + 30.518829345703125, + 30.47543716430664, + 30.42565155029297, + 30.472156524658203, + 30.539968490600586, + 30.57335090637207, + 30.598114013671875, + 30.66340446472168, + 30.694313049316406, + 30.74755859375, + 30.802444458007812, + 30.856138229370117, + 30.837215423583984, + 30.826332092285156, + 30.850082397460938, + 30.8948974609375, + 30.96551513671875, + 31.066591262817383, + 31.174545288085938, + 31.236656188964844, + 31.290855407714844, + 31.30845832824707, + 31.320472717285156, + 31.37874412536621, + 31.484106063842773, + 31.59173011779785, + 31.68903350830078, + 31.77693748474121, + 31.91499900817871, + 32.05049133300781, + 32.16682434082031, + 32.23305892944336, + 32.30259323120117, + 32.421119689941406, + 32.545955657958984, + 32.67624282836914, + 32.76797103881836, + 32.91126251220703, + 33.07640075683594, + 33.285865783691406, + 33.45329666137695, + 33.594181060791016, + 33.774681091308594, + 33.9834098815918, + 34.185646057128906, + 34.42557907104492, + 34.696319580078125, + 34.97285842895508, + 35.226539611816406, + 35.568450927734375, + 35.899837493896484, + 36.182376861572266, + 36.501380920410156, + 36.859004974365234, + 37.24562454223633, + 37.64398956298828, + 38.09574890136719, + 38.60658645629883, + 39.15772247314453, + 39.7945442199707, + 40.51773452758789, + 41.3270149230957, + 42.28261184692383, + 43.40947341918945, + 44.82204818725586, + 46.63654708862305, + 48.889404296875, + 51.87383270263672, + 56.03772735595703, + 61.802425384521484, + 69.97919464111328, + 82.5111312866211, + 101.95650482177734, + 132.3250732421875, + 182.85443115234375, + 266.0291748046875, + 399.14447021484375, + 616.3683471679688, + 937.8656616210938, + 1360.738525390625, + 1874.4617919921875, + 2366.898193359375, + 2714.7578125, + 2819.80908203125, + 2631.714599609375, + 2221.39208984375, + 1692.0693359375, + 1187.6728515625, + 798.3787841796875, + 520.8145141601562, + 338.3633728027344, + 226.889892578125, + 159.56857299804688, + 118.25475311279297, + 92.73567199707031, + 76.65444946289062, + 66.05496215820312, + 58.95152282714844, + 53.96533203125, + 50.3306999206543, + 47.629398345947266, + 45.60187530517578, + 43.95035934448242, + 42.65077590942383, + 41.53607177734375, + 40.585350036621094, + 39.77942657470703, + 39.1219596862793, + 38.511714935302734, + 37.949459075927734, + 37.393951416015625, + 36.922061920166016, + 36.52071762084961, + 36.10154342651367, + 35.706356048583984, + 35.31312942504883, + 35.00042724609375, + 34.65456771850586, + 34.287452697753906, + 33.945281982421875, + 33.67927932739258, + 33.45180130004883, + 33.186866760253906, + 32.91078186035156, + 32.69692611694336, + 32.55946731567383, + 32.39508819580078, + 32.2032356262207, + 32.014888763427734, + 31.80466079711914, + 31.626628875732422, + 31.448163986206055, + 31.312244415283203, + 31.157962799072266, + 31.018848419189453, + 30.902524948120117, + 30.778888702392578, + 30.636804580688477, + 30.492115020751953, + 30.13284683227539, + 29.921688079833984, + 29.800275802612305, + 29.97922134399414, + 30.027502059936523, + 29.979917526245117, + 29.86851692199707, + 29.7241268157959, + 29.62141990661621, + 29.518680572509766, + 29.490522384643555, + 29.466787338256836, + 29.448009490966797, + 29.39824676513672, + 29.37006378173828, + 29.342937469482422, + 29.27851676940918, + 29.22614097595215, + 29.191089630126953, + 29.1534481048584, + 29.058561325073242, + 28.959741592407227, + 28.919876098632812, + 28.905502319335938, + 28.83692741394043, + 28.785276412963867, + 28.763025283813477, + 28.776729583740234, + 28.739871978759766, + 28.677515029907227, + 28.654733657836914, + 28.61782455444336, + 28.532981872558594, + 28.468347549438477, + 28.4720516204834, + 28.517234802246094, + 28.48628807067871, + 28.420576095581055, + 28.375112533569336, + 28.375394821166992, + 28.396970748901367, + 28.400867462158203, + 28.38685417175293, + 28.395788192749023, + 28.392845153808594, + 28.395402908325195, + 28.360734939575195, + 28.343719482421875, + 28.31928825378418, + 28.296350479125977, + 28.241416931152344, + 28.21356773376465, + 28.233861923217773, + 28.25520896911621, + 28.2134952545166, + 28.212745666503906, + 28.21535873413086, + 28.27176284790039, + 28.266881942749023, + 28.25693130493164, + 28.246763229370117, + 28.25874137878418, + 28.260351181030273, + 28.254047393798828, + 28.250375747680664, + 28.27077865600586, + 28.313703536987305, + 28.338422775268555, + 28.39368438720703, + 28.443063735961914, + 28.50934600830078, + 28.53889274597168, + 28.558605194091797, + 28.564096450805664, + 28.561176300048828, + 28.565275192260742, + 28.55560302734375, + 28.512691497802734, + 28.50858497619629, + 28.552715301513672, + 28.561012268066406, + 28.587175369262695, + 28.610597610473633, + 28.654232025146484, + 28.666027069091797, + 28.702308654785156, + 28.778196334838867, + 28.81464958190918, + 28.838085174560547, + 28.828399658203125, + 28.84714126586914, + 28.8720645904541, + 28.890552520751953, + 28.925704956054688, + 29.014305114746094, + 29.12160301208496, + 29.208148956298828, + 29.282901763916016, + 29.33850860595703, + 29.450687408447266, + 29.546659469604492, + 29.67051124572754, + 29.784269332885742, + 29.894519805908203, + 29.988588333129883, + 30.110280990600586, + 30.27046775817871, + 30.43085479736328, + 30.59197235107422, + 30.704486846923828, + 30.838769912719727, + 31.000411987304688, + 31.179487228393555, + 31.4299259185791, + 31.672317504882812, + 31.92827033996582, + 32.19761657714844, + 32.51640701293945, + 32.86328887939453, + 33.30091094970703, + 33.795413970947266, + 34.381317138671875, + 35.1545524597168, + 36.160499572753906, + 37.375667572021484, + 39.031558990478516, + 41.4138069152832, + 44.797508239746094, + 49.90789794921875, + 57.887447357177734, + 70.10863494873047, + 89.99226379394531, + 123.5012435913086, + 176.86781311035156, + 261.4806213378906, + 390.954833984375, + 565.4776611328125, + 778.4594116210938, + 1001.501953125, + 1173.12255859375, + 1247.134765625, + 1200.9765625, + 1050.575927734375, + 837.3785400390625, + 611.5274658203125, + 422.9749755859375, + 286.7987976074219, + 192.30113220214844, + 131.90625, + 96.1778564453125, + 73.97530364990234, + 60.087158203125, + 51.660179138183594, + 46.04044723510742, + 42.21532440185547, + 39.660797119140625, + 37.790550231933594, + 36.44343185424805, + 35.4329833984375, + 34.60564422607422, + 33.871856689453125, + 33.30643081665039, + 32.860565185546875, + 32.54509735107422, + 32.239013671875, + 31.949365615844727, + 31.647186279296875, + 31.395084381103516, + 31.14438247680664, + 30.93621826171875, + 30.74098777770996, + 30.59232521057129, + 30.42967987060547, + 30.229339599609375, + 30.051013946533203, + 29.926471710205078, + 29.82940673828125, + 29.69231605529785, + 29.583702087402344, + 29.46990394592285, + 29.317840576171875, + 29.17218017578125, + 29.09775161743164, + 29.04749298095703, + 28.947235107421875, + 28.85010528564453, + 28.78856658935547, + 28.727947235107422, + 28.651506423950195, + 28.602697372436523, + 28.5643367767334, + 28.527162551879883, + 28.476333618164062, + 28.413108825683594, + 28.348716735839844, + 28.311643600463867, + 28.303800582885742, + 28.27671241760254, + 28.207901000976562, + 28.15511703491211, + 28.133487701416016, + 28.12302589416504, + 28.108959197998047, + 28.086368560791016, + 28.051156997680664, + 28.00340461730957, + 27.99357795715332, + 28.018388748168945, + 27.980222702026367, + 27.9167423248291, + 27.87669563293457, + 27.86310577392578, + 27.8330135345459, + 27.824270248413086, + 27.837604522705078, + 27.83466339111328, + 27.79109001159668, + 27.749370574951172, + 27.742761611938477, + 27.73455047607422, + 27.73688507080078, + 27.727651596069336, + 27.726818084716797, + 27.710241317749023, + 27.692399978637695, + 27.667537689208984, + 27.66058349609375, + 27.685213088989258, + 27.72330665588379, + 27.70846176147461, + 27.67197036743164, + 27.612258911132812, + 27.609495162963867, + 27.635482788085938, + 27.626445770263672, + 27.61467742919922, + 27.60677146911621, + 27.61172103881836, + 27.59600830078125, + 27.61986541748047, + 27.678634643554688, + 27.705392837524414, + 27.673095703125, + 27.661865234375, + 27.700170516967773, + 27.685022354125977, + 27.671409606933594, + 27.678163528442383, + 27.7437801361084, + 27.780628204345703, + 27.7963809967041, + 27.858694076538086, + 27.930057525634766, + 27.949342727661133, + 27.93177032470703, + 27.942686080932617, + 27.963544845581055, + 27.98468589782715, + 28.0101261138916, + 28.048093795776367, + 28.07948112487793, + 28.102712631225586, + 28.154394149780273, + 28.214750289916992, + 28.29650115966797, + 28.3794002532959, + 28.49480628967285, + 28.581676483154297, + 28.639610290527344, + 28.712326049804688, + 28.77444839477539, + 28.837892532348633, + 28.894529342651367, + 29.0070858001709, + 29.111997604370117, + 29.184391021728516, + 29.228975296020508, + 29.249561309814453, + 29.3305721282959, + 29.44025421142578, + 29.585433959960938, + 29.718931198120117, + 29.842100143432617, + 30.051687240600586, + 30.269886016845703, + 30.53338050842285, + 30.822900772094727, + 31.18357276916504, + 31.680513381958008, + 32.26888656616211, + 33.04570007324219, + 34.08531951904297, + 35.62764358520508, + 37.85483932495117, + 41.31964874267578, + 46.71352005004883, + 55.13505172729492, + 69.12893676757812, + 92.08511352539062, + 128.16354370117188, + 184.92543029785156, + 263.98724365234375, + 363.8600158691406, + 480.3432922363281, + 583.2769775390625, + 646.3880615234375, + 653.6007080078125, + 601.8587036132812, + 507.89385986328125, + 391.380615234375, + 282.9766540527344, + 199.4819793701172, + 138.84022521972656, + 98.3084945678711, + 73.2444076538086, + 57.86614990234375, + 48.34193801879883, + 42.49509811401367, + 38.79337692260742, + 36.33335494995117, + 34.730140686035156, + 33.60717010498047, + 32.752906799316406, + 32.11949920654297, + 31.636821746826172, + 31.25164222717285, + 30.987241744995117, + 30.784456253051758, + 30.606325149536133, + 30.525487899780273, + 30.4450626373291, + 30.346202850341797, + 30.17460060119629, + 30.103683471679688, + 30.021451950073242, + 29.875368118286133, + 29.66404914855957, + 29.499958038330078, + 29.360698699951172, + 29.26263427734375, + 29.188322067260742, + 29.10508155822754, + 28.99945068359375, + 28.92222023010254, + 28.857160568237305, + 28.783226013183594, + 28.708162307739258, + 28.66798210144043, + 28.62323570251465, + 28.571224212646484, + 28.525503158569336, + 28.483226776123047, + 28.470272064208984, + 28.463851928710938, + 28.446382522583008, + 28.44043731689453, + 28.44001007080078, + 28.472393035888672, + 28.449262619018555, + 28.400897979736328, + 28.351715087890625, + 28.354698181152344, + 28.37282943725586, + 28.381616592407227, + 28.364652633666992, + 28.357641220092773, + 28.33121109008789, + 28.326169967651367, + 28.319725036621094, + 28.346595764160156, + 28.34147834777832, + 28.350339889526367, + 28.316373825073242, + 28.268850326538086, + 28.248933792114258, + 28.26710319519043, + 28.286951065063477, + 28.29013442993164, + 28.29051971435547, + 28.29405975341797, + 28.325756072998047, + 28.354930877685547, + 28.41095733642578, + 28.4510555267334, + 28.479848861694336, + 28.51905632019043, + 28.541244506835938, + 28.541391372680664, + 28.51578140258789, + 28.537317276000977, + 28.617233276367188, + 28.701963424682617, + 28.74129867553711, + 28.776369094848633, + 28.82330322265625, + 28.86284637451172, + 28.858142852783203, + 28.867647171020508, + 28.91636085510254, + 29.02678680419922, + 29.102331161499023, + 29.104007720947266, + 29.122756958007812, + 29.1940975189209, + 29.338912963867188, + 29.432981491088867, + 29.526939392089844, + 29.587663650512695, + 29.667884826660156, + 29.784427642822266, + 29.953962326049805, + 30.084043502807617, + 30.187755584716797, + 30.306568145751953, + 30.44698715209961, + 30.603416442871094, + 30.74498748779297, + 30.917917251586914, + 31.085527420043945, + 31.262746810913086, + 31.439010620117188, + 31.589433670043945, + 31.802724838256836, + 32.04952621459961, + 32.29874038696289, + 32.53522491455078, + 32.82587814331055, + 33.17470169067383, + 33.5545768737793, + 34.013343811035156, + 34.517127990722656, + 35.105072021484375, + 35.88568878173828, + 36.80956268310547, + 37.91295623779297, + 39.346397399902344, + 41.28074645996094, + 43.854305267333984, + 47.590824127197266, + 53.10871124267578, + 61.546165466308594, + 74.95249938964844, + 96.53762817382812, + 131.13255310058594, + 188.39767456054688, + 279.0630798339844, + 413.8334045410156, + 608.37548828125, + 847.9635009765625, + 1105.3021240234375, + 1337.1390380859375, + 1470.2977294921875, + 1470.7762451171875, + 1334.935791015625, + 1109.0966796875, + 851.7025756835938, + 607.2396240234375, + 415.6065673828125, + 280.8244934082031, + 190.32418823242188, + 132.46937561035156, + 97.17820739746094, + 75.58599090576172, + 62.044898986816406, + 53.514644622802734, + 47.91175079345703, + 44.13679122924805, + 41.53327941894531, + 39.584564208984375, + 38.11247634887695, + 37.028324127197266, + 36.18144226074219, + 35.451446533203125, + 34.818153381347656, + 34.27104949951172, + 33.81584167480469, + 33.40209197998047, + 33.009212493896484, + 32.671630859375, + 32.41368103027344, + 32.174339294433594, + 31.94884490966797, + 31.711748123168945, + 31.51413917541504, + 31.29936408996582, + 31.097627639770508, + 30.881166458129883, + 30.681838989257812, + 30.508960723876953, + 30.372337341308594, + 30.265111923217773, + 30.134647369384766, + 29.987241744995117, + 29.787200927734375, + 29.6186580657959, + 29.526657104492188, + 29.503814697265625, + 29.452293395996094, + 29.335498809814453, + 29.239973068237305, + 29.200002670288086, + 29.149112701416016, + 29.047304153442383, + 28.977222442626953, + 28.946678161621094, + 28.884029388427734, + 28.7888240814209, + 28.721599578857422, + 28.709089279174805, + 28.709251403808594, + 28.673564910888672, + 28.5833797454834, + 28.532686233520508, + 28.5283260345459, + 28.5302677154541, + 28.501672744750977, + 28.485698699951172, + 28.478639602661133, + 28.4664363861084, + 28.441265106201172, + 28.40934181213379, + 28.364656448364258, + 28.342876434326172, + 28.374948501586914, + 28.410940170288086, + 28.451148986816406, + 28.45460319519043, + 28.45879364013672, + 28.46677017211914, + 28.453948974609375, + 28.440086364746094, + 28.433591842651367, + 28.433849334716797, + 28.43730926513672, + 28.423599243164062, + 28.455978393554688, + 28.502294540405273, + 28.537879943847656, + 28.56295394897461, + 28.587881088256836, + 28.6107120513916, + 28.668214797973633, + 28.721694946289062, + 28.758834838867188, + 28.79680061340332, + 28.865188598632812, + 28.92424964904785, + 28.98827362060547, + 29.069183349609375, + 29.123981475830078, + 29.186580657958984, + 29.26229476928711, + 29.392988204956055, + 29.518238067626953, + 29.61135482788086, + 29.693559646606445, + 29.810762405395508, + 29.97702407836914, + 30.178434371948242, + 30.351587295532227, + 30.55572509765625, + 30.778989791870117, + 31.019962310791016, + 31.343555450439453, + 31.75044059753418, + 32.26729965209961, + 32.91244888305664, + 33.732391357421875, + 34.771331787109375, + 36.29088592529297, + 38.421138763427734, + 41.54111862182617, + 46.34014129638672, + 54.0412483215332, + 66.22991943359375, + 86.3041000366211, + 119.11005401611328, + 169.3549041748047, + 245.5997772216797, + 350.0762634277344, + 476.07037353515625, + 612.9803466796875, + 727.9871215820312, + 791.1195678710938, + 785.88916015625, + 713.5305786132812, + 596.0042724609375, + 458.1394348144531, + 331.98284912109375, + 233.57826232910156, + 162.2433624267578, + 114.12566375732422, + 83.34817504882812, + 64.59529876708984, + 52.8904914855957, + 45.54267120361328, + 40.9887580871582, + 37.98680877685547, + 35.95930480957031, + 34.57265853881836, + 33.54892349243164, + 32.75115203857422, + 32.131492614746094, + 31.644025802612305, + 31.2473087310791, + 30.924179077148438, + 30.619857788085938, + 30.396770477294922, + 30.20353889465332, + 30.014469146728516, + 29.79161262512207, + 29.62868309020996, + 29.476015090942383, + 29.32341766357422, + 29.19759178161621, + 29.094804763793945, + 28.981464385986328, + 28.855859756469727, + 28.716724395751953, + 28.595211029052734, + 28.500356674194336, + 28.457866668701172, + 28.40276527404785, + 28.315229415893555, + 28.18351173400879, + 28.113937377929688, + 28.062501907348633, + 28.04766273498535, + 28.002885818481445, + 27.954742431640625, + 27.90204429626465, + 27.849674224853516, + 27.801576614379883, + 27.744184494018555, + 27.735960006713867, + 27.705595016479492, + 27.660423278808594, + 27.586923599243164, + 27.517892837524414, + 27.4918155670166, + 27.511568069458008, + 27.522846221923828, + 27.525798797607422, + 27.49652099609375, + 27.4660701751709, + 27.426057815551758, + 27.395038604736328, + 27.370824813842773, + 27.354846954345703, + 27.335111618041992, + 27.32756805419922, + 27.308122634887695, + 27.297346115112305, + 27.282577514648438, + 27.26303482055664, + 27.218013763427734, + 27.17071533203125, + 27.11455726623535, + 27.089658737182617, + 27.10132598876953, + 27.097640991210938, + 27.10997200012207, + 27.086803436279297, + 27.079792022705078, + 27.058427810668945, + 27.041980743408203, + 27.02981948852539, + 27.023963928222656, + 27.046142578125, + 27.059738159179688, + 27.02559471130371, + 26.974872589111328, + 26.945404052734375, + 26.9813232421875, + 26.986249923706055, + 26.973730087280273, + 26.971216201782227, + 26.97057342529297, + 26.97564125061035, + 26.965105056762695, + 26.96839714050293, + 26.97113609313965, + 26.9991397857666, + 26.990787506103516, + 26.953767776489258, + 26.946321487426758, + 26.979745864868164, + 27.001935958862305, + 26.992996215820312, + 26.95514678955078, + 26.944438934326172, + 26.934371948242188, + 26.913503646850586, + 26.90814781188965, + 26.929412841796875, + 26.940677642822266, + 26.932689666748047, + 26.90457534790039, + 26.898513793945312, + 26.907644271850586, + 26.937095642089844, + 26.970380783081055, + 26.960975646972656, + 26.935422897338867, + 26.933107376098633, + 26.952085494995117, + 26.9700870513916, + 26.949129104614258, + 26.927114486694336, + 26.958406448364258, + 26.99933433532715, + 27.023061752319336, + 27.0368595123291, + 27.021697998046875, + 27.011276245117188, + 27.008378982543945, + 27.008419036865234, + 27.010751724243164, + 27.002538681030273, + 27.01590347290039, + 26.99009895324707, + 26.97609519958496, + 26.975475311279297, + 26.99484634399414, + 27.016386032104492, + 27.03331184387207, + 27.031963348388672, + 27.02707290649414, + 26.991622924804688, + 26.9962158203125, + 27.029333114624023, + 27.074474334716797, + 27.08224105834961, + 27.06754493713379, + 27.05307960510254, + 27.073238372802734, + 27.09242820739746, + 27.129613876342773, + 27.131267547607422, + 27.117441177368164, + 27.089691162109375, + 27.096410751342773, + 27.149921417236328, + 27.178543090820312, + 27.18206024169922, + 27.154245376586914, + 27.161237716674805, + 27.190017700195312, + 27.234233856201172, + 27.267810821533203, + 27.276243209838867, + 27.27365493774414, + 27.282312393188477, + 27.294126510620117, + 27.273761749267578, + 27.222536087036133, + 27.233667373657227, + 27.279386520385742, + 27.305397033691406, + 27.32105255126953, + 27.3336124420166, + 27.351564407348633, + 27.337919235229492, + 27.35284423828125, + 27.370040893554688, + 27.405109405517578, + 27.442502975463867, + 27.48250961303711, + 27.49221420288086, + 27.492996215820312, + 27.504579544067383, + 27.53154754638672, + 27.55238151550293, + 27.560686111450195, + 27.593124389648438, + 27.68387794494629, + 27.746374130249023, + 27.767009735107422, + 27.743927001953125, + 27.746654510498047, + 27.807552337646484, + 27.88494110107422, + 27.96660614013672, + 28.00859260559082, + 28.004283905029297, + 28.026996612548828, + 28.073162078857422, + 28.15256690979004, + 28.17487907409668, + 28.199909210205078, + 28.267732620239258, + 28.37067222595215, + 28.457069396972656, + 28.52354621887207, + 28.61280059814453, + 28.75135612487793, + 28.88035011291504, + 29.02108383178711, + 29.153352737426758, + 29.333759307861328, + 29.57550621032715, + 29.895954132080078, + 30.2993221282959, + 30.860836029052734, + 31.671371459960938, + 32.91489791870117, + 34.73113250732422, + 37.604286193847656, + 42.24214553833008, + 49.63875198364258, + 61.492897033691406, + 80.28955078125, + 107.98927307128906, + 146.9823760986328, + 195.39437866210938, + 247.63108825683594, + 296.0213928222656, + 326.9422912597656, + 332.6581726074219, + 312.0784912109375, + 271.0589599609375, + 220.67593383789062, + 168.92147827148438, + 125.67949676513672, + 93.54518127441406, + 70.76425170898438, + 55.627010345458984, + 46.08030319213867, + 40.16730499267578, + 36.500335693359375, + 34.16960906982422, + 32.72575759887695, + 31.770462036132812, + 31.1251277923584, + 30.60329818725586, + 30.217838287353516, + 29.9368953704834, + 29.743207931518555, + 29.59418487548828, + 29.48610496520996, + 29.423553466796875, + 29.35162925720215, + 29.255563735961914, + 29.194150924682617, + 29.135765075683594, + 29.09751319885254, + 29.049551010131836, + 29.009929656982422, + 28.936555862426758, + 28.715682983398438, + 28.637964248657227, + 28.69371223449707, + 28.885021209716797, + 28.92888641357422, + 28.914945602416992, + 28.878887176513672, + 28.852205276489258, + 28.833057403564453, + 28.8394718170166, + 28.856027603149414, + 28.874347686767578, + 28.88573455810547, + 28.901500701904297, + 28.897029876708984, + 28.87115478515625, + 28.87497901916504, + 28.89010238647461, + 28.946077346801758, + 28.94659423828125, + 28.93692970275879, + 28.948774337768555, + 28.969919204711914, + 28.99677276611328, + 29.020565032958984, + 29.09853744506836, + 29.181007385253906, + 29.2271785736084, + 29.242115020751953, + 29.24744987487793, + 29.287643432617188, + 29.3275203704834, + 29.38870620727539, + 29.47980499267578, + 29.567806243896484, + 29.62708854675293, + 29.671308517456055, + 29.76995277404785, + 29.871105194091797, + 29.96587562561035, + 30.083324432373047, + 30.207427978515625, + 30.34348487854004, + 30.46128273010254, + 30.584266662597656, + 30.70716667175293, + 30.88002586364746, + 31.062355041503906, + 31.228466033935547, + 31.380165100097656, + 31.581233978271484, + 31.84882164001465, + 32.16460037231445, + 32.481475830078125, + 32.83460235595703, + 33.24335861206055, + 33.75130081176758, + 34.388912200927734, + 35.262664794921875, + 36.41632080078125, + 37.9719123840332, + 40.18708038330078, + 43.45246124267578, + 48.4015998840332, + 56.272865295410156, + 68.932861328125, + 89.13427734375, + 121.96722412109375, + 173.17648315429688, + 248.58013916015625, + 355.5830078125, + 491.4738464355469, + 639.7874755859375, + 778.68896484375, + 874.3260498046875, + 901.3409423828125, + 852.7681884765625, + 741.505126953125, + 599.7941284179688, + 453.5661926269531, + 327.6087646484375, + 231.0961151123047, + 162.58840942382812, + 116.10065460205078, + 85.52164459228516, + 66.803466796875, + 55.16712951660156, + 47.83357238769531, + 43.23392105102539, + 40.22597885131836, + 38.14151382446289, + 36.70295333862305, + 35.63054275512695, + 34.81734085083008, + 34.203880310058594, + 33.72041320800781, + 33.30658721923828, + 32.9932975769043, + 32.7149772644043, + 32.49989700317383, + 32.280029296875, + 32.0393180847168, + 31.787765502929688, + 31.61176872253418, + 31.47330665588379, + 31.34151840209961, + 31.219467163085938, + 31.114261627197266, + 31.004409790039062, + 30.895612716674805, + 30.777650833129883, + 30.67218017578125, + 30.578914642333984, + 30.500133514404297, + 30.46062469482422, + 30.397363662719727, + 30.341705322265625, + 30.279495239257812, + 30.218767166137695, + 30.129640579223633, + 30.083816528320312, + 30.03951072692871, + 30.029937744140625, + 29.998563766479492, + 29.98434829711914, + 29.95477294921875, + 29.966901779174805, + 29.987913131713867, + 29.972774505615234, + 29.940895080566406, + 29.906387329101562, + 29.91277503967285, + 29.931930541992188, + 29.97054672241211, + 30.015348434448242, + 30.034740447998047, + 30.066293716430664, + 30.099693298339844, + 30.18390655517578, + 30.236583709716797, + 30.290340423583984, + 30.364858627319336, + 30.43793296813965, + 30.521459579467773, + 30.562471389770508, + 30.63362693786621, + 30.703096389770508, + 30.804325103759766, + 30.91268539428711, + 31.038869857788086, + 31.163925170898438, + 31.297603607177734, + 31.467636108398438, + 31.670196533203125, + 31.91266441345215, + 32.19820785522461, + 32.5465202331543, + 32.95024490356445, + 33.47487258911133, + 34.18414306640625, + 35.1699333190918, + 36.5567626953125, + 38.56278991699219, + 41.5952033996582, + 46.344635009765625, + 53.92727279663086, + 66.16874694824219, + 85.94220733642578, + 116.93683624267578, + 163.50067138671875, + 230.5343780517578, + 318.8101501464844, + 420.7064514160156, + 523.55908203125, + 604.41455078125, + 643.3319091796875, + 629.9918823242188, + 569.6483764648438, + 478.64727783203125, + 375.1707458496094, + 279.3863525390625, + 202.3663330078125, + 145.2478485107422, + 105.47564697265625, + 78.633544921875, + 61.7375602722168, + 51.25611877441406, + 44.65176010131836, + 40.59398651123047, + 37.97443771362305, + 36.17081069946289, + 34.93974304199219, + 34.074153900146484, + 33.438880920410156, + 32.94423294067383, + 32.5267333984375, + 32.192440032958984, + 31.945146560668945, + 31.798337936401367, + 31.623825073242188, + 31.410465240478516, + 31.18558120727539, + 31.011802673339844, + 30.922422409057617, + 30.84233283996582, + 30.76003646850586, + 30.65275001525879, + 30.540441513061523, + 30.425891876220703, + 30.335290908813477, + 30.261486053466797, + 30.174358367919922, + 30.10762596130371, + 30.05426597595215, + 30.018136978149414, + 29.983030319213867, + 29.947559356689453, + 29.907249450683594, + 29.829160690307617, + 29.766382217407227, + 29.739749908447266, + 29.712984085083008, + 29.681005477905273, + 29.632020950317383, + 29.628576278686523, + 29.629955291748047, + 29.612449645996094, + 29.599782943725586, + 29.572542190551758, + 29.584381103515625, + 29.60010528564453, + 29.623844146728516, + 29.63200569152832, + 29.62411880493164, + 29.614444732666016, + 29.627113342285156, + 29.681161880493164, + 29.761709213256836, + 29.826862335205078, + 29.84335708618164, + 29.84384536743164, + 29.866031646728516, + 29.919214248657227, + 29.983341217041016, + 30.05490493774414, + 30.14440155029297, + 30.224693298339844, + 30.319067001342773, + 30.418460845947266, + 30.5443058013916, + 30.715845108032227, + 30.931011199951172, + 31.18033790588379, + 31.46013641357422, + 31.85785484313965, + 32.40181350708008, + 33.146026611328125, + 34.22403335571289, + 35.84642028808594, + 38.34912872314453, + 42.252906799316406, + 48.51581954956055, + 58.72309875488281, + 74.90096282958984, + 99.61295318603516, + 135.88938903808594, + 185.0778350830078, + 246.89842224121094, + 313.6701965332031, + 371.8871154785156, + 410.44476318359375, + 419.8504333496094, + 397.7478942871094, + 348.7640686035156, + 285.787109375, + 223.01870727539062, + 167.40098571777344, + 123.71073913574219, + 91.99349212646484, + 70.18706512451172, + 55.92928695678711, + 46.68495178222656, + 41.058414459228516, + 37.57670593261719, + 35.32088088989258, + 33.88691329956055, + 32.92427062988281, + 32.257232666015625, + 31.732410430908203, + 31.340896606445312, + 31.050920486450195, + 30.808734893798828, + 30.58089256286621, + 30.396028518676758, + 30.267467498779297, + 30.153085708618164, + 30.052595138549805, + 29.956439971923828, + 29.865665435791016, + 29.76466178894043, + 29.67807388305664, + 29.5979061126709, + 29.525362014770508, + 29.445341110229492, + 29.37373161315918, + 29.33759117126465, + 29.29518699645996, + 29.24016571044922, + 29.174898147583008, + 29.10487174987793, + 29.080020904541016, + 29.07044219970703, + 29.02935791015625, + 28.955333709716797, + 28.893733978271484, + 28.882728576660156, + 28.89366912841797, + 28.870494842529297, + 28.807998657226562, + 28.729389190673828, + 28.694019317626953, + 28.694063186645508, + 28.686912536621094, + 28.69822120666504, + 28.703147888183594, + 28.71933937072754, + 28.69485855102539, + 28.674785614013672, + 28.65613555908203, + 28.66495132446289, + 28.65657615661621, + 28.64690399169922, + 28.631166458129883, + 28.62150764465332, + 28.630468368530273, + 28.63376235961914, + 28.629262924194336, + 28.629039764404297, + 28.6281795501709, + 28.656089782714844, + 28.663009643554688, + 28.699983596801758, + 28.713197708129883, + 28.7391357421875, + 28.75271987915039, + 28.811355590820312, + 28.915699005126953, + 29.097469329833984, + 29.290225982666016, + 29.510597229003906, + 29.85532569885254, + 30.401287078857422, + 31.369380950927734, + 32.97676086425781, + 35.450096130371094, + 39.27863311767578, + 44.9755744934082, + 52.745452880859375, + 62.792964935302734, + 74.0224380493164, + 84.47477722167969, + 92.343994140625, + 95.3039321899414, + 93.01842498779297, + 85.86998748779297, + 75.78305053710938, + 65.0877685546875, + 55.004825592041016, + 46.931732177734375, + 40.961944580078125, + 36.66611099243164, + 33.75586700439453, + 31.878719329833984, + 30.763017654418945, + 30.08199119567871, + 29.634586334228516, + 29.352930068969727, + 29.13363265991211, + 28.992937088012695, + 28.901622772216797, + 28.88867950439453, + 28.864423751831055, + 28.832475662231445, + 28.789133071899414, + 28.77452278137207, + 28.759431838989258, + 28.73183250427246, + 28.703414916992188, + 28.679792404174805, + 28.681106567382812, + 28.697179794311523, + 28.70294952392578, + 28.698049545288086, + 28.70484161376953, + 28.69279670715332, + 28.66987419128418, + 28.641813278198242, + 28.651212692260742, + 28.665363311767578, + 28.67119598388672, + 28.691638946533203, + 28.714147567749023, + 28.75405502319336, + 28.765581130981445, + 28.7758731842041, + 28.766639709472656, + 28.770111083984375, + 28.76692771911621, + 28.756860733032227, + 28.78663444519043, + 28.83878517150879, + 28.8729248046875, + 28.888229370117188, + 28.904727935791016, + 28.962696075439453, + 29.002389907836914, + 29.03119659423828, + 29.048887252807617, + 29.076555252075195, + 29.12604331970215, + 29.165605545043945, + 29.203832626342773, + 29.22502899169922, + 29.27410316467285, + 29.326318740844727, + 29.415735244750977, + 29.50119400024414, + 29.577377319335938, + 29.674476623535156, + 29.79538917541504, + 29.94753074645996, + 30.1082763671875, + 30.302412033081055, + 30.544050216674805, + 30.897218704223633, + 31.421735763549805, + 32.13908004760742, + 33.25497055053711, + 35.010963439941406, + 37.7086296081543, + 42.08120346069336, + 49.172298431396484, + 59.97819137573242, + 76.46383666992188, + 100.28271484375, + 131.78677368164062, + 169.98683166503906, + 209.3082733154297, + 243.12158203125, + 263.9920654296875, + 266.79644775390625, + 251.98370361328125, + 222.24671936035156, + 184.92462158203125, + 147.40481567382812, + 114.09008026123047, + 87.9200210571289, + 68.70208740234375, + 55.284507751464844, + 46.166568756103516, + 40.31603240966797, + 36.72982406616211, + 34.50929260253906, + 33.08772277832031, + 32.16036605834961, + 31.558500289916992, + 31.158100128173828, + 30.86819839477539, + 30.6284122467041, + 30.46746826171875, + 30.331846237182617, + 30.245079040527344, + 30.177661895751953, + 30.14061737060547, + 30.082595825195312, + 29.996522903442383, + 29.94425392150879, + 29.917375564575195, + 29.908138275146484, + 29.866371154785156, + 29.83689308166504, + 29.81285858154297, + 29.805747985839844, + 29.7939453125, + 29.750547409057617, + 29.707265853881836, + 29.70246124267578, + 29.73244857788086, + 29.741989135742188, + 29.746599197387695, + 29.74420166015625, + 29.757396697998047, + 29.786901473999023, + 29.837657928466797, + 29.860349655151367, + 29.901771545410156, + 29.936298370361328, + 29.986478805541992, + 30.032424926757812, + 30.096115112304688, + 30.16325569152832, + 30.195960998535156, + 30.2333984375, + 30.277822494506836, + 30.325075149536133, + 30.39037322998047, + 30.478435516357422, + 30.57479476928711, + 30.696205139160156, + 30.852149963378906, + 31.006628036499023, + 31.151966094970703, + 31.30323600769043, + 31.524871826171875, + 31.768964767456055, + 32.07199478149414, + 32.430416107177734, + 32.93757247924805, + 33.6138801574707, + 34.55840301513672, + 35.89319610595703, + 37.90732955932617, + 41.013065338134766, + 45.93663024902344, + 53.85235595703125, + 66.56277465820312, + 86.48184204101562, + 116.81478881835938, + 160.83721923828125, + 220.1365203857422, + 294.63861083984375, + 375.1969909667969, + 447.5987243652344, + 498.7383117675781, + 516.3305053710938, + 496.8477783203125, + 444.4722595214844, + 372.060546875, + 295.14520263671875, + 224.01486206054688, + 166.31808471679688, + 122.86904907226562, + 91.78929901123047, + 70.57913208007812, + 56.417057037353516, + 47.630577087402344, + 42.14964294433594, + 38.66552734375, + 36.464500427246094, + 35.013771057128906, + 33.9697380065918, + 33.23862075805664, + 32.693729400634766, + 32.28078079223633, + 31.922046661376953, + 31.653141021728516, + 31.4528751373291, + 31.28447723388672, + 31.110910415649414, + 30.9545955657959, + 30.807344436645508, + 30.69339942932129, + 30.607521057128906, + 30.536775588989258, + 30.43682861328125, + 30.350074768066406, + 30.273597717285156, + 30.1899471282959, + 30.096633911132812, + 30.01470375061035, + 29.93787956237793, + 29.865690231323242, + 29.802709579467773, + 29.74529266357422, + 29.69835662841797, + 29.637123107910156, + 29.57600212097168, + 29.503421783447266, + 29.437171936035156, + 29.38759994506836, + 29.365488052368164, + 29.333038330078125, + 29.313121795654297, + 29.277490615844727, + 29.251497268676758, + 29.235279083251953, + 29.258506774902344, + 29.265853881835938, + 29.238452911376953, + 29.181325912475586, + 29.13569450378418, + 29.094829559326172, + 29.05992317199707, + 29.04991340637207, + 29.035511016845703, + 29.0283260345459, + 29.010845184326172, + 29.003421783447266, + 28.98662757873535, + 28.978050231933594, + 28.96298599243164, + 28.9501953125, + 28.925357818603516, + 28.913421630859375, + 28.906023025512695, + 28.90715980529785, + 28.884729385375977, + 28.864643096923828, + 28.856914520263672, + 28.858551025390625, + 28.85746955871582, + 28.834922790527344, + 28.828536987304688, + 28.833669662475586, + 28.84366798400879, + 28.862876892089844, + 28.843219757080078, + 28.807723999023438, + 28.762908935546875, + 28.784278869628906, + 28.814319610595703, + 28.82938575744629, + 28.80011558532715, + 28.784229278564453, + 28.77916717529297, + 28.769123077392578, + 28.739246368408203, + 28.746295928955078, + 28.769020080566406, + 28.794347763061523, + 28.795515060424805, + 28.804222106933594, + 28.82859992980957, + 28.835895538330078, + 28.84247589111328, + 28.84349250793457, + 28.85280990600586, + 28.842805862426758, + 28.831804275512695, + 28.82915496826172, + 28.82978057861328, + 28.827585220336914, + 28.80827522277832, + 28.826269149780273, + 28.850698471069336, + 28.892105102539062, + 28.9094181060791, + 28.92119598388672, + 28.909603118896484, + 28.926725387573242, + 28.921354293823242, + 28.907411575317383, + 28.891693115234375, + 28.885066986083984, + 28.908979415893555, + 28.915422439575195, + 28.935518264770508, + 28.919326782226562, + 28.93703842163086, + 28.965641021728516, + 29.00443458557129, + 29.02872657775879, + 29.038835525512695, + 29.063894271850586, + 29.07276153564453, + 29.104154586791992, + 29.119781494140625, + 29.12186622619629, + 29.134023666381836, + 29.14988136291504, + 29.172203063964844, + 29.222150802612305, + 29.270654678344727, + 29.336135864257812, + 29.37772560119629, + 29.44633674621582, + 29.495073318481445, + 29.567291259765625, + 29.677860260009766, + 29.85262680053711, + 30.081005096435547, + 30.40406036376953, + 30.945505142211914, + 31.783159255981445, + 33.11006546020508, + 35.1986198425293, + 38.468177795410156, + 43.4009895324707, + 50.44151306152344, + 59.89277648925781, + 71.63851165771484, + 84.0514144897461, + 95.41179656982422, + 103.75814819335938, + 106.71353149414062, + 103.98152160644531, + 96.2049789428711, + 85.47077178955078, + 73.45314025878906, + 62.00308609008789, + 52.67593002319336, + 45.57542419433594, + 40.26872634887695, + 36.55724334716797, + 34.09657287597656, + 32.5506706237793, + 31.56980323791504, + 30.976972579956055, + 30.58831214904785, + 30.326251983642578, + 30.155799865722656, + 30.050321578979492, + 29.9595947265625, + 29.88959503173828, + 29.857046127319336, + 29.857749938964844, + 29.860197067260742, + 29.835342407226562, + 29.81558609008789, + 29.81177520751953, + 29.842008590698242, + 29.87232208251953, + 29.879417419433594, + 29.883760452270508, + 29.905847549438477, + 29.94163703918457, + 29.97940444946289, + 29.965620040893555, + 29.96569061279297, + 29.990772247314453, + 30.057331085205078, + 30.08119773864746, + 30.079063415527344, + 30.063650131225586, + 30.09963035583496, + 30.18347930908203, + 30.25446891784668, + 30.30783462524414, + 30.339847564697266, + 30.392810821533203, + 30.445030212402344, + 30.52018928527832, + 30.591825485229492, + 30.661592483520508, + 30.734107971191406, + 30.85283660888672, + 30.983383178710938, + 31.06580352783203, + 31.173131942749023, + 31.343700408935547, + 31.572589874267578, + 31.80203628540039, + 32.06095504760742, + 32.4192008972168, + 32.89849853515625, + 33.578243255615234, + 34.540489196777344, + 35.94382095336914, + 38.06315994262695, + 41.44985580444336, + 46.86662673950195, + 55.50145721435547, + 69.09000396728516, + 89.62156677246094, + 119.40182495117188, + 160.50564575195312, + 211.45278930664062, + 268.79510498046875, + 324.6565246582031, + 366.5997314453125, + 387.0666809082031, + 382.53289794921875, + 354.92315673828125, + 309.053955078125, + 253.54957580566406, + 200.14476013183594, + 154.0668487548828, + 117.09932708740234, + 89.50590515136719, + 69.88327026367188, + 56.48881912231445, + 47.622371673583984, + 41.999141693115234, + 38.561492919921875, + 36.37866973876953, + 34.981571197509766, + 34.055381774902344, + 33.40375518798828, + 32.906612396240234, + 32.50883865356445, + 32.224853515625, + 32.025848388671875, + 31.880828857421875, + 31.72968101501465, + 31.59181785583496, + 31.493288040161133, + 31.430269241333008, + 31.365779876708984, + 31.289127349853516, + 31.223241806030273, + 31.17844581604004, + 31.14813995361328, + 31.106420516967773, + 31.08904266357422, + 31.074756622314453, + 31.036449432373047, + 30.987607955932617, + 30.959001541137695, + 30.948881149291992, + 30.927330017089844, + 30.900863647460938, + 30.890331268310547, + 30.917911529541016, + 30.952320098876953, + 30.93143081665039, + 30.925426483154297, + 30.954833984375, + 31.010852813720703, + 31.061981201171875, + 31.109922409057617, + 31.149341583251953, + 31.17387580871582, + 31.246074676513672, + 31.37786102294922, + 31.511751174926758, + 31.668508529663086, + 31.89113998413086, + 32.17825698852539, + 32.53477096557617, + 33.023231506347656, + 33.72785186767578, + 34.79678726196289, + 36.42057800292969, + 38.96210479736328, + 43.07746887207031, + 49.72191619873047, + 60.05735778808594, + 75.82889556884766, + 98.73146057128906, + 130.0057373046875, + 169.75816345214844, + 213.8543243408203, + 256.7907409667969, + 290.3716125488281, + 307.7770690917969, + 306.0857849121094, + 286.26220703125, + 252.7557373046875, + 211.1652069091797, + 169.14688110351562, + 132.56272888183594, + 103.07439422607422, + 80.4866943359375, + 63.876625061035156, + 52.4672966003418, + 44.97917175292969, + 40.0562629699707, + 37.03837585449219, + 35.13416290283203, + 33.900909423828125, + 33.09694290161133, + 32.548248291015625, + 32.148990631103516, + 31.84808921813965, + 31.610923767089844, + 31.421972274780273, + 31.286449432373047, + 31.163694381713867, + 31.06258201599121, + 30.98638153076172, + 30.884389877319336, + 30.79766273498535, + 30.728309631347656, + 30.690998077392578, + 30.6187744140625, + 30.54293441772461, + 30.508041381835938, + 30.48360252380371, + 30.445505142211914, + 30.371448516845703, + 30.312551498413086, + 30.31084632873535, + 30.311674118041992, + 30.302288055419922, + 30.28911590576172, + 30.2708683013916, + 30.249156951904297, + 30.23150062561035, + 30.22079849243164, + 30.2027530670166, + 30.178956985473633, + 30.1860294342041, + 30.2117919921875, + 30.224647521972656, + 30.224668502807617, + 30.220396041870117, + 30.246416091918945, + 30.274532318115234, + 30.3455810546875, + 30.447237014770508, + 30.600305557250977, + 30.772687911987305, + 31.041536331176758, + 31.469263076782227, + 32.11073684692383, + 33.09281539916992, + 34.633541107177734, + 37.10132598876953, + 41.00379943847656, + 46.95497131347656, + 55.56465148925781, + 67.40896606445312, + 82.44755554199219, + 99.17051696777344, + 115.81366729736328, + 129.0194091796875, + 136.2020721435547, + 136.02809143066406, + 128.971435546875, + 116.77609252929688, + 101.10784149169922, + 84.95293426513672, + 70.70428466796875, + 59.062767028808594, + 50.12998580932617, + 43.50055694580078, + 38.871212005615234, + 35.770633697509766, + 33.73649215698242, + 32.48900604248047, + 31.71725082397461, + 31.192989349365234, + 30.830825805664062, + 30.60009765625, + 30.45466423034668, + 30.341585159301758, + 30.253192901611328, + 30.18500328063965, + 30.164819717407227, + 30.141441345214844, + 30.1273193359375, + 30.08716583251953, + 30.0497989654541, + 30.021034240722656, + 30.001924514770508, + 30.008665084838867, + 30.008684158325195, + 30.001453399658203, + 30.00537872314453, + 30.01686668395996, + 30.002084732055664, + 29.98275375366211, + 29.984909057617188, + 29.99074363708496, + 29.992298126220703, + 29.989545822143555, + 29.999526977539062, + 30.013416290283203, + 30.055477142333984, + 30.09935188293457, + 30.102510452270508, + 30.097341537475586, + 30.12301254272461, + 30.16337776184082, + 30.233917236328125, + 30.321443557739258, + 30.41358184814453, + 30.486122131347656, + 30.56496238708496, + 30.70400047302246, + 30.90816307067871, + 31.15389633178711, + 31.476919174194336, + 31.975400924682617, + 32.795379638671875, + 34.05553436279297, + 36.026344299316406, + 39.12825012207031, + 43.99092102050781, + 51.4063720703125, + 62.299190521240234, + 77.12800598144531, + 96.21774291992188, + 118.7330322265625, + 141.08355712890625, + 159.8408660888672, + 171.6062774658203, + 174.38890075683594, + 167.8081817626953, + 152.82962036132812, + 132.83380126953125, + 111.36891174316406, + 91.2326431274414, + 74.51142883300781, + 61.37425231933594, + 51.50141143798828, + 44.43407440185547, + 39.535133361816406, + 36.35798263549805, + 34.35488510131836, + 33.08195877075195, + 32.30260467529297, + 31.803098678588867, + 31.48891258239746, + 31.271883010864258, + 31.084871292114258, + 30.95688247680664, + 30.85614013671875, + 30.794601440429688, + 30.71266746520996, + 30.675952911376953, + 30.668628692626953, + 30.644506454467773, + 30.615478515625, + 30.59978675842285, + 30.59548568725586, + 30.594602584838867, + 30.575599670410156, + 30.595500946044922, + 30.618057250976562, + 30.648372650146484, + 30.67122459411621, + 30.68201446533203, + 30.703899383544922, + 30.729785919189453, + 30.778493881225586, + 30.818994522094727, + 30.842891693115234, + 30.876222610473633, + 30.944387435913086, + 31.042036056518555, + 31.14769744873047, + 31.244224548339844, + 31.324338912963867, + 31.417949676513672, + 31.528852462768555, + 31.703649520874023, + 31.94601058959961, + 32.258365631103516, + 32.67007827758789, + 33.24946975708008, + 34.09284591674805, + 35.332664489746094, + 37.23162841796875, + 40.258399963378906, + 45.110164642333984, + 52.83449172973633, + 64.7091064453125, + 82.17613983154297, + 107.22720336914062, + 140.29383850097656, + 180.78150939941406, + 224.7708282470703, + 264.5953063964844, + 294.34027099609375, + 308.3267517089844, + 304.06805419921875, + 282.9621887207031, + 248.74269104003906, + 208.91165161132812, + 168.80369567871094, + 133.19049072265625, + 104.39984130859375, + 82.1041488647461, + 65.63358306884766, + 53.86428451538086, + 45.932395935058594, + 40.874603271484375, + 37.6680908203125, + 35.59897232055664, + 34.309696197509766, + 33.44706344604492, + 32.8803596496582, + 32.44366455078125, + 32.13410949707031, + 31.913755416870117, + 31.751781463623047, + 31.61446762084961, + 31.496784210205078, + 31.3846378326416, + 31.29560661315918, + 31.225255966186523, + 31.167312622070312, + 31.102481842041016, + 31.027673721313477, + 30.966474533081055, + 30.92737579345703, + 30.895906448364258, + 30.872392654418945, + 30.857791900634766, + 30.830345153808594, + 30.773900985717773, + 30.729040145874023, + 30.7053165435791, + 30.6882266998291, + 30.675561904907227, + 30.66362953186035, + 30.64162826538086, + 30.606624603271484, + 30.619544982910156, + 30.65398597717285, + 30.716901779174805, + 30.772863388061523, + 30.838336944580078, + 30.924869537353516, + 31.038951873779297, + 31.19607925415039, + 31.43889617919922, + 31.829547882080078, + 32.413970947265625, + 33.361419677734375, + 34.878562927246094, + 37.271453857421875, + 41.009769439697266, + 46.6965446472168, + 55.16012954711914, + 67.03713989257812, + 82.71333312988281, + 101.31275177001953, + 120.91876220703125, + 138.95069885253906, + 151.4991912841797, + 156.82290649414062, + 154.1961212158203, + 144.13339233398438, + 128.7662353515625, + 110.25204467773438, + 92.20721435546875, + 76.38623046875, + 63.280784606933594, + 53.29059600830078, + 45.76164627075195, + 40.47312545776367, + 36.921180725097656, + 34.57726287841797, + 33.10329818725586, + 32.192848205566406, + 31.6025390625, + 31.19041633605957, + 30.887800216674805, + 30.67595100402832, + 30.53681182861328, + 30.424049377441406, + 30.3355712890625, + 30.251615524291992, + 30.17924690246582, + 30.111038208007812, + 30.055335998535156, + 29.991195678710938, + 29.939844131469727, + 29.92766571044922, + 29.90761375427246, + 29.858957290649414, + 29.800905227661133, + 29.76039695739746, + 29.72728157043457, + 29.701068878173828, + 29.698884963989258, + 29.695486068725586, + 29.680057525634766, + 29.660438537597656, + 29.647714614868164, + 29.64533042907715, + 29.617334365844727, + 29.593433380126953, + 29.561002731323242, + 29.54296875, + 29.504396438598633, + 29.476119995117188, + 29.452245712280273, + 29.45525360107422, + 29.453638076782227, + 29.437393188476562, + 29.42730712890625, + 29.41933250427246, + 29.420446395874023, + 29.403276443481445, + 29.39614486694336, + 29.391687393188477, + 29.37838363647461, + 29.350387573242188, + 29.329280853271484, + 29.292280197143555, + 29.281661987304688, + 29.28319549560547, + 29.301307678222656, + 29.290061950683594, + 29.281639099121094, + 29.28723907470703, + 29.27684211730957, + 29.283010482788086, + 29.29150390625, + 29.308881759643555, + 29.290740966796875, + 29.29247283935547, + 29.301944732666016, + 29.305410385131836, + 29.295475006103516, + 29.285640716552734, + 29.284893035888672, + 29.284631729125977, + 29.2845401763916, + 29.280197143554688, + 29.281862258911133, + 29.287948608398438, + 29.293222427368164, + 29.29410171508789, + 29.30923080444336, + 29.303787231445312, + 29.33067512512207, + 29.3347225189209, + 29.337751388549805, + 29.304676055908203, + 29.28465461730957, + 29.286672592163086, + 29.317447662353516, + 29.36425018310547, + 29.39453887939453, + 29.41646385192871, + 29.435068130493164, + 29.461275100708008, + 29.478384017944336, + 29.498502731323242, + 29.504356384277344, + 29.53302001953125, + 29.549938201904297, + 29.55924415588379, + 29.565200805664062, + 29.589094161987305, + 29.615375518798828, + 29.630901336669922, + 29.644054412841797, + 29.66581916809082, + 29.69855308532715, + 29.76871681213379, + 29.883926391601562, + 30.025068283081055, + 30.188310623168945, + 30.453670501708984, + 30.875247955322266, + 31.537160873413086, + 32.55244445800781, + 34.1518669128418, + 36.60179901123047, + 40.31931686401367, + 45.696083068847656, + 52.93044662475586, + 62.054534912109375, + 72.3892593383789, + 82.35545349121094, + 90.37982177734375, + 95.16622924804688, + 95.8590087890625, + 92.46504974365234, + 85.55970001220703, + 76.62902069091797, + 67.035888671875, + 58.052310943603516, + 50.534549713134766, + 44.53947830200195, + 39.95093536376953, + 36.55950927734375, + 34.20106506347656, + 32.663963317871094, + 31.7056827545166, + 31.08642578125, + 30.657472610473633, + 30.364974975585938, + 30.20408058166504, + 30.11141586303711, + 30.043100357055664, + 29.987628936767578, + 29.926048278808594, + 29.87297821044922, + 29.848922729492188, + 29.860212326049805, + 29.867809295654297, + 29.836673736572266, + 29.8248348236084, + 29.81886863708496, + 29.821577072143555, + 29.826080322265625, + 29.82938575744629, + 29.87070083618164, + 29.910343170166016, + 29.91452407836914, + 29.901151657104492, + 29.881969451904297, + 29.88119125366211, + 29.8718318939209, + 29.883445739746094, + 29.90826988220215, + 29.94638442993164, + 29.961620330810547, + 30.000471115112305, + 30.066600799560547, + 30.14047622680664, + 30.204700469970703, + 30.29452133178711, + 30.444549560546875, + 30.638708114624023, + 30.92572784423828, + 31.41446876525879, + 32.15808868408203, + 33.30394744873047, + 35.120452880859375, + 37.92226028442383, + 42.0528564453125, + 47.886329650878906, + 55.61728286743164, + 64.98967742919922, + 75.0447769165039, + 84.41014099121094, + 91.51151275634766, + 95.02832794189453, + 94.56305694580078, + 90.27857208251953, + 83.05717468261719, + 74.11333465576172, + 64.95442962646484, + 56.62299728393555, + 49.609580993652344, + 43.98111343383789, + 39.67977523803711, + 36.541683197021484, + 34.35750961303711, + 32.92546844482422, + 32.030364990234375, + 31.461528778076172, + 31.12028694152832, + 30.904544830322266, + 30.768056869506836, + 30.69576072692871, + 30.666255950927734, + 30.630237579345703, + 30.59177589416504, + 30.57338523864746, + 30.560829162597656, + 30.572086334228516, + 30.6099910736084, + 30.63511085510254, + 30.634199142456055, + 30.65355110168457, + 30.677104949951172, + 30.7001953125, + 30.726335525512695, + 30.806039810180664, + 30.86382484436035, + 30.91120147705078, + 30.94740867614746, + 30.996864318847656, + 31.050704956054688, + 31.10665512084961, + 31.20282745361328, + 31.342660903930664, + 31.488353729248047, + 31.623319625854492, + 31.801137924194336, + 32.06563186645508, + 32.41929626464844, + 32.893184661865234, + 33.54471969604492, + 34.497535705566406, + 35.949310302734375, + 38.23460006713867, + 41.83162307739258, + 47.53854751586914, + 56.30129623413086, + 69.38899993896484, + 88.25814819335938, + 113.96260070800781, + 146.5459747314453, + 183.52720642089844, + 220.51039123535156, + 251.54110717773438, + 271.4410705566406, + 277.1863708496094, + 267.9077453613281, + 245.85006713867188, + 215.16737365722656, + 180.9415283203125, + 147.81011962890625, + 118.7743911743164, + 94.90225219726562, + 76.12511444091797, + 61.92520523071289, + 51.62327194213867, + 44.59071731567383, + 39.97676086425781, + 37.04663848876953, + 35.22992706298828, + 34.10171890258789, + 33.400535583496094, + 32.89287567138672, + 32.52018356323242, + 32.24696731567383, + 32.05307388305664, + 31.89338493347168, + 31.732301712036133, + 31.588655471801758, + 31.505661010742188, + 31.470060348510742, + 31.422119140625, + 31.34550666809082, + 31.272415161132812, + 31.21467399597168, + 31.158802032470703, + 31.126232147216797, + 31.124635696411133, + 31.14678382873535, + 31.126291275024414, + 31.089197158813477, + 31.060487747192383, + 31.07082748413086, + 31.076616287231445, + 31.103418350219727, + 31.098783493041992, + 31.118318557739258, + 31.200668334960938, + 31.348447799682617, + 31.523101806640625, + 31.746912002563477, + 32.0958366394043, + 32.651607513427734, + 33.523502349853516, + 34.90431213378906, + 37.08539962768555, + 40.45726013183594, + 45.571006774902344, + 53.1169319152832, + 63.58092498779297, + 77.10919189453125, + 92.95917510986328, + 109.38720703125, + 124.05850219726562, + 134.4947509765625, + 138.90406799316406, + 136.68527221679688, + 128.493896484375, + 116.01158905029297, + 101.43350219726562, + 86.73136901855469, + 73.49887084960938, + 62.286441802978516, + 53.26153564453125, + 46.27127456665039, + 41.09891891479492, + 37.454280853271484, + 35.0238037109375, + 33.431400299072266, + 32.43915939331055, + 31.825885772705078, + 31.443222045898438, + 31.193140029907227, + 31.020339965820312, + 30.872352600097656, + 30.715625762939453, + 30.60443115234375, + 30.553071975708008, + 30.503637313842773, + 30.44032096862793, + 30.373369216918945, + 30.329936981201172, + 30.296709060668945, + 30.29262351989746, + 30.272048950195312, + 30.231220245361328, + 30.191919326782227, + 30.18286895751953, + 30.183319091796875, + 30.1398983001709, + 30.105602264404297, + 30.083450317382812, + 30.03472900390625, + 29.990739822387695, + 29.996898651123047, + 30.014347076416016, + 30.00588607788086, + 29.993999481201172, + 29.987764358520508, + 29.968761444091797, + 29.943681716918945, + 29.929588317871094, + 29.944658279418945, + 29.943050384521484, + 29.896310806274414, + 29.864744186401367, + 29.88098907470703, + 29.92298698425293, + 29.93316078186035, + 29.92523193359375, + 29.910078048706055, + 29.90195655822754, + 29.916452407836914, + 29.92706871032715, + 29.917139053344727, + 29.89938735961914, + 29.874343872070312, + 29.860614776611328, + 29.890443801879883, + 29.93960189819336, + 29.925859451293945, + 29.87398910522461, + 29.843910217285156, + 29.84639549255371, + 29.88616943359375, + 29.947729110717773, + 29.979827880859375, + 29.9876766204834, + 29.982397079467773, + 29.970134735107422, + 29.955596923828125, + 29.974613189697266, + 30.034868240356445, + 30.119930267333984, + 30.149742126464844, + 30.1323299407959, + 30.12746238708496, + 30.165176391601562, + 30.197891235351562, + 30.221210479736328, + 30.25600242614746, + 30.280742645263672, + 30.277450561523438, + 30.316062927246094, + 30.38261604309082, + 30.410045623779297, + 30.436790466308594, + 30.491361618041992, + 30.57541847229004, + 30.65169906616211, + 30.73640251159668, + 30.83116340637207, + 30.94415855407715, + 31.06231689453125, + 31.21202278137207, + 31.423091888427734, + 31.72030258178711, + 32.09766387939453, + 32.63555145263672, + 33.47053909301758, + 34.783687591552734, + 36.82737731933594, + 40.0123176574707, + 44.90111541748047, + 52.2803840637207, + 63.18857192993164, + 78.4337158203125, + 98.6996841430664, + 123.12550354003906, + 149.88333129882812, + 175.52471923828125, + 195.9293212890625, + 207.90818786621094, + 209.39041137695312, + 200.7215576171875, + 183.69833374023438, + 161.4517059326172, + 137.45645141601562, + 114.61248779296875, + 94.57335662841797, + 77.85812377929688, + 64.3421401977539, + 53.90624237060547, + 46.28852462768555, + 40.98337936401367, + 37.48907470703125, + 35.267154693603516, + 33.86491394042969, + 32.948875427246094, + 32.33651351928711, + 31.925933837890625, + 31.657672882080078, + 31.496755599975586, + 31.378671646118164, + 31.27280616760254, + 31.15193748474121, + 31.01993179321289, + 30.942855834960938, + 30.930173873901367, + 30.92750358581543, + 30.859092712402344, + 30.780820846557617, + 30.760467529296875, + 30.742170333862305, + 30.710725784301758, + 30.708927154541016, + 30.717426300048828, + 30.702795028686523, + 30.681650161743164, + 30.655948638916016, + 30.6320743560791, + 30.628360748291016, + 30.70387077331543, + 30.822614669799805, + 30.95932960510254, + 31.11018943786621, + 31.327072143554688, + 31.699575424194336, + 32.36483383178711, + 33.453575134277344, + 35.09557342529297, + 37.52993392944336, + 41.0968017578125, + 46.243125915527344, + 53.107078552246094, + 61.573081970214844, + 70.9297103881836, + 80.02552032470703, + 87.60941314697266, + 92.44087982177734, + 93.80883026123047, + 91.50554656982422, + 86.11131286621094, + 78.68717193603516, + 70.32294464111328, + 62.01930618286133, + 54.576194763183594, + 48.31974792480469, + 43.26261901855469, + 39.29576110839844, + 36.30482482910156, + 34.16850280761719, + 32.74081039428711, + 31.855438232421875, + 31.306886672973633, + 30.936166763305664, + 30.70450210571289, + 30.58814811706543, + 30.495302200317383, + 30.372556686401367, + 30.269275665283203, + 30.19745635986328, + 30.1102352142334, + 30.038921356201172, + 30.046554565429688, + 30.05372428894043, + 30.015830993652344, + 29.97941017150879, + 29.96113395690918, + 29.94439125061035, + 29.923648834228516, + 29.885568618774414, + 29.867403030395508, + 29.87607765197754, + 29.873023986816406, + 29.82857322692871, + 29.7803897857666, + 29.767974853515625, + 29.77971076965332, + 29.78388786315918, + 29.77569580078125, + 29.746135711669922, + 29.71056365966797, + 29.699087142944336, + 29.678573608398438, + 29.654417037963867, + 29.654272079467773, + 29.679794311523438, + 29.6917781829834, + 29.699716567993164, + 29.69624137878418, + 29.66395378112793, + 29.63796615600586, + 29.630884170532227, + 29.641338348388672, + 29.6804141998291, + 29.691904067993164, + 29.651639938354492, + 29.615215301513672, + 29.609403610229492, + 29.59332847595215, + 29.598363876342773, + 29.623661041259766, + 29.648143768310547, + 29.65839385986328, + 29.66329574584961, + 29.673433303833008, + 29.6809139251709, + 29.689794540405273, + 29.680795669555664, + 29.628217697143555, + 29.593156814575195, + 29.599058151245117, + 29.59548568725586, + 29.618467330932617, + 29.67373275756836, + 29.68777847290039, + 29.662336349487305, + 29.663410186767578, + 29.683473587036133, + 29.689170837402344, + 29.726049423217773, + 29.772594451904297, + 29.756860733032227, + 29.7004337310791, + 29.688514709472656, + 29.72561264038086, + 29.770599365234375, + 29.783185958862305, + 29.783666610717773, + 29.796918869018555, + 29.79047966003418, + 29.774127960205078, + 29.8054256439209, + 29.853134155273438, + 29.888282775878906, + 30.0013370513916, + 30.189212799072266, + 30.362707138061523, + 30.597326278686523, + 31.04859161376953, + 31.74017333984375, + 32.72731018066406, + 34.18579864501953, + 36.31795120239258, + 39.32401657104492, + 43.16366958618164, + 47.62659454345703, + 52.3729248046875, + 56.73728942871094, + 60.14522933959961, + 61.97848892211914, + 61.98883819580078, + 60.21903991699219, + 57.075279235839844, + 53.15742874145508, + 49.0327262878418, + 45.17737579345703, + 41.79214859008789, + 38.842891693115234, + 36.38636779785156, + 34.50272750854492, + 33.13079071044922, + 32.118289947509766, + 31.391626358032227, + 30.9219913482666, + 30.64263343811035, + 30.502445220947266, + 30.42673683166504, + 30.378087997436523, + 30.33424949645996, + 30.312633514404297, + 30.332630157470703, + 30.36896514892578, + 30.38372802734375, + 30.377832412719727, + 30.3573055267334, + 30.35792350769043, + 30.383949279785156, + 30.39093017578125, + 30.39678955078125, + 30.429962158203125, + 30.460590362548828, + 30.513051986694336, + 30.583457946777344, + 30.626291275024414, + 30.661497116088867, + 30.73893928527832, + 30.887897491455078, + 31.094022750854492, + 31.33904457092285, + 31.6993350982666, + 32.2338981628418, + 32.96959686279297, + 34.08122634887695, + 35.819087982177734, + 38.52654266357422, + 42.626041412353516, + 48.65345001220703, + 57.22907257080078, + 68.69817352294922, + 83.02875518798828, + 99.05548858642578, + 115.12702178955078, + 129.03585815429688, + 138.5380401611328, + 142.41156005859375, + 139.8553924560547, + 131.96270751953125, + 120.05548858642578, + 105.99380493164062, + 91.73983764648438, + 78.60457611083984, + 67.1855697631836, + 57.66878128051758, + 49.99085998535156, + 44.056236267089844, + 39.73713302612305, + 36.72303009033203, + 34.740909576416016, + 33.42717361450195, + 32.596954345703125, + 32.10026168823242, + 31.828550338745117, + 31.653108596801758, + 31.457073211669922, + 31.275426864624023, + 31.185197830200195, + 31.151697158813477, + 31.108333587646484, + 31.050832748413086, + 31.04364776611328, + 31.062541961669922, + 31.041959762573242, + 31.006858825683594, + 31.00827980041504, + 31.04642105102539, + 31.08395004272461, + 31.103137969970703, + 31.129619598388672, + 31.189556121826172, + 31.300373077392578, + 31.423797607421875, + 31.543546676635742, + 31.76411247253418, + 32.11838150024414, + 32.602874755859375, + 33.35166931152344, + 34.61155700683594, + 36.565006256103516, + 39.55615234375, + 43.983795166015625, + 50.49660873413086, + 59.51631546020508, + 71.2252197265625, + 85.3969497680664, + 100.66380310058594, + 115.4273681640625, + 127.63765716552734, + 135.44168090820312, + 137.6201171875, + 133.7191925048828, + 124.9847412109375, + 112.91549682617188, + 99.40792083740234, + 86.14344787597656, + 74.16242980957031, + 63.9048957824707, + 55.28645706176758, + 48.33675003051758, + 42.922698974609375, + 38.89463424682617, + 36.09357833862305, + 34.3106689453125, + 33.20413589477539, + 32.48525619506836, + 31.987462997436523, + 31.679241180419922, + 31.47954750061035, + 31.341320037841797, + 31.264053344726562, + 31.189842224121094, + 31.07748794555664, + 30.971033096313477, + 30.9276123046875, + 30.930959701538086, + 30.925317764282227, + 30.904726028442383, + 30.883453369140625, + 30.881572723388672, + 30.91551971435547, + 30.96372413635254, + 31.015888214111328, + 31.056142807006836, + 31.103010177612305, + 31.21661376953125, + 31.346715927124023, + 31.459020614624023, + 31.63990592956543, + 32.02668380737305, + 32.70412063598633, + 33.756065368652344, + 35.361995697021484, + 37.75677490234375, + 41.31722640991211, + 46.443199157714844, + 53.66301345825195, + 62.932777404785156, + 74.0482177734375, + 86.00440979003906, + 97.41117858886719, + 106.7637939453125, + 112.49771118164062, + 113.87643432617188, + 110.6514892578125, + 103.80269622802734, + 94.47879028320312, + 84.01749420166016, + 73.77191925048828, + 64.49361419677734, + 56.488197326660156, + 49.795413970947266, + 44.346435546875, + 40.10848617553711, + 36.996891021728516, + 34.7722053527832, + 33.3154182434082, + 32.44480895996094, + 31.898208618164062, + 31.48446273803711, + 31.17637825012207, + 30.97572898864746, + 30.879886627197266, + 30.8364200592041, + 30.760709762573242, + 30.683929443359375, + 30.65656852722168, + 30.678680419921875, + 30.710201263427734, + 30.684696197509766, + 30.614280700683594, + 30.565387725830078, + 30.538223266601562, + 30.532794952392578, + 30.54606819152832, + 30.55691146850586, + 30.5502872467041, + 30.55643081665039, + 30.63329315185547, + 30.766565322875977, + 30.903278350830078, + 31.094247817993164, + 31.416339874267578, + 31.967443466186523, + 32.802520751953125, + 34.02378463745117, + 35.794376373291016, + 38.46184539794922, + 42.25089645385742, + 47.278289794921875, + 53.40412902832031, + 60.151527404785156, + 66.8056869506836, + 72.38545989990234, + 76.12001037597656, + 77.55591583251953, + 76.35692596435547, + 72.9909896850586, + 68.0486831665039, + 62.247337341308594, + 56.28281784057617, + 50.787540435791016, + 46.02597427368164, + 42.00794219970703, + 38.78084945678711, + 36.186309814453125, + 34.22465133666992, + 32.84701919555664, + 31.94753074645996, + 31.3541259765625, + 30.9669246673584, + 30.671510696411133, + 30.478626251220703, + 30.419002532958984, + 30.445100784301758, + 30.445066452026367, + 30.388845443725586, + 30.290945053100586, + 30.174518585205078, + 30.1345272064209, + 30.172639846801758, + 30.214780807495117, + 30.22606086730957, + 30.182825088500977, + 30.13435173034668, + 30.149267196655273, + 30.18755531311035, + 30.200410842895508, + 30.198537826538086, + 30.20624542236328, + 30.232688903808594, + 30.258676528930664, + 30.31012535095215, + 30.425209045410156, + 30.639495849609375, + 31.025375366210938, + 31.64111328125, + 32.514652252197266, + 33.755775451660156, + 35.565181732177734, + 37.97126770019531, + 41.05154037475586, + 44.59870910644531, + 48.29439926147461, + 51.73285675048828, + 54.40562438964844, + 55.91305160522461, + 55.98189926147461, + 54.777278900146484, + 52.43473434448242, + 49.39326095581055, + 46.15497970581055, + 43.10788345336914, + 40.369422912597656, + 37.892513275146484, + 35.781307220458984, + 34.14853286743164, + 32.943695068359375, + 32.00203323364258, + 31.281068801879883, + 30.789644241333008, + 30.506580352783203, + 30.333370208740234, + 30.236759185791016, + 30.17729949951172, + 30.13892364501953, + 30.15947723388672, + 30.19576072692871, + 30.1763916015625, + 30.118501663208008, + 30.064437866210938, + 30.071868896484375, + 30.131147384643555, + 30.16744041442871, + 30.167585372924805, + 30.150245666503906, + 30.153261184692383, + 30.208837509155273, + 30.283706665039062, + 30.34423828125, + 30.4282169342041, + 30.606367111206055, + 30.915739059448242, + 31.316354751586914, + 31.79805564880371, + 32.53007125854492, + 33.76899719238281, + 35.627471923828125, + 38.40385437011719, + 42.43128204345703, + 48.2978515625, + 56.01676940917969, + 65.6145248413086, + 76.42005920410156, + 87.38490295410156, + 97.16390991210938, + 104.03926086425781, + 107.43955993652344, + 106.75151824951172, + 102.34808349609375, + 94.98084259033203, + 85.9357681274414, + 76.39237213134766, + 67.34257507324219, + 59.26047134399414, + 52.351383209228516, + 46.596866607666016, + 41.92122268676758, + 38.232662200927734, + 35.4936637878418, + 33.665931701660156, + 32.501434326171875, + 31.72899627685547, + 31.185672760009766, + 30.768447875976562, + 30.485923767089844, + 30.3428897857666, + 30.30756187438965, + 30.261154174804688, + 30.13445281982422, + 30.01630210876465, + 29.95841407775879, + 29.940135955810547, + 29.943574905395508, + 29.907867431640625, + 29.865949630737305, + 29.82627296447754, + 29.773090362548828, + 29.78112030029297, + 29.780546188354492, + 29.719215393066406, + 29.709360122680664, + 29.730236053466797, + 29.714887619018555, + 29.699142456054688, + 29.7316837310791, + 29.792400360107422, + 29.785400390625, + 29.69415283203125, + 29.609331130981445, + 29.598127365112305, + 29.62703514099121, + 29.610889434814453, + 29.57536506652832, + 29.555912017822266, + 29.514183044433594, + 29.469966888427734, + 29.4973087310791, + 29.565258026123047, + 29.604928970336914, + 29.61190414428711, + 29.562564849853516, + 29.49224090576172, + 29.481027603149414, + 29.528413772583008, + 29.569692611694336, + 29.567455291748047, + 29.569780349731445, + 29.581439971923828, + 29.548309326171875, + 29.53602409362793, + 29.570302963256836, + 29.549156188964844, + 29.50140380859375, + 29.503210067749023, + 29.531421661376953, + 29.58063316345215, + 29.62981605529785, + 29.61091423034668, + 29.55447006225586, + 29.539098739624023, + 29.583541870117188, + 29.64993667602539, + 29.681081771850586, + 29.650850296020508, + 29.60137939453125, + 29.60992431640625, + 29.660297393798828, + 29.657062530517578, + 29.613361358642578, + 29.695419311523438, + 29.856353759765625, + 29.946025848388672, + 30.072154998779297, + 30.368988037109375, + 30.775907516479492, + 31.302942276000977, + 32.117469787597656, + 33.43379592895508, + 35.23917770385742, + 37.7396240234375, + 40.928680419921875, + 44.78203582763672, + 49.06227111816406, + 53.145301818847656, + 56.6176872253418, + 58.981658935546875, + 59.99875259399414, + 59.457435607910156, + 57.461483001708984, + 54.50163650512695, + 51.01047897338867, + 47.393409729003906, + 43.92076110839844, + 40.83103561401367, + 38.262508392333984, + 36.10442352294922, + 34.36376190185547, + 32.98646926879883, + 31.983875274658203, + 31.300399780273438, + 30.853858947753906, + 30.58281898498535, + 30.42336654663086, + 30.324626922607422, + 30.27242660522461, + 30.246179580688477, + 30.294578552246094, + 30.327451705932617, + 30.267704010009766, + 30.220853805541992, + 30.215869903564453, + 30.2138729095459, + 30.263275146484375, + 30.389747619628906, + 30.526567459106445, + 30.552663803100586, + 30.524972915649414, + 30.599580764770508, + 30.800071716308594, + 31.104759216308594, + 31.51682472229004, + 32.03094482421875, + 32.84789276123047, + 34.08676528930664, + 35.983802795410156, + 38.78168869018555, + 43.20317459106445, + 49.37643051147461, + 58.08186721801758, + 69.21331787109375, + 82.47035217285156, + 96.80838775634766, + 110.38455200195312, + 121.72122955322266, + 128.9046630859375, + 131.4391326904297, + 128.78785705566406, + 121.66886901855469, + 111.57731628417969, + 99.87501525878906, + 87.95967864990234, + 76.83345794677734, + 66.97625732421875, + 58.58082962036133, + 51.46177291870117, + 45.56597137451172, + 40.966880798339844, + 37.53813552856445, + 35.082969665527344, + 33.54799270629883, + 32.53702926635742, + 31.82511329650879, + 31.331043243408203, + 31.010042190551758, + 30.791149139404297, + 30.667795181274414, + 30.677494049072266, + 30.718507766723633, + 30.583049774169922, + 30.347896575927734, + 30.26027488708496, + 30.304616928100586, + 30.303556442260742, + 30.27838897705078, + 30.275253295898438, + 30.31279182434082, + 30.392440795898438, + 30.4801025390625, + 30.55842399597168, + 30.678842544555664, + 30.889453887939453, + 31.229127883911133, + 31.82236671447754, + 32.90060806274414, + 34.39177322387695, + 36.43125534057617, + 39.17288589477539, + 42.95650100708008, + 47.600830078125, + 52.72960662841797, + 57.81061553955078, + 62.22370910644531, + 65.50088500976562, + 67.0252456665039, + 66.8958740234375, + 65.0033950805664, + 61.71570587158203, + 57.40927505493164, + 52.84013366699219, + 48.56242370605469, + 44.7805061340332, + 41.52520751953125, + 38.70734786987305, + 36.35051345825195, + 34.42159652709961, + 32.89827346801758, + 31.795791625976562, + 31.131546020507812, + 30.726226806640625, + 30.403453826904297, + 30.12520408630371, + 29.966238021850586, + 29.942630767822266, + 29.92072868347168, + 29.841320037841797, + 29.800086975097656, + 29.800004959106445, + 29.710874557495117, + 29.600915908813477, + 29.644325256347656, + 29.74713897705078, + 29.75161361694336, + 29.7418155670166, + 29.804529190063477, + 29.86874008178711, + 29.894819259643555, + 29.949209213256836, + 30.030881881713867, + 30.10210609436035, + 30.2509822845459, + 30.623592376708984, + 31.19830322265625, + 31.962312698364258, + 33.024044036865234, + 34.60089874267578, + 36.576202392578125, + 39.0525016784668, + 41.736488342285156, + 44.291473388671875, + 46.552642822265625, + 48.196720123291016, + 49.06552505493164, + 48.70117950439453, + 47.51029586791992, + 45.62361526489258, + 43.33018493652344, + 40.94178009033203, + 38.76296615600586, + 36.90371322631836, + 35.253684997558594, + 33.846839904785156, + 32.68029022216797, + 31.750335693359375, + 31.02094268798828, + 30.512699127197266, + 30.039432525634766, + 29.742691040039062, + 29.689435958862305, + 29.65741729736328, + 29.602527618408203, + 29.572792053222656, + 29.53522300720215, + 29.550832748413086, + 29.564075469970703, + 29.55848503112793, + 29.56637954711914, + 29.559185028076172, + 29.592449188232422, + 29.675806045532227, + 29.69530487060547, + 29.658199310302734, + 29.670886993408203, + 29.705507278442383, + 29.7066707611084, + 29.68943977355957, + 29.74953842163086, + 29.964624404907227, + 30.168598175048828, + 30.44056510925293, + 30.98929214477539, + 31.810922622680664, + 32.982479095458984, + 34.62856674194336, + 36.64531326293945, + 38.714881896972656, + 40.90878677368164, + 42.89271545410156, + 44.333675384521484, + 45.20948791503906, + 45.22149658203125, + 44.510459899902344, + 43.036102294921875, + 41.32029724121094, + 39.48122024536133, + 37.69160079956055, + 36.18293762207031, + 34.836212158203125, + 33.55706787109375, + 32.38223648071289, + 31.544889450073242, + 31.005956649780273, + 30.66376304626465, + 30.239561080932617, + 29.939517974853516, + 29.808250427246094, + 29.72195053100586, + 29.698637008666992, + 29.731868743896484, + 29.647319793701172, + 29.574512481689453, + 29.530223846435547, + 29.44261360168457, + 29.444091796875, + 29.572715759277344, + 29.76468849182129, + 29.91396141052246, + 29.977388381958008, + 29.974287033081055, + 29.9780330657959, + 30.227876663208008, + 30.556194305419922, + 30.83600425720215, + 31.20826530456543, + 31.83418846130371, + 32.79304504394531, + 34.63427734375, + 37.14104461669922, + 41.15540313720703, + 46.50031280517578, + 53.74661636352539, + 62.26172637939453, + 71.70237731933594, + 81.16544342041016, + 88.99324035644531, + 94.88410186767578, + 96.7828598022461, + 95.50390625, + 90.98561096191406, + 84.43302154541016, + 76.8470458984375, + 68.98906707763672, + 61.53303909301758, + 54.91680908203125, + 49.355648040771484, + 44.62202453613281, + 40.68199157714844, + 37.524436950683594, + 35.21478271484375, + 33.294456481933594, + 31.898469924926758, + 31.00441551208496, + 30.56802749633789, + 30.46394920349121, + 30.35340118408203, + 30.083477020263672, + 29.924863815307617, + 29.980937957763672, + 29.910890579223633, + 29.65947914123535, + 29.62093162536621, + 29.882713317871094, + 29.943422317504883, + 29.719675064086914, + 29.64065933227539, + 29.770193099975586, + 30.011459350585938, + 30.288705825805664, + 30.33390235900879, + 30.211606979370117, + 30.351030349731445, + 30.913227081298828, + 31.853271484375, + 33.559059143066406, + 35.93317413330078, + 39.59836196899414, + 44.317283630371094, + 50.1629638671875, + 56.34585952758789, + 62.85563278198242, + 68.41734313964844, + 71.92646789550781, + 74.10515594482422, + 73.10478210449219, + 70.51995086669922, + 65.81282806396484, + 60.769752502441406, + 55.385414123535156, + 49.98652648925781, + 46.06501770019531, + 42.67948913574219, + 39.5444450378418, + 36.74254608154297, + 34.997798919677734, + 33.400760650634766, + 32.20330047607422, + 31.243560791015625, + 30.6149845123291, + 30.18441390991211, + 30.01449203491211, + 29.98297691345215, + 29.94528579711914, + 29.849563598632812, + 29.767553329467773, + 29.709352493286133, + 29.84792709350586, + 30.019956588745117, + 29.88170051574707, + 29.646800994873047, + 29.304216384887695, + 28.866010665893555, + 28.880220413208008, + 29.021913528442383, + 28.81537437438965, + 28.702983856201172, + 28.741357803344727, + 28.726898193359375, + 28.70442008972168, + 28.656143188476562, + 28.596546173095703, + 28.52294158935547, + 28.570531845092773, + 28.7730655670166, + 29.17094612121582, + 29.553556442260742, + 29.333995819091797, + 28.767168045043945, + 28.431198120117188, + 28.36183738708496, + 28.404279708862305, + 28.491146087646484, + 28.46747589111328, + 28.182659149169922, + 28.337265014648438, + 28.981464385986328, + 29.027053833007812, + 28.628767013549805, + 28.46184730529785, + 28.41124725341797, + 28.641582489013672, + 29.14205551147461, + 29.028581619262695, + 28.334566116333008, + 28.15032958984375, + 28.534290313720703, + 28.301780700683594, + 27.07602310180664, + 26.682533264160156, + 28.022281646728516, + 29.173826217651367, + 29.173826217651367 + ], + "Itth_weights": [ + 0.032620898098829454, + 0.03351872945828005, + 0.03418768195429427, + 0.034416078446560645, + 0.03448167230533507, + 0.03421723461636433, + 0.03394346868496056, + 0.034337019369783714, + 0.0361574814010224, + 0.03830176196520955, + 0.03969000961499809, + 0.040464952404547644, + 0.04058511717508114, + 0.04054436953183676, + 0.040315884452937906, + 0.03995338385777764, + 0.03939639405411172, + 0.038810757288268896, + 0.03849736562731435, + 0.03806691726206125, + 0.037572609134516675, + 0.037082547441885765, + 0.03677216983702675, + 0.03647015368177514, + 0.0363714111806182, + 0.0361345548466245, + 0.035959231188718126, + 0.03578031082425241, + 0.035602859919674094, + 0.0353493390911216, + 0.035042033021806564, + 0.03479509018957089, + 0.034754039114335715, + 0.03485802161738805, + 0.034957247900833564, + 0.03492560103818608, + 0.034756391431024256, + 0.03457289984444147, + 0.034483590979601735, + 0.0344817788927485, + 0.03437580134725016, + 0.03425954272298046, + 0.034090513783696035, + 0.03397979377688251, + 0.033891003830165405, + 0.03397937755199521, + 0.0341076948278332, + 0.03414077717856582, + 0.034109161573975734, + 0.034111620487402, + 0.034150584269749276, + 0.03419054908030991, + 0.034154806833958044, + 0.03407156974037428, + 0.03396596251491996, + 0.033948114981782664, + 0.03396069537653706, + 0.03400142066024967, + 0.034115427176178756, + 0.03411651051753517, + 0.03385805806321663, + 0.033594556262974695, + 0.0335617887440927, + 0.03379364994855745, + 0.03387478010448506, + 0.033860238167632874, + 0.03384720326805036, + 0.0338309253870029, + 0.033826352576987684, + 0.03372857072183688, + 0.03363382720528895, + 0.03358545743953167, + 0.03367636955416938, + 0.03379021090072792, + 0.03380627086825751, + 0.03373633182381832, + 0.03354387614470378, + 0.03353772431065381, + 0.0335682008703602, + 0.03359467035236124, + 0.033544449171926435, + 0.03348940789397201, + 0.03354220653656155, + 0.03351228266374989, + 0.03351628885450171, + 0.03358574143422278, + 0.03357727314151816, + 0.03352338023154616, + 0.033384686094625686, + 0.03331115292202298, + 0.03335975620541935, + 0.033439106140690594, + 0.033589003414586455, + 0.03358772307630609, + 0.03354149839821764, + 0.03344402924617487, + 0.033450654688893175, + 0.03343911253893374, + 0.033444366322876486, + 0.033440682315240146, + 0.033502290642953264, + 0.03354218507738454, + 0.0335106933069247, + 0.033424876110599286, + 0.033361445910396345, + 0.0333489427513463, + 0.03338696511972522, + 0.033397184163728555, + 0.033410592183960135, + 0.033458271322222906, + 0.033511398003140284, + 0.03348651598773432, + 0.0333849539489771, + 0.03339600136950308, + 0.03341009610831976, + 0.033406679335116034, + 0.0333418465204637, + 0.0333205822890728, + 0.03335600592672747, + 0.033402850399333425, + 0.03345043486560631, + 0.03345545950973581, + 0.03339857979847385, + 0.03335891990723679, + 0.03337185962849517, + 0.03342498052661838, + 0.03346076114220026, + 0.03346972200790243, + 0.033350847753044144, + 0.033341327040625895, + 0.03335336404652808, + 0.033450445536572934, + 0.03344001045000327, + 0.03336372813291019, + 0.033287268912306135, + 0.033219262924794, + 0.03319071066780694, + 0.03324990120881346, + 0.03330811185123773, + 0.033275913139437514, + 0.03322146679269527, + 0.03315264108595943, + 0.033177102706333964, + 0.0332004125481561, + 0.03329736568177965, + 0.033340387777361744, + 0.033317340474409624, + 0.033270306774098646, + 0.033268290633819544, + 0.03329209032821368, + 0.03332278691398253, + 0.03327552031557314, + 0.033186405909100464, + 0.03308454256433602, + 0.0330223338878122, + 0.032928565861245526, + 0.032957383424338564, + 0.033009674139901385, + 0.033053093258445736, + 0.033061455545765187, + 0.033068040801459496, + 0.03315384653812613, + 0.03318612022524796, + 0.03318582614406687, + 0.03317409025900237, + 0.033150098393489105, + 0.03313330923008447, + 0.033121943154672276, + 0.033096935966663174, + 0.03314527610526821, + 0.03311960392519561, + 0.03318061127008452, + 0.03313721275342284, + 0.03311302112359732, + 0.03304066186693276, + 0.033020572293688655, + 0.03304860329737174, + 0.03310237118917829, + 0.03318156465259094, + 0.0331663129077603, + 0.03314128269497451, + 0.03318875458484368, + 0.033214399452744924, + 0.033195607138630824, + 0.03312350840505361, + 0.033112669779737286, + 0.03317078454402192, + 0.03320329520007296, + 0.03315891249179783, + 0.03307199988998877, + 0.03306182456766087, + 0.0330901303508322, + 0.0330992239339066, + 0.03306165986195511, + 0.03300868696710653, + 0.033081227535341665, + 0.03313364007246214, + 0.03321141809729882, + 0.033152651567774374, + 0.03312513240405196, + 0.033062716925837295, + 0.03296708617295559, + 0.03287403313926362, + 0.03287863042664245, + 0.0329672229889738, + 0.0329871397544777, + 0.033001946674733856, + 0.03300293136693553, + 0.03296815585572936, + 0.03293018941541829, + 0.032912235816450856, + 0.03295888343333438, + 0.03302547069774345, + 0.033058622482572096, + 0.03302046414999582, + 0.03291287837650357, + 0.03288688815611486, + 0.03290337063617923, + 0.032949307684195746, + 0.03297891666150868, + 0.032985209667234346, + 0.032994507292563445, + 0.03302410607059069, + 0.03306917336275462, + 0.03302888275908296, + 0.03300184073033996, + 0.03296036285770561, + 0.03292047529639466, + 0.032894054127172084, + 0.032927968185440894, + 0.03295257561415881, + 0.03292215180291368, + 0.03285231340909485, + 0.032786063071623524, + 0.03277057044161902, + 0.03277431929843973, + 0.03279202425677112, + 0.032805771745443406, + 0.032829658201810274, + 0.03280851646730484, + 0.03266945463194366, + 0.032613728908829014, + 0.032615830841210336, + 0.032581209887389974, + 0.032564575204554996, + 0.03253596973185727, + 0.0325316918238225, + 0.032507765181049086, + 0.03250728547537149, + 0.03247962558429662, + 0.03240204322332496, + 0.03236468145368711, + 0.03244525689056675, + 0.03256621767986694, + 0.03254361785680567, + 0.03247548317445915, + 0.032375145816535854, + 0.03234643497788973, + 0.032302242047477926, + 0.03230049873160808, + 0.03231780689042755, + 0.0323104616495993, + 0.03229904014271784, + 0.03225705629258946, + 0.032293557186250876, + 0.032330003219508116, + 0.03234923311188543, + 0.03228447143574787, + 0.032246916037454026, + 0.03220052808109388, + 0.032210633241876306, + 0.03220186900412258, + 0.032184443735356914, + 0.032139417276898424, + 0.03204598982903137, + 0.03205947361089659, + 0.03210150454984799, + 0.03208530296091763, + 0.031989688870426955, + 0.031925301730844, + 0.03190914735017466, + 0.03191796280933448, + 0.031984275308983526, + 0.03192320233033142, + 0.03184876501962118, + 0.03179367681275861, + 0.03181700174909521, + 0.031838643913569616, + 0.031814783356876895, + 0.0317965459658005, + 0.03178366775552823, + 0.03180212957222942, + 0.031803096053432366, + 0.031803898605419, + 0.03174776955157535, + 0.031673961571107946, + 0.03164587485704556, + 0.03168401652537859, + 0.03168996483439514, + 0.03166214229279136, + 0.03159345600970037, + 0.031585918707684034, + 0.031584763686582334, + 0.031537491825960315, + 0.03146694412788056, + 0.031429117624861065, + 0.03146034864240658, + 0.0315042654615093, + 0.03152706705454927, + 0.031515285142916946, + 0.03149734399161045, + 0.03144986915283283, + 0.03146319193376435, + 0.03143255263948957, + 0.03139288565722447, + 0.03138961341037126, + 0.03139096470360576, + 0.03138672891075441, + 0.03134275857500829, + 0.0313519443643635, + 0.03131298724971433, + 0.03125669205414405, + 0.03118109655537047, + 0.03114172464121749, + 0.031129979396623896, + 0.031062428081693863, + 0.031034946516618964, + 0.031034795875397207, + 0.031062840325999617, + 0.031041833484075885, + 0.03096756146046906, + 0.030946617486213003, + 0.03093333245225697, + 0.03092345823597893, + 0.030925285913554916, + 0.0308723053831392, + 0.03082166936991965, + 0.03078316681781667, + 0.030742514088051665, + 0.030685228601698963, + 0.030635078604761393, + 0.03066846021502458, + 0.03069596481973393, + 0.030700580683476267, + 0.03063363946249967, + 0.030560357942669026, + 0.03056691824657661, + 0.030590328077254387, + 0.030579191186085666, + 0.03055433819758497, + 0.030526752539461223, + 0.03052496455459896, + 0.030498102477831218, + 0.03045564736026039, + 0.030370566464867407, + 0.030256481342871438, + 0.03021441719994058, + 0.030274501253276402, + 0.030302823631217928, + 0.030309774955609586, + 0.030307738980517505, + 0.030321547622228474, + 0.03027458866211204, + 0.030248685308852895, + 0.03028075750408768, + 0.03031508870214104, + 0.03029977292276808, + 0.03024568038762431, + 0.030191620691966552, + 0.030155063727971287, + 0.030108625540509002, + 0.03010014512471551, + 0.030098956243279535, + 0.030087276331589, + 0.03005902436367494, + 0.03000449934718833, + 0.029970124081325784, + 0.02987975218899983, + 0.029850644294473577, + 0.02988105665208694, + 0.02990903292864225, + 0.029869865134158822, + 0.029801302670162334, + 0.029714958840184387, + 0.02964999872190481, + 0.029623421921992167, + 0.029614489933949648, + 0.029596625399419638, + 0.029597962069030148, + 0.029570861312926654, + 0.02951688485527894, + 0.029453716831788407, + 0.02943813481817675, + 0.02947506424451764, + 0.029493986813079007, + 0.02944911757909344, + 0.02939876550395617, + 0.029308747187011416, + 0.02917752338763085, + 0.029085073484900928, + 0.02904293822215703, + 0.0290134107779845, + 0.028913434405645744, + 0.028796087289457775, + 0.028707628858753914, + 0.028602325182766113, + 0.028492172543372888, + 0.028383107858495033, + 0.028307422513203773, + 0.028204543623039664, + 0.028044898969188634, + 0.02790779178043224, + 0.02783721794327364, + 0.027740372949623112, + 0.027626969724722013, + 0.0274999569893556, + 0.027345896634213166, + 0.027111349164627624, + 0.026784760037183806, + 0.026534488184417445, + 0.026322715341358154, + 0.026091355775299266, + 0.025747242040418644, + 0.025350532441059268, + 0.024903816721953805, + 0.024341949116501203, + 0.023657702615285093, + 0.02286887958855837, + 0.021842340932625565, + 0.0205173704668018, + 0.018901726510164623, + 0.016934433656360014, + 0.014584674163744656, + 0.011989594723670905, + 0.009341173993832939, + 0.006811360970951526, + 0.004705516761752053, + 0.003143845817235371, + 0.0020714273251910796, + 0.0014048292893187786, + 0.0010100499476603758, + 0.0007782056811294621, + 0.000661781236870101, + 0.0006243575507898329, + 0.0006531258393787206, + 0.0007570436153046644, + 0.0009638116491791482, + 0.0013495875825421818, + 0.001997913434035048, + 0.0030032765850193615, + 0.004529532293444799, + 0.006636523359375396, + 0.009117457240007574, + 0.011837900102183534, + 0.014551702385534626, + 0.016916338130073, + 0.01897745825967621, + 0.020690754734554, + 0.022035044045039098, + 0.02312120170554849, + 0.023984500982412643, + 0.02468616819712171, + 0.02528708467436406, + 0.025799632212732015, + 0.026218036441654463, + 0.02659574036362987, + 0.026948324133617, + 0.02725642399177516, + 0.0275471996314486, + 0.027810228797013246, + 0.02808925676793532, + 0.02831187996481752, + 0.028548201171684634, + 0.028718680420105357, + 0.028916993808102812, + 0.02910530800149488, + 0.029296293953549084, + 0.029417933533362646, + 0.029545907941792723, + 0.02966438923285331, + 0.029843623348117923, + 0.029969092772556074, + 0.030090685058275557, + 0.030166362406938412, + 0.03025582482682573, + 0.030370186464353226, + 0.030495367075952594, + 0.03063914974676394, + 0.030739518393417375, + 0.030837807652845037, + 0.030932609734808898, + 0.03101791128662495, + 0.031100083105500095, + 0.031217545483808014, + 0.031313374377906426, + 0.03139586717214192, + 0.03149885786240122, + 0.03161808579015845, + 0.031675838853471514, + 0.03167029758861075, + 0.03167751539155858, + 0.03171984546158665, + 0.03175436879373518, + 0.03183792080926887, + 0.03187856027459846, + 0.03196130855749943, + 0.031975924377251115, + 0.03202811843600974, + 0.03205176132525054, + 0.03213971083651657, + 0.03220842887398463, + 0.032300017163819854, + 0.03237157166373621, + 0.03235854907684681, + 0.0323713158262435, + 0.03235279434759125, + 0.03236457556557511, + 0.03237242115316624, + 0.032454549900244704, + 0.03251009538145793, + 0.032544005710694365, + 0.03259876959989147, + 0.03264959420601226, + 0.03261371876502463, + 0.03259479938476918, + 0.032664752840911034, + 0.032741996715483515, + 0.032745792213043516, + 0.032703812635737496, + 0.032700075811275764, + 0.03271497107657057, + 0.03271820085341355, + 0.03277901989675154, + 0.03289448546432636, + 0.032971392276103205, + 0.03296435009104543, + 0.032962219578170755, + 0.03295319903816945, + 0.03292874372051819, + 0.032920314063091406, + 0.03297271315038876, + 0.03301987769076753, + 0.03303316964014002, + 0.03305572112866907, + 0.033054645756166755, + 0.03303347350986201, + 0.03303930639437068, + 0.03304522465090259, + 0.033067967802932356, + 0.033116325793780425, + 0.033160781162676616, + 0.03320911459357682, + 0.03319814000045085, + 0.03318151425214415, + 0.03315794782831973, + 0.033161194354030386, + 0.03319458989877476, + 0.03319839015466321, + 0.033159709430051684, + 0.033121972449443926, + 0.033088359427959034, + 0.033050878336320776, + 0.033029228165561426, + 0.03305181177624615, + 0.03308713367608929, + 0.03310971502195566, + 0.03311452905899593, + 0.033112117683020796, + 0.03310838942091072, + 0.03313833120696635, + 0.03316209837711362, + 0.03320500063681847, + 0.03316575692277484, + 0.03315259496605244, + 0.03310309225821356, + 0.033110195944473376, + 0.03311347704519717, + 0.033185076260645596, + 0.03324285549159117, + 0.03322508581178416, + 0.033152515304697115, + 0.03309367694315237, + 0.033137225319897205, + 0.03320543806436049, + 0.033218707267872086, + 0.03317628183893321, + 0.033076886436683564, + 0.03305708211704594, + 0.03303389602294418, + 0.03304522256810305, + 0.03303758670753347, + 0.033042321483244076, + 0.033023904298402344, + 0.03299021798456679, + 0.03299519459901048, + 0.03301419510645763, + 0.03305261190957688, + 0.03304114078551737, + 0.032981636489005255, + 0.03293108502400293, + 0.032944876926106655, + 0.03297006736096774, + 0.03299350649268922, + 0.032992609561820686, + 0.03297356545040921, + 0.032906445643433334, + 0.03289504890262416, + 0.03290013516786795, + 0.032912768870926826, + 0.03289231444668158, + 0.03291327094965404, + 0.03292098381177331, + 0.03290551213521306, + 0.032889122415575955, + 0.032858385203097425, + 0.03278267229476893, + 0.03276665656708075, + 0.03281331108093889, + 0.032867003631689554, + 0.03281684376984594, + 0.03274397615399552, + 0.032708223676966366, + 0.03268175285421772, + 0.032612164808721825, + 0.03257932498418533, + 0.03252290737005924, + 0.03246495586943674, + 0.032408462542087, + 0.03242834952066425, + 0.03243979844914043, + 0.032414824282035085, + 0.03236780446558748, + 0.032293988831925004, + 0.03218891932945564, + 0.03207745263832838, + 0.03201366989957382, + 0.031958218686263445, + 0.03194025044336921, + 0.031927998310450775, + 0.03186870691843947, + 0.03176205790859116, + 0.03165385359621787, + 0.0315566582280919, + 0.031469363606237526, + 0.03133322986297868, + 0.031200769735786567, + 0.031087930515135774, + 0.03102404901095341, + 0.03095726689317615, + 0.030844092047513344, + 0.030725783888771868, + 0.030603273615405116, + 0.030517605097226088, + 0.030384735305401686, + 0.0302330355515882, + 0.030042781716975966, + 0.029892420173780253, + 0.029767059902142887, + 0.02960797756451163, + 0.02942612302544961, + 0.02925204333798059, + 0.029048167873553424, + 0.028821500726958323, + 0.028593602150977462, + 0.02838768755091004, + 0.028114803257294894, + 0.027855279293952658, + 0.027637764202883438, + 0.027396223780696435, + 0.02713041224784776, + 0.026848791295364254, + 0.026564665743696942, + 0.026249648027371154, + 0.025902315946320753, + 0.025537746754444878, + 0.02512907283150022, + 0.024680550668969795, + 0.024197247293589248, + 0.023650383841478627, + 0.023036446223232532, + 0.022310448550281275, + 0.021442410779248047, + 0.020454329816080818, + 0.019277542219261746, + 0.017845120549730788, + 0.016180594754626756, + 0.014289961539690152, + 0.012119576891101805, + 0.009808103972846328, + 0.007557146771192439, + 0.005468831100772492, + 0.0037589862116971825, + 0.002505358522095369, + 0.001622406479169, + 0.0010662507872092337, + 0.0007348950451101043, + 0.0005334864675674158, + 0.00042249387946030956, + 0.00036835698396208224, + 0.0003546339382947337, + 0.0003799804128260829, + 0.0004501681646261462, + 0.000590992330373947, + 0.0008419827048201043, + 0.001252538293621458, + 0.0019200693775068044, + 0.002955402624453089, + 0.004407424185525011, + 0.00626689818183835, + 0.008456319713814688, + 0.010783336966939666, + 0.013045557133433102, + 0.01513890807483891, + 0.01696309021451569, + 0.018530415034246885, + 0.019868589182675526, + 0.020995436321422457, + 0.021928922731967136, + 0.022752942522312757, + 0.02344623230591795, + 0.024075459166205015, + 0.02463943267946875, + 0.025138622803472753, + 0.025561091724930027, + 0.025966124896799253, + 0.026350836727323062, + 0.02674229286107768, + 0.027084077865484057, + 0.02738171824501888, + 0.027699646748775307, + 0.028006218238549645, + 0.028318079317282634, + 0.028571079803364565, + 0.028856224902958198, + 0.029165187884182125, + 0.029459174930932582, + 0.02969184673695389, + 0.02989375642376963, + 0.03013240168841867, + 0.030385179065123485, + 0.03058391472101733, + 0.03071303318032507, + 0.030868877218541587, + 0.031052780273600023, + 0.031235466953811557, + 0.03144193256387692, + 0.0316189247968605, + 0.03179835873530248, + 0.03193638842164599, + 0.03209452448636261, + 0.03223846309463124, + 0.03235981531214111, + 0.03248980200907207, + 0.032640479765645575, + 0.03279536363153006, + 0.03318637650024148, + 0.033420574311579694, + 0.03355673640820262, + 0.03335643673081369, + 0.0333028034767576, + 0.03335566214031698, + 0.03348006874969867, + 0.033642703995886036, + 0.03375935397940329, + 0.03387685291500741, + 0.03390919926602333, + 0.03393651260725313, + 0.03395815259794557, + 0.034015633925009996, + 0.03404827471371649, + 0.034079750912465095, + 0.03415473563349429, + 0.03421594389840315, + 0.03425702886294248, + 0.03430125988539074, + 0.03441326598427114, + 0.03453069485475602, + 0.03457829475442583, + 0.03459548943147284, + 0.03467775833553533, + 0.03473998254015846, + 0.0347668574544123, + 0.03475030048463297, + 0.03479486619630913, + 0.03487052483303101, + 0.034898247945379365, + 0.034943257063358255, + 0.0350471606671346, + 0.03512673147829841, + 0.03512216166679674, + 0.035066513528907696, + 0.03510460883913171, + 0.035185775145335066, + 0.03524215098061529, + 0.03524180038030827, + 0.03521502377286804, + 0.035210192129955784, + 0.03522757378995083, + 0.03521649031934088, + 0.03522014065807212, + 0.035216968156025416, + 0.03526001713744654, + 0.03528118462434604, + 0.03531162192490393, + 0.03534024646527095, + 0.03540898824013773, + 0.035443939931185935, + 0.035418463216952335, + 0.03539170427276011, + 0.03544403098513337, + 0.03544497270208153, + 0.03544169008882189, + 0.035370981476461595, + 0.03537708906222387, + 0.035389547053379836, + 0.03540228633913817, + 0.03538728022581961, + 0.035385264450331695, + 0.035393159290144, + 0.035397759269878, + 0.03537221284803769, + 0.03531858694125481, + 0.03528777899639206, + 0.035219099654800586, + 0.035157956585937414, + 0.03507621675042424, + 0.035039901824542655, + 0.03501571569072568, + 0.03500898415331442, + 0.035012563540609165, + 0.03500753951325253, + 0.03501939703540627, + 0.03507210114054166, + 0.035077153104405796, + 0.035022938779730936, + 0.03501276462522596, + 0.03498072079815248, + 0.03495208361652413, + 0.03489885888836303, + 0.03488449925724856, + 0.034840402980381276, + 0.034748529350652896, + 0.03470456918649582, + 0.034676366129958856, + 0.03468801639550775, + 0.03466548004821409, + 0.03463555565508909, + 0.03461339132512971, + 0.03457132683608741, + 0.03446575735814416, + 0.03433876904320883, + 0.03423702068543261, + 0.03414962110183542, + 0.034084895501366945, + 0.03395506482178655, + 0.033844773586967726, + 0.03370349744627325, + 0.03357477025282835, + 0.03345094707968398, + 0.033346017788214805, + 0.033211247690188156, + 0.03303549875702902, + 0.032861383837520276, + 0.032688314062394405, + 0.03256852996714994, + 0.03242671490562732, + 0.03225763581495371, + 0.03207236837074573, + 0.03181681059607182, + 0.03157331318890175, + 0.03132020586621826, + 0.031058199528648602, + 0.03075370534026296, + 0.030429090760511365, + 0.03002920855559351, + 0.02958981360191845, + 0.029085563998803493, + 0.028445817967555936, + 0.027654485192828385, + 0.026755374952782802, + 0.025620293574334124, + 0.024146536493146287, + 0.02232267015049648, + 0.020036908807850397, + 0.017274902343331698, + 0.01426357824155736, + 0.01111206628038265, + 0.008097084457782537, + 0.005653939981584319, + 0.003824375186518238, + 0.002557840223661146, + 0.0017684164534399391, + 0.0012845884898707329, + 0.00099850029935507, + 0.0008524258549752243, + 0.0008018379629557124, + 0.0008326557163766464, + 0.0009518588553200102, + 0.0011942030422147567, + 0.0016352495282588569, + 0.0023642060587975044, + 0.0034867649667375093, + 0.005200177391305177, + 0.00758114190950012, + 0.010397403695190566, + 0.01351802494427909, + 0.016642491172897445, + 0.019357269306502847, + 0.021720032277129268, + 0.023688080434507985, + 0.025213814966855312, + 0.026461641703088633, + 0.02743978679064591, + 0.0282222918898807, + 0.028897020193212667, + 0.0295230346883044, + 0.030024231821924457, + 0.030431612918204825, + 0.030726594215180397, + 0.031018318679903976, + 0.031299526006991124, + 0.0315983857514115, + 0.031852120155532786, + 0.03210851911238582, + 0.03232457152778189, + 0.0325298590673489, + 0.03268793702723997, + 0.032862652655310465, + 0.03308044480114684, + 0.03327674739292328, + 0.03341523216246688, + 0.0335239654202261, + 0.03367874699089279, + 0.03380239555703987, + 0.033932923630663865, + 0.03410892413449958, + 0.03427923432442667, + 0.0343669164940197, + 0.03442637891867572, + 0.03454561364113171, + 0.03466191856490687, + 0.03473601219067811, + 0.03480930927003149, + 0.034902178796577546, + 0.034961737593450434, + 0.035008689605373, + 0.035054310017036794, + 0.03511688033329314, + 0.035195022344618104, + 0.03527496532976221, + 0.03532115669835628, + 0.035330944233851864, + 0.03536479012240087, + 0.03545106032403403, + 0.03551752240134567, + 0.03554482866159776, + 0.035558051390461504, + 0.03557584587020999, + 0.03560446049960388, + 0.03564915344071841, + 0.035709943618136925, + 0.03572247897466303, + 0.035690846072130106, + 0.03573952969029009, + 0.03582079844289717, + 0.035872257356735014, + 0.03588975357283383, + 0.035928556523669844, + 0.03593984643881302, + 0.03592263117267773, + 0.03592642691412133, + 0.03598275560917975, + 0.03603685342335948, + 0.03604543822954065, + 0.03605610990027297, + 0.03605307508205821, + 0.03606508097287834, + 0.036066165145405074, + 0.03608774057696415, + 0.0361109907689985, + 0.03614344041862549, + 0.03615252730085108, + 0.03612036493219957, + 0.03607073327913311, + 0.03609005828646842, + 0.03613765072460991, + 0.03621579832415725, + 0.03621942357502528, + 0.03618536385516358, + 0.036197200621310904, + 0.03621262651225539, + 0.036222996996179126, + 0.03621650380264724, + 0.03623712491678334, + 0.036205824499315094, + 0.03612894974329459, + 0.036094055979079706, + 0.03613618117495522, + 0.036150852139837424, + 0.03610086080110766, + 0.03612061378202092, + 0.03613838305329523, + 0.036129564700793426, + 0.03604411493654049, + 0.035996306226205886, + 0.03597590636416205, + 0.03589543706724486, + 0.03580372145965615, + 0.03577901669259334, + 0.03580152594608193, + 0.0357875401492763, + 0.03576084525485421, + 0.03573382969710745, + 0.03570137442201843, + 0.035653046773203016, + 0.03561319368946663, + 0.035583753537332063, + 0.03551843434030366, + 0.03544245438023127, + 0.03534005827636868, + 0.03523682639783281, + 0.035094114690031146, + 0.03498745080924096, + 0.0349166762346188, + 0.03482824757093487, + 0.0347530554289121, + 0.03467659777420488, + 0.0346086274028314, + 0.03447433523274194, + 0.03435009900694296, + 0.03426489177915259, + 0.03421262599432108, + 0.0341885469463249, + 0.03409411843812198, + 0.03396709800188815, + 0.033800416831922656, + 0.033648585587871184, + 0.03350970592530738, + 0.03327600184288405, + 0.033036133649247415, + 0.03275104110152962, + 0.03244340976840642, + 0.03206816638370638, + 0.03156514504495051, + 0.030989603497773698, + 0.030261123165301662, + 0.029338143638093655, + 0.028068092620508453, + 0.026416701743622845, + 0.024201561011025233, + 0.02140707869859948, + 0.01813728233984669, + 0.014465722268550875, + 0.010859518566204191, + 0.007802530822115965, + 0.0054075850919440465, + 0.003788061825127214, + 0.002748309669616576, + 0.002081844414531767, + 0.0017144513473155714, + 0.0015470582758647393, + 0.0015299861027507436, + 0.0016615195460271037, + 0.0019689153168128233, + 0.0025550575605313474, + 0.003533860428689796, + 0.005012984146024581, + 0.007202523608827442, + 0.010172060963761487, + 0.013652919479211618, + 0.01728126031691452, + 0.020685972490617318, + 0.023532125924665845, + 0.025777596057053626, + 0.027522919404978974, + 0.028793433606852506, + 0.029755555046028805, + 0.030531641241102636, + 0.031133735727619717, + 0.03160873769187389, + 0.03199831844774271, + 0.03227134600198852, + 0.03248392603656486, + 0.032672984917797486, + 0.032759509144723545, + 0.03284604836956015, + 0.03295305198253945, + 0.03314045521982333, + 0.03321852626243427, + 0.03330951486500507, + 0.03347239090211978, + 0.03371083950784777, + 0.033898353302763126, + 0.034059134975614976, + 0.03417327334655712, + 0.0342602770277657, + 0.034358261391551265, + 0.034483411803580936, + 0.034575492200947626, + 0.0346534440779557, + 0.03474245727501044, + 0.03483329895102398, + 0.03488212028532537, + 0.03493665113172885, + 0.03500025034129864, + 0.0350563492058716, + 0.035108381780616274, + 0.035124357004552, + 0.03513227944357451, + 0.035153854772434434, + 0.035161203354843205, + 0.03516173157149108, + 0.035121740513329086, + 0.03515029592828506, + 0.03521015429559612, + 0.03527123480537206, + 0.03526752404879097, + 0.035244986835430585, + 0.03523407473087788, + 0.03525514706332294, + 0.03526386388200198, + 0.035296761469892315, + 0.03530304312732732, + 0.035311077304135886, + 0.03527760470145568, + 0.0352839745241585, + 0.03527294571764326, + 0.03531525633111016, + 0.03537462572580198, + 0.03539956613439166, + 0.03537681215845801, + 0.03535198960467237, + 0.03534801160018441, + 0.0353475302008174, + 0.03534310765987544, + 0.035303558973780236, + 0.03526723462362481, + 0.035197687573797334, + 0.03514808085276036, + 0.035112545886611404, + 0.03506427382353592, + 0.03503701458289561, + 0.035036834292429875, + 0.03506830080796057, + 0.035041836285044564, + 0.03494397904726256, + 0.034840822044252116, + 0.03479313900492398, + 0.03475073581048187, + 0.0346941498091017, + 0.034646617558934965, + 0.034652264530721726, + 0.03464085569827369, + 0.03458249829606555, + 0.034450936879287415, + 0.03436150851458084, + 0.03435952909262945, + 0.034337408420566186, + 0.03425349933670301, + 0.034084425732867685, + 0.033975491076320634, + 0.03386737740478095, + 0.033797869673385716, + 0.0337064811274102, + 0.03357459179649502, + 0.03338456492383108, + 0.033240212536811226, + 0.033126013531998774, + 0.032996147739023006, + 0.03284397221322572, + 0.032676090326932916, + 0.03252562715782666, + 0.03234370516819574, + 0.032169311026558296, + 0.03198695258763775, + 0.031807616724430894, + 0.03165615472708817, + 0.031443846559872694, + 0.03120170929529895, + 0.03096095971605263, + 0.030735917843702023, + 0.03046376994498732, + 0.03014345115516512, + 0.029802193714486516, + 0.029400226145233157, + 0.02897112414070994, + 0.028485912217698854, + 0.02786626184276797, + 0.02716685358663528, + 0.026376207482421667, + 0.025415287448971934, + 0.024224368155985766, + 0.022802778288335483, + 0.021012453941273913, + 0.01882930270008971, + 0.01624796593619495, + 0.01334178323795975, + 0.010358655157752316, + 0.007625871504484049, + 0.005307921142511883, + 0.00358341920613398, + 0.002416431320011743, + 0.0016437217134193664, + 0.0011792960414550198, + 0.0009047300084431896, + 0.0007478653838657355, + 0.0006801343564241107, + 0.0006799130753708378, + 0.0007490996995737117, + 0.0009016346530599667, + 0.0011741187928161186, + 0.0016467963559001924, + 0.002406121747058214, + 0.003560942950038236, + 0.005254192907833716, + 0.007548914572840009, + 0.010290372983625628, + 0.01322996481248449, + 0.0161173604330065, + 0.01868647371291516, + 0.02087170649035357, + 0.02265683508359194, + 0.02407707780339282, + 0.025262372340909424, + 0.026238127138371224, + 0.02700635320585576, + 0.02763847811243904, + 0.02820759370321941, + 0.02872065008868929, + 0.02917914725705286, + 0.02957193878587012, + 0.02993824460454002, + 0.030294573073650383, + 0.030607593612458246, + 0.030851170500074614, + 0.031080669313790932, + 0.031300036130489095, + 0.031534054701619844, + 0.03173178852938889, + 0.03194953089544038, + 0.03215679381024899, + 0.03238219648716464, + 0.032592570489341124, + 0.03277725547751547, + 0.032924696863547834, + 0.033041344850697665, + 0.033184393623133884, + 0.03334751520342482, + 0.03357146589322249, + 0.033762501926271136, + 0.033867701191539895, + 0.03389392220161547, + 0.033953213305146064, + 0.034088392581394976, + 0.034199757902180716, + 0.03424657221067761, + 0.034306361577566016, + 0.03442660271388698, + 0.0345098638069931, + 0.03454627831271667, + 0.0346212083692397, + 0.03473570150596593, + 0.034817002348856686, + 0.034832174238469724, + 0.03483197753694613, + 0.03487532865577708, + 0.034985365933082664, + 0.035047523805353774, + 0.03505288038243347, + 0.03505049479288013, + 0.035085660022679384, + 0.035105335155486785, + 0.03511403683434924, + 0.03512908979671229, + 0.035160179980248694, + 0.03519968912383935, + 0.03525514232193947, + 0.035282234049783874, + 0.035242354711025235, + 0.03519770884054697, + 0.03514796539371315, + 0.03514369865361631, + 0.03513852388281332, + 0.03512867789193091, + 0.035144506686658535, + 0.035161637245925706, + 0.03516966852214449, + 0.03516935003165516, + 0.0351650710225939, + 0.0351820327694953, + 0.035142000256315246, + 0.035084894606726674, + 0.03504114538177476, + 0.035010384492669015, + 0.03497985726583892, + 0.034951943810547725, + 0.03488183715125099, + 0.03481688674258423, + 0.03477192332731482, + 0.03472607993592716, + 0.034643806209094526, + 0.03457306627253919, + 0.03449670763729715, + 0.03440069120529449, + 0.03433596470420425, + 0.0342623211577649, + 0.03417366983294735, + 0.03402171950082253, + 0.033877360759438875, + 0.03377082898815695, + 0.03367733649657884, + 0.033544932075236296, + 0.033358881701722395, + 0.0331362451635175, + 0.03294720603120485, + 0.0327270911360799, + 0.032489695300660495, + 0.03223730544805101, + 0.03190448516860838, + 0.03149562592456316, + 0.030991127574412032, + 0.030383640049185187, + 0.02964509658992729, + 0.028759324092691947, + 0.02755512780973608, + 0.026027338912501956, + 0.02407253423056809, + 0.02157956303162962, + 0.01850438380050413, + 0.01509891614774894, + 0.011586935030614698, + 0.008395596897846419, + 0.005904759622241706, + 0.004071664931102094, + 0.0028565204341722762, + 0.0021005297863303254, + 0.0016313736735878571, + 0.0013736506736916469, + 0.0012640314316722115, + 0.001272444068068302, + 0.001401481632284717, + 0.0016778403212965908, + 0.0021827415935172685, + 0.0030122038010320256, + 0.004281220307183567, + 0.006163580346477559, + 0.008762271053480057, + 0.011997863173538797, + 0.015481002783278127, + 0.018906990120754346, + 0.02195742967137733, + 0.024396933370696598, + 0.026324927842037573, + 0.027809213923786893, + 0.02892459076808325, + 0.029807215728564034, + 0.030533277083572594, + 0.031122114742378023, + 0.031601541669753264, + 0.03200275609673172, + 0.03233715590332208, + 0.03265854488681185, + 0.032898231762711665, + 0.03310870303933231, + 0.033317264253830615, + 0.033566494455447515, + 0.03375107820200164, + 0.03392588845251636, + 0.034102436880753095, + 0.03424940000118893, + 0.03437039733101823, + 0.03450481268584686, + 0.03465500624273694, + 0.03482291316442517, + 0.03497089071956839, + 0.0350872801850038, + 0.03513966846642902, + 0.035207839460396455, + 0.0353166836585365, + 0.03548173873567746, + 0.03556954639818722, + 0.035634741453260566, + 0.03565359472012784, + 0.03571060520269723, + 0.03577210566133309, + 0.0358396678530782, + 0.03590706275147676, + 0.03596918311038401, + 0.03604358961120637, + 0.03605427754286984, + 0.036093792586125384, + 0.03615273670689369, + 0.0362490582323371, + 0.0363399917974956, + 0.03637446197623097, + 0.036348346174791504, + 0.03633345156008726, + 0.036329554224850374, + 0.036368237281438745, + 0.03640855767214895, + 0.036461674759285204, + 0.03650296005887395, + 0.03653525265684543, + 0.036556592755534904, + 0.03658298579399141, + 0.03659308424433097, + 0.03661914124856179, + 0.03663359785171138, + 0.03665342834499726, + 0.036679702262859916, + 0.03674037380874862, + 0.03680433097840126, + 0.03688055792986372, + 0.036914455427503184, + 0.03689856357635003, + 0.03690358139752267, + 0.036886795751596396, + 0.03691834669057436, + 0.036927905471413856, + 0.03695706221355947, + 0.0369795396827121, + 0.03699617751515198, + 0.03700419385757259, + 0.03697384930628898, + 0.036955272594194045, + 0.03700196094414679, + 0.037071537472383086, + 0.03711208034004306, + 0.037062674466477555, + 0.037055908206110204, + 0.03707310767788693, + 0.03707656312264929, + 0.0370774467502497, + 0.03707048113183867, + 0.03708496584363226, + 0.037080438811030916, + 0.037076673246046875, + 0.03703821706672224, + 0.03704967851619248, + 0.03710056450335162, + 0.037110816794292435, + 0.037064841344638305, + 0.03703438159113884, + 0.0370466469155399, + 0.03709866645532986, + 0.03711340965151955, + 0.037127281152930784, + 0.03715606905446589, + 0.0371634646498463, + 0.03713411821768019, + 0.03711859119721984, + 0.03712960021347707, + 0.0371683993175547, + 0.037176775180236675, + 0.03716416011364285, + 0.03712352709760871, + 0.0370777115845289, + 0.037090645868829535, + 0.03712583254442969, + 0.037129024365284875, + 0.037102880227420455, + 0.037078115398533805, + 0.037106950511019636, + 0.037137287788267706, + 0.03709418069333533, + 0.03703795017981443, + 0.03700542925762925, + 0.036986544222859505, + 0.03700729687942926, + 0.03702157539411968, + 0.037025546799617996, + 0.03702549188958623, + 0.037022294314839915, + 0.03703355494876178, + 0.0370152344156507, + 0.03705062370212964, + 0.03706985731631706, + 0.037070709170483766, + 0.03704410787366759, + 0.03701457325978633, + 0.036991398086012935, + 0.03699324341010577, + 0.03699993719111615, + 0.03704853179024751, + 0.03704222868330975, + 0.03699684323543141, + 0.036935158468348536, + 0.0369245660964861, + 0.03694461401366722, + 0.036964368367562415, + 0.03693684465189732, + 0.03691068191986403, + 0.03686008966283179, + 0.036857843012505526, + 0.03687663572161027, + 0.03691441124285353, + 0.03690525690567503, + 0.036832519130797284, + 0.03679373087285739, + 0.036788970045248025, + 0.03682665403260389, + 0.0368171734451586, + 0.03677820334750341, + 0.03671849207435304, + 0.03667327775394081, + 0.036661940293863056, + 0.03666541951500953, + 0.03665378453219633, + 0.03663791913659156, + 0.03666527592318117, + 0.03673427034141093, + 0.036719255849004276, + 0.036657715863687226, + 0.03662279653967772, + 0.03660181093402029, + 0.036584992273572405, + 0.03656098002684361, + 0.03657922870411191, + 0.036559269350149165, + 0.03653629908296877, + 0.03648954598950319, + 0.036439824781802604, + 0.0363867788670079, + 0.03637393454817516, + 0.03637289992512963, + 0.036357581776438955, + 0.03632196840061907, + 0.03629450323331684, + 0.036283566960422876, + 0.036240912260561184, + 0.03612210695295854, + 0.03604074519091136, + 0.03601396079519656, + 0.036043924132643575, + 0.03604038099878479, + 0.03596145348780582, + 0.035861650070384284, + 0.03575693078341867, + 0.035703329120521, + 0.03570882238557829, + 0.035679884428011066, + 0.03562120993677175, + 0.035520739661300677, + 0.03549261018548173, + 0.03546110707470351, + 0.03537602443869217, + 0.035247666746692295, + 0.035140652962190926, + 0.03505875434725465, + 0.03494939254792302, + 0.03478096809265708, + 0.03462561901397479, + 0.034457706879461515, + 0.03430137209283003, + 0.03409041403472633, + 0.033811762777227486, + 0.033449342194666484, + 0.033004038696500114, + 0.0324035291545112, + 0.03157425630475787, + 0.030381379351987373, + 0.02879261134917258, + 0.026592713257341593, + 0.023673039975978742, + 0.020145550805337115, + 0.016262040792322876, + 0.012454920849221264, + 0.009260179011852877, + 0.006803536767761517, + 0.005117854499434065, + 0.004038265175181997, + 0.003378134230320343, + 0.0030586437629308394, + 0.0030060887792470515, + 0.003204322079742715, + 0.003689234254215801, + 0.004531531747066737, + 0.0059199103052652476, + 0.007956747327439955, + 0.010690021510210214, + 0.014131429017471515, + 0.017976878386771568, + 0.02170124610140587, + 0.024895869916648442, + 0.027397008301540998, + 0.029265772340460204, + 0.030556970208516027, + 0.03147577768502994, + 0.032128382144201585, + 0.032676216592119806, + 0.03309303565961932, + 0.03340359738792289, + 0.03362112124228237, + 0.033790422145678393, + 0.03391427932512209, + 0.033986377652463144, + 0.03406965900383964, + 0.03418153240953503, + 0.03425343667571902, + 0.03432207794792351, + 0.03436719808892243, + 0.03442393996558578, + 0.03447095569772639, + 0.034558362949423084, + 0.034824176063586426, + 0.03491868316187621, + 0.03485084090296787, + 0.03462001958522378, + 0.03456752485055121, + 0.03458419094920968, + 0.03462737306627486, + 0.03465939571748673, + 0.034682412829253974, + 0.034674698841396755, + 0.03465480466517358, + 0.03463281701973396, + 0.03461916462565413, + 0.03460027942196479, + 0.03460563262960115, + 0.034636647111674856, + 0.03463205979600108, + 0.03461393063349499, + 0.03454699536724929, + 0.03454637847092634, + 0.03455791648499122, + 0.03454377682219629, + 0.034518563649889346, + 0.034486596424573066, + 0.034458322877734766, + 0.034365988389890044, + 0.03426886490921255, + 0.034214729193976376, + 0.03419725280781983, + 0.03419101508945397, + 0.034144092279077526, + 0.034097666197734446, + 0.034026676538501124, + 0.033921526965610814, + 0.03382056794309603, + 0.03375289470046823, + 0.03370259182912967, + 0.033590916572489714, + 0.03347716776806069, + 0.03337129248261811, + 0.03324100706515957, + 0.03310444042807048, + 0.03295600370237087, + 0.03282855843138139, + 0.0326965498644088, + 0.03256568770051603, + 0.032383392566300226, + 0.0321933091893339, + 0.03202206598663263, + 0.031867263821275686, + 0.03166437387114195, + 0.03139833590400741, + 0.031090080039071336, + 0.03078677844662438, + 0.03045567566675814, + 0.030081196417897568, + 0.029628487671543143, + 0.029079140222790248, + 0.028358605505730477, + 0.027460215035741517, + 0.026335255119267834, + 0.024883619075137815, + 0.023013656106040645, + 0.020660474083417264, + 0.01777055415163948, + 0.014506869158382002, + 0.011219028524160901, + 0.008198923991310662, + 0.005774456102732029, + 0.004022847534716825, + 0.0028122828651230237, + 0.002034696265635658, + 0.0015630190307870104, + 0.0012842098002514492, + 0.0011437380828620929, + 0.0011094580895841361, + 0.0011726516226953324, + 0.0013486083422093668, + 0.0016672387284577524, + 0.002204749860672431, + 0.0030524213876668314, + 0.004327203854180044, + 0.006150499925202202, + 0.008613215863662635, + 0.011692946326832088, + 0.014969283002042923, + 0.018126736133680252, + 0.02090581886493678, + 0.02312998626286483, + 0.0248595566486066, + 0.026218151817525084, + 0.02724576387011575, + 0.028065808788615993, + 0.02872132034104376, + 0.029236448933132375, + 0.02965562710727765, + 0.030024090832770405, + 0.03030918621180843, + 0.030567039430226213, + 0.03076932828132789, + 0.030978906208638704, + 0.031211650552482078, + 0.03145864404680587, + 0.0316337883140072, + 0.03177295639551286, + 0.0319065588070873, + 0.03203129620297957, + 0.03213960247495928, + 0.03225347641745061, + 0.03236705512754844, + 0.032491108740618155, + 0.03260283404273948, + 0.03270227252001883, + 0.0327867417212364, + 0.03282926762069712, + 0.032897589774419526, + 0.03295793658855987, + 0.033025649605396494, + 0.03309201843020824, + 0.03318990803659191, + 0.033240463325476664, + 0.03328949026801415, + 0.03330010233521439, + 0.03333492922475855, + 0.03335073319222612, + 0.033383661485108365, + 0.03337014975284965, + 0.03334676859999454, + 0.033363611360458324, + 0.033399135106320366, + 0.0334376729959259, + 0.03343053256254946, + 0.033409138064017525, + 0.03336609135836003, + 0.033316288237797455, + 0.03329477748380724, + 0.033259836061985876, + 0.033222929884642885, + 0.03313023773685534, + 0.03307251935603562, + 0.03301382506818585, + 0.032932806052991065, + 0.03285374210682217, + 0.03276383285000939, + 0.03271986703060629, + 0.032643865580405704, + 0.03257000490455987, + 0.0324629738399283, + 0.03234917922028241, + 0.03221766786554202, + 0.03208838406959795, + 0.03195132804898397, + 0.0317786819624849, + 0.03157542767224691, + 0.03133552206873926, + 0.031057629185337905, + 0.03072525089737015, + 0.030348788087211545, + 0.029873153283495362, + 0.029253329476693218, + 0.02843337776410158, + 0.0273547197910997, + 0.025931733729653288, + 0.024041233562238504, + 0.021577470613141796, + 0.018543492895907683, + 0.015112874976795452, + 0.011635726274581726, + 0.008551625237446374, + 0.006116182835939294, + 0.00433774783809245, + 0.003136662993761422, + 0.0023769542792467183, + 0.0019100041128506532, + 0.0016544935900491262, + 0.0015544075860858511, + 0.0015873220402629893, + 0.001755468884517598, + 0.00208922111607814, + 0.002665453026555698, + 0.0035792728990231715, + 0.0049415334316573025, + 0.006884783563083501, + 0.009480861494589765, + 0.012717218853525336, + 0.01619759503923936, + 0.019509865825017913, + 0.022395533742251623, + 0.02463419057705374, + 0.02633350380435673, + 0.02764660179471314, + 0.0286207027566904, + 0.029347757333328856, + 0.029905307010128678, + 0.030354326409748437, + 0.030743941844711575, + 0.03106319368697087, + 0.031303659793854445, + 0.03144818455606269, + 0.03162172816488693, + 0.0318365230296336, + 0.03206610110465751, + 0.032245787532360314, + 0.03233899294083395, + 0.032422968949488463, + 0.03250971438294182, + 0.032623500322229, + 0.03274346900231683, + 0.03286674402407734, + 0.032964905561840674, + 0.033045303797479525, + 0.03314072126428898, + 0.03321417641116126, + 0.03327314667409105, + 0.03331319331136082, + 0.03335219920580127, + 0.0333917027457741, + 0.03343670910455936, + 0.033524241945061824, + 0.033594945892188574, + 0.03362503057619729, + 0.033655320419399955, + 0.03369158099257811, + 0.03374727635609644, + 0.0337511998752149, + 0.033749629054570345, + 0.03376958042831861, + 0.03378403152148705, + 0.03381515168890329, + 0.033801619729714946, + 0.03378366361706762, + 0.033756591313637264, + 0.03374729373401465, + 0.03375627834146838, + 0.03376730541555475, + 0.03375286645198588, + 0.033691403457396754, + 0.0336002207680521, + 0.033526825207480355, + 0.033508294563249046, + 0.03350774632719724, + 0.033482854763851384, + 0.033423337648142946, + 0.033351853376222484, + 0.03327243929306728, + 0.03317365575599829, + 0.033085530103788584, + 0.03298254527277215, + 0.03287477315385708, + 0.032739326488619686, + 0.03255648661083067, + 0.03233001318759274, + 0.032071493356436595, + 0.03178625759450065, + 0.031389432996156125, + 0.030862470083086284, + 0.030169528665563668, + 0.029219232859153163, + 0.027896788353295184, + 0.026076211723591997, + 0.023667010763296845, + 0.02061183360982836, + 0.017029074098662923, + 0.013350963221596226, + 0.010038855068701958, + 0.007358926308217696, + 0.005403132144654155, + 0.004050248644452801, + 0.003188061891286972, + 0.002688988024533405, + 0.00243638143228714, + 0.0023818005665062637, + 0.002514155359118413, + 0.0028672678467254226, + 0.0034991081374766784, + 0.004483928779863153, + 0.005973680475728687, + 0.008083372607633888, + 0.010870334160434791, + 0.014247639479240255, + 0.017879720168301708, + 0.02142017849059255, + 0.024355543514545882, + 0.02661223157221942, + 0.028311864676233485, + 0.02950991703375262, + 0.030372730537950844, + 0.03100079942857413, + 0.03151352155164278, + 0.03190719182534007, + 0.03220516443099887, + 0.03245832727137652, + 0.03270015739221035, + 0.032899034799416395, + 0.03303877339722362, + 0.033164101666523185, + 0.033274996564847586, + 0.03338180374361016, + 0.03348326532854011, + 0.033596887715067775, + 0.033694909040943695, + 0.03378617379868973, + 0.033869186752045075, + 0.033961229936392, + 0.0340440231826728, + 0.03408596139206793, + 0.034135300113320326, + 0.03419953258481848, + 0.034276040825967545, + 0.03435850907002173, + 0.034387870740623994, + 0.03439920153708834, + 0.03444788558861437, + 0.034535951477030334, + 0.034609580082381006, + 0.03462276762895906, + 0.03460965776120361, + 0.03463743886117581, + 0.03471258145692628, + 0.03480756215745169, + 0.0348504679295902, + 0.0348504146483308, + 0.034859101645163856, + 0.03484536525099174, + 0.03483938430361767, + 0.03481974244223945, + 0.03484944866418468, + 0.03487384399175035, + 0.034896540670609315, + 0.03488580841044695, + 0.03489600413303808, + 0.03490778620578901, + 0.034926973773925576, + 0.03493876047395449, + 0.034927825389652695, + 0.03492380733767119, + 0.0349292960369898, + 0.03492956830649076, + 0.034930617863685655, + 0.0348965964157187, + 0.03488817163430237, + 0.03484322548921029, + 0.034827190275531696, + 0.034795757568034796, + 0.03477931841589481, + 0.03470853694640503, + 0.034583289853124186, + 0.03436724990288719, + 0.03414108175852932, + 0.03388613223378514, + 0.03349486152276122, + 0.032893344199741145, + 0.0318782191323551, + 0.030324385227412067, + 0.02820866821693248, + 0.025459134410407726, + 0.022234290751451412, + 0.018958980260512407, + 0.01592535088971076, + 0.013509417230134518, + 0.011837853059686543, + 0.010829074584722436, + 0.010492746490323114, + 0.010750558291341016, + 0.011645512352521972, + 0.013195562766509657, + 0.015363869774699503, + 0.018180223084730513, + 0.02130754510003843, + 0.02441290349497594, + 0.027273140590405483, + 0.029624479793981126, + 0.03136888874529351, + 0.03250656392794922, + 0.03324248030973596, + 0.03374435494802169, + 0.03406814916433654, + 0.034324590128302135, + 0.03449115889722867, + 0.034600133282526355, + 0.03461563550690784, + 0.03464472419743227, + 0.034683112602430156, + 0.034735328691647305, + 0.03475296558688284, + 0.03477120151741998, + 0.03480460217256587, + 0.034839060191685, + 0.03486775587170687, + 0.03486615823732673, + 0.034846629779216994, + 0.034839625076385786, + 0.034845573683393034, + 0.03483732861010828, + 0.03485195292066781, + 0.03487981821364275, + 0.034913990615293426, + 0.03490253661305302, + 0.03488530702101671, + 0.03487821019262686, + 0.03485335926133385, + 0.034826038197392765, + 0.034777703499328634, + 0.03476376838856796, + 0.03475133468926074, + 0.03476248912279827, + 0.03475829471359517, + 0.034762141086602014, + 0.03477431035618318, + 0.034738343654031306, + 0.03467552443880153, + 0.034634523754159145, + 0.03461617488520873, + 0.034596416275614175, + 0.034527172380474834, + 0.03447991710951323, + 0.034445703839795096, + 0.034424726541060484, + 0.03439196945204264, + 0.03433353404798226, + 0.03428696169039178, + 0.03424208092118596, + 0.03421724578216945, + 0.034159885082552126, + 0.034099063330687775, + 0.03399541067661882, + 0.033896933120460285, + 0.033809623794678355, + 0.03369899367346849, + 0.03356223991949487, + 0.03339173464637675, + 0.033213458910913166, + 0.03300067330971221, + 0.03273960044284086, + 0.03236537274027518, + 0.03182510372835708, + 0.031114767395915063, + 0.030070692694805244, + 0.028562481627088684, + 0.026519128655467104, + 0.02376357893219633, + 0.020336653601725894, + 0.0166727268205791, + 0.013078077736496373, + 0.009971808217977496, + 0.0075880148824017495, + 0.005882808628203101, + 0.004777642011756458, + 0.004113168364754485, + 0.003787992636719391, + 0.003748175841240594, + 0.003968510604696474, + 0.0044995039876318576, + 0.0054076087404965, + 0.0067840388757227765, + 0.008765003913664658, + 0.011373973618025153, + 0.014555598495044928, + 0.018088250048197335, + 0.021660695757637252, + 0.024804028080903005, + 0.027225831471413567, + 0.028977702079190797, + 0.03022269035254425, + 0.031094173436510865, + 0.03168718382728416, + 0.03209438302997744, + 0.0323958005974607, + 0.03264942341592027, + 0.0328218935492078, + 0.032968649259936554, + 0.033063229845094314, + 0.033137093372391714, + 0.033177820736188586, + 0.0332418121697617, + 0.033337197221790016, + 0.03339538873205005, + 0.03342539180422256, + 0.033435715416328504, + 0.03348247414516514, + 0.03351555395740941, + 0.03354257349273767, + 0.03355057556264253, + 0.03356386640007866, + 0.03361282689190276, + 0.033661798595623044, + 0.03366724366138466, + 0.033633287799375515, + 0.03362249900085729, + 0.033617288260898694, + 0.033619997989038204, + 0.033605090194844756, + 0.03357180339394816, + 0.033514694832865684, + 0.03348922606562595, + 0.03344283459865766, + 0.03340426353413346, + 0.03334836365699542, + 0.03329734453474105, + 0.03322687982380668, + 0.03315291990449363, + 0.033117011909258705, + 0.03307600374689105, + 0.03302747415807148, + 0.032976010613952146, + 0.032905156920333176, + 0.03281008303274988, + 0.03270667906508785, + 0.03257731682032145, + 0.03241265199303733, + 0.032251168970159026, + 0.032100702631460684, + 0.03194557903707862, + 0.03172098543378699, + 0.0314772611358238, + 0.03117985042130931, + 0.030835250361732878, + 0.03036046450083834, + 0.029749615198105876, + 0.028936522314471417, + 0.027860433410499066, + 0.026380122567984336, + 0.02438247401786328, + 0.021769119645454593, + 0.01856928972240136, + 0.015023412186991235, + 0.011563120955792448, + 0.008560559926662588, + 0.006217466359689385, + 0.004542635625600485, + 0.003393988307063966, + 0.0026652665774936756, + 0.002234143990061986, + 0.0020050595200033876, + 0.0019367439839358055, + 0.0020126888830633164, + 0.0022498591949846156, + 0.0026877345862096115, + 0.003388162812969236, + 0.004463989535344844, + 0.006012575251228874, + 0.008138746149258863, + 0.010894516144824784, + 0.014168493866790735, + 0.017725135845669933, + 0.020994916735209722, + 0.023724993384181915, + 0.025862831020243227, + 0.027423932544892483, + 0.028560191313537393, + 0.029437966221757463, + 0.030085484210641077, + 0.030586905144586677, + 0.03097818502086865, + 0.031326312206977555, + 0.03159244130980692, + 0.03179359583611399, + 0.0319647342202292, + 0.0321430644953733, + 0.03230538088841892, + 0.03245979224390709, + 0.032580294740656976, + 0.03267170830769016, + 0.03274739983878892, + 0.03285493415577618, + 0.03294884798940183, + 0.0330320832475433, + 0.033123608853979664, + 0.03322630706652207, + 0.033317003836150307, + 0.03340249926239503, + 0.03348323752957152, + 0.0335539960664831, + 0.03361876486845227, + 0.03367189681610575, + 0.03374146661803013, + 0.03381119584417809, + 0.03389437358622058, + 0.033970654591851675, + 0.034027957433380454, + 0.03405358011474819, + 0.034091251944214696, + 0.03411441493577975, + 0.03415593273075147, + 0.034186284237519196, + 0.034205248978549034, + 0.03417809417594031, + 0.034169513865462756, + 0.03420153600571974, + 0.03426849084922767, + 0.0343221610821777, + 0.034370368039480605, + 0.034411653261479616, + 0.03442351052862866, + 0.034440585509923495, + 0.03444911011437327, + 0.03446986785963322, + 0.03447869039268728, + 0.03449866657594905, + 0.03450887799545628, + 0.03452682676645673, + 0.03454208129532805, + 0.03457174173163881, + 0.034586013816251246, + 0.03459486623661068, + 0.03459350578664351, + 0.03462036935358269, + 0.03464446092896857, + 0.034653739549936564, + 0.034651774412380223, + 0.034653073027256134, + 0.03468016915684315, + 0.0346878511538887, + 0.03468167637716297, + 0.03466965437802188, + 0.034646580926035814, + 0.03467019314840994, + 0.03471291241313959, + 0.03476699808913075, + 0.03474118648340111, + 0.03470496661084708, + 0.03468682990381478, + 0.03472208286932959, + 0.03474124633744137, + 0.034747357138899565, + 0.03475948840393478, + 0.034795623628435024, + 0.034787090568866544, + 0.03475961284741514, + 0.0347290380816626, + 0.03472763025428056, + 0.034717132658107275, + 0.034687775418672774, + 0.034678999258779784, + 0.03467108731494553, + 0.034669865298902675, + 0.034658669407163875, + 0.03467069066614945, + 0.034683920244606946, + 0.03468710758608462, + 0.034686354870901354, + 0.03468899640246429, + 0.034712248208782506, + 0.034690580137305846, + 0.034661205897762636, + 0.034611531297251134, + 0.03459080346517659, + 0.034576716694466735, + 0.034590582094375405, + 0.03457010728319751, + 0.03457652742816303, + 0.0345932044934058, + 0.03461202484781716, + 0.03461996472024012, + 0.03459132837633904, + 0.03458362062977667, + 0.034559602176454436, + 0.03457895156171432, + 0.03455778664801044, + 0.03452366199145574, + 0.034477486435728205, + 0.03444863477980393, + 0.03443664258235936, + 0.034406951478919166, + 0.03439645727406922, + 0.034359355707030866, + 0.034340917022375884, + 0.034338458676815835, + 0.03432412945946475, + 0.03430545694337598, + 0.03427920742932359, + 0.03422061595516116, + 0.034163909587571636, + 0.03408765232841613, + 0.03403939479778104, + 0.0339600816433817, + 0.03390396725589441, + 0.03382115700807443, + 0.03369515157895251, + 0.033497889706041145, + 0.03324357004675004, + 0.03289034385656044, + 0.032314870783476966, + 0.031463203262646226, + 0.0302022960722291, + 0.02841020484535402, + 0.025995512584932347, + 0.023040949314112855, + 0.019824940595661783, + 0.016696504296797077, + 0.01395897230218781, + 0.011897479727982396, + 0.010480884292627068, + 0.009637797295075481, + 0.009370882829933404, + 0.009617093350344039, + 0.010394472417002708, + 0.011699906050482805, + 0.013614121826198498, + 0.016128229465014722, + 0.01898400274204361, + 0.021941649862345744, + 0.02483316684357684, + 0.027354360133324117, + 0.029328460770453868, + 0.0307213332578613, + 0.031675838853471514, + 0.03228204426429519, + 0.03269222555096515, + 0.032974730953873946, + 0.03316111674877757, + 0.033277514098202204, + 0.03337828862929809, + 0.03345645864181664, + 0.033492931475394526, + 0.03349214197466983, + 0.033489397198132285, + 0.03351729590868664, + 0.033539505042044004, + 0.033543792445736895, + 0.033509808730224015, + 0.033475804031490836, + 0.033467854676095504, + 0.033462990763735094, + 0.033438276522571794, + 0.03339830747033977, + 0.03335623299941557, + 0.03337157711521795, + 0.03337149852214917, + 0.03334358954659948, + 0.03326975363066161, + 0.03324335715247231, + 0.03324571600470054, + 0.03326276069722322, + 0.03322299935840059, + 0.03313070669421155, + 0.03305296823141768, + 0.03299476892245794, + 0.032959954655921754, + 0.0329025178313387, + 0.0328460833516477, + 0.03276519652787209, + 0.032688470993103215, + 0.03261409206118252, + 0.03253714085137428, + 0.032411930633047994, + 0.032275364966828805, + 0.03218973554326687, + 0.03207890698427571, + 0.03190433761659224, + 0.03167304310423467, + 0.031444527357484896, + 0.031190586759349395, + 0.030845917614392846, + 0.03039652399125061, + 0.029781188741396458, + 0.028951529733785605, + 0.027821193559174645, + 0.026272122480301467, + 0.024125536279737833, + 0.021337144778058908, + 0.01801754494729464, + 0.014473873825126866, + 0.011158028541711251, + 0.008375081372574828, + 0.006230310437462175, + 0.004729188029531447, + 0.0037203058443815856, + 0.0030801783548098883, + 0.0027277706834577297, + 0.0025835341798307885, + 0.0026141542475459196, + 0.002817511286639986, + 0.003235680966280507, + 0.003944001865601469, + 0.004996383614246495, + 0.00649068899689757, + 0.008539758723409273, + 0.011172447206794434, + 0.014309576472694636, + 0.017702618244412473, + 0.020998534194270245, + 0.023810010387996246, + 0.025932605930912334, + 0.027488635708256222, + 0.0285864804171857, + 0.029363934505557826, + 0.02993675394793912, + 0.030389029048588905, + 0.030760865088312047, + 0.031031948663944306, + 0.031224777806470795, + 0.031366813092351564, + 0.03151623237330356, + 0.03165376568589267, + 0.03175279757149434, + 0.03181646305100466, + 0.03188187903921884, + 0.03195998369717018, + 0.03202742387265072, + 0.03207343964161103, + 0.03210464578267689, + 0.03214770402317828, + 0.03216567363689394, + 0.03218046120695634, + 0.03222018041009983, + 0.032270964619860204, + 0.03230078330114168, + 0.032311345769696, + 0.03233386132742203, + 0.032361555049357595, + 0.032372589057530425, + 0.032343711154116404, + 0.03230775582591249, + 0.03232957459768398, + 0.03233585155388949, + 0.032305132067733514, + 0.03224677521791828, + 0.032193696645540205, + 0.032144085313078476, + 0.032103407300835836, + 0.03207814152260184, + 0.03200402003620816, + 0.031869603835284296, + 0.031734193204587084, + 0.03157711071436552, + 0.03135667149238326, + 0.031076885250701906, + 0.030736346693759194, + 0.030281712430468292, + 0.0296490865745999, + 0.02873828530408959, + 0.027457005210613613, + 0.025665964536589255, + 0.023213991587336728, + 0.02011185562525711, + 0.016650749164299365, + 0.013187584923903652, + 0.010128483810668939, + 0.007691968221805113, + 0.0058907329088882425, + 0.004676080332171805, + 0.003894221404693482, + 0.003443862818483479, + 0.003249104954280211, + 0.0032670579598694655, + 0.003493300811066667, + 0.003956388925781486, + 0.00473562863237262, + 0.005912021513349771, + 0.007543598479263219, + 0.009701730555958337, + 0.012424413851886792, + 0.01565517901179788, + 0.01905949162232013, + 0.022232512539203567, + 0.024964885035573037, + 0.026999024037354363, + 0.028462326049026022, + 0.02949773374802519, + 0.030214270936525532, + 0.030723619626437246, + 0.031105175632871025, + 0.031399057982744914, + 0.03163463388061758, + 0.03182486418278124, + 0.03196271926482234, + 0.03208862170676327, + 0.03219307395261584, + 0.03227224188817434, + 0.03237881674115158, + 0.03246999646060887, + 0.03254328051224283, + 0.03258284391658849, + 0.03265970043336297, + 0.032740796490715776, + 0.03277824320100032, + 0.03280452168404737, + 0.032845570974400606, + 0.03292566040916172, + 0.03298963467500754, + 0.03299149054284169, + 0.032990589569738875, + 0.033000808327447013, + 0.03301515973960059, + 0.03303506163230965, + 0.03305877256645483, + 0.033078080125233965, + 0.033089794111510175, + 0.03310956447516918, + 0.03313567133818909, + 0.033127907801841924, + 0.03309965857896119, + 0.03308558021307021, + 0.03308555724629728, + 0.03309023477437251, + 0.03306176827565279, + 0.03303106351874623, + 0.03295372720653604, + 0.03284370268195048, + 0.03267941224080497, + 0.032496348803201444, + 0.03221490036224927, + 0.03177703899707114, + 0.031142231483728747, + 0.030218039412418303, + 0.02887374400744578, + 0.026953214564425468, + 0.024387983886723297, + 0.02129699948752795, + 0.01799705339991789, + 0.01483482181055632, + 0.012128922360720324, + 0.010083642100252045, + 0.008634559489705124, + 0.007750771813001277, + 0.007342032204517541, + 0.007351422706020379, + 0.00775365487528087, + 0.008563396653721045, + 0.009890429715899913, + 0.011771223779969935, + 0.01414341442949399, + 0.016931140383454057, + 0.019948140496260827, + 0.022988211420969688, + 0.025725979417764035, + 0.02795589277104746, + 0.02964149311513499, + 0.03077964277184924, + 0.03152858378394241, + 0.03205848560392464, + 0.03243507022170927, + 0.03267963426893679, + 0.032835692833006046, + 0.03295806711316241, + 0.033054362336305286, + 0.03312903400084736, + 0.03315120094760353, + 0.033176913756274524, + 0.03319246524556022, + 0.03323676299610633, + 0.03327809284679813, + 0.0333099783299114, + 0.03333119512075572, + 0.03332370824136476, + 0.03332368706085281, + 0.03333171852305638, + 0.033327358045597805, + 0.03331460310393981, + 0.03333101712533837, + 0.03335250685163832, + 0.0333501094860238, + 0.03334362135533889, + 0.03334189316842487, + 0.03334495313568985, + 0.03333385892213267, + 0.03331843300769957, + 0.03327180584305121, + 0.03322330673063329, + 0.03321982070517225, + 0.033225525874265464, + 0.03319721088923833, + 0.03315278573559102, + 0.03307543617928647, + 0.03297996014258891, + 0.03288004698009643, + 0.032801810466137976, + 0.03271720041188547, + 0.032569045876566886, + 0.032353912385969595, + 0.03209871373230688, + 0.031769309901835255, + 0.031274041015325466, + 0.03049210013781372, + 0.029363802938665386, + 0.02775746525075471, + 0.025556982407346385, + 0.022731963250640225, + 0.019452841344886625, + 0.016051572927886774, + 0.012965459009021577, + 0.010393093515322424, + 0.008422256058380052, + 0.007087998207234828, + 0.00625622235707874, + 0.005827292653668659, + 0.005734309899655702, + 0.005959185002160041, + 0.006543234208367105, + 0.007528204345902243, + 0.008979166486839456, + 0.010960989024543727, + 0.01342075995135138, + 0.01629347751231098, + 0.01941694357647029, + 0.022505251059269104, + 0.025293957929728758, + 0.02750427629677263, + 0.029107941914252693, + 0.030227956177858145, + 0.030957255925707493, + 0.03144347694249179, + 0.03175720969669202, + 0.031977607477381105, + 0.03216999004443953, + 0.03230299435833743, + 0.03240846053878274, + 0.03247322430635903, + 0.032559855021800324, + 0.0325988243263056, + 0.032606609510402076, + 0.03263227624454713, + 0.03266321640178308, + 0.032679966298286095, + 0.03268456040286155, + 0.0326855038311741, + 0.03270581806340695, + 0.032684544102203034, + 0.032660465417612514, + 0.032628159785678554, + 0.03260384980493521, + 0.03259238408644621, + 0.03256915310685027, + 0.032541717102413735, + 0.032490218782602116, + 0.03244752191000524, + 0.03242238146636622, + 0.032387381468767705, + 0.03231603799141395, + 0.03221438175573567, + 0.03210510188260347, + 0.03200591515570626, + 0.03192405760832005, + 0.03182893888036064, + 0.03171698053967771, + 0.031542109981426245, + 0.031302813138287804, + 0.030999710631210653, + 0.030609048178682, + 0.030075667591272247, + 0.029331666896976527, + 0.02830242254416477, + 0.02685888430056901, + 0.02483953661620062, + 0.022167952786887903, + 0.018927029810664, + 0.01545377544109852, + 0.012168982408396778, + 0.009325991619471764, + 0.00712789678210308, + 0.0055315391674854615, + 0.004448975909368409, + 0.0037793565336398834, + 0.003397428413773768, + 0.003243312474370874, + 0.003288737459229511, + 0.0035340410834432956, + 0.004020218627605964, + 0.00478671243220297, + 0.00592404091616175, + 0.007508043514024653, + 0.009578558621024304, + 0.012179652475873607, + 0.01523610251402899, + 0.01856517744544535, + 0.021771126448832487, + 0.02446506925970916, + 0.026547668815238984, + 0.028090698545883298, + 0.02914627964769275, + 0.029897990943604017, + 0.03041329263593974, + 0.03082265871769161, + 0.03111958027314155, + 0.031334450832802466, + 0.03149429587582878, + 0.03163108776630179, + 0.03174927298374785, + 0.031862722308044274, + 0.03195336688503491, + 0.032025357969295384, + 0.03208489651083605, + 0.03215177506022386, + 0.032229293403748846, + 0.03229298830681271, + 0.032333813469281124, + 0.03236674740944342, + 0.03239139937075347, + 0.03240672577027228, + 0.03243557589158116, + 0.032495067832450035, + 0.03254250686819027, + 0.03256764992410129, + 0.03258578639232904, + 0.032599239847666106, + 0.03261192543958218, + 0.03263534141655937, + 0.032672665246892725, + 0.03265887852213791, + 0.03262218494993347, + 0.03255536665738768, + 0.032496163499297716, + 0.0324271701744848, + 0.03233643391096996, + 0.032217582734962384, + 0.032055310279639, + 0.03180773250753077, + 0.031417348549992966, + 0.030850894561079926, + 0.029974743570862074, + 0.02867090602574195, + 0.026830184940608903, + 0.02438443360356971, + 0.021414860725880322, + 0.01812903646547413, + 0.014917104184373368, + 0.01208994925195099, + 0.009870425810464661, + 0.008270015188278626, + 0.007196797196833435, + 0.006600695300902408, + 0.006376619477061936, + 0.006485247437582114, + 0.006938017511464732, + 0.0077660109986889166, + 0.009070126571556926, + 0.010845138387381407, + 0.013091364685276689, + 0.01580258535369726, + 0.01876503689026551, + 0.02185236068832469, + 0.024707753322474803, + 0.027084724279151692, + 0.028920739143414618, + 0.03020847029632175, + 0.031062799837235016, + 0.03164302710052224, + 0.0320611302274888, + 0.03237524177782492, + 0.03259882635321336, + 0.032747360975745037, + 0.03286873445391764, + 0.032964600879646214, + 0.03305608585422493, + 0.0331353530203, + 0.03321041251025537, + 0.03327196209181419, + 0.03334311878435189, + 0.033400307483528326, + 0.03341389902156154, + 0.03343630181318444, + 0.03349078771458502, + 0.03355602765622711, + 0.03360170233722077, + 0.03363913372403871, + 0.03366882195727513, + 0.03367129780166927, + 0.03367515176163999, + 0.033692657069020054, + 0.03371494318037129, + 0.03372941263737427, + 0.03373212527997886, + 0.03376401088793524, + 0.033791280219331886, + 0.03382835180148968, + 0.033849001718894614, + 0.033893253911534575, + 0.03392576771181733, + 0.03395326827600941, + 0.033949801062433574, + 0.03395166320008128, + 0.03397039926726446, + 0.03398204244851567, + 0.03399125387548387, + 0.03398996692790636, + 0.03400981526402969, + 0.034018066128273954, + 0.034023225227679504, + 0.03403863236228062, + 0.03407110033912016, + 0.034095619493802104, + 0.03413868750639342, + 0.034151066986346554, + 0.0341492785563676, + 0.034128169670161884, + 0.03414127295748725, + 0.034151093680750116, + 0.03414456369373573, + 0.03415668930389055, + 0.03414949431472485, + 0.03413959225858074, + 0.03411935017517235, + 0.034140481496646696, + 0.03413846299300702, + 0.03412742768862003, + 0.034123391785270886, + 0.03413496452239319, + 0.0341464272432593, + 0.03414729904509122, + 0.03414760374143336, + 0.03414771049764247, + 0.03415277551230987, + 0.03415083341209548, + 0.03414373650304911, + 0.03413758941951422, + 0.03413656475033509, + 0.03411894384646892, + 0.03412528189963514, + 0.03409399871411375, + 0.034089294669653, + 0.03408577524418892, + 0.034124246863953545, + 0.03414757705248537, + 0.03414522414088084, + 0.03410938126391194, + 0.03405501566579567, + 0.03401992472489496, + 0.03399456865494166, + 0.03397308256827349, + 0.033942862166748786, + 0.03392316211741022, + 0.03390002567615546, + 0.0338932999241052, + 0.033860404365644414, + 0.03384101831845986, + 0.03383036436000848, + 0.03382354838626434, + 0.03379623568485871, + 0.03376624413778694, + 0.03374855150836884, + 0.033733577265557854, + 0.03370882814102842, + 0.033671674075396604, + 0.033592311227617244, + 0.033462804950591604, + 0.0333055029408041, + 0.03312540448131335, + 0.03283676428901674, + 0.03238840385823105, + 0.03170862475585221, + 0.0307196592037807, + 0.029280976133810702, + 0.027321061450918626, + 0.024802007518449132, + 0.02188371371991244, + 0.018892717967966183, + 0.016114857704055713, + 0.01381420405651016, + 0.01214248671591276, + 0.011064416595814511, + 0.010507929208727404, + 0.010431987693514517, + 0.010814897118125968, + 0.011687745514036717, + 0.013049886204777239, + 0.01491738261119751, + 0.017225843101603258, + 0.019788441881378505, + 0.02245199176378885, + 0.02503070305850396, + 0.02735266473118962, + 0.029238855519382743, + 0.030614778441564083, + 0.031540087237438404, + 0.03216838137124009, + 0.03261847487252965, + 0.03293267986566827, + 0.033108109260145326, + 0.03320999598785182, + 0.033285512750522384, + 0.03334708462975238, + 0.0334157049632285, + 0.03347506877135577, + 0.03350204659185074, + 0.033489380084802955, + 0.033480861957475336, + 0.033515800347887016, + 0.03352910438278209, + 0.03353581291666866, + 0.03353276714979986, + 0.03352770425061468, + 0.03352398899968534, + 0.03347762094650036, + 0.03343325064212059, + 0.033428577950303705, + 0.03344352791048437, + 0.03346499639555293, + 0.03346586792711768, + 0.033476353360287425, + 0.03346334317364088, + 0.03343556828725427, + 0.033393012847337, + 0.033376032035612783, + 0.03333280988031766, + 0.033259496364970394, + 0.033177976103463486, + 0.03310742978544657, + 0.033009268872346585, + 0.03284660191839071, + 0.03263845186483873, + 0.03233553645161203, + 0.031832465717386196, + 0.031096375466337686, + 0.030026470632030726, + 0.02847343692840018, + 0.02636973620506317, + 0.02377959750012337, + 0.0208827865340823, + 0.017980022547731827, + 0.015387058984704391, + 0.013325377742312659, + 0.011846917778565533, + 0.010927586812629054, + 0.010523177895032038, + 0.01057495424003852, + 0.01107682561799876, + 0.012039899067374456, + 0.013492848549383929, + 0.015395408838946415, + 0.017660668773599328, + 0.020157396615140776, + 0.022737032374233322, + 0.025201755655142877, + 0.027366008144953494, + 0.029105718408081172, + 0.03037162559056003, + 0.03122037480075192, + 0.031784850858768365, + 0.032133379807162216, + 0.03235770031528959, + 0.03250123997889076, + 0.0325777884736612, + 0.03260913238317074, + 0.03264747775493295, + 0.032688523983033506, + 0.03270818694738166, + 0.032721625276576766, + 0.03270957660748196, + 0.03266907192476084, + 0.03264228436220728, + 0.032643255838018505, + 0.03262264775401649, + 0.03259760012007234, + 0.03257308267328307, + 0.03254537135317291, + 0.032461166906287114, + 0.032400391236108474, + 0.03235073216880373, + 0.03231288313876646, + 0.03226132778185403, + 0.03220538797477467, + 0.03214746156778965, + 0.032048377714699705, + 0.03190539575006507, + 0.03175777332147876, + 0.03162223358683771, + 0.03144541564467726, + 0.03118603756709792, + 0.03084582687534918, + 0.030401434530580786, + 0.029810951144060526, + 0.028987577794974014, + 0.027816945348293317, + 0.026154320909438922, + 0.023905359783671375, + 0.02103556066087597, + 0.017761580405564126, + 0.014411506159183855, + 0.011330398614405109, + 0.008774808523036217, + 0.006823797117816185, + 0.005448783422914505, + 0.004534933679985613, + 0.003975493354624611, + 0.0036840408783730223, + 0.0036076809871094326, + 0.0037326281800897413, + 0.00406751973525372, + 0.0046475447601691455, + 0.005526647250540218, + 0.006765436646087639, + 0.008419323307937432, + 0.010537157726471874, + 0.013136269250223823, + 0.01614851329558505, + 0.019371108462881585, + 0.022426192270481725, + 0.02501453290314159, + 0.026993002355750688, + 0.028384957999262397, + 0.02932403503930451, + 0.029939639665362762, + 0.030401720116854748, + 0.030750133930074367, + 0.031010668079597802, + 0.031198255856783933, + 0.031354464321863604, + 0.031513629520946405, + 0.03165693458819955, + 0.03174032754491453, + 0.031776233948255614, + 0.031824715434520805, + 0.031902499155261145, + 0.031977063327134986, + 0.03203621476646055, + 0.03209366005014879, + 0.03212724223318551, + 0.03212889010987867, + 0.032106043612677, + 0.03212718120396166, + 0.032165513792192284, + 0.03219524458660157, + 0.03218453066661134, + 0.03217853548653151, + 0.032150806986555404, + 0.03215559863374524, + 0.03213541239847279, + 0.03205059549572152, + 0.03189950604221382, + 0.03172276656446737, + 0.03149912658967439, + 0.031156688988511757, + 0.030626363482678682, + 0.02982981878098335, + 0.028649755255653688, + 0.02696478964873996, + 0.02471744247488221, + 0.021943776773234187, + 0.018826388572195988, + 0.015727987603074225, + 0.012968622487547064, + 0.010757410431172133, + 0.009141836848566008, + 0.008060713149751706, + 0.007435234406837655, + 0.00719921320122326, + 0.007316077173361423, + 0.0077824708204844665, + 0.008619828485984131, + 0.00985867566768248, + 0.011529853746296418, + 0.013605651194916482, + 0.016054858345627643, + 0.01877527540088261, + 0.02161168045110953, + 0.024331540254700388, + 0.0266992177454304, + 0.02855201017723019, + 0.02991199863165021, + 0.030826939375198963, + 0.03142096365021309, + 0.03180335649254633, + 0.032058330743273175, + 0.03223691297715781, + 0.03239144139591217, + 0.03255671910179899, + 0.03267500693027644, + 0.03272993304225105, + 0.03278297567307466, + 0.032851164776830345, + 0.032923578311587764, + 0.03297072462167695, + 0.033006885269205546, + 0.033011336880186634, + 0.033033773222461316, + 0.033078386908759985, + 0.03312144515148244, + 0.03313137665632238, + 0.033130882556642906, + 0.033178612284644964, + 0.033216409066240855, + 0.03324086796726837, + 0.033294790170070865, + 0.03334362559650873, + 0.033336779632802516, + 0.033317399757323285, + 0.03332679452972928, + 0.03334000191027385, + 0.03334693403764417, + 0.033368079020067255, + 0.03339602689655142, + 0.03341175259009144, + 0.033394937777176205, + 0.03339673103301899, + 0.03344894313147585, + 0.03348429819986004, + 0.033466094361864915, + 0.033419123583025095, + 0.033407764962997334, + 0.03341661652678489, + 0.03343354699280904, + 0.03344262767731329, + 0.03342642323920867, + 0.03341456557871714, + 0.033425656050096154, + 0.033445501339955816, + 0.03347353850790026, + 0.033488928727055604, + 0.03345550861098648, + 0.03340057771644395, + 0.033415915811125074, + 0.03347393602098863, + 0.03350767351594613, + 0.033504883370237694, + 0.03346029347193433, + 0.033391513470118754, + 0.03335576188008905, + 0.033347031604207024, + 0.03335290361706301, + 0.03336655002850509, + 0.03338274321632869, + 0.03336156479055801, + 0.033294635821186885, + 0.03320060807327072, + 0.033167779538725135, + 0.03318694578098684, + 0.03319230764117326, + 0.033150808966541136, + 0.033114895083446644, + 0.033089343018556844, + 0.03305129296049344, + 0.03302428912378125, + 0.03302787987277896, + 0.03298581357347908, + 0.032913558153837966, + 0.03288387042793664, + 0.03285497533345148, + 0.03279617396319526, + 0.032706011886845715, + 0.03262461887810808, + 0.03253471188187054, + 0.03243471505824927, + 0.032316277020505435, + 0.032193348725254214, + 0.032038935989653926, + 0.031823730253873354, + 0.03152555047107815, + 0.031154915315876365, + 0.030641431061806293, + 0.029877021019019498, + 0.02874910825276764, + 0.027153712069389137, + 0.024992303834049212, + 0.02227116165605743, + 0.019127633010139596, + 0.01582564646513735, + 0.012749619083340985, + 0.010131744682693082, + 0.008121794195747682, + 0.006671855978476098, + 0.005697203244874377, + 0.0051038813048541075, + 0.0048098153817948755, + 0.004775767875061667, + 0.00498202590629145, + 0.00544370751568214, + 0.0061938026248998315, + 0.0072750313986607515, + 0.008725052734274109, + 0.010573802555502337, + 0.012843874877266289, + 0.015541913851894355, + 0.018550727263180376, + 0.021603626558490303, + 0.02440013526259065, + 0.026674438028006207, + 0.028354995141736578, + 0.029529087295454434, + 0.03035004949434723, + 0.030924793404321405, + 0.03132249803804238, + 0.03158791878748779, + 0.03174930182335272, + 0.031868780529583356, + 0.031976663515280015, + 0.032100732113044914, + 0.03223733716328797, + 0.03231763756175812, + 0.032330888409385625, + 0.032333679866054225, + 0.03240535972070552, + 0.03248776259038054, + 0.03250925880913807, + 0.03252860774434349, + 0.0325619136136198, + 0.03256382077327397, + 0.032554810752436325, + 0.03257032459310856, + 0.03259277107744668, + 0.032620096405385934, + 0.03264552012950911, + 0.03264947831254068, + 0.032569183455171874, + 0.032443710915278264, + 0.03230044102231418, + 0.0321438094100075, + 0.03192127229182325, + 0.03154616384031319, + 0.03089773317537785, + 0.029892171344502304, + 0.028493621912993497, + 0.026645397294863607, + 0.024332793726701617, + 0.021624835696157464, + 0.018829881576261292, + 0.01624086318244938, + 0.014098464444972461, + 0.012496013720903736, + 0.011414298579108277, + 0.010817724819668133, + 0.01065997728801531, + 0.010928299294261251, + 0.01161287601727401, + 0.012708551793078806, + 0.01422010988168099, + 0.016124011401410104, + 0.018323007024201463, + 0.02069547220230127, + 0.023114643141949293, + 0.025448037442040442, + 0.02754454827167794, + 0.02926671986859986, + 0.03054292144749381, + 0.0313918142548803, + 0.031941853894506614, + 0.032324625337426444, + 0.03256851378202089, + 0.0326924008662718, + 0.032791936063830594, + 0.032924459087361836, + 0.03303679979190687, + 0.0331153719731554, + 0.0332112981810016, + 0.03329014341567102, + 0.03328168618542901, + 0.03327374638783099, + 0.03331575261772619, + 0.03335622663284948, + 0.033376573845243104, + 0.03339523557619884, + 0.033418384420289625, + 0.03346096615246564, + 0.03348131737407228, + 0.033471595958775684, + 0.03347501747534233, + 0.03352490219335122, + 0.033579144100993115, + 0.03359314850677184, + 0.03357990974912486, + 0.03357520027588265, + 0.033584437680000814, + 0.033617812064498945, + 0.03365806221164016, + 0.03367106858156654, + 0.03369434168888158, + 0.03372178919315091, + 0.03372195403482477, + 0.03369295587105, + 0.03367935708791965, + 0.033670354991794146, + 0.03367429524985029, + 0.03371094788571965, + 0.03374050684639706, + 0.03374857106000554, + 0.03373666830581423, + 0.03369225217907363, + 0.03367921429727253, + 0.03372494749292085, + 0.03376642681199379, + 0.03377305443783133, + 0.03379140000465344, + 0.03378565126700381, + 0.03375679996497402, + 0.03372892440803836, + 0.03371726752045398, + 0.03371169571202878, + 0.033700178532115696, + 0.03369168491647927, + 0.0336816072822291, + 0.03369181915246716, + 0.03375160835598996, + 0.033791596018829625, + 0.033784858791459, + 0.033788936953672334, + 0.033762719347588614, + 0.03369983844533167, + 0.03368389456667565, + 0.03371278608056389, + 0.03371156565289602, + 0.033688779618997716, + 0.03368231485738236, + 0.03364052806892469, + 0.03358793610061211, + 0.03360569547210096, + 0.03366954196879559, + 0.033683059249876586, + 0.03364102237682888, + 0.03359018700737963, + 0.03357599154708429, + 0.03357544969430144, + 0.0335605169244446, + 0.033567771026579464, + 0.03358620616316825, + 0.033550938407885464, + 0.03349732040859616, + 0.03345792755972724, + 0.033331847786884396, + 0.033124414560115015, + 0.03293513965842783, + 0.032682594253229884, + 0.03220758005514545, + 0.03150581407646851, + 0.030555520587537306, + 0.029251912771845925, + 0.02753459286365585, + 0.02542975227856862, + 0.023167631704792278, + 0.020996672333722013, + 0.019093835292362697, + 0.01762509295154955, + 0.01662642259378002, + 0.01613463021430837, + 0.016131936476069357, + 0.016606043559950996, + 0.01752072023805466, + 0.018812046099215204, + 0.02039454208867764, + 0.022134973146112402, + 0.023927939427291767, + 0.02574473620297549, + 0.027482820092283162, + 0.02898321588495694, + 0.030183402766919384, + 0.0311349079180205, + 0.03185562890544944, + 0.03233944375500439, + 0.03263427087687236, + 0.032784256893387015, + 0.0328658313092353, + 0.03291846412731393, + 0.032966037287874915, + 0.03298954541593389, + 0.03296779721404104, + 0.032928352846273136, + 0.032912353582814226, + 0.032918741087704546, + 0.032940999955327885, + 0.03294032939198476, + 0.03291211391882204, + 0.03290455389867952, + 0.03289821111961142, + 0.03286234780053534, + 0.03282930462271986, + 0.032772860624891424, + 0.03269741445654194, + 0.03265168449617323, + 0.03261419350183245, + 0.03253202690955983, + 0.03237513981897418, + 0.03216052191164358, + 0.03190907743651588, + 0.031546403004985506, + 0.031023241276873174, + 0.030330974447810907, + 0.02934166716195505, + 0.027918075426643006, + 0.025956131302315697, + 0.023459837387343894, + 0.020553527031466474, + 0.01747363630194868, + 0.014556427758096674, + 0.012044020143814818, + 0.010095351749514632, + 0.008686058098749174, + 0.007749783775640354, + 0.00721823405930173, + 0.0070219018708071205, + 0.007150242707403789, + 0.007577898474476164, + 0.008329481740271441, + 0.009434513655255015, + 0.010900389903167895, + 0.012721905638036976, + 0.0148841485385152, + 0.017340404596651898, + 0.02000365667430051, + 0.02269826214698697, + 0.02516537867345899, + 0.0272308684098284, + 0.028784508298506196, + 0.029915780841433832, + 0.030677712690413316, + 0.031152394011996116, + 0.03141833320579144, + 0.0315924736725871, + 0.031789352851460465, + 0.03197398405874712, + 0.032066495311169244, + 0.03210097976049048, + 0.03214572703428616, + 0.032205255430745476, + 0.032212709264520877, + 0.032193115464728056, + 0.03221446093122261, + 0.032250928919368003, + 0.03224945099942678, + 0.03220983179853422, + 0.032170943481298515, + 0.03215109681105086, + 0.03212374622309108, + 0.0320620144799114, + 0.03194850098199862, + 0.03182301555314923, + 0.03170220553355525, + 0.0314820696112533, + 0.031134819168655764, + 0.030672141873632798, + 0.02998350669225684, + 0.028892083641383008, + 0.027348552684387347, + 0.025280517460591772, + 0.022735646076595423, + 0.01980331006513901, + 0.016802115390839995, + 0.014039970727209467, + 0.011710020120343256, + 0.009934057418839752, + 0.00866345664728881, + 0.007834678434305218, + 0.007383251546307666, + 0.007266379512215889, + 0.007478358052180762, + 0.008000976681723844, + 0.008856180312782515, + 0.010059560561936114, + 0.01160854394218968, + 0.013483916351820429, + 0.01564825335767628, + 0.01808761228600292, + 0.02068819271814192, + 0.02329769618148996, + 0.025710487304083613, + 0.02770575947383746, + 0.029145453316398232, + 0.030116730131722783, + 0.030783195736403385, + 0.03126224796508995, + 0.03156641266452029, + 0.031766657382245135, + 0.03190676074883224, + 0.03198561584365625, + 0.03206172037723988, + 0.032177632946133176, + 0.03228823516768743, + 0.03233356620447665, + 0.032330067015355936, + 0.03233596523153494, + 0.03235751059820673, + 0.03237979859464876, + 0.032381770480317325, + 0.0323462134629959, + 0.03229585677731715, + 0.03224153998417589, + 0.03219974889394125, + 0.03215122890966328, + 0.032034224063599195, + 0.031901268455835574, + 0.0317873850000003, + 0.03160565654734027, + 0.03122396330555411, + 0.030577186622154254, + 0.029624305708586894, + 0.028278946939757403, + 0.026485312969300383, + 0.024202979892186026, + 0.021531677794290934, + 0.01863480888522906, + 0.015889970874286632, + 0.013504713956244859, + 0.011627310767451122, + 0.010265762251174392, + 0.009366471188839811, + 0.008889069737475672, + 0.00878144811889472, + 0.009037384012699995, + 0.00963366113153036, + 0.010584386156961459, + 0.011902283084041804, + 0.013555293262800411, + 0.01550541107758183, + 0.017702813106553854, + 0.020082170630882638, + 0.02254972666163849, + 0.024932379537423627, + 0.027029298202724473, + 0.028758601585790963, + 0.03001613225125458, + 0.030821571525789127, + 0.03134972286282439, + 0.031761698089638246, + 0.03207556669915898, + 0.03228334030061077, + 0.03238353858201203, + 0.03242918594571157, + 0.032509002806453656, + 0.03259035000213834, + 0.032619436813746586, + 0.03259592610608597, + 0.032562469761176174, + 0.03258953562920253, + 0.032664494383422525, + 0.032716745129162034, + 0.03274584743421076, + 0.032751669198945677, + 0.03273743755595167, + 0.03272582050809263, + 0.032732916450986374, + 0.03272633528439106, + 0.032644221273984364, + 0.03250281562162112, + 0.032359026399965726, + 0.032160289126573906, + 0.03183056982456055, + 0.031281825869427037, + 0.03048546200341808, + 0.02939120414309421, + 0.02793734941967527, + 0.025999792512642148, + 0.023668136866447528, + 0.021151357300310158, + 0.018725143882970134, + 0.016624681751979054, + 0.014968785527768117, + 0.013814929149898916, + 0.013137150074740391, + 0.012893922910529227, + 0.013096388930937512, + 0.013700321153539616, + 0.014695361518652238, + 0.01606494418414874, + 0.01776741176734521, + 0.019689868645327815, + 0.021726862185551074, + 0.023805022279976717, + 0.025785923052414936, + 0.02763476035902924, + 0.029218705259052628, + 0.03044416280352387, + 0.031301323658975054, + 0.03189372909796654, + 0.03229251889691454, + 0.032603545677879174, + 0.03280987770765911, + 0.03287418773565965, + 0.03284600721425842, + 0.032846044254025326, + 0.03290681121307526, + 0.03301316608798376, + 0.03314054529739248, + 0.033184525947595606, + 0.033142608836263236, + 0.03309638439448612, + 0.033084033158999264, + 0.03313142481089284, + 0.03318471918521326, + 0.0331683020179986, + 0.0331262332980539, + 0.03311213232171127, + 0.03311418604914086, + 0.033105736446796104, + 0.033076780010593894, + 0.033048372060948815, + 0.032992275301447625, + 0.03286748165008439, + 0.032637612737115226, + 0.03223168094491705, + 0.03160445054860265, + 0.03075536506568119, + 0.02962456014177623, + 0.02811738760483392, + 0.026335702244538343, + 0.024359621852702455, + 0.02242217364662427, + 0.020706334798489143, + 0.019330074981613335, + 0.018380452595086225, + 0.017884911863879707, + 0.017862916642561566, + 0.018255744353838758, + 0.01907132767051441, + 0.02024567685244846, + 0.02166613454006368, + 0.023197613055665898, + 0.02477122356108639, + 0.026390437412761834, + 0.027947553560262926, + 0.029283834941961042, + 0.03035482200539325, + 0.031248014546423772, + 0.03196821714544176, + 0.032478452565475505, + 0.03277981302511893, + 0.03296699288995789, + 0.033072327422904634, + 0.03313749131250728, + 0.03317968523953079, + 0.03315707338840793, + 0.033117231555891746, + 0.03313848829918489, + 0.03320218287025794, + 0.03326188916121023, + 0.033253669848131974, + 0.03318824826795854, + 0.033148321046213534, + 0.033148161764961576, + 0.03316722560277419, + 0.033163908668945585, + 0.03310289578991359, + 0.03302105686931802, + 0.032955185453375176, + 0.032864232635199477, + 0.032672940122771554, + 0.032345983968783285, + 0.031932196704641244, + 0.031448463737675784, + 0.03074078725657026, + 0.029612961092773216, + 0.0280682278590524, + 0.026039053016983633, + 0.0235675179217028, + 0.020704854722284, + 0.01785179706982756, + 0.015240527953506347, + 0.013085569553528019, + 0.011443624312602879, + 0.010291887192524059, + 0.009611756097582438, + 0.009307558599372634, + 0.009367548269081165, + 0.009770578655126124, + 0.010528438922290509, + 0.011636598145221857, + 0.013090312188245945, + 0.014849447009004245, + 0.016874654846992652, + 0.019101692041323556, + 0.02146067048713276, + 0.023854266071195722, + 0.026155646571107322, + 0.028174042724283248, + 0.02970361874614886, + 0.03076787288722045, + 0.03151691251984055, + 0.032066006967222685, + 0.03250082695204075, + 0.032802023899289545, + 0.032956650044225023, + 0.03299506585665062, + 0.033045666210332315, + 0.03318460786326743, + 0.03331522971672129, + 0.03337960405395434, + 0.03339998193314576, + 0.033396146023292994, + 0.0334360182077731, + 0.03348294671235983, + 0.033527487701563614, + 0.03358737664860906, + 0.03357832042302863, + 0.03357896774878643, + 0.03364826381766806, + 0.0336594257119857, + 0.03363579078893292, + 0.033653164461573314, + 0.03367100587095008, + 0.0336341530148419, + 0.033565606930384115, + 0.03357349529921886, + 0.03367666374106131, + 0.03377313710925606, + 0.03378592123969008, + 0.03375295554351389, + 0.03377135976281309, + 0.03381192413857105, + 0.03383417840048374, + 0.03388201524990545, + 0.03393285115609274, + 0.033901397890797234, + 0.033823482924330565, + 0.033778159069456457, + 0.03377020252150605, + 0.03382656427407228, + 0.03390722336750735, + 0.033920120202769716, + 0.033865686375896535, + 0.033818410395125856, + 0.03382096937774314, + 0.03381831005075701, + 0.03380498045224014, + 0.03384288383343369, + 0.03385696046394203, + 0.033817712359679564, + 0.03384191391473476, + 0.03389669205194568, + 0.03389461681300688, + 0.03386223702558359, + 0.03380590247931316, + 0.033749787650848365, + 0.03377133148341473, + 0.03383582916200228, + 0.03385343638323639, + 0.03380257862261301, + 0.03372688484723101, + 0.033691494389816876, + 0.03372584563398547, + 0.03378220949341119, + 0.033772460520809934, + 0.03371510361892303, + 0.03371878111566122, + 0.033768540757300854, + 0.03367522746553525, + 0.033493708175028336, + 0.03339341270400352, + 0.03325335347734782, + 0.03292832802917405, + 0.03249294921569844, + 0.03194587879896101, + 0.03113570298698173, + 0.029909855348909328, + 0.02837750666045014, + 0.026497349294708622, + 0.02443274470958155, + 0.022330382742065096, + 0.020382260690532433, + 0.018816338712472153, + 0.01766232513207295, + 0.01695442308756974, + 0.016667013175538915, + 0.01681875428658684, + 0.017402961910507227, + 0.018348072904305, + 0.019603815140055506, + 0.021099980054569024, + 0.022768275748499774, + 0.024491174053317147, + 0.02613524418593406, + 0.027697437112224364, + 0.029100422790032335, + 0.030315460313477014, + 0.03126575474086876, + 0.03194847372621207, + 0.032410856667664835, + 0.03269809759822829, + 0.03286947216927055, + 0.03297649803086238, + 0.03303336111903939, + 0.033062026803493495, + 0.033009206524375244, + 0.0329734265079839, + 0.03303851523291269, + 0.033089733547389616, + 0.03309519147360486, + 0.03309737890914527, + 0.03304335023752933, + 0.03290583431348059, + 0.032758350618345984, + 0.03273037030239297, + 0.03276006182751842, + 0.03268018629690857, + 0.03246745686863129, + 0.032149421027367675, + 0.031729084665459886, + 0.03121980963995465, + 0.030443353163289503, + 0.029336899277846995, + 0.027790281246415485, + 0.02578536504659915, + 0.023146447210544253, + 0.02025257779149527, + 0.017217077340960382, + 0.014448086448657884, + 0.012125569658100603, + 0.010329683441447777, + 0.009059238651277092, + 0.008215493744768243, + 0.007757671259210576, + 0.007608084286094895, + 0.007764707192602676, + 0.008219029305248973, + 0.008962395165098518, + 0.010012514114855162, + 0.011368845536375889, + 0.013015163272915575, + 0.014930664088308171, + 0.017070430830027426, + 0.019431899510725967, + 0.021946201734204022, + 0.024409961913442146, + 0.026639575618747902, + 0.028503858411467478, + 0.029808042727165737, + 0.03073421337312987, + 0.03142172631667268, + 0.03191722638250776, + 0.032247618170112756, + 0.03247686520150922, + 0.03260749571624224, + 0.032597186667215464, + 0.032553664637423166, + 0.03269785084823646, + 0.032951212862416646, + 0.03304662643454037, + 0.032998272255760776, + 0.03299942704432605, + 0.03302685624251477, + 0.033030276913834304, + 0.032989373126529754, + 0.03290291841696878, + 0.03280828857837425, + 0.03272420070262208, + 0.03259575385048098, + 0.03237350856469632, + 0.0320213873316388, + 0.03142443831951228, + 0.030394575021012338, + 0.029076721153352345, + 0.02744895806228852, + 0.025527861355075024, + 0.02327936346200963, + 0.0210080370102527, + 0.018964677795662948, + 0.017297861139635436, + 0.016071044532065946, + 0.01526696929134482, + 0.014919751357207685, + 0.014948605046249073, + 0.015383811857220405, + 0.016203330835764865, + 0.017418788149530844, + 0.01892500890141906, + 0.020592052943093152, + 0.0223311455437079, + 0.024081758038888866, + 0.025834888077628442, + 0.02750992777993317, + 0.02905152871723178, + 0.03039673194315687, + 0.031450703028982584, + 0.032121758403558014, + 0.03254548650873974, + 0.03289100000589705, + 0.033194795863794514, + 0.03337088890740394, + 0.033397199055556805, + 0.03342164592911147, + 0.03351058192908019, + 0.03355694903963356, + 0.03355704139553892, + 0.03365771001001152, + 0.03378273844905781, + 0.03373326906085922, + 0.03361667825505762, + 0.03361162230980662, + 0.03362269521666293, + 0.033551947545388164, + 0.03347981860841075, + 0.033450612004533774, + 0.03338986324745282, + 0.03329905541698097, + 0.033220266942961534, + 0.03305677781282702, + 0.03265456213297033, + 0.032053025219454835, + 0.03128684740172688, + 0.030280967372853695, + 0.028900983394591077, + 0.027340181172086784, + 0.025606554177587837, + 0.023959849995018722, + 0.022577709059815633, + 0.021481057559243684, + 0.02074829983123169, + 0.02038090897591421, + 0.020533383588990192, + 0.02104806930228409, + 0.021918473452705554, + 0.02307859985977328, + 0.024424927245313876, + 0.02579781939223611, + 0.027097544192025563, + 0.02836582899260751, + 0.029544855673767738, + 0.03059948345629047, + 0.03149572998716833, + 0.03223628662926525, + 0.03277323962168452, + 0.03328957693014439, + 0.03362170553612041, + 0.033682014080213596, + 0.03371837776612146, + 0.033780899147887435, + 0.03381486598222728, + 0.033857878769229216, + 0.033839993901819944, + 0.03382483585579181, + 0.033831233195710256, + 0.03382219992158077, + 0.03383043203153846, + 0.03379240405683132, + 0.033697484020001965, + 0.033675357244433324, + 0.03371748869637603, + 0.0337030706302162, + 0.03366379138476154, + 0.03366247291868153, + 0.03368200975252375, + 0.0336139669068916, + 0.03337268595418245, + 0.033147048934711786, + 0.03285090130261849, + 0.032269210775393395, + 0.0314357433722157, + 0.030319127834683594, + 0.028877891697110414, + 0.027288619224639876, + 0.025829860534281927, + 0.024444626176089446, + 0.023313982092602072, + 0.022556216946297593, + 0.02211925076168242, + 0.02211337694642662, + 0.02246662924285341, + 0.023236305024723326, + 0.024201181181306868, + 0.025328497796809884, + 0.026531109817221114, + 0.027637335874852665, + 0.02870576156381924, + 0.029799981447765456, + 0.03088112831847201, + 0.03170085606363341, + 0.032251867320052086, + 0.03261178344260055, + 0.033069263053243994, + 0.03340067134146614, + 0.0335477589481721, + 0.03364516736399257, + 0.03367157892492402, + 0.03363394371923848, + 0.033729861820846904, + 0.03381289888105958, + 0.03386361055711081, + 0.03396437604108572, + 0.033962670912000524, + 0.03381495322039495, + 0.03359685757419497, + 0.03342920672646995, + 0.033358476304155074, + 0.03336192780486663, + 0.03335775892318206, + 0.0330820457930859, + 0.03272658859295918, + 0.03242962323065697, + 0.03204279347925535, + 0.031412768734957935, + 0.030494270924213335, + 0.028873130225148383, + 0.02692439080053186, + 0.024298146142952937, + 0.02150523167854246, + 0.018605822424919014, + 0.016061231484434862, + 0.013946538976613968, + 0.012320514222048055, + 0.011236808503597488, + 0.010539173373792248, + 0.010332408052864672, + 0.01047077590085484, + 0.01099074886048293, + 0.011843707375344556, + 0.013012861955964043, + 0.014495050337101266, + 0.016251431990679528, + 0.018209360971906858, + 0.0202611056625966, + 0.022410457848909274, + 0.02458090081710041, + 0.026649300596148794, + 0.0283971651365175, + 0.030035030021968525, + 0.03134946605130296, + 0.03225347046488324, + 0.032713919801328435, + 0.03282568498654792, + 0.03294523713950123, + 0.03324083846180475, + 0.03341702759858392, + 0.03335452684665079, + 0.03343263876919161, + 0.03371603375899166, + 0.033759910479778395, + 0.033464163356342835, + 0.03339631620582666, + 0.03364774338358747, + 0.03373744115439129, + 0.03359064540299607, + 0.03332060558329617, + 0.0330156067331213, + 0.03296641454715477, + 0.03309986127791369, + 0.03294781061720524, + 0.03234861237133528, + 0.031393949613324035, + 0.029798213225730702, + 0.027829436839904933, + 0.02525356985177843, + 0.02256455987556714, + 0.019935026220691838, + 0.017747532975522062, + 0.015909473117048153, + 0.014616177040942287, + 0.013903087823703005, + 0.013494337704984531, + 0.013678995699223227, + 0.014180384241762392, + 0.015194606118856941, + 0.01645555492364109, + 0.018055295167957692, + 0.020005390856972262, + 0.0217084471020568, + 0.023430458523519302, + 0.025288001868354868, + 0.02721640459484472, + 0.02857322548469595, + 0.029939437920585066, + 0.031052717740622914, + 0.03200659510895311, + 0.03266374345534244, + 0.03312968086723774, + 0.03331723884704845, + 0.03335225861283109, + 0.033394237970378764, + 0.033501327304021375, + 0.03359362420323845, + 0.033659434355763386, + 0.03350316411813986, + 0.03331117408660455, + 0.03346529758147531, + 0.033730452070458945, + 0.03412478214280809, + 0.03464281959756716, + 0.034625774515995814, + 0.03445672178093869, + 0.034703696263227245, + 0.03483958340393777, + 0.03479306742716333, + 0.03481058042775965, + 0.03483784019584058, + 0.034896531379775074, + 0.03496925796377547, + 0.035059497522976095, + 0.035001098524238994, + 0.034754725653783965, + 0.034280684481217676, + 0.033836875164372046, + 0.034090139173919086, + 0.034761850677626285, + 0.035172629580194355, + 0.03525864655212242, + 0.035205962279268574, + 0.03509862316256878, + 0.03512780703933681, + 0.035482812133057845, + 0.03528922073047869, + 0.03450481268584686, + 0.034450619954508106, + 0.034929901086089614, + 0.03513475387853203, + 0.03519732840590786, + 0.03491427194651621, + 0.034314669382406904, + 0.034448806804133446, + 0.0352925820672287, + 0.03552356276357013, + 0.035045553578010334, + 0.035333465783509745, + 0.03693304575195444, + 0.03747770086520214, + 0.035685887844780335, + 0.03427730022587709, + 0.03427730022587709 + ] + }, + "fit_range": [ + 1.0, + 15.0 + ], + "instrument": { + "description": "Pair distribution function (PDF) beamline (port 28-ID-1) at NSLS-II, BNL", + "radiation": { + "setup_wavelength": [ + 0.1665, + false, + null, + null + ] + }, + "polarization": { + "setup_polarization_coefficient": 0.01, + "setup_monochromator_twotheta": 0.0 + }, + "corrections": { + "calib_twotheta_offset": [ + 0.0, + false, + null, + null + ] + }, + "broadening": { + "peak_type": "cwl-thompson-cox-hastings", + "parameters": { + "broad_gauss_u": [ + 0.010379135146427253, + false, + null, + null + ], + "broad_gauss_v": [ + 0.0003328998068853359, + false, + null, + null + ], + "broad_gauss_w": [ + 0.0006360390661515072, + false, + null, + null + ], + "broad_lorentz_x": [ + 1e-05, + false, + null, + null + ], + "broad_lorentz_y": [ + 0.0028143034323339765, + false, + null, + null + ], + "asym_fcj_1": [ + 0.001, + false, + null, + null + ], + "asym_fcj_2": [ + 0.001, + false, + null, + null + ] + } + } + }, + "background": { + "chebyshev": { + "num_coefficients": 6, + "coefficients": [ + 30.0, + 0.6, + 0.7, + -0.4, + -0.8, + 0.9 + ], + "refine_flag": false + } + }, + "phases": { + "LaB6": { + "space_group": "P m -3 m", + "unit_cell": { + "a": [ + 4.15682, + false, + null, + null + ], + "b": [ + 4.15682, + false, + null, + null + ], + "c": [ + 4.15682, + false, + null, + null + ], + "alpha": [ + 90.0, + false, + null, + null + ], + "beta": [ + 90.0, + false, + null, + null + ], + "gamma": [ + 90.0, + false, + null, + null + ] + }, + "atoms": { + "La": { + "element": "La", + "x": [ + 0.0, + false, + null, + null + ], + "y": [ + 0.0, + false, + null, + null + ], + "z": [ + 0.0, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.00858, + false, + null, + null + ] + }, + "B": { + "element": "B", + "x": [ + 0.2021, + false, + null, + null + ], + "y": [ + 0.5, + false, + null, + null + ], + "z": [ + 0.5, + false, + null, + null + ], + "occupancy": [ + 1.0, + false, + null, + null + ], + "ADP": "Uiso", + "Uiso": [ + 0.009, + false, + null, + null + ] + } + }, + "scale": [ + 5.4e-06, + false, + null, + null + ] + } + }, + "refinement_controls": { + "calculator": "crysfml", + "minimizer": "lmfit (leastsq)", + "max_iterations": 1000, + "chi_square_change_tolerance": 1e-08, + "parameter_change_tolerance": 1e-08, + "gradient_tolerance": 0.0 + } + } +} diff --git a/tests/test_easydiffraction_native.py b/tests/test_easydiffraction_native.py index b60607d..dfa313c 100644 --- a/tests/test_easydiffraction_native.py +++ b/tests/test_easydiffraction_native.py @@ -548,10 +548,18 @@ def test_matches_template_unit_cases(): def test_run_lab6_crysfml_tch_success(lab6_crysfml_tch_result): - """CrysFML TCH fit succeeds.""" + """CrysFML TCH fit succeeds and says that its result can depend on the starting values (EB-90, A175).""" result = lab6_crysfml_tch_result assert result["success"] assert result["simulation_mode"] is False + hits = [w for w in result["warnings"] if w["code"] == "easydiffraction_crysfml_start_dependent"] + assert len(hits) == 1 and hits[0]["field_path"] == "payload.refinement_controls.calculator" + + +def test_crysfml_calculation_has_no_start_warning(lab6_crysfml_calculation_result, lab6_cryspy_pv_result): + """The start-dependence warning is for CrysFML refinements only, not a calculation or CrysPy (A175).""" + for result in (lab6_crysfml_calculation_result, lab6_cryspy_pv_result): + assert "easydiffraction_crysfml_start_dependent" not in [w["code"] for w in result["warnings"]] def test_run_lab6_cryspy_pv_success(lab6_cryspy_pv_result): @@ -865,6 +873,58 @@ def with_nan(refln): native_run.build_result(model, build, tmp_path, [], elapsed=0.0, fit_info={}) +def _translated_recipe() -> dict: + """P -3 m 1, Fe on 6i (x, -x, z) written as a database would, (0.137, 0.863, 0.389); xyz refined.""" + recipe = _load_fixture("lab6_cryspy_pv.json") + p = recipe["payload"] + for q in p["instrument"]["broadening"]["parameters"].values(): + q[1] = False + p["background"]["chebyshev"]["refine_flag"] = False + cell = dict(zip(("a", "b", "c", "alpha", "beta", "gamma"), (5.1, 5.1, 7.3, 90.0, 90.0, 120.0))) + p["phases"] = {"FeHex": { + "space_group": "P -3 m 1", "unit_cell": {k: [v, False, None, None] for k, v in cell.items()}, + "atoms": {"Fe1": {"element": "Fe", "x": [0.137, True, 0.1, 0.2], "y": [0.863, True, 0.8, 0.9], + "z": [0.389, True, None, None], "occupancy": [1.0, False, None, None], "ADP": "Uiso", + "Uiso": [0.005, False, None, None]}}, + "scale": [1e-6, False, None, None]}} + return recipe + + +def test_builder_position_translated_accepted(): + """A176: easydiffraction holds (0.137, 0.863, z) on (x, -x, z) as (0.137, -0.137, z): accepted, recorded, + and the free coordinate's bounds, value and reports stay in the recipe's writing.""" + model = schema.validate_recipe(_translated_recipe()) + build = native_builder.build_project(model) + site = build.structures["FeHex"].atom_sites["Fe1"] + assert (site.fract_x.value, site.fract_y.value) == (0.137, -0.137) + assert build.translations == {("FeHex", "Fe1"): (0, 1, 0)} + rows = {r["parameter_name"]: r["value"] for r in native_run._refined_rows(model, build)} + stated = {"x": 0.137, "y": 0.863, "z": 0.389} + for fp in build.free: + member = fp.name.rsplit("_", 1)[1] + assert rows[fp.name] == pytest.approx(stated[member], abs=1e-12) + if member in ("x", "y"): + lo, hi = {"x": (0.1, 0.2), "y": (0.8, 0.9)}[member] + assert (fp.parameter.fit_min + fp.report_offset, fp.parameter.fit_max + fp.report_offset) == \ + pytest.approx((lo, hi)) + hits = native_run._translations(model, build) + assert [w["code"] for w in hits] == ["easydiffraction_position_translated"] + assert hits[0]["field_path"] == "payload.phases.FeHex.atoms.Fe1" and "(0, 1, 0)" in hits[0]["message"] + + +def test_builder_free_offset_moves_bounds_and_reports(): + """_free with an offset: easydiffraction's bounds are the recipe's minus the offset; reports add it back.""" + from powderline.schema_core import BoundedRefinableParameter + + build = native_builder.Build(project=None, experiment=None, structures={}) + param = Mock() + native_builder._free(build, param, BoundedRefinableParameter.model_validate([0.863, True, 0.8, 0.9]), + name="y", path="p.y", descriptive="y", category="atom_xyz", offset=1) + assert (param.fit_min, param.fit_max) == pytest.approx((-0.2, -0.1)) + fp = build.free[0] + assert fp.limits == pytest.approx((-0.2, -0.1)) and fp.report_offset == 1 + + def test_zero_gsasii_imports_subprocess(): """A subprocess that blocks GSASII imports can import native_run and schema.""" import textwrap @@ -930,10 +990,32 @@ def test_two_phases_built_and_refined(drx33_two_phase_build, drx33_two_phase_res # ============================================================================ _GOLDEN_CASES = [("lab6_crysfml_tch.json", "lab6_crysfml_tch_build", "lab6_crysfml_tch_result"), + ("lab6_crysfml_tch_calculation.json", "lab6_crysfml_calculation_build", + "lab6_crysfml_calculation_result"), ("lab6_cryspy_pv.json", "lab6_cryspy_pv_build", "lab6_cryspy_pv_result"), ("lab6_slots_simulation.json", "lab6_slots_simulation_build", "lab6_slots_simulation_result"), ("drx33_two_phase_cryspy.json", "drx33_two_phase_build", "drx33_two_phase_run")] +#: Cross-build tolerances (A179; docs/regression-tolerance.md: rtol 1e-3 for values, ESDs and statistics, +#: 1e-4 for the cell). A value near zero is also accepted within 1 % of its ESD (easydiffraction's scales are +#: ~1e-6, so GSAS-II's atol 1e-4 does not fit). +GOLDEN_RTOL, GOLDEN_CELL_RTOL, GOLDEN_ESD_FRACTION = 1e-3, 1e-4, 1e-2 + +#: CrysFML refinements stop at start-dependent points (EB-90, A175): their goldens compare only what does not +#: depend on the stop (counts, warnings, the cell within 1e-4); the calculation fixture covers CrysFML's numbers. +START_DEPENDENT = {"lab6_crysfml_tch.json"} + + +@pytest.fixture(scope="module") +def lab6_crysfml_calculation_build(): + return native_builder.build_project(schema.validate_recipe(_load_fixture("lab6_crysfml_tch_calculation.json"))) + + +@pytest.fixture(scope="module") +def lab6_crysfml_calculation_result(tmp_path_factory): + return gateway.run(_load_fixture("lab6_crysfml_tch_calculation.json"), + str(tmp_path_factory.mktemp("lab6_crysfml_calculation"))) + @pytest.fixture(scope="module") def drx33_two_phase_run(drx33_two_phase_result): @@ -966,11 +1048,10 @@ def test_built_project_matches_golden(name, build_fixture, _result, request): @pytest.mark.parametrize("name,_build,result_fixture", _GOLDEN_CASES) def test_run_matches_golden(name, _build, result_fixture, request): - """Statistics, refined values (rel 1e-6) and ESDs (rel 1e-3), unit cell and warning codes match the golden.""" + """Statistics, refined values, ESDs, unit cell and warning codes match the golden within cross-build tolerance.""" res = request.getfixturevalue(result_fixture) gold = _golden(name)["run"] - for key in ("rwp", "r_exp", "gof", "chi2_red"): - assert res[key] == pytest.approx(gold[key], rel=1e-6) + assert sorted(w["code"] for w in res["warnings"]) == gold["warnings"] assert res["simulation_mode"] == gold["simulation_mode"] details = res["engine_details"] for key in ("calculator", "peak_type", "parameters_requested", "parameters_varied", "n_points"): @@ -978,14 +1059,18 @@ def test_run_matches_golden(name, _build, result_fixture, request): rp = res["refined_parameters"] refined = {n: (v, _finite_or_none(e)) for n, v, e in zip(rp.parameter_name, rp.value, rp.esd)} assert refined.keys() == gold["refined"].keys() - for n, (value, esd) in gold["refined"].items(): - assert refined[n][0] == pytest.approx(value, rel=1e-6, abs=1e-12) - assert (refined[n][1] is None) == (esd is None) - if esd is not None: - assert refined[n][1] == pytest.approx(esd, rel=1e-3) for phase, rows in gold["unit_cell"].items(): got = res["unit_cell_data"][phase].to_dict("records") for g, r in zip(rows, got): assert r["parameter"] == g["parameter"] - assert r["value"] == pytest.approx(g["value"], rel=1e-9) - assert sorted(w["code"] for w in res["warnings"]) == gold["warnings"] + assert r["value"] == pytest.approx(g["value"], rel=GOLDEN_CELL_RTOL) + if name in START_DEPENDENT: + return + for key in ("rwp", "r_exp", "gof", "chi2_red"): + assert res[key] == pytest.approx(gold[key], rel=GOLDEN_RTOL) + for n, (value, esd) in gold["refined"].items(): + floor = GOLDEN_ESD_FRACTION * esd if esd is not None else 1e-12 + assert refined[n][0] == pytest.approx(value, rel=GOLDEN_RTOL, abs=floor), n + assert (refined[n][1] is None) == (esd is None), n + if esd is not None: + assert refined[n][1] == pytest.approx(esd, rel=GOLDEN_RTOL), n From d1d7a08c1230111f3dda45f725d1e01bd823d0cc Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Sat, 10 Oct 2026 14:42:43 -0400 Subject: [PATCH 19/20] docs(easydiffraction): SCHEMA_HISTORY for the PR-review decisions (A174-A178) Settings verified on special sites (CrysPy 428, CrysFML 230), widths checked within 1 deg of the window, negative intensities refused, positions held as a lattice translation accepted with a warning, CrysFML's start-dependence warning, reflection-list values read strictly. Assisted-by: claude-code:claude-opus-5-5 --- docs/SCHEMA_HISTORY.md | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/docs/SCHEMA_HISTORY.md b/docs/SCHEMA_HISTORY.md index d9fd64b..e41e339 100644 --- a/docs/SCHEMA_HISTORY.md +++ b/docs/SCHEMA_HISTORY.md @@ -364,8 +364,10 @@ easydiffraction path is unchanged until re/07). (CrysPy) or `cwl-thompson-cox-hastings` (CrysFML, FCJ `asym_fcj_1/2`), and `cutoff_fwhm` (CrysPy only). Gaussian FWHM² = U tan²θ + V tanθ + W (deg²), Lorentzian FWHM = X tanθ + Y/cosθ (deg; GSAS-II's X and Y swap roles). A stated - profile that makes either width negative at a point handed to the engine is - an error (easydiffraction would compute a wrong pattern without a message). + profile that makes either width negative within 1° of the fit window (widened + by the size of the stated zero, displacement and transparency corrections) is + an error: easydiffraction computes reflections just outside the window too, + and would compute a wrong pattern without a message. - **Background**: `chebyshev`, over the fit window's first and last points. - **Phase block**: core's `space_group`, `unit_cell`, `atoms` (`Uiso` and `Uaniso` in Ų, used as given), plus `scale` (≥ 0: a phase may contribute @@ -373,14 +375,22 @@ easydiffraction path is unchanged until re/07). the one easydiffraction leaves free. - **Space groups**: the canonical name maps to one of easydiffraction's 230 short names plus a setting code (531 settings); each calculator accepts only - the settings it was verified to compute (CrysPy 437, CrysFML 230; the error - names one it computes, or the other calculator). + the settings it was verified to compute, for a general position and for every + special Wyckoff site (CrysPy 428, CrysFML 230; CrysPy computes + special positions wrongly in nine origin-choice-1 settings, which are refused + for it; the error names one it computes, or the other calculator). - **Calculator-specific rules**: `Uaniso` needs CrysPy (CrysFML is handed only B = 8π²·Ueq). With CrysPy, an atom on a special position with a free coordinate must be written in the pattern of easydiffraction's Wyckoff template for its site (CrysPy computes wrong intensities for other equivalent writings); the run refuses it before calculating and names the position to - write. + write. A position easydiffraction stores in another writing of the same site + (a lattice translation, e.g. (0.137, 0.863, z) on (x, −x, z) held as + (0.137, −0.137, z)) is accepted with the warning + `easydiffraction_position_translated`; bounds and reports stay in the recipe's + writing. CrysFML computes in single precision, below lmfit's finite-difference + step, so a CrysFML refinement can depend on its starting values: every CrysFML + refinement carries the warning `easydiffraction_crysfml_start_dependent`. - **Refinement controls** (required): `calculator` (`cryspy` | `crysfml`), `minimizer` (`lmfit (leastsq)`), `max_iterations` (lmfit's maximum number of function evaluations), `chi_square_change_tolerance`, @@ -389,7 +399,8 @@ easydiffraction path is unchanged until re/07). - **Fit window and data**: easydiffraction gets exactly the weighted points with min ≤ 2θ ≤ max (open ends: the data's first or last weighted point), as a CIF data loop at full precision; a weight above 1e8 (σ < 1e-4) on one of - them is an error (easydiffraction would replace σ by 1.0 without saying so). + them is an error (easydiffraction would replace σ by 1.0 without saying so), + and so is a negative intensity on one of them (easydiffraction refuses it). - **Results**: `rwp`, `r_exp`, `gof`, `chi2_red` from PowderLine's uniform fit statistics over the window (Rwp equal to easydiffraction's); its values, calculator, peak type, `parameters_requested` and `parameters_varied` @@ -399,8 +410,10 @@ easydiffraction path is unchanged until re/07). `easydiffraction_parameter_at_limit`, `easydiffraction_phase_contributes_nothing` (informative), `easydiffraction_fit_not_converged` (the values are reported), `easydiffraction_negative_width` (the refined profile makes a width negative - in the window), `easydiffraction_reflections_not_available` (CrysFML). Any - non-finite calculated value is a divergence error. + within the checked range), `easydiffraction_reflections_not_available` + (CrysFML), `easydiffraction_position_translated`, + `easydiffraction_crysfml_start_dependent`. Any non-finite calculated value, + refined value or reflection-list value is a divergence error. --- From 799938fccfff60ad35c10d5f1e062f8a043efdba Mon Sep 17 00:00:00 2001 From: acorrao <95718914+AdamCorrao@users.noreply.github.com> Date: Mon, 12 Oct 2026 13:36:51 -0400 Subject: [PATCH 20/20] fix(easydiffraction): at a zero limit, judge "ended at the limit" relative to the starting value (A181) easydiffraction_parameter_at_limit used an absolute 1e-12 at a limit of 0, which has no physical scale: a phase scale is ~1e-6, a Uiso ~1e-2. A value now ends at a zero limit when it is within 1e-6 of the parameter's starting value (1e-12 absolute only if it also started at 0), as nonzero limits use 1e-6 of the limit (re/06 PR review N4). Assisted-by: claude-code:claude-opus-5-5 --- docs/SCHEMA_HISTORY.md | 4 +++- .../gateways/easydiffraction/native_builder.py | 4 +++- .../gateways/easydiffraction/native_run.py | 7 +++++-- tests/test_easydiffraction_native.py | 16 ++++++++++++++++ 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/docs/SCHEMA_HISTORY.md b/docs/SCHEMA_HISTORY.md index e41e339..581a597 100644 --- a/docs/SCHEMA_HISTORY.md +++ b/docs/SCHEMA_HISTORY.md @@ -407,7 +407,9 @@ easydiffraction path is unchanged until re/07). (lmfit's count) under `engine_details`. The background column is easydiffraction's own. CrysFML reports no reflection list, so no peak lists are written with it. Warnings: `easydiffraction_parameters_not_varied`, - `easydiffraction_parameter_at_limit`, `easydiffraction_phase_contributes_nothing` + `easydiffraction_parameter_at_limit` (a value within 1e-6 relative of a stated bound + or physical limit; for a limit of 0, within 1e-6 of the parameter's starting + value), `easydiffraction_phase_contributes_nothing` (informative), `easydiffraction_fit_not_converged` (the values are reported), `easydiffraction_negative_width` (the refined profile makes a width negative within the checked range), `easydiffraction_reflections_not_available` diff --git a/src/powderline/gateways/easydiffraction/native_builder.py b/src/powderline/gateways/easydiffraction/native_builder.py index 5ea9f08..80ad6d0 100644 --- a/src/powderline/gateways/easydiffraction/native_builder.py +++ b/src/powderline/gateways/easydiffraction/native_builder.py @@ -73,6 +73,8 @@ class FreeParameter: members: tuple = () #: Added to easydiffraction's value to give the recipe's writing (a lattice translation, A176). report_offset: float = 0.0 + #: The recipe's starting value: the scale of "at a zero limit" (A181). + start: float = 0.0 @dataclass @@ -134,7 +136,7 @@ def _free(build: Build, param, p: BoundedRefinableParameter, *, name: str, path: limits, source = _bounds(p, physical) limits = tuple(None if v is None else (v - offset if src == "stated" else v) for v, src in zip(limits, source)) build.free.append(FreeParameter(param, name, path, descriptive, category, phase, atom, limits, source, - members or ((name, 1, 0),), offset)) + members or ((name, 1, 0),), offset, float(p.value))) def _set(obj, name: str, value) -> None: diff --git a/src/powderline/gateways/easydiffraction/native_run.py b/src/powderline/gateways/easydiffraction/native_run.py index 3c41bd2..6c6abb0 100644 --- a/src/powderline/gateways/easydiffraction/native_run.py +++ b/src/powderline/gateways/easydiffraction/native_run.py @@ -57,7 +57,9 @@ from powderline.schema_core import collect_warnings, parameters_requested from powderline.symmetry import cell_tie_groups -#: A refined value within this relative distance of a limit acting in the fit "ended at the limit". +#: A refined value within this relative distance of a limit acting in the fit "ended at the limit"; for a +#: limit of 0, relative to the parameter's starting value (A181: a phase scale is ~1e-6, a Uiso ~1e-2, so no +#: absolute tolerance fits every parameter; with a starting value of 0 too, 1e-12 absolute). LIMIT_HIT_RTOL = 1e-6 PEAK_LIST_COLUMNS = ("h", "k", "l", "d_spacing", "2theta", "F_calc_squared", "phase") @@ -272,7 +274,8 @@ def _limit_hits(build: Build) -> list: for side, lim, source in zip(("min", "max"), fp.limits, fp.limit_source): if lim is None: continue - tol = LIMIT_HIT_RTOL * abs(lim) if lim != 0 else 1e-12 + scale = abs(lim) if lim != 0 else abs(fp.start) + tol = LIMIT_HIT_RTOL * scale if scale else 1e-12 if abs(v - lim) <= tol: whose = "the recipe's stated bound" if source == "stated" else "easydiffraction's physical limit" found.append(StructuredWarning( diff --git a/tests/test_easydiffraction_native.py b/tests/test_easydiffraction_native.py index dfa313c..2fa7453 100644 --- a/tests/test_easydiffraction_native.py +++ b/tests/test_easydiffraction_native.py @@ -925,6 +925,22 @@ def test_builder_free_offset_moves_bounds_and_reports(): assert fp.limits == pytest.approx((-0.2, -0.1)) and fp.report_offset == 1 +@pytest.mark.parametrize("start, value, hit", [ + (5.4e-6, 1e-12, True), # a phase scale pinned at 0: within 1e-6 of its start + (5.4e-6, 1.6e-9, False), # statistically zero but not at the limit (the review's phantom phase) + (0.005, 3e-9, True), # a Uiso at 0 + (0.005, 1e-7, False), + (0.0, 1e-13, True), # started at 0: 1e-12 absolute +]) +def test_limit_hit_at_zero_relative_to_the_start(start, value, hit): + """A181 (N4): at a limit of 0, "ended at the limit" is relative to the parameter's starting value.""" + fp = native_builder.FreeParameter(Mock(value=value), "LaB6_scale", "payload.phases.LaB6.scale", "LaB6 scale", + "scale", limits=(0.0, None), limit_source=("physical", None), start=start) + build = native_builder.Build(project=None, experiment=None, structures={}, free=[fp]) + hits = native_run._limit_hits(build) + assert [w["code"] for w in hits] == (["easydiffraction_parameter_at_limit"] if hit else []) + + def test_zero_gsasii_imports_subprocess(): """A subprocess that blocks GSASII imports can import native_run and schema.""" import textwrap