From bd1b6164069988d47ad89dadec2825ed1017deb3 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Tue, 14 Sep 2021 17:28:22 +0200 Subject: [PATCH 01/39] update version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 7f2a3f76..68598fd7 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="py-track", - version="0.1.0", + version="0.1.2", author="Zincware", author_email="zincwarecode@gmail.com", description="A python package for parameter and data version control with DVC", From ab0e026e192b1699becac72e52493d4ec8274998 Mon Sep 17 00:00:00 2001 From: SamTov Date: Wed, 22 Sep 2021 11:51:32 +0200 Subject: [PATCH 02/39] Fix README.rst license link --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 2d2a6914..8d2c2c9d 100644 --- a/README.rst +++ b/README.rst @@ -84,7 +84,7 @@ Or you can install from source with: .. |license| image:: https://img.shields.io/badge/License-EPL-purple.svg?style=flat :alt: Project license - :target: https://www.eclipse.org/legal/eplfaq.php + :target: https://www.eclipse.org/legal/epl-2.0/faq.php .. |code style| image:: https://img.shields.io/badge/code%20style-black-black :alt: Code style: black From 3cb1874fd46dde3fd1f4012b23f4128c873f9e5b Mon Sep 17 00:00:00 2001 From: SamTov Date: Wed, 22 Sep 2021 11:51:59 +0200 Subject: [PATCH 03/39] enforce line length on README.rst --- README.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 8d2c2c9d..31990021 100644 --- a/README.rst +++ b/README.rst @@ -8,7 +8,8 @@ For more information on DVC visit their `homepage `_. Example ======== -PyTrack allows you to convert most Python classes into a DVC stage, including parameters, dependencies and all DVC output types. +PyTrack allows you to convert most Python classes into a DVC stage, including +parameters, dependencies and all DVC output types. .. code-block:: py From 64b7bb67a4661f21cbfae884c19e8b23c3db6ab0 Mon Sep 17 00:00:00 2001 From: SamTov Date: Wed, 22 Sep 2021 12:01:14 +0200 Subject: [PATCH 04/39] Update doc strings in the child class tutorial. --- docs/source/Overview/PassingClasses.ipynb | 211 ++++++++++++---------- 1 file changed, 115 insertions(+), 96 deletions(-) diff --git a/docs/source/Overview/PassingClasses.ipynb b/docs/source/Overview/PassingClasses.ipynb index dbffe517..e452d995 100644 --- a/docs/source/Overview/PassingClasses.ipynb +++ b/docs/source/Overview/PassingClasses.ipynb @@ -18,6 +18,11 @@ { "cell_type": "code", "execution_count": 1, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [], "source": [ "# We are working in a temporary directory for easier cleanup\n", @@ -35,17 +40,16 @@ "\n", "project = PyTrackProject()\n", "project.create_dvc_repository()" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "code", "execution_count": 2, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [ { "name": "stderr", @@ -61,6 +65,10 @@ "import inspect\n", "\n", "class Operation1:\n", + " \"\"\"\n", + " An implementation or algorithm you want to \n", + " be tracked by py-track.\n", + " \"\"\"\n", " def __init__(self, factor):\n", " self.factor = factor\n", "\n", @@ -68,6 +76,11 @@ " return inp * self.factor\n", "\n", "class Operation2:\n", + " \"\"\"\n", + " Another implementation or algorithm you want to \n", + " be tracked by py-track. should accomplish the same\n", + " goal as Operation1 but perhaps in a different way.\n", + " \"\"\"\n", " def __init__(self, factor, shift):\n", " self.factor = factor\n", " self.shift = shift\n", @@ -78,7 +91,18 @@ "\n", "@PyTrack(nb_name=\"PassingClasses.ipynb\")\n", "class ChildHandler:\n", + " \"\"\"\n", + " PyTrack enabled class which handles calling the\n", + " implementations.\n", + " \"\"\"\n", " def __init__(self):\n", + " \"\"\"\n", + " Standard constructor for the class where the\n", + " different operations are given as attributes.\n", + " \n", + " Beyond defining the operations, inputs and outputs\n", + " are also set as DVC trackable attributes.\n", + " \"\"\"\n", " self.methods = {\n", " Operation1.__name__: Operation1,\n", " Operation2.__name__: Operation2\n", @@ -90,6 +114,13 @@ " self.output = DVC.result()\n", "\n", " def __call__(self, operation: object, inp):\n", + " \"\"\"\n", + " This is what will be called when you run the\n", + " script. For example:\n", + " data = ChildHandler(Operation1(), ...)\n", + " Calling of this class will add it to the \n", + " computation graph which is later executed.\n", + " \"\"\"\n", " self.operation = operation.__class__.__name__\n", " operation_parameter = {}\n", " for key in inspect.signature(operation.__class__.__init__).parameters:\n", @@ -101,37 +132,41 @@ "\n", " self.input = inp\n", " def run(self):\n", + " \"\"\"\n", + " Called on the backed to execute the methods in\n", + " one of the child classes. In this case, the \n", + " method we want to run in the child class is \n", + " called convert_input.\n", + " \"\"\"\n", " Operation = self.methods[self.operation]\n", " operation = Operation(**self.operation_parameter)\n", "\n", " self.output = operation.convert_input(self.input)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, "source": [ "We are using `inspect.signature` and assume that the class attributes have the same name as the `__init__`\n", " parameters.\n", " They can be changed in any way though.\n", "\n", "Let us now use both passed child methods and see how it works out." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } + ] }, { "cell_type": "code", "execution_count": 3, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [ { "name": "stderr", @@ -162,29 +197,27 @@ "\n", "project.queue(name=\"Op2\")\n", "project.run_all()" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "markdown", - "source": [ - "We can now load them and see the results" - ], "metadata": { - "collapsed": false, "pycharm": { "name": "#%% md\n" } - } + }, + "source": [ + "We can now load them and see the results" + ] }, { "cell_type": "code", "execution_count": 8, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [ { "name": "stdout", @@ -199,17 +232,16 @@ "project.load(\"Op1\")\n", "print(child_handler.operation_parameter)\n", "print(child_handler.output)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "code", "execution_count": 9, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [ { "name": "stdout", @@ -224,30 +256,28 @@ "project.load(\"Op2\")\n", "print(child_handler.operation_parameter)\n", "print(child_handler.output)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "markdown", - "source": [ - "This nested methods can get arbitrarily complicated, having different dependencies and outputs.\n", - "In that case it might be useful to have a common parent class and loop over e.g., a list of dependecies as such:" - ], "metadata": { - "collapsed": false, "pycharm": { "name": "#%% md\n" } - } + }, + "source": [ + "This nested methods can get arbitrarily complicated, having different dependencies and outputs.\n", + "In that case it might be useful to have a common parent class and loop over e.g., a list of dependecies as such:" + ] }, { "cell_type": "code", "execution_count": 18, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [], "source": [ "class Operation:\n", @@ -280,29 +310,27 @@ " method.outs = self.outs\n", " # this is required because it adapts the paths to the correct directory!\n", " # It also converts them into pathlib.Path objects." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "markdown", - "source": [ - "Now we can pass our custom operation with a list of dependencies and outputs" - ], "metadata": { - "collapsed": false, "pycharm": { "name": "#%% md\n" } - } + }, + "source": [ + "Now we can pass our custom operation with a list of dependencies and outputs" + ] }, { "cell_type": "code", "execution_count": 19, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [ { "name": "stderr", @@ -319,29 +347,27 @@ "child_handler = ChildHandler()\n", "operation = Operation3()\n", "child_handler(operation)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "markdown", - "source": [ - "If we now look at the PyTrack dependencies and outputs they are all set correctly." - ], "metadata": { - "collapsed": false, "pycharm": { "name": "#%% md\n" } - } + }, + "source": [ + "If we now look at the PyTrack dependencies and outputs they are all set correctly." + ] }, { "cell_type": "code", "execution_count": 20, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [ { "name": "stdout", @@ -355,28 +381,21 @@ "source": [ "print(child_handler.deps)\n", "print(child_handler.outs)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "code", "execution_count": 21, - "outputs": [], - "source": [ - "# Cleanup\n", - "temp_dir.cleanup()" - ], "metadata": { - "collapsed": false, "pycharm": { "name": "#%%\n" } - } + }, + "outputs": [], + "source": [ + "# Cleanup\n", + "temp_dir.cleanup()" + ] } ], "metadata": { @@ -388,16 +407,16 @@ "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" + "pygments_lexer": "ipython3", + "version": "3.8.10" } }, "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file + "nbformat_minor": 1 +} From ccaaabb2fd82a5c10d1ea54db8aadc677197b1f4 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Fri, 24 Sep 2021 08:44:15 +0200 Subject: [PATCH 05/39] add tests for raise Error check --- .../test_ValueError_in_Stage.py | 50 +++++++++++++++++++ pytrack/__init__.py | 3 +- pytrack/core/decorator.py | 20 ++++---- pytrack/project/py_track_project.py | 6 +++ pytrack/utils/__init__.py | 3 +- pytrack/utils/config.py | 21 ++++++++ 6 files changed, 91 insertions(+), 12 deletions(-) create mode 100644 CI/integration_tests/test_ValueError_in_Stage.py create mode 100644 pytrack/utils/config.py diff --git a/CI/integration_tests/test_ValueError_in_Stage.py b/CI/integration_tests/test_ValueError_in_Stage.py new file mode 100644 index 00000000..35f5cee3 --- /dev/null +++ b/CI/integration_tests/test_ValueError_in_Stage.py @@ -0,0 +1,50 @@ +""" +This program and the accompanying materials are made available under the terms of the +Eclipse Public License v2.0 which accompanies this distribution, and is available at +https://www.eclipse.org/legal/epl-v20.html +SPDX-License-Identifier: EPL-2.0 + +Copyright Contributors to the Zincware Project. + +Description: +""" +import pytest +from pytrack import PyTrack, DVC, PyTrackProject +import shutil +import os +from subprocess import CalledProcessError + + +@PyTrack() +class RaiseValueError: + """BasicTest class""" + + def run(self): + """Run method of the PyTrack test instance""" + raise ValueError("Testing ValueError") + + +def test_project(tmp_path): + """Test that an ValueError is raised + + Currently it is not checked, which Error occurs in the subprocess but just that the subprocess call fails. + It only works within `project.repro` and not with `project.run` + + """ + shutil.copy(__file__, tmp_path) + os.chdir(tmp_path) + + project = PyTrackProject() + project.create_dvc_repository() + + error_stage = RaiseValueError() + error_stage() + + with pytest.raises(CalledProcessError): + project.repro() + + # with pytest.raises(CalledProcessError): + # project.run() + + with pytest.raises(ValueError): + error_stage.run() diff --git a/pytrack/__init__.py b/pytrack/__init__.py index 3c42b941..b47f5873 100644 --- a/pytrack/__init__.py +++ b/pytrack/__init__.py @@ -13,6 +13,7 @@ from .core.decorator import PyTrack from .project import PyTrackProject from .interface import DVCInterface +from .utils import config # -__all__ = ["PyTrack", "PyTrackProject", "DVCInterface", "DVC"] +__all__ = ["PyTrack", "PyTrackProject", "DVCInterface", "DVC", "config"] diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index 90ecff0b..04241842 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -115,9 +115,9 @@ def jupyter_class_to_file(self): imports += line if reading_class: if ( - re.match(r"\S", line) - and not line.startswith("#") - and not line.startswith("class") + re.match(r"\S", line) + and not line.startswith("#") + and not line.startswith("class") ): reading_class = False if reading_class or line.startswith("class"): @@ -205,13 +205,13 @@ def call_decorator(f): """Decorator to handle the call of the decorated class""" def wrapper( - cls: TypeHintParent, - *args, - force=True, - exec_=False, - always_changed=False, - slurm=False, - **kwargs, + cls: TypeHintParent, + *args, + force=True, + exec_=False, + always_changed=False, + slurm=False, + **kwargs, ): """Wrapper around the call diff --git a/pytrack/project/py_track_project.py b/pytrack/project/py_track_project.py index a380dd94..a801ab3e 100644 --- a/pytrack/project/py_track_project.py +++ b/pytrack/project/py_track_project.py @@ -85,4 +85,10 @@ def create_dvc_repository(self): @staticmethod def _destroy(): + """Remove the DVC directory""" subprocess.check_call(["dvc", "destroy", "-f"]) + + @staticmethod + def repro(): + """Run dvc repro""" + subprocess.check_call(["dvc", "repro"]) diff --git a/pytrack/utils/__init__.py b/pytrack/utils/__init__.py index c1bb2692..80d0ffb0 100644 --- a/pytrack/utils/__init__.py +++ b/pytrack/utils/__init__.py @@ -11,5 +11,6 @@ from .utils import is_jsonable from .serializer import serializer, deserializer +from .config import config -__all__ = ["is_jsonable", "serializer", "deserializer"] +__all__ = ["is_jsonable", "serializer", "deserializer", "config"] diff --git a/pytrack/utils/config.py b/pytrack/utils/config.py new file mode 100644 index 00000000..1cdc9f4c --- /dev/null +++ b/pytrack/utils/config.py @@ -0,0 +1,21 @@ +""" +This program and the accompanying materials are made available under the terms of the +Eclipse Public License v2.0 which accompanies this distribution, and is available at +https://www.eclipse.org/legal/epl-v20.html +SPDX-License-Identifier: EPL-2.0 + +Copyright Contributors to the Zincware Project. + +Description: +""" +from dataclasses import dataclass + + +@dataclass +class Config: + """Collection of PyTrack configurations""" + + debug: bool = False # not implemented yet + + +config = Config() From a8dd6f5a0c7841bb4b713a70b1b6de2c02a19217 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Wed, 29 Sep 2021 08:21:43 +0200 Subject: [PATCH 06/39] fix #71 --- CI/integration_tests/test_ValueError_in_Stage.py | 2 +- pytrack/core/decorator.py | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CI/integration_tests/test_ValueError_in_Stage.py b/CI/integration_tests/test_ValueError_in_Stage.py index 35f5cee3..6e603170 100644 --- a/CI/integration_tests/test_ValueError_in_Stage.py +++ b/CI/integration_tests/test_ValueError_in_Stage.py @@ -9,7 +9,7 @@ Description: """ import pytest -from pytrack import PyTrack, DVC, PyTrackProject +from pytrack import PyTrack, PyTrackProject import shutil import os from subprocess import CalledProcessError diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index 04241842..1c0e796a 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -16,6 +16,7 @@ import re import sys import typing +import functools from .py_track import PyTrackParent @@ -159,6 +160,7 @@ def apply_decorator(self): def init_decorator(self, func): """Decorator to handle the init of the decorated class""" + @functools.wraps(func) def wrapper(cls: TypeHintParent, *args, id_=None, **kwargs): """Wrapper around the init""" log.debug(f"Got id_: {id_}") @@ -201,9 +203,10 @@ def map_pytrack_to_dict(self_): return wrapper @staticmethod - def call_decorator(f): + def call_decorator(func): """Decorator to handle the call of the decorated class""" + @functools.wraps(func) def wrapper( cls: TypeHintParent, *args, @@ -237,20 +240,20 @@ def wrapper( """ cls.pytrack.pre_call() - function = f(cls, *args, **kwargs) + function = func(cls, *args, **kwargs) cls.pytrack.post_call(force, exec_, always_changed, slurm) return function return wrapper @staticmethod - def run_decorator(f): + def run_decorator(func): """Decorator to handle the run of the decorated class""" def wrapper(cls: TypeHintParent): """Wrapper around the run method""" cls.pytrack.pre_run() - function = f(cls) + function = func(cls) cls.pytrack.post_run() return function From 5b70b3796a0c0e0aba3fc63351089ac77a6c415d Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Thu, 30 Sep 2021 14:52:27 +0200 Subject: [PATCH 07/39] update logging, suppress py_track_project stdout --- pytrack/__init__.py | 19 ++++++++++++++++++ pytrack/core/data_classes.py | 2 +- pytrack/core/decorator.py | 2 +- pytrack/core/parameter.py | 2 +- pytrack/core/py_track.py | 2 +- pytrack/interface/base.py | 2 +- pytrack/project/py_track_project.py | 30 ++++++++++++++++++++++------- setup.py | 2 +- 8 files changed, 48 insertions(+), 13 deletions(-) diff --git a/pytrack/__init__.py b/pytrack/__init__.py index b47f5873..19005ff0 100644 --- a/pytrack/__init__.py +++ b/pytrack/__init__.py @@ -15,5 +15,24 @@ from .interface import DVCInterface from .utils import config +import logging +import sys + # __all__ = ["PyTrack", "PyTrackProject", "DVCInterface", "DVC", "config"] + +__version__ = '0.1.3' + + +logger = logging.getLogger("pytrack") +logger.setLevel(logging.INFO) + +# Formatter for advanced logging +# formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') +formatter = logging.Formatter('%(asctime)s (%(levelname)s): %(message)s') + +channel = logging.StreamHandler(sys.stdout) +channel.setLevel(logging.DEBUG) +channel.setFormatter(formatter) + +logger.addHandler(channel) \ No newline at end of file diff --git a/pytrack/core/data_classes.py b/pytrack/core/data_classes.py index 9dcc398b..39d09f83 100644 --- a/pytrack/core/data_classes.py +++ b/pytrack/core/data_classes.py @@ -16,7 +16,7 @@ from pathlib import Path from typing import Union, List -log = logging.getLogger(__file__) +log = logging.getLogger(__name__) @dataclass(frozen=False, order=True, init=True) diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index 1c0e796a..b54cc7a1 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -20,7 +20,7 @@ from .py_track import PyTrackParent -log = logging.getLogger(__file__) +log = logging.getLogger(__name__) if typing.TYPE_CHECKING: from pytrack.utils.type_hints import TypeHintParent diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index ef50b555..14d715ea 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -17,7 +17,7 @@ from pathlib import Path from typing import Union -log = logging.getLogger(__file__) +log = logging.getLogger(__name__) if typing.TYPE_CHECKING: from pytrack.utils.type_hints import TypeHintParent diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index 7ee66bb1..a07c6ced 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -20,7 +20,7 @@ from pytrack.core.data_classes import DVCParams from pathlib import Path -log = logging.getLogger(__file__) +log = logging.getLogger(__name__) class PyTrackParent: diff --git a/pytrack/interface/base.py b/pytrack/interface/base.py index 00ac1b29..cd90b3d2 100644 --- a/pytrack/interface/base.py +++ b/pytrack/interface/base.py @@ -14,7 +14,7 @@ from typing import List from pathlib import Path -log = logging.getLogger(__file__) +log = logging.getLogger(__name__) class DVCInterface: diff --git a/pytrack/project/py_track_project.py b/pytrack/project/py_track_project.py index a801ab3e..008471f6 100644 --- a/pytrack/project/py_track_project.py +++ b/pytrack/project/py_track_project.py @@ -14,7 +14,7 @@ import subprocess from datetime import datetime -log = logging.getLogger(__file__) +log = logging.getLogger(__name__) class PyTrackProject(DVCInterface): @@ -60,6 +60,7 @@ def run(self, name: str = None): """Add this experiment to the queue and run the full queue""" self.queue(name=name) self.run_all() + self.load(name=name) log.info("Finished") def load(self, name=None): @@ -75,13 +76,28 @@ def save(self): def create_dvc_repository(self): """Perform git and dvc init""" try: - subprocess.check_call(["dvc", "status"]) - log.info("DVC Repository already exists.") + subprocess.check_call( + ["dvc", "status"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL + ) + log.info("DVC repository already exists.") except subprocess.CalledProcessError: - subprocess.check_call(["git", "init"]) - subprocess.check_call(["dvc", "init"]) - subprocess.check_call(["git", "add", "."]) - subprocess.check_call(["git", "commit", "-m", f"Initialize {self.name}"]) + log.info("Setting up GIT/DVC repository.") + subprocess.check_call( + ["git", "init"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL + ) + subprocess.check_call( + ["dvc", "init"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL + ) + subprocess.check_call( + ["git", "add", "."], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + subprocess.check_call( + ["git", "commit", "-m", f"Initialize {self.name}"], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) @staticmethod def _destroy(): diff --git a/setup.py b/setup.py index 68598fd7..f132cc3f 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="py-track", - version="0.1.2", + version="0.1.3", author="Zincware", author_email="zincwarecode@gmail.com", description="A python package for parameter and data version control with DVC", From 3e45d6191e08cb13ffb575bbcc566a24e022138e Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Thu, 30 Sep 2021 14:52:52 +0200 Subject: [PATCH 08/39] apply black --- pytrack/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pytrack/__init__.py b/pytrack/__init__.py index 19005ff0..828a9cfa 100644 --- a/pytrack/__init__.py +++ b/pytrack/__init__.py @@ -21,7 +21,7 @@ # __all__ = ["PyTrack", "PyTrackProject", "DVCInterface", "DVC", "config"] -__version__ = '0.1.3' +__version__ = "0.1.3" logger = logging.getLogger("pytrack") @@ -29,10 +29,10 @@ # Formatter for advanced logging # formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') -formatter = logging.Formatter('%(asctime)s (%(levelname)s): %(message)s') +formatter = logging.Formatter("%(asctime)s (%(levelname)s): %(message)s") channel = logging.StreamHandler(sys.stdout) channel.setLevel(logging.DEBUG) channel.setFormatter(formatter) -logger.addHandler(channel) \ No newline at end of file +logger.addHandler(channel) From 637078e35f55b168d91045b5887dcca5a03dee35 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Thu, 30 Sep 2021 16:47:45 +0200 Subject: [PATCH 09/39] fix issue with overwriting pre initialized DVC options. --- .../test_call_stage_multiple_times.py | 71 +++++++++++++++++++ pytrack/core/parameter.py | 54 ++++++++------ pytrack/utils/types.py | 27 +++++++ 3 files changed, 132 insertions(+), 20 deletions(-) create mode 100644 CI/integration_tests/test_call_stage_multiple_times.py create mode 100644 pytrack/utils/types.py diff --git a/CI/integration_tests/test_call_stage_multiple_times.py b/CI/integration_tests/test_call_stage_multiple_times.py new file mode 100644 index 00000000..79278ed6 --- /dev/null +++ b/CI/integration_tests/test_call_stage_multiple_times.py @@ -0,0 +1,71 @@ +""" +This program and the accompanying materials are made available under the terms of the +Eclipse Public License v2.0 which accompanies this distribution, and is available at +https://www.eclipse.org/legal/epl-v20.html +SPDX-License-Identifier: EPL-2.0 + +Copyright Contributors to the Zincware Project. + +Description: +""" +from pytrack import PyTrack, DVC, PyTrackProject +import os + + +@PyTrack() +class HelloWorld: + def __init__(self): + self.argument_1 = DVC.params() + + def __call__(self, argument_1): + self.argument_1 = argument_1 + + def run(self): + pass + +@PyTrack() +class HelloWorldwDefault: + def __init__(self): + self.argument_1 = DVC.params(314159) + + def __call__(self, argument_1): + self.argument_1 = argument_1 + + def run(self): + pass + + +def test_init_without_overwriting(tmp_path): + """Test that initializing empty DVC.params does not result in changing values""" + os.chdir(tmp_path) + project = PyTrackProject() + project.create_dvc_repository() + + hello_world_1 = HelloWorld() + hello_world_1(argument_1=11235) + + hello_world_2 = HelloWorld() + + # it should not overwrite the given param values, + # when they are not set explicitly! + + assert hello_world_1.argument_1 == 11235 + +def test_init_with_overwriting(tmp_path): + """Test that pre-initializing DVC.params does result in changing values""" + os.chdir(tmp_path) + project = PyTrackProject() + project.create_dvc_repository() + + hello_world_1 = HelloWorldwDefault() + hello_world_1(argument_1=11235) + + hello_world_2 = HelloWorldwDefault() + + # it should overwrite the given param values, + # because they are explicitly defined in the __init__ + # and therefore not designed to be overwritten in the call + # mixing both is not recommended + + assert hello_world_1.argument_1 == 314159 + diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index 14d715ea..d7fa7039 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -15,7 +15,7 @@ import json from pytrack.utils import is_jsonable, serializer, deserializer from pathlib import Path -from typing import Union +from pytrack.utils.types import NoneType log = logging.getLogger(__name__) @@ -25,11 +25,11 @@ class PyTrackOption: def __init__( - self, - value: Union[str, tuple] = None, - option: str = None, - attr: str = None, - cls: TypeHintParent = None, + self, + value=None, + option: str = None, + attr: str = None, + cls: TypeHintParent = None, ): """PyTrack Descriptor to handle the loading and writing of files @@ -49,8 +49,13 @@ def __init__( self.pytrack_dvc_option = option self.value = value self.check_input(value) + if value is not None and cls is not None: - value = self.make_serializable(value) + value = self.get_value(value) + if value is NoneType: + return + + value = serializer(value) self.set_internals(cls, {attr: value}) def __get__(self, instance: TypeHintParent, owner): @@ -86,9 +91,14 @@ def __set__(self, instance: TypeHintParent, value): except NotImplementedError: if self.pytrack_dvc_option != "result": self.check_input(value) + + value = self.get_value(value) + if value is NoneType: + return + log.debug(f"Updating {self.get_name(instance)} with {value}") - value = self.make_serializable(value) + value = serializer(value) self.set_internals(instance, {self.get_name(instance): value}) @@ -100,8 +110,14 @@ def _set(self, instance: TypeHintParent, value): """Overwrite this method for custom PyTrackOption set method""" raise NotImplementedError - def make_serializable(self, value): - """Make value serializable to save as json""" + def get_value(self, value): + """Get the value + + If the input is a PyTrackOption gather the value trough the .value attribute + Otherwise if e.g. it is a pytrack stage, look for the results json file + and make that the resulting value + + """ if isinstance(value, self.__class__): value = value.value @@ -115,9 +131,6 @@ def make_serializable(self, value): raise ValueError(f"Stage {value} has no results assigned to it!") else: value = new_value - - value = serializer(value) - return value def get_name(self, instance): @@ -190,7 +203,8 @@ def set_internals(self, instance: TypeHintParent, value: dict): raise ValueError( "This stage is being loaded. Parameters can not be set!" ) - value = self.make_serializable(value) + value = self.get_value(value) + value = serializer(value) name = instance.pytrack.name id_ = instance.pytrack.id file = instance.pytrack.dvc.internals_file @@ -288,7 +302,7 @@ def __init__(self): ) @staticmethod - def params(value=None): + def params(value=NoneType): """Parameter for PyTrack Parameters @@ -304,7 +318,7 @@ def params(value=None): return PyTrackOption(value, option="params") @staticmethod - def result(value=None): + def result(value=NoneType): """Parameter for PyTrack Parameters @@ -318,19 +332,19 @@ def result(value=None): """ - if value is not None: + if value is not NoneType: raise ValueError("Can not pre-initialize result!") return PyTrackOption(value, option="result") @staticmethod - def deps(value=None): + def deps(value=NoneType): return PyTrackOption(value, option="deps") @staticmethod - def outs(value=None): + def outs(value=NoneType): return PyTrackOption(value, option="outs") @staticmethod - def metrics_no_cache(value=None): + def metrics_no_cache(value=NoneType): return PyTrackOption(value, option="metrics_no_cache") diff --git a/pytrack/utils/types.py b/pytrack/utils/types.py new file mode 100644 index 00000000..def35440 --- /dev/null +++ b/pytrack/utils/types.py @@ -0,0 +1,27 @@ +""" +This program and the accompanying materials are made available under the terms of the +Eclipse Public License v2.0 which accompanies this distribution, and is available at +https://www.eclipse.org/legal/epl-v20.html +SPDX-License-Identifier: EPL-2.0 + +Copyright Contributors to the Zincware Project. + +Description: +""" + + +class NoneType: + """Class for checking set values + + This class is never used outside of PyTrack, so it can be used + to identify if the value has been changed via + >>> value = NoneType + >>> if value == NoneType: + >>> print("value is unchanged") + >>> value = None + >>> if value != NoneType: + >>> print("value changed") + + which can not be done with any built in python type + """ + pass From 59797f9ea28de4569cb2705db12fcf9be09b6de6 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Fri, 1 Oct 2021 16:59:52 +0200 Subject: [PATCH 10/39] add `exec_` as a possible default to the decorator. --- .../test_call_stage_multiple_times.py | 3 ++- pytrack/core/decorator.py | 21 +++++++++++++++---- pytrack/core/parameter.py | 10 ++++----- pytrack/utils/types.py | 1 + 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/CI/integration_tests/test_call_stage_multiple_times.py b/CI/integration_tests/test_call_stage_multiple_times.py index 79278ed6..49b1ed86 100644 --- a/CI/integration_tests/test_call_stage_multiple_times.py +++ b/CI/integration_tests/test_call_stage_multiple_times.py @@ -23,6 +23,7 @@ def __call__(self, argument_1): def run(self): pass + @PyTrack() class HelloWorldwDefault: def __init__(self): @@ -51,6 +52,7 @@ def test_init_without_overwriting(tmp_path): assert hello_world_1.argument_1 == 11235 + def test_init_with_overwriting(tmp_path): """Test that pre-initializing DVC.params does result in changing values""" os.chdir(tmp_path) @@ -68,4 +70,3 @@ def test_init_with_overwriting(tmp_path): # mixing both is not recommended assert hello_world_1.argument_1 == 314159 - diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index b54cc7a1..b2e4708b 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -29,7 +29,14 @@ class PyTrack: """Decorator for converting a class into a PyTrack stage""" - def __init__(self, cls=None, nb_name: str = None, name: str = None, **kwargs): + def __init__( + self, + cls=None, + nb_name: str = None, + name: str = None, + exec_: bool = False, + **kwargs, + ): """ Parameters @@ -41,12 +48,17 @@ def __init__(self, cls=None, nb_name: str = None, name: str = None, **kwargs): name: str A custom name for the DVC stage. !There is currently no check in place, that avoids overwriting an existing stage! + exec_: bool + Set the default value for exec_. + If true, always run this stage immediately. kwargs: No kwargs are implemented """ if cls is not None: raise ValueError("Please use `@Pytrack()` instead of `@Pytrack`.") self.cls = cls + self.exec_ = exec_ + self.name = name self.pytrack_cls_dict = {} @@ -86,6 +98,7 @@ def __call__(self, *args, **kwargs): log.debug(f"call kwargs: {kwargs}") if self.cls is None: + # This is what gets called with PyTrack() self.cls = args[0] self.return_with_args = False @@ -202,8 +215,8 @@ def map_pytrack_to_dict(self_): return wrapper - @staticmethod - def call_decorator(func): + # @staticmethod + def call_decorator(self, func): """Decorator to handle the call of the decorated class""" @functools.wraps(func) @@ -211,7 +224,7 @@ def wrapper( cls: TypeHintParent, *args, force=True, - exec_=False, + exec_=self.exec_, always_changed=False, slurm=False, **kwargs, diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index d7fa7039..4b96ef66 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -25,11 +25,11 @@ class PyTrackOption: def __init__( - self, - value=None, - option: str = None, - attr: str = None, - cls: TypeHintParent = None, + self, + value=None, + option: str = None, + attr: str = None, + cls: TypeHintParent = None, ): """PyTrack Descriptor to handle the loading and writing of files diff --git a/pytrack/utils/types.py b/pytrack/utils/types.py index def35440..dc076552 100644 --- a/pytrack/utils/types.py +++ b/pytrack/utils/types.py @@ -24,4 +24,5 @@ class NoneType: which can not be done with any built in python type """ + pass From be473444513ba93855b770ea902af3bd30fc2bc4 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Fri, 1 Oct 2021 17:00:02 +0200 Subject: [PATCH 11/39] add `exec_` as a possible default to the decorator. --- pytrack/core/decorator.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index b2e4708b..9055846f 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -215,7 +215,6 @@ def map_pytrack_to_dict(self_): return wrapper - # @staticmethod def call_decorator(self, func): """Decorator to handle the call of the decorated class""" From a42c34f017de9fa8e1f2bfbc9d312c327158aee7 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Thu, 7 Oct 2021 11:23:45 +0200 Subject: [PATCH 12/39] replace `id_=0` with `load = True` --- CI/integration_tests/test_class.py | 3 +- pytrack/core/decorator.py | 74 +++++++++++++++++----------- pytrack/core/py_track.py | 77 +++++++++++++++++------------- 3 files changed, 92 insertions(+), 62 deletions(-) diff --git a/CI/integration_tests/test_class.py b/CI/integration_tests/test_class.py index b6ec1420..ced54c4e 100644 --- a/CI/integration_tests/test_class.py +++ b/CI/integration_tests/test_class.py @@ -49,8 +49,7 @@ def prepare_env(): json.dump({"id": idx}, f) project.name = "Test1" - project.run() - project.load() + project.repro() yield diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index 9055846f..ce07cc56 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -30,12 +30,12 @@ class PyTrack: """Decorator for converting a class into a PyTrack stage""" def __init__( - self, - cls=None, - nb_name: str = None, - name: str = None, - exec_: bool = False, - **kwargs, + self, + cls=None, + nb_name: str = None, + name: str = None, + exec_: bool = False, + **kwargs, ): """ @@ -44,10 +44,12 @@ def __init__( cls: object Required for use as decorator with @PyTrack nb_name: str - Name of the jupyter notebook e.g. PyTrackNb.ipynb which enables jupyter support + Name of the jupyter notebook e.g. PyTrackNb.ipynb which enables jupyter + support name: str A custom name for the DVC stage. - !There is currently no check in place, that avoids overwriting an existing stage! + !There is currently no check in place, that avoids overwriting an existing + stage! exec_: bool Set the default value for exec_. If true, always run this stage immediately. @@ -71,7 +73,8 @@ def __init__( # jupyter if nb_name is not None: log.warning( - "Jupyter support is an experimental feature! Please save your notebook before running this command!\n" + "Jupyter support is an experimental feature! Please save your " + "notebook before running this command!\n" "Submit issues to https://github.com/zincware/py-track." ) nb_name = Path(nb_name) @@ -84,7 +87,8 @@ def __call__(self, *args, **kwargs): Parameters ---------- args: tuple - The first arg might be the class, if @PyTrack() is used, otherwise args that are passed to the cls + The first arg might be the class, if @PyTrack() is used, otherwise args + that are passed to the cls kwargs: dict kwargs that are passed to the cls @@ -129,9 +133,9 @@ def jupyter_class_to_file(self): imports += line if reading_class: if ( - re.match(r"\S", line) - and not line.startswith("#") - and not line.startswith("class") + re.match(r"\S", line) + and not line.startswith("#") + and not line.startswith("class") ): reading_class = False if reading_class or line.startswith("class"): @@ -174,16 +178,27 @@ def init_decorator(self, func): """Decorator to handle the init of the decorated class""" @functools.wraps(func) - def wrapper(cls: TypeHintParent, *args, id_=None, **kwargs): - """Wrapper around the init""" - log.debug(f"Got id_: {id_}") + def wrapper(cls: TypeHintParent, *args, id_=None, load: bool = False, **kwargs): + """Wrapper around the init + + Parameters + ---------- + cls: TypeHintParent + a PyTrack decorated class instance + id_: int + soon to be depreciated alternative to load + load: bool + Load the state and prohibit parameter changes + args, kwargs: + parameters to be passed to the cls + """ def map_pytrack_to_dict(self_): """Map the correct pytrack instance to the correct cls - This is required, because we use setattr(TYPE(cls)) and not on the instance, - so we need to distinguish between different instances, otherwise there is only a single - cls.pytrack for all instances! + This is required, because we use setattr(TYPE(cls)) and not on the + instance, so we need to distinguish between different instances, + otherwise there is only a single cls.pytrack for all instances! Attributes ---------- @@ -197,7 +212,11 @@ def map_pytrack_to_dict(self_): setattr(type(cls), "pytrack", property(map_pytrack_to_dict)) - cls.pytrack.pre_init(id_=id_) + if id_ is not None: + log.debug("DeprecationWarning: Argument id_ will be removed eventually") + load = True + + cls.pytrack.pre_init(load=load) log.debug(f"Processing {cls.pytrack}") result = func(cls, *args, **kwargs) cls.pytrack.post_init() @@ -220,13 +239,13 @@ def call_decorator(self, func): @functools.wraps(func) def wrapper( - cls: TypeHintParent, - *args, - force=True, - exec_=self.exec_, - always_changed=False, - slurm=False, - **kwargs, + cls: TypeHintParent, + *args, + force=True, + exec_=self.exec_, + always_changed=False, + slurm=False, + **kwargs, ): """Wrapper around the call @@ -262,6 +281,7 @@ def wrapper( def run_decorator(func): """Decorator to handle the run of the decorated class""" + @functools.wraps(func) def wrapper(cls: TypeHintParent): """Wrapper around the run method""" cls.pytrack.pre_run() diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index a07c6ced..1fe0c581 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -50,9 +50,18 @@ def __init__(self, child): self.dvc = DVCParams() self.nb_mode = False # notebook mode - def pre_init(self, id_): - self.allow_param_change = id_ is None + def pre_init(self, load: bool = False): + """Function to be called prior to the init + + Parameters + ---------- + load: bool + Load the stage and prohibit parameter changes + """ + if not load: + self.allow_param_change = True self.is_init = True + log.debug(f"Setting param change to {self.allow_param_change} on {self}") def post_init(self): @@ -61,15 +70,6 @@ def post_init(self): This command is executed after the init of the "child" class. It handles: - updating which attributes are parameters and results - - loads values if id_!=None - - Parameters - ---------- - id_:int - Either None if new stage or usually 0 if a stage should be loaded - - Returns - ------- """ # Updating internals and checking for parameters and results @@ -89,7 +89,8 @@ def pre_call(self): def post_call(self, force=False, exec_=False, always_changed=False, slurm=False): """Method after call - This function should always be the last one in the __call__ method, it handles file IO and DVC execution + This function should always be the last one in the __call__ method, + it handles file IO and DVC execution Parameters ---------- @@ -97,12 +98,15 @@ def post_call(self, force=False, exec_=False, always_changed=False, slurm=False) Use dvc run with `--force` to overwrite previous stages! exec_: bool, default=False Run the stage directly and don't use dvc with '--no-exec'. - This will not output stdout/stderr in real time and should only be used for fast functions! + This will not output stdout/stderr in real time and should only be used + for fast functions! always_changed: bool, default=False - Set the always changed dvc argument. See the official DVC docs. Can be useful for debugging / development. + Set the always changed dvc argument. See the official DVC docs. + Can be useful for debugging / development. slurm: bool, default=False - Use `SRUN` with self.slurm_config for this stage - WARNING this doesn't mean that every stage uses slurm - and you may accidentally run stages on your HEAD Node. You can check the commands in dvc.yaml! + Use `SRUN` with self.slurm_config for this stage - WARNING this doesn't + mean that every stage uses slurm and you may accidentally run stages on + your HEAD Node. You can check the commands in dvc.yaml! """ self.update_dvc() @@ -121,8 +125,8 @@ def pre_run(self): Notes ----- - Not using super run_ because run ALWAYS has to implemented in the child class and should otherwise - raise and error! + Not using super run_ because run ALWAYS has to implemented in the child class + and should otherwise raise and error! """ self.update_dvc() @@ -141,13 +145,15 @@ def post_run(self): def update_dvc_options(self): """Update the dvc_options with None values - This is run after the __init__ to save all DVCParams and they can later be overwritten + This is run after the __init__ to save all DVCParams and they can later be + overwritten """ for attr, value in vars(self.child).items(): try: option = value.pytrack_dvc_option - # this is not hard coded, because when overwriting PyTrackOption those custom descriptors - # also need to be applied! + # this is not hard coded, because when overwriting + # PyTrackOption those custom descriptors also need to be applied! + value: PyTrackOption # or child instances py_track_option = value.__class__ try: @@ -218,18 +224,19 @@ def _write_dvc( ): """Write the DVC file using run. - If it already exists it'll tell you that the stage is already persistent and has been run before. - Otherwise it'll run the stage for you. + If it already exists it'll tell you that the stage is already persistent and + has been run before. Otherwise it'll run the stage for you. Parameters ---------- force: bool, default = False Force DVC to rerun this stage, even if the parameters haven't changed! exec_: bool, default = False - if False, only write the stage to the dvc.yaml and run later. Otherwise the stage and ALL dependencies - will be executed! + if False, only write the stage to the dvc.yaml and run later. + Otherwise the stage and ALL dependencies will be executed! always_changed: bool, default = False - Tell DVC to always rerun this stage, e.g. for non-deterministic stages or for testing + Tell DVC to always rerun this stage, e.g. for non-deterministic stages + or for testing slurm: bool, default = False Use SLURM to run DVC stages on a Cluster. @@ -263,7 +270,8 @@ def _write_dvc( script.append("--no-exec") else: log.warning( - "You will not be able to see the stdout/stderr of the process in real time!" + "You will not be able to see the stdout/stderr " + "of the process in real time!" ) # if always_changed: @@ -272,9 +280,10 @@ def _write_dvc( if slurm: log.warning("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") log.warning( - "Make sure, that every stage uses SLURM! If a stage does not have SLURM enabled, the command " - "will be run on the HEAD NODE! Check the dvc.yaml file before running! There are no checks" - "implemented to test, that only SRUN is in use!" + "Make sure, that every stage uses SLURM! If a stage does not have SLURM" + " enabled, the command will be run on the HEAD NODE! Check the dvc.yaml" + " file before running! There are no checks implemented to test, " + "that only SRUN is in use!" ) log.warning("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") @@ -284,12 +293,13 @@ def _write_dvc( # script.append( f'{self.python_interpreter} -c "from {self.module} import {self.name}; ' - f'{self.name}(id_={self.id}).run()"' + f'{self.name}(load=True).run()"' ) log.debug(f"running script: {' '.join([str(x) for x in script])}") log.debug( - "If you are using a jupyter notebook, you may not be able to see the output in real time!" + "If you are using a jupyter notebook, you may not be able to see the " + "output in real time!" ) process = subprocess.run(script, capture_output=True) if len(process.stdout) > 0: @@ -301,7 +311,8 @@ def _write_dvc( def python_interpreter(self): """Find the most suitable python interpreter - Try to run subprocess check calls to see, which python interpreter should be selected + Try to run subprocess check calls to see, which python interpreter + should be selected Returns ------- From 0f7f71e4c8376f33258bd1823ebf67ba9c51d844 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Thu, 7 Oct 2021 15:43:27 +0200 Subject: [PATCH 13/39] fix weakref issue --- pytrack/core/decorator.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index ce07cc56..b753616f 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -63,9 +63,6 @@ def __init__( self.name = name - self.pytrack_cls_dict = {} - # TODO maybe make this a weakref dict? - self.kwargs = kwargs self.return_with_args = True log.debug(f"decorator_kwargs: {kwargs}") @@ -200,15 +197,19 @@ def map_pytrack_to_dict(self_): instance, so we need to distinguish between different instances, otherwise there is only a single cls.pytrack for all instances! + We save the PyTrack instance in self.__dict__ to avoid this. + Attributes ---------- self_: object The class object that is being converted into a PyTrack stage """ - if self.pytrack_cls_dict.get(self_) is None: - self.pytrack_cls_dict[self_] = PyTrackParent(self_) - return self.pytrack_cls_dict[self_] + try: + return self_.__dict__['pytrack'] + except KeyError: + self_.__dict__['pytrack'] = PyTrackParent(self_) + return self_.__dict__['pytrack'] setattr(type(cls), "pytrack", property(map_pytrack_to_dict)) From d5f648365d0084e91c820fb2f6962940d56a38e4 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Thu, 7 Oct 2021 20:33:42 +0200 Subject: [PATCH 14/39] start reducing PyTrack size --- pytrack/core/decorator.py | 3 +- pytrack/core/parameter.py | 676 ++++++++++++++++++++---------------- pytrack/core/py_track.py | 193 ++++------ pytrack/utils/type_hints.py | 2 + 4 files changed, 461 insertions(+), 413 deletions(-) diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index b753616f..9ce04ef2 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -217,7 +217,8 @@ def map_pytrack_to_dict(self_): log.debug("DeprecationWarning: Argument id_ will be removed eventually") load = True - cls.pytrack.pre_init(load=load) + cls.pytrack.load = load + cls.pytrack.pre_init() log.debug(f"Processing {cls.pytrack}") result = func(cls, *args, **kwargs) cls.pytrack.post_init() diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index 4b96ef66..e6c68408 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -24,327 +24,415 @@ class PyTrackOption: - def __init__( - self, - value=None, - option: str = None, - attr: str = None, - cls: TypeHintParent = None, - ): - """PyTrack Descriptor to handle the loading and writing of files + def __init__(self, option, default_value): + self.option = option + self.default_value = default_value - Parameters - ---------- - option: str - One of the DVC options, e.g., params, outs, ... - value: - default value - attr - cls - """ - if option is None: - log.warning("Using a custom PyTrackOption! No default values supported!") - option = "custom" + if option == "result" and default_value is not NoneType: + raise ValueError(f"Can not pre-initialize result! Found {default_value}") - self.pytrack_dvc_option = option - self.value = value - self.check_input(value) - - if value is not None and cls is not None: - value = self.get_value(value) - if value is NoneType: - return + self.check_input(default_value) - value = serializer(value) - self.set_internals(cls, {attr: value}) + def __set_name__(self, owner, name): + self.name = name + self.owner = owner def __get__(self, instance: TypeHintParent, owner): - """Get the value of this instance from pytrack_internals and return it""" + # NOTE! the state in __dict__ will always be the serialized version! + # because it will be set based on the config file + # so un-serializing always takes place here! + log.warning(f"Getting {self.option} / {self.name}") try: - return self._get(instance, owner) - except NotImplementedError: - if self.pytrack_dvc_option == "result": - return deserializer( - self.get_results(instance).get(self.get_name(instance)) - ) - else: - output = self.get_internals(instance).get(self.get_name(instance), "") - output = deserializer(output) - if self.pytrack_dvc_option in ["params", "deps"]: - return output - else: - # combine with the associated path, defined in pytrack.dvc - file_path: Path = getattr( - instance.pytrack.dvc, f"{self.pytrack_dvc_option}_path" - ) - if isinstance(output, list): - return [file_path / x for x in output] - elif isinstance(output, str): - return file_path / output - else: - return output + return instance.__dict__[self.name] + except KeyError: + if isinstance(self.default_value, NoneType): + return None + return self.default_value def __set__(self, instance: TypeHintParent, value): - """Update the value""" - try: - self._set(instance, value) - except NotImplementedError: - if self.pytrack_dvc_option != "result": - self.check_input(value) - - value = self.get_value(value) - if value is NoneType: - return - - log.debug(f"Updating {self.get_name(instance)} with {value}") - - value = serializer(value) - - self.set_internals(instance, {self.get_name(instance): value}) - - def _get(self, instance: TypeHintParent, owner): - """Overwrite this method for custom PyTrackOption get method""" - raise NotImplementedError - - def _set(self, instance: TypeHintParent, value): - """Overwrite this method for custom PyTrackOption set method""" - raise NotImplementedError - - def get_value(self, value): - """Get the value - - If the input is a PyTrackOption gather the value trough the .value attribute - Otherwise if e.g. it is a pytrack stage, look for the results json file - and make that the resulting value - - """ - if isinstance(value, self.__class__): - value = value.value + log.warning(f"Changing {self.option} / {self.name} to {value}") + if instance.pytrack.load and self.option != "result": + raise ValueError(f'Changing {self.option} is currently not allowed!') - # Check if the passed value is a PyTrack class - # if so, add its json file as a dependency to this stage. - if hasattr(value, "pytrack"): - # Allow self.deps = DVC.deps(Stage(id_=0)) - if self.pytrack_dvc_option == "deps": - new_value = value.pytrack.dvc.json_file - if new_value is None: - raise ValueError(f"Stage {value} has no results assigned to it!") - else: - value = new_value - return value + if not instance.pytrack.running and self.option == "result": + raise ValueError(f'Changing {self.option} is currently not allowed') - def get_name(self, instance): - """ - - Parameters - ---------- - instance: TypeHintParent - A instance of the Parent that contains - - Returns - ------- - str: Name of this instance, e.g., self.abc = DVC.outs() returns "abc" - - """ - for attr, val in vars(type(instance)).items(): - if val == self: - return attr + self.check_input(value) - raise ValueError(f"Could not find {self} in instance {instance}") + instance.__dict__[self.name] = value def check_input(self, value): + """Check if the input value can be processed""" if isinstance(value, dict): log.warning( - f"Used mutable type dict for {self.pytrack_dvc_option}! " - f"Always overwrite the {self.pytrack_dvc_option} and don't alter it otherwise!" - f" It won't work." + f"Used mutable type dict for {self.option}! " + f"Always overwrite the {self.option} and don't alter it " + f"otherwise!, It won't work." ) if isinstance(value, list): log.warning( - f"Used mutable type list for {self.pytrack_dvc_option}! " - f"Always overwrite the {self.pytrack_dvc_option} and don't append to it!" - f" It won't work." - ) - - def set_internals(self, instance: TypeHintParent, value: dict): - """Set the Internals for this instance (Stage & Id) - - This writes them to self._pytrack_all_parameters, i.e., to the config file. - """ - if isinstance(value, dict): - if self.pytrack_dvc_option == "result": - if not instance.pytrack.allow_result_change: - if instance.pytrack.is_init: - log.debug("ValueError Exception during init!") - return - else: - raise ValueError( - "Result can only be changed within `run` call!" - ) - # log.warning("Result can only be changed within `run` call!") - # return - if not is_jsonable(value): - raise ValueError("Results must be JSON serializable") - log.debug(f"Processing value {value}") - results = self.get_results(instance) - results.update(value) - self.set_results(instance, results) - - else: - log.debug( - f"Param_Change: {instance.pytrack.allow_param_change} on {instance.pytrack}" - ) - if not instance.pytrack.allow_param_change: - if instance.pytrack.is_init: - log.debug("ValueError Exception during init!") - return - else: - raise ValueError( - "This stage is being loaded. Parameters can not be set!" - ) - value = self.get_value(value) - value = serializer(value) - name = instance.pytrack.name - id_ = instance.pytrack.id - file = instance.pytrack.dvc.internals_file - - full_internals = self.get_full_internals(file) - stage = full_internals.get(name, {}) - stage_w_id = stage.get(id_, {}) - - option = stage_w_id.get(self.pytrack_dvc_option, {}) - option.update(value) - - stage_w_id[self.pytrack_dvc_option] = option - stage[id_] = stage_w_id - full_internals[name] = stage - - self.set_full_internals(file, full_internals) - - else: - raise ValueError( - f"Value has to be a dictionary but found {type(value)} instead!" + f"Used mutable type list for {self.option}! " + f"Always overwrite the {self.option} and don't append " + f"to it! It won't work." ) - def get_internals(self, instance: TypeHintParent): - """Get the parameters for this instance (Stage & Id)""" - name = instance.pytrack.name - id_ = instance.pytrack.id - file = instance.pytrack.dvc.internals_file - - full_internals = self.get_full_internals(file) - - return ( - full_internals.get(name, {}).get(id_, {}).get(self.pytrack_dvc_option, {}) - ) - - @staticmethod - def get_full_internals(file) -> dict: - """Load ALL internals from .pytrack.json""" - try: - with open(file) as json_file: - return json.load(json_file) - except FileNotFoundError: - log.debug(f"Could not load params from {file}!") - return {} - - @staticmethod - def set_full_internals(file, value: dict): - """Update internals in .pytrack.json""" - log.debug(f"Writing updates to .pytrack.json as {value}") - value.update({"default": None}) - if not is_jsonable(value): - raise ValueError(f"{value} is not JSON serializable") - Path(file).parent.mkdir(exist_ok=True, parents=True) +class LazyProperty: + """Lazy property that takes the attribute name for PyTrackOption definition""" + def __set_name__(self, owner, name): + """Descriptor default""" + self.name = name - with open(file, "w") as json_file: - json.dump(value, json_file, indent=4) + def __get__(self, instance, owner): + def pass_name(value=NoneType) -> PyTrackOption: + """ + Parameters + ---------- + value: any + Any value to be passed as default to the PyTrackOption - @staticmethod - def get_results(instance: TypeHintParent): - file = instance.pytrack.dvc.json_file - try: - with open(file) as f: - result = json.load(f) - log.debug(f"Loading results {result}") - return result - except FileNotFoundError: - log.warning("No results found!") - return {} + Returns + ------- + instantiated PyTrackOption with correct set name and default values - @staticmethod - def set_results(instance: TypeHintParent, value): - file = instance.pytrack.dvc.json_file - if not is_jsonable(value): - raise ValueError(f"{value} is not JSON serializable") - log.debug(f"Writing {value} to {file}") - with open(file, "w") as f: - json.dump(value, f, indent=4) - log.debug("successful!") + """ + return PyTrackOption(option=self.name, default_value=value) - def __repr__(self): - return f"Descriptor for {self.pytrack_dvc_option}" + return pass_name class DVC: - """Basically a dataclass of DVC methods - - Referring to https://dvc.org/doc/command-reference/run#options - """ - - def __init__(self): - """Basically a dataclass of DVC methods""" - raise NotImplementedError( - "Cannot initialize DVC - this class is only for accessing its methods!" - ) - - @staticmethod - def params(value=NoneType): - """Parameter for PyTrack - - Parameters - ---------- - obj: any class object that the parameter will take on, so that type hinting does not raise issues - - Returns - ------- - cls: Class that inherits from obj - - """ - - return PyTrackOption(value, option="params") - - @staticmethod - def result(value=NoneType): - """Parameter for PyTrack - - Parameters - ---------- - obj: any class object that the parameter will take on, so that type hinting does not raise issues - outs: Future Version, allows for defining the type ot output - - Returns - ------- - cls: Class that inherits from obj - - """ - - if value is not NoneType: - raise ValueError("Can not pre-initialize result!") - - return PyTrackOption(value, option="result") - - @staticmethod - def deps(value=NoneType): - return PyTrackOption(value, option="deps") - - @staticmethod - def outs(value=NoneType): - return PyTrackOption(value, option="outs") - - @staticmethod - def metrics_no_cache(value=NoneType): - return PyTrackOption(value, option="metrics_no_cache") + params = LazyProperty() + result = LazyProperty() + deps = LazyProperty() + outs = LazyProperty() + metrics_no_cache = LazyProperty() + + +# class _PyTrackOption: +# def __init__( +# self, +# value=None, +# option: str = None, +# attr: str = None, +# cls: TypeHintParent = None, +# ): +# """PyTrack Descriptor to handle the loading and writing of files +# +# Parameters +# ---------- +# option: str +# One of the DVC options, e.g., params, outs, ... +# value: +# default value +# attr +# cls +# """ +# if option is None: +# log.warning("Using a custom PyTrackOption! No default values supported!") +# option = "custom" +# +# self.pytrack_dvc_option = option +# self.value = value +# self.check_input(value) +# +# if value is not None and cls is not None: +# value = self.get_value(value) +# if value is NoneType: +# return +# +# value = serializer(value) +# self.set_internals(cls, {attr: value}) +# +# def __get__(self, instance: TypeHintParent, owner): +# """Get the value of this instance from pytrack_internals and return it""" +# try: +# return self._get(instance, owner) +# except NotImplementedError: +# if self.pytrack_dvc_option == "result": +# return deserializer( +# self.get_results(instance).get(self.get_name(instance)) +# ) +# else: +# output = self.get_internals(instance).get(self.get_name(instance), "") +# output = deserializer(output) +# if self.pytrack_dvc_option in ["params", "deps"]: +# return output +# else: +# # combine with the associated path, defined in pytrack.dvc +# file_path: Path = getattr( +# instance.pytrack.dvc, f"{self.pytrack_dvc_option}_path" +# ) +# if isinstance(output, list): +# return [file_path / x for x in output] +# elif isinstance(output, str): +# return file_path / output +# else: +# return output +# +# def __set__(self, instance: TypeHintParent, value): +# """Update the value""" +# try: +# self._set(instance, value) +# except NotImplementedError: +# if self.pytrack_dvc_option != "result": +# self.check_input(value) +# +# value = self.get_value(value) +# if value is NoneType: +# return +# +# log.debug(f"Updating {self.get_name(instance)} with {value}") +# +# value = serializer(value) +# +# self.set_internals(instance, {self.get_name(instance): value}) +# +# def _get(self, instance: TypeHintParent, owner): +# """Overwrite this method for custom PyTrackOption get method""" +# raise NotImplementedError +# +# def _set(self, instance: TypeHintParent, value): +# """Overwrite this method for custom PyTrackOption set method""" +# raise NotImplementedError +# +# def get_value(self, value): +# """Get the value +# +# If the input is a PyTrackOption gather the value trough the .value attribute +# Otherwise if e.g. it is a pytrack stage, look for the results json file +# and make that the resulting value +# +# """ +# if isinstance(value, self.__class__): +# value = value.value +# +# # Check if the passed value is a PyTrack class +# # if so, add its json file as a dependency to this stage. +# if hasattr(value, "pytrack"): +# # Allow self.deps = DVC.deps(Stage(id_=0)) +# if self.pytrack_dvc_option == "deps": +# new_value = value.pytrack.dvc.json_file +# if new_value is None: +# raise ValueError(f"Stage {value} has no results assigned to it!") +# else: +# value = new_value +# return value +# +# def get_name(self, instance): +# """ +# +# Parameters +# ---------- +# instance: TypeHintParent +# A instance of the Parent that contains +# +# Returns +# ------- +# str: Name of this instance, e.g., self.abc = DVC.outs() returns "abc" +# +# """ +# for attr, val in vars(type(instance)).items(): +# if val == self: +# return attr +# +# raise ValueError(f"Could not find {self} in instance {instance}") +# +# def check_input(self, value): +# if isinstance(value, dict): +# log.warning( +# f"Used mutable type dict for {self.pytrack_dvc_option}! " +# f"Always overwrite the {self.pytrack_dvc_option} and don't alter it " +# f"otherwise!, It won't work." +# ) +# +# if isinstance(value, list): +# log.warning( +# f"Used mutable type list for {self.pytrack_dvc_option}! " +# f"Always overwrite the {self.pytrack_dvc_option} and don't append " +# f"to it! It won't work." +# ) +# +# def set_internals(self, instance: TypeHintParent, value: dict): +# """Set the Internals for this instance (Stage & Id) +# +# This writes them to self._pytrack_all_parameters, i.e., to the config file. +# """ +# if isinstance(value, dict): +# if self.pytrack_dvc_option == "result": +# if not instance.pytrack.allow_result_change: +# if instance.pytrack.is_init: +# log.debug("ValueError Exception during init!") +# return +# else: +# raise ValueError( +# "Result can only be changed within `run` call!" +# ) +# # log.warning("Result can only be changed within `run` call!") +# # return +# if not is_jsonable(value): +# raise ValueError("Results must be JSON serializable") +# log.debug(f"Processing value {value}") +# results = self.get_results(instance) +# results.update(value) +# self.set_results(instance, results) +# +# else: +# log.debug( +# f"Param_Change: {instance.pytrack.allow_param_change} on {instance.pytrack}" +# ) +# if not instance.pytrack.allow_param_change: +# if instance.pytrack.is_init: +# log.debug("ValueError Exception during init!") +# return +# else: +# raise ValueError( +# "This stage is being loaded. Parameters can not be set!" +# ) +# value = self.get_value(value) +# value = serializer(value) +# name = instance.pytrack.name +# id_ = instance.pytrack.id +# file = instance.pytrack.dvc.internals_file +# +# full_internals = self.get_full_internals(file) +# stage = full_internals.get(name, {}) +# stage_w_id = stage.get(id_, {}) +# +# option = stage_w_id.get(self.pytrack_dvc_option, {}) +# option.update(value) +# +# stage_w_id[self.pytrack_dvc_option] = option +# stage[id_] = stage_w_id +# full_internals[name] = stage +# +# self.set_full_internals(file, full_internals) +# +# else: +# raise ValueError( +# f"Value has to be a dictionary but found {type(value)} instead!" +# ) +# +# def get_internals(self, instance: TypeHintParent): +# """Get the parameters for this instance (Stage & Id)""" +# name = instance.pytrack.name +# id_ = instance.pytrack.id +# file = instance.pytrack.dvc.internals_file +# +# full_internals = self.get_full_internals(file) +# +# return ( +# full_internals.get(name, {}).get(id_, {}).get(self.pytrack_dvc_option, {}) +# ) +# +# @staticmethod +# def get_full_internals(file) -> dict: +# """Load ALL internals from .pytrack.json""" +# try: +# with open(file) as json_file: +# return json.load(json_file) +# except FileNotFoundError: +# log.debug(f"Could not load params from {file}!") +# return {} +# +# @staticmethod +# def set_full_internals(file, value: dict): +# """Update internals in .pytrack.json""" +# log.debug(f"Writing updates to .pytrack.json as {value}") +# value.update({"default": None}) +# +# if not is_jsonable(value): +# raise ValueError(f"{value} is not JSON serializable") +# +# Path(file).parent.mkdir(exist_ok=True, parents=True) +# +# with open(file, "w") as json_file: +# json.dump(value, json_file, indent=4) +# +# @staticmethod +# def get_results(instance: TypeHintParent): +# file = instance.pytrack.dvc.json_file +# try: +# with open(file) as f: +# result = json.load(f) +# log.debug(f"Loading results {result}") +# return result +# except FileNotFoundError: +# log.warning("No results found!") +# return {} +# +# @staticmethod +# def set_results(instance: TypeHintParent, value): +# file = instance.pytrack.dvc.json_file +# if not is_jsonable(value): +# raise ValueError(f"{value} is not JSON serializable") +# log.debug(f"Writing {value} to {file}") +# with open(file, "w") as f: +# json.dump(value, f, indent=4) +# log.debug("successful!") +# +# def __repr__(self): +# return f"Descriptor for {self.pytrack_dvc_option}" +# +# +# class _DVC: +# """Basically a dataclass of DVC methods +# +# Referring to https://dvc.org/doc/command-reference/run#options +# """ +# +# def __init__(self): +# """Basically a dataclass of DVC methods""" +# raise NotImplementedError( +# "Cannot initialize DVC - this class is only for accessing its methods!" +# ) +# +# @staticmethod +# def params(value=NoneType): +# """Parameter for PyTrack +# +# Parameters +# ---------- +# obj: any class object that the parameter will take on, so that type hinting does not raise issues +# +# Returns +# ------- +# cls: Class that inherits from obj +# +# """ +# +# return PyTrackOption(value, option="params") +# +# @staticmethod +# def result(value=NoneType): +# """Parameter for PyTrack +# +# Parameters +# ---------- +# obj: any class object that the parameter will take on, so that type hinting does not raise issues +# outs: Future Version, allows for defining the type ot output +# +# Returns +# ------- +# cls: Class that inherits from obj +# +# """ +# +# if value is not NoneType: +# raise ValueError("Can not pre-initialize result!") +# +# return PyTrackOption(value, option="result") +# +# @staticmethod +# def deps(value=NoneType): +# return PyTrackOption(value, option="deps") +# +# @staticmethod +# def outs(value=NoneType): +# return PyTrackOption(value, option="outs") +# +# @staticmethod +# def metrics_no_cache(value=NoneType): +# return PyTrackOption(value, option="metrics_no_cache") diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index 1fe0c581..1af89f1a 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -13,12 +13,18 @@ import logging import subprocess -import yaml +import json from .data_classes import SlurmConfig -from .parameter import PyTrackOption +from .parameter import PyTrackOption, DVC from pytrack.core.data_classes import DVCParams from pathlib import Path +from pytrack.utils import is_jsonable + +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from pytrack.utils.type_hints import TypeHintParent log = logging.getLogger(__name__) @@ -29,40 +35,32 @@ class PyTrackParent: def __init__(self, child): """Constructor for the DVCOp parent class""" log.debug(f"New instance of {self} with {child}") - self.child = child + self.child: TypeHintParent = child # Parameters that will be overwritten by "child" classes self.slurm_config: SlurmConfig = SlurmConfig() # Properties - self._id: int = 0 - self._running = False # is set to true, when run_dvc + self._module = None self._stage_name = None + self.running = False # is set to true, when run_dvc + self.load = False + self.dvc_file = "dvc.yaml" - self.was_called = False - self.allow_param_change = False - self.allow_result_change = False - self.is_init = False # This is True while inside the init to avoid ValueErrors self.dvc = DVCParams() self.nb_mode = False # notebook mode - def pre_init(self, load: bool = False): + def pre_init(self): """Function to be called prior to the init - - Parameters - ---------- - load: bool - Load the stage and prohibit parameter changes """ - if not load: - self.allow_param_change = True - self.is_init = True - log.debug(f"Setting param change to {self.allow_param_change} on {self}") + # self.child._executed = DVC.result() + + pass def post_init(self): """Post init command @@ -72,19 +70,11 @@ def post_init(self): - updating which attributes are parameters and results """ - # Updating internals and checking for parameters and results - self.update_dvc_options() - if self.has_results(): - self.dvc.set_json_file(f"{self.id}_{self.name}.json") - - self.is_init = False + pass def pre_call(self): """Method to be run before the call""" - if self.was_called: - raise AttributeError( - "This method was already called. Please create a new instance!" - ) + pass def post_call(self, force=False, exec_=False, always_changed=False, slurm=False): """Method after call @@ -113,10 +103,9 @@ def post_call(self, force=False, exec_=False, always_changed=False, slurm=False) self.dvc.make_paths() - self._write_dvc(force, exec_, always_changed, slurm) + self.write_dvc(force, exec_, always_changed, slurm) - self.was_called = True - self.allow_param_change = False + # TODO write PyTrackOptions to file! def pre_run(self): """Command to be run before run @@ -132,64 +121,24 @@ def pre_run(self): self.update_dvc() self.dvc.make_paths() # required if your are inside a temporary directory - self.allow_result_change = True - self._running = True + self.running = True def post_run(self): """Method to be executed after run This method saves the results """ - self.allow_result_change = False - - def update_dvc_options(self): - """Update the dvc_options with None values - - This is run after the __init__ to save all DVCParams and they can later be - overwritten - """ - for attr, value in vars(self.child).items(): - try: - option = value.pytrack_dvc_option - # this is not hard coded, because when overwriting - # PyTrackOption those custom descriptors also need to be applied! - - value: PyTrackOption # or child instances - py_track_option = value.__class__ - try: - log.debug( - f"Updating {attr} with PyTrackOption and value {value.value}!" - ) - setattr( - type(self.child), - attr, - py_track_option( - option=option, value=value.value, attr=attr, cls=self.child - ), - ) - except AttributeError: - raise AttributeError("setattr went wrong!") - except AttributeError: - pass - - @property - def id(self) -> str: - """Get multi_use id""" - if self._running: - return str(self._id) - - self._id = 0 - - return str(self._id) + pass def update_dvc(self): """Update the DVCParams with the options from self.dvc This method searches for all PyTrackOptions that are defined within the __init__ """ + for attr, val in vars(type(self.child)).items(): if isinstance(val, PyTrackOption): - option = val.pytrack_dvc_option + option = val.option new_vals = getattr(self.child, attr) try: if isinstance(new_vals, list): @@ -199,28 +148,20 @@ def update_dvc(self): except AttributeError: log.debug(f"'DVCParams' object has no attribute '{option}'") - def has_results(self) -> bool: - """Check if a json file is generated by looking for defined results""" - for attr, val in vars(type(self.child)).items(): - if isinstance(val, PyTrackOption): - if val.pytrack_dvc_option == "result": - return True - return False - def has_params(self) -> bool: """Check if any params are required by going through the defined params""" for attr, val in vars(type(self.child)).items(): if isinstance(val, PyTrackOption): - if val.pytrack_dvc_option == "params": + if val.option == "params": return True return False - def _write_dvc( - self, - force=True, - exec_: bool = False, - always_changed: bool = False, - slurm: bool = False, + def write_dvc( + self, + force=True, + exec_: bool = False, + always_changed: bool = False, + slurm: bool = False, ): """Write the DVC file using run. @@ -256,7 +197,7 @@ def _write_dvc( if self.has_params(): script += [ "--params", - f"{self.dvc.internals_file}:{self.name}.{self.id}.params", + f"{self.dvc.internals_file}:{self.name}.params", ] if self.nb_mode: @@ -337,20 +278,6 @@ def python_interpreter(self): "Could not find a working python interpreter to work with subprocesses!" ) - @id.setter - def id(self, value): - """Change id if self._running - - Parameters - ---------- - value: int - New id - - """ - if not self._running: - raise ValueError("Can only set the value of id during dvc_run!") - self._id = value - @property def name(self) -> str: """Used for naming the stage and dvc run @@ -367,6 +294,10 @@ def module(self) -> str: """Module from which to import Used for from import + + Notes + ----- + this can be changed when using nb_mode """ if self._module is None: self._module = self.child.__class__.__module__ @@ -376,8 +307,7 @@ def module(self) -> str: def stage_name(self) -> str: """Get the stage name""" if self._stage_name is None: - self._stage_name = f"{self.name}_{self.id}" - + return self.name return self._stage_name @stage_name.setter @@ -386,17 +316,44 @@ def stage_name(self, value): self._stage_name = value @property - def dvc_stages(self) -> dict: - """Load all stages from dvc.dvc_file""" - with open(self.dvc_file, "r") as f: - dvc_file = yaml.safe_load(f) + def internals(self): + """Get all PyTrackOptions""" + internals = {} + for attr, val in vars(type(self.child)).items(): + if isinstance(val, PyTrackOption): + option_dict = internals.get(val.option, {}) + option_dict[val.name] = getattr(self.child, attr) + + internals[val.option] = option_dict - return dvc_file["stages"] + return internals + + @internals.setter + def internals(self, value: dict): + for option in value.values(): + for key, val in option.items(): + self.child.__dict__[key] = val @property - def dvc_stage(self) -> dict: - """Load the current stage from dvc.dvc_file""" + def full_internals(self) -> dict: + """Load ALL internals from .pytrack.json""" try: - return self.dvc_stages[f"{self.name}_{self.id}"] - except KeyError: - return {} + with open(self.dvc.internals_file) as json_file: + return json.load(json_file) + except FileNotFoundError: + log.debug(f"Could not load params from {self.dvc.internals_file}!") + return {} + + @full_internals.setter + def full_internals(self, value: dict): + """Update internals in .pytrack.json""" + log.debug(f"Writing updates to .pytrack.json as {value}") + value.update({"default": None}) + + if not is_jsonable(value): + raise ValueError(f"{value} is not JSON serializable") + + Path(self.dvc.internals_file).parent.mkdir(exist_ok=True, parents=True) + + with open(self.dvc.internals_file, "w") as json_file: + json.dump(value, json_file, indent=4) diff --git a/pytrack/utils/type_hints.py b/pytrack/utils/type_hints.py index 7d81e03c..ae89fa9a 100644 --- a/pytrack/utils/type_hints.py +++ b/pytrack/utils/type_hints.py @@ -9,8 +9,10 @@ Description: Type hinting class for IDE autocompletion """ from pytrack.core.py_track import PyTrackParent +from pytrack.core.parameter import DVC class TypeHintParent: def __init__(self): self.pytrack: PyTrackParent = PyTrackParent(child=self) + self._executed = DVC.result() From 1976c043725b313e110984bf54c49eba4ee45208 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Fri, 8 Oct 2021 08:49:32 +0200 Subject: [PATCH 15/39] intermediate state save --- .../test_call_stage_multiple_times.py | 12 +-- pytrack/core/data_classes.py | 2 +- pytrack/core/py_track.py | 98 ++++++++++++++++--- 3 files changed, 90 insertions(+), 22 deletions(-) diff --git a/CI/integration_tests/test_call_stage_multiple_times.py b/CI/integration_tests/test_call_stage_multiple_times.py index 49b1ed86..308d9fa1 100644 --- a/CI/integration_tests/test_call_stage_multiple_times.py +++ b/CI/integration_tests/test_call_stage_multiple_times.py @@ -53,7 +53,7 @@ def test_init_without_overwriting(tmp_path): assert hello_world_1.argument_1 == 11235 -def test_init_with_overwriting(tmp_path): +def test_load_works(tmp_path): """Test that pre-initializing DVC.params does result in changing values""" os.chdir(tmp_path) project = PyTrackProject() @@ -62,11 +62,5 @@ def test_init_with_overwriting(tmp_path): hello_world_1 = HelloWorldwDefault() hello_world_1(argument_1=11235) - hello_world_2 = HelloWorldwDefault() - - # it should overwrite the given param values, - # because they are explicitly defined in the __init__ - # and therefore not designed to be overwritten in the call - # mixing both is not recommended - - assert hello_world_1.argument_1 == 314159 + assert HelloWorldwDefault().argument_1 == 314159 + assert HelloWorldwDefault(load=True).argument_1 == 11235 diff --git a/pytrack/core/data_classes.py b/pytrack/core/data_classes.py index 39d09f83..283791fb 100644 --- a/pytrack/core/data_classes.py +++ b/pytrack/core/data_classes.py @@ -166,7 +166,7 @@ def set_json_file(self, name): ------- """ - self.json_file = self.outs_path / name + self.json_file = self.outs_path / f"{name}.json" self.outs_path.mkdir(exist_ok=True, parents=True) diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index 1af89f1a..9083d231 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -59,8 +59,10 @@ def pre_init(self): """ # self.child._executed = DVC.result() - - pass + self.dvc.set_json_file(self.name) + if self.load: + self.load_internals() + self.load_results() def post_init(self): """Post init command @@ -70,11 +72,12 @@ def post_init(self): - updating which attributes are parameters and results """ - pass + self.update_dvc() def pre_call(self): """Method to be run before the call""" - pass + if self.load: + raise ValueError("This stage is being loaded and can not be called.") def post_call(self, force=False, exec_=False, always_changed=False, slurm=False): """Method after call @@ -99,13 +102,11 @@ def post_call(self, force=False, exec_=False, always_changed=False, slurm=False) your HEAD Node. You can check the commands in dvc.yaml! """ - self.update_dvc() - self.dvc.make_paths() self.write_dvc(force, exec_, always_changed, slurm) - # TODO write PyTrackOptions to file! + self.save_internals() def pre_run(self): """Command to be run before run @@ -118,7 +119,6 @@ def pre_run(self): and should otherwise raise and error! """ - self.update_dvc() self.dvc.make_paths() # required if your are inside a temporary directory self.running = True @@ -128,7 +128,7 @@ def post_run(self): This method saves the results """ - pass + self.save_results() def update_dvc(self): """Update the DVCParams with the options from self.dvc @@ -146,6 +146,7 @@ def update_dvc(self): else: getattr(self.dvc, option).append(new_vals) except AttributeError: + # results / params will be skipped log.debug(f"'DVCParams' object has no attribute '{option}'") def has_params(self) -> bool: @@ -315,12 +316,75 @@ def stage_name(self, value): """Set the stage name""" self._stage_name = value + def save_internals(self): + """Write all changed internals to file + + Update e.g. the parameters, out paths, etc. in the pytrack.json file + """ + full_internals = self.full_internals + full_internals[self.stage_name] = self.internals + self.full_internals = full_internals + + def load_internals(self): + """Load the internals from the pytrack.json file""" + self.internals = self.full_internals[self.stage_name] + + def save_results(self): + """Save the results to the json file + + Notes + ----- + Adding the executed=True to ensure that a json file is always being saved + """ + results = self.results + + if not is_jsonable(results): + raise ValueError(f"{results} is not JSON serializable") + log.debug(f"Writing {results} to {self.dvc.json_file}") + + results['executed'] = True + + self.dvc.json_file.write_text( + json.dumps(results, indent=4) + ) + + def load_results(self): + """Load the results from file""" + try: + self.results = json.loads(self.dvc.json_file.read_text()) + except FileNotFoundError: + log.warning("No results found!") + + @property + def results(self) -> dict: + """Get all PyTrackOption results and combine them in a single dict""" + results = {} + for attr, val in vars(type(self.child)).items(): + if isinstance(val, PyTrackOption): + if val.option == "result": + results[val.name] = getattr(self.child, attr) + return results + + @results.setter + def results(self, value: dict): + """Set the values for the results in the __dict__ attribute of the child + + Parameters + ---------- + value: dict + {result1: val1, result2: val2, ...} + """ + for key, val in value.items(): + self.child.__dict__[key] = val + @property def internals(self): - """Get all PyTrackOptions""" + """Get all PyTrackOptions (except results)""" internals = {} for attr, val in vars(type(self.child)).items(): if isinstance(val, PyTrackOption): + if val.option == "result": + continue option_dict = internals.get(val.option, {}) option_dict[val.name] = getattr(self.child, attr) @@ -330,6 +394,15 @@ def internals(self): @internals.setter def internals(self, value: dict): + """Save all PyTrackOptions/Internals (except results) + + Stores all passed options in the child.__dict__ + + Parameters + ---------- + value: dict + {param: {param1: val1, ...}, deps: {deps1: val1, ...}} + """ for option in value.values(): for key, val in option.items(): self.child.__dict__[key] = val @@ -355,5 +428,6 @@ def full_internals(self, value: dict): Path(self.dvc.internals_file).parent.mkdir(exist_ok=True, parents=True) - with open(self.dvc.internals_file, "w") as json_file: - json.dump(value, json_file, indent=4) + self.dvc.internals_file.write_text( + json.dumps(value, indent=4) + ) From b31f71ca0648455d495b4b36cddefde8919aa293 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Fri, 8 Oct 2021 13:50:14 +0200 Subject: [PATCH 16/39] allow PyTrackOption definition within the `__init__` --- pytrack/core/parameter.py | 13 +++++++--- pytrack/core/py_track.py | 54 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 4 deletions(-) diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index e6c68408..5a887642 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -24,9 +24,10 @@ class PyTrackOption: - def __init__(self, option, default_value): + def __init__(self, option, default_value, name=None): self.option = option self.default_value = default_value + self.name = name if option == "result" and default_value is not NoneType: raise ValueError(f"Can not pre-initialize result! Found {default_value}") @@ -35,7 +36,6 @@ def __init__(self, option, default_value): def __set_name__(self, owner, name): self.name = name - self.owner = owner def __get__(self, instance: TypeHintParent, owner): # NOTE! the state in __dict__ will always be the serialized version! @@ -51,6 +51,12 @@ def __get__(self, instance: TypeHintParent, owner): def __set__(self, instance: TypeHintParent, value): log.warning(f"Changing {self.option} / {self.name} to {value}") + + if isinstance(value, PyTrackOption): + log.warning(f'{self.option} / {self.name} is already a PyTrackOption - ' + f'Skipping updating it!') + return + if instance.pytrack.load and self.option != "result": raise ValueError(f'Changing {self.option} is currently not allowed!') @@ -78,9 +84,9 @@ def check_input(self, value): ) - class LazyProperty: """Lazy property that takes the attribute name for PyTrackOption definition""" + def __set_name__(self, owner, name): """Descriptor default""" self.name = name @@ -110,7 +116,6 @@ class DVC: outs = LazyProperty() metrics_no_cache = LazyProperty() - # class _PyTrackOption: # def __init__( # self, diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index 9083d231..c9ffb4ef 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -72,6 +72,7 @@ def post_init(self): - updating which attributes are parameters and results """ + self.fix_pytrackoptions() self.update_dvc() def pre_call(self): @@ -130,6 +131,59 @@ def post_run(self): """ self.save_results() + def fix_pytrackoptions(self): + """Fix PyTrackOption as attribute of the parent class + + This is required, if the PyTrackOption is defined inside the __init__ + because that means :code:`PyTrackOption in vars(hello_world)` but we require + :code:`PyTrackOption in vars(hello_world.__class__)` so with this code we update + the parent class + + Notes + ----- + It should be preferred to set them not in the __init__ but under the class + definition to make them parts of the parent class + >>> class HelloWorld: + >>> option=PyTrackOption() + + + """ + + remove_from__dict__ = [] + + for attr, value in vars(self.child).items(): + if isinstance(value, PyTrackOption): + # this is not hard coded, because when overwriting + # PyTrackOption those custom descriptors also need to be applied! + log.warning(f"DeprecationWarning: please move the definition " + f"of {attr} from __init__ to class level!") + + log.warning(f'Updating {attr} with {value.option} / {attr} ' + f'and {value.default_value}') + + value: PyTrackOption # or child instances + ParsedPyTrackOption = value.__class__ + try: + log.debug( + f"Updating {attr} with PyTrackOption!" + ) + + py_track_option = ParsedPyTrackOption( + option=value.option, + default_value=value.default_value, + name=attr + ) + + setattr(type(self.child), attr, py_track_option) + remove_from__dict__.append(attr) + except ValueError: + log.warning(f'Skipping {attr} update - might already be fixed!') + + # Need to remove them from __dict__, because when setting them inside + # the __init__ the __dict__ is set and we don't want that! + for attr in remove_from__dict__: + self.child.__dict__.pop(attr, None) + def update_dvc(self): """Update the DVCParams with the options from self.dvc From 31b6ff98ee2140b323624edda5031b82b3b9257f Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Fri, 8 Oct 2021 18:02:22 +0200 Subject: [PATCH 17/39] intermediate save - working on serializing pytrack stages (not working!) --- CI/integration_tests/test_class.py | 13 +++------- pytrack/core/decorator.py | 25 +++--------------- pytrack/core/parameter.py | 15 +++++------ pytrack/core/py_track.py | 41 +++++++++++++++++------------- pytrack/utils/serializer.py | 36 ++++++++++++++++++++++++-- pytrack/utils/types.py | 39 ++++++++++++++++++++++++++++ 6 files changed, 109 insertions(+), 60 deletions(-) diff --git a/CI/integration_tests/test_class.py b/CI/integration_tests/test_class.py index ced54c4e..10bb5424 100644 --- a/CI/integration_tests/test_class.py +++ b/CI/integration_tests/test_class.py @@ -1,8 +1,6 @@ -from unittest import TestCase from pytrack import PyTrack, DVC, PyTrackProject from pathlib import Path import json -import subprocess import os import shutil from tempfile import TemporaryDirectory @@ -57,14 +55,9 @@ def prepare_env(): temp_dir.cleanup() -def test_query_by_id(): - base = BasicTest(id_=0) - assert base.pytrack.id == "0" - - def test_parameters(): """Test that the parameters are read correctly""" - base = BasicTest(id_=0) + base = BasicTest(load=True) assert base.parameters == dict( name="PyTest", values=[2, 4, 8, 16, 32, 64, 128, 256] ) @@ -72,11 +65,11 @@ def test_parameters(): def test_results(): """Test that the results are read correctly""" - base = BasicTest(id_=0) + base = BasicTest(load=True) assert base.results == {"name": "PyTest"} def test_deps(): """Test that the dependencies are stored correctly""" - base = BasicTest(id_=0) + base = BasicTest(load=True) assert base.deps == [Path("deps1", "input.json"), Path("deps2", "input.json")] diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index 9ce04ef2..2ca2e28a 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -19,6 +19,7 @@ import functools from .py_track import PyTrackParent +from pytrack.utils.types import PyTrackProperty log = logging.getLogger(__name__) @@ -190,28 +191,8 @@ def wrapper(cls: TypeHintParent, *args, id_=None, load: bool = False, **kwargs): parameters to be passed to the cls """ - def map_pytrack_to_dict(self_): - """Map the correct pytrack instance to the correct cls - - This is required, because we use setattr(TYPE(cls)) and not on the - instance, so we need to distinguish between different instances, - otherwise there is only a single cls.pytrack for all instances! - - We save the PyTrack instance in self.__dict__ to avoid this. - - Attributes - ---------- - self_: object - The class object that is being converted into a PyTrack stage - - """ - try: - return self_.__dict__['pytrack'] - except KeyError: - self_.__dict__['pytrack'] = PyTrackParent(self_) - return self_.__dict__['pytrack'] - - setattr(type(cls), "pytrack", property(map_pytrack_to_dict)) + setattr(type(cls), "pytrack", + PyTrackProperty(py_track_parent=PyTrackParent)) if id_ is not None: log.debug("DeprecationWarning: Argument id_ will be removed eventually") diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index 5a887642..5c7a548f 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -12,9 +12,6 @@ import logging import typing -import json -from pytrack.utils import is_jsonable, serializer, deserializer -from pathlib import Path from pytrack.utils.types import NoneType log = logging.getLogger(__name__) @@ -302,8 +299,8 @@ class DVC: # id_ = instance.pytrack.id # file = instance.pytrack.dvc.internals_file # -# full_internals = self.get_full_internals(file) -# stage = full_internals.get(name, {}) +# internals_from_file = self.get_full_internals(file) +# stage = internals_from_file.get(name, {}) # stage_w_id = stage.get(id_, {}) # # option = stage_w_id.get(self.pytrack_dvc_option, {}) @@ -311,9 +308,9 @@ class DVC: # # stage_w_id[self.pytrack_dvc_option] = option # stage[id_] = stage_w_id -# full_internals[name] = stage +# internals_from_file[name] = stage # -# self.set_full_internals(file, full_internals) +# self.set_full_internals(file, internals_from_file) # # else: # raise ValueError( @@ -326,10 +323,10 @@ class DVC: # id_ = instance.pytrack.id # file = instance.pytrack.dvc.internals_file # -# full_internals = self.get_full_internals(file) +# internals_from_file = self.get_full_internals(file) # # return ( -# full_internals.get(name, {}).get(id_, {}).get(self.pytrack_dvc_option, {}) +# internals_from_file.get(name, {}).get(id_, {}).get(self.pytrack_dvc_option, {}) # ) # # @staticmethod diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index c9ffb4ef..2815887f 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -16,10 +16,10 @@ import json from .data_classes import SlurmConfig -from .parameter import PyTrackOption, DVC +from .parameter import PyTrackOption from pytrack.core.data_classes import DVCParams from pathlib import Path -from pytrack.utils import is_jsonable +from pytrack.utils import is_jsonable, serializer, deserializer from typing import TYPE_CHECKING @@ -60,9 +60,9 @@ def pre_init(self): # self.child._executed = DVC.result() self.dvc.set_json_file(self.name) - if self.load: - self.load_internals() - self.load_results() + # if self.load: + # self.load_internals() + # self.load_results() def post_init(self): """Post init command @@ -73,6 +73,9 @@ def post_init(self): """ self.fix_pytrackoptions() + if self.load: + self.load_internals() + self.load_results() self.update_dvc() def pre_call(self): @@ -375,13 +378,9 @@ def save_internals(self): Update e.g. the parameters, out paths, etc. in the pytrack.json file """ - full_internals = self.full_internals - full_internals[self.stage_name] = self.internals - self.full_internals = full_internals - - def load_internals(self): - """Load the internals from the pytrack.json file""" - self.internals = self.full_internals[self.stage_name] + full_internals = self.internals_from_file + full_internals[self.stage_name] = serializer(self.internals) + self.internals_from_file = full_internals def save_results(self): """Save the results to the json file @@ -390,7 +389,7 @@ def save_results(self): ----- Adding the executed=True to ensure that a json file is always being saved """ - results = self.results + results = serializer(self.results) if not is_jsonable(results): raise ValueError(f"{results} is not JSON serializable") @@ -402,10 +401,18 @@ def save_results(self): json.dumps(results, indent=4) ) + def load_internals(self): + """Load the internals from the pytrack.json file""" + self.internals = deserializer( + self.internals_from_file[self.stage_name] + ) + def load_results(self): """Load the results from file""" try: - self.results = json.loads(self.dvc.json_file.read_text()) + self.results = deserializer( + json.loads(self.dvc.json_file.read_text()) + ) except FileNotFoundError: log.warning("No results found!") @@ -462,7 +469,7 @@ def internals(self, value: dict): self.child.__dict__[key] = val @property - def full_internals(self) -> dict: + def internals_from_file(self) -> dict: """Load ALL internals from .pytrack.json""" try: with open(self.dvc.internals_file) as json_file: @@ -471,8 +478,8 @@ def full_internals(self) -> dict: log.debug(f"Could not load params from {self.dvc.internals_file}!") return {} - @full_internals.setter - def full_internals(self, value: dict): + @internals_from_file.setter + def internals_from_file(self, value: dict): """Update internals in .pytrack.json""" log.debug(f"Writing updates to .pytrack.json as {value}") value.update({"default": None}) diff --git a/pytrack/utils/serializer.py b/pytrack/utils/serializer.py index 0fe62860..69bc5fd2 100644 --- a/pytrack/utils/serializer.py +++ b/pytrack/utils/serializer.py @@ -18,10 +18,12 @@ """ from pathlib import Path import numpy as np +from pytrack.utils.types import PyTrackProperty +from importlib import import_module # Serializer -def conv_path_to_str(value): +def conv_path_to_dict(value): """Convert Path to str""" if isinstance(value, Path): value = {"Path": value.as_posix()} @@ -35,6 +37,12 @@ def conv_numpy_to_dict(value): return value +def conv_class_to_dict(value): + if isinstance(value, PyTrackProperty): + value = {"cls": (value.__module__, value.__name__)} + return value + + # Deserializer def conv_dict_to_numpy(value): """Convert marked dictionary to a numpy array""" @@ -52,10 +60,32 @@ def conv_dict_to_path(value): return value +def conv_dict_to_class(value): + """ + + Parameters + ---------- + value: dict + Expected a dict of type {'cls': (__module__, __name__)} to run + from __module__ import __name__ via importlib + + Returns + ------- + __name__(load=True) + + """ + if isinstance(value, dict): + if len(value) == 1 and "cls" in value: + module = import_module(value['cls'][0]) + value = getattr(module, value['cls'][1])(load=True) + return value + + def serializer(data): """Serialize data so it can be stored in a json file""" - data = conv_path_to_str(data) + data = conv_path_to_dict(data) data = conv_numpy_to_dict(data) + data = conv_class_to_dict(data) if isinstance(data, list): return [serializer(x) for x in data] @@ -69,6 +99,8 @@ def deserializer(data): """Deserialize data from the json file back to python objects""" data = conv_dict_to_numpy(data) data = conv_dict_to_path(data) + data = conv_dict_to_class(data) + if isinstance(data, list): return [deserializer(x) for x in data] elif isinstance(data, dict): diff --git a/pytrack/utils/types.py b/pytrack/utils/types.py index dc076552..59b0c710 100644 --- a/pytrack/utils/types.py +++ b/pytrack/utils/types.py @@ -26,3 +26,42 @@ class NoneType: """ pass + + +class PyTrackProperty: + """Map the correct pytrack instance to the correct cls + + This is required, because we use setattr(TYPE(cls)) and not on the + instance, so we need to distinguish between different instances, + otherwise there is only a single cls.pytrack for all instances! + + We save the PyTrack instance in self.__dict__ to avoid this. + """ + + def __init__(self, py_track_parent): + # Need to do this here, because of ciruclar imports + # with the serializer + self.py_track_parent = py_track_parent + + def __get__(self, instance, owner): + """ + + Parameters + ---------- + instance: TypeHintParent + An instance of the decorated function + owner + + Returns + ------- + PyTrack: + the pytrack property to handle PyTrack + """ + try: + return instance.__dict__['pytrack'] + except KeyError: + instance.__dict__['pytrack'] = self.py_track_parent(instance) + return instance.__dict__['pytrack'] + + def __set__(self, instance, value): + raise NotImplementedError('Can not change pytrack property!') From cb1f2e5ce59be4f3714cb560b68df7976085d029 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Fri, 8 Oct 2021 21:55:06 +0200 Subject: [PATCH 18/39] allow stages as dependencies --- pytrack/core/decorator.py | 6 ++--- pytrack/core/parameter.py | 9 ++++--- pytrack/core/py_track.py | 48 +++++++++++++++++++++++++++++++++---- pytrack/utils/serializer.py | 23 +++++++++++++++--- pytrack/utils/types.py | 40 +++---------------------------- 5 files changed, 75 insertions(+), 51 deletions(-) diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index 2ca2e28a..c2a8f372 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -18,8 +18,7 @@ import typing import functools -from .py_track import PyTrackParent -from pytrack.utils.types import PyTrackProperty +from .py_track import PyTrackProperty log = logging.getLogger(__name__) @@ -191,8 +190,7 @@ def wrapper(cls: TypeHintParent, *args, id_=None, load: bool = False, **kwargs): parameters to be passed to the cls """ - setattr(type(cls), "pytrack", - PyTrackProperty(py_track_parent=PyTrackParent)) + setattr(type(cls), "pytrack", PyTrackProperty()) if id_ is not None: log.debug("DeprecationWarning: Argument id_ will be removed eventually") diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index 5c7a548f..2e25d78d 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -35,9 +35,6 @@ def __set_name__(self, owner, name): self.name = name def __get__(self, instance: TypeHintParent, owner): - # NOTE! the state in __dict__ will always be the serialized version! - # because it will be set based on the config file - # so un-serializing always takes place here! log.warning(f"Getting {self.option} / {self.name}") try: return instance.__dict__[self.name] @@ -45,6 +42,12 @@ def __get__(self, instance: TypeHintParent, owner): if isinstance(self.default_value, NoneType): return None return self.default_value + except AttributeError: + log.warning(f'No value found for {self.option} / {self.name} ' + f'- returning default') + # This can happen, when instance has not been instantiated, yielding in no + # __dict__ attribute. Returning the default value here. + return self.default_value def __set__(self, instance: TypeHintParent, value): log.warning(f"Changing {self.option} / {self.name} to {value}") diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index 2815887f..bc632201 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -20,6 +20,7 @@ from pytrack.core.data_classes import DVCParams from pathlib import Path from pytrack.utils import is_jsonable, serializer, deserializer +from pytrack.utils.types import PyTrackType from typing import TYPE_CHECKING @@ -29,7 +30,41 @@ log = logging.getLogger(__name__) -class PyTrackParent: +class PyTrackProperty: + """Map the correct pytrack instance to the correct cls + + This is required, because we use setattr(TYPE(cls)) and not on the + instance, so we need to distinguish between different instances, + otherwise there is only a single cls.pytrack for all instances! + + We save the PyTrack instance in self.__dict__ to avoid this. + """ + + def __get__(self, instance, owner): + """ + + Parameters + ---------- + instance: TypeHintParent + An instance of the decorated function + owner + + Returns + ------- + PyTrack: + the pytrack property to handle PyTrack + """ + try: + return instance.__dict__['pytrack'] + except KeyError: + instance.__dict__['pytrack'] = PyTrackParent(instance) + return instance.__dict__['pytrack'] + + def __set__(self, instance, value): + raise NotImplementedError('Can not change pytrack property!') + + +class PyTrackParent(PyTrackType): """Parent class to be applied within the decorator""" def __init__(self, child): @@ -379,6 +414,7 @@ def save_internals(self): Update e.g. the parameters, out paths, etc. in the pytrack.json file """ full_internals = self.internals_from_file + log.warning(f'Serializing {self.internals}') full_internals[self.stage_name] = serializer(self.internals) self.internals_from_file = full_internals @@ -403,9 +439,13 @@ def save_results(self): def load_internals(self): """Load the internals from the pytrack.json file""" - self.internals = deserializer( - self.internals_from_file[self.stage_name] - ) + try: + log.warning(f'un-serialize {self.internals_from_file[self.stage_name]}') + self.internals = deserializer( + self.internals_from_file[self.stage_name] + ) + except KeyError: + log.warning(f'No internals found for {self.stage_name}') def load_results(self): """Load the results from file""" diff --git a/pytrack/utils/serializer.py b/pytrack/utils/serializer.py index 69bc5fd2..e2d8ba38 100644 --- a/pytrack/utils/serializer.py +++ b/pytrack/utils/serializer.py @@ -18,8 +18,8 @@ """ from pathlib import Path import numpy as np -from pytrack.utils.types import PyTrackProperty from importlib import import_module +from pytrack.utils.types import PyTrackType # Serializer @@ -38,8 +38,25 @@ def conv_numpy_to_dict(value): def conv_class_to_dict(value): - if isinstance(value, PyTrackProperty): - value = {"cls": (value.__module__, value.__name__)} + """Serialize class instance + + Parameters + ---------- + value: decorated PyTrack stage + Assuming that pytrack stages are written to a file, we use the + __module and __name__ to later run __module.__name__(load=True) + + Returns + -------- + dict: + serialized dictionary containing the class module and name + + """ + try: + if isinstance(value.pytrack, PyTrackType): + value = {"cls": (value.__module__, value.__name__)} + except AttributeError: + pass return value diff --git a/pytrack/utils/types.py b/pytrack/utils/types.py index 59b0c710..53ca4ef1 100644 --- a/pytrack/utils/types.py +++ b/pytrack/utils/types.py @@ -28,40 +28,6 @@ class NoneType: pass -class PyTrackProperty: - """Map the correct pytrack instance to the correct cls - - This is required, because we use setattr(TYPE(cls)) and not on the - instance, so we need to distinguish between different instances, - otherwise there is only a single cls.pytrack for all instances! - - We save the PyTrack instance in self.__dict__ to avoid this. - """ - - def __init__(self, py_track_parent): - # Need to do this here, because of ciruclar imports - # with the serializer - self.py_track_parent = py_track_parent - - def __get__(self, instance, owner): - """ - - Parameters - ---------- - instance: TypeHintParent - An instance of the decorated function - owner - - Returns - ------- - PyTrack: - the pytrack property to handle PyTrack - """ - try: - return instance.__dict__['pytrack'] - except KeyError: - instance.__dict__['pytrack'] = self.py_track_parent(instance) - return instance.__dict__['pytrack'] - - def __set__(self, instance, value): - raise NotImplementedError('Can not change pytrack property!') +class PyTrackType: + """Class to check against to see if it is part of PyTrack""" + pass From e139a4ba2fb4f03a589d6aa1bf05343fb9cd3a3b Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Fri, 8 Oct 2021 22:53:27 +0200 Subject: [PATCH 19/39] add `nb_name` to config --- pytrack/core/decorator.py | 4 ++++ pytrack/utils/config.py | 1 + 2 files changed, 5 insertions(+) diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index c2a8f372..1350a7e5 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -19,6 +19,7 @@ import functools from .py_track import PyTrackProperty +from pytrack.utils import config log = logging.getLogger(__name__) @@ -59,6 +60,9 @@ def __init__( raise ValueError("Please use `@Pytrack()` instead of `@Pytrack`.") self.cls = cls + if nb_name is None: + nb_name = config.nb_name + self.exec_ = exec_ self.name = name diff --git a/pytrack/utils/config.py b/pytrack/utils/config.py index 1cdc9f4c..c80ce322 100644 --- a/pytrack/utils/config.py +++ b/pytrack/utils/config.py @@ -16,6 +16,7 @@ class Config: """Collection of PyTrack configurations""" debug: bool = False # not implemented yet + nb_name: str = None config = Config() From 3e7dcb075650ff04e2d2282fc056418bca466b70 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Fri, 8 Oct 2021 22:54:27 +0200 Subject: [PATCH 20/39] fix issue with stage dependencies --- pytrack/core/parameter.py | 5 +++-- pytrack/core/py_track.py | 31 +++++++++++++++++++------------ pytrack/utils/serializer.py | 9 +++++---- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index 2e25d78d..6ba60179 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -35,11 +35,12 @@ def __set_name__(self, owner, name): self.name = name def __get__(self, instance: TypeHintParent, owner): - log.warning(f"Getting {self.option} / {self.name}") + log.warning(f"Getting {self.option} / {self.name} for {instance}") try: return instance.__dict__[self.name] except KeyError: - if isinstance(self.default_value, NoneType): + log.warning('KeyError: returning default value') + if self.default_value is NoneType: return None return self.default_value except AttributeError: diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index bc632201..c4e043ea 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -111,7 +111,6 @@ def post_init(self): if self.load: self.load_internals() self.load_results() - self.update_dvc() def pre_call(self): """Method to be run before the call""" @@ -141,6 +140,7 @@ def post_call(self, force=False, exec_=False, always_changed=False, slurm=False) your HEAD Node. You can check the commands in dvc.yaml! """ + self.update_dvc() self.dvc.make_paths() self.write_dvc(force, exec_, always_changed, slurm) @@ -197,7 +197,7 @@ def fix_pytrackoptions(self): f"of {attr} from __init__ to class level!") log.warning(f'Updating {attr} with {value.option} / {attr} ' - f'and {value.default_value}') + f'and default {value.default_value}') value: PyTrackOption # or child instances ParsedPyTrackOption = value.__class__ @@ -220,26 +220,32 @@ def fix_pytrackoptions(self): # Need to remove them from __dict__, because when setting them inside # the __init__ the __dict__ is set and we don't want that! for attr in remove_from__dict__: - self.child.__dict__.pop(attr, None) + log.debug(f"removing: {self.child.__dict__.pop(attr, None)} ") def update_dvc(self): """Update the DVCParams with the options from self.dvc This method searches for all PyTrackOptions that are defined within the __init__ """ - + log.warning(f"checking for instance {self.child}") for attr, val in vars(type(self.child)).items(): if isinstance(val, PyTrackOption): option = val.option new_vals = getattr(self.child, attr) - try: - if isinstance(new_vals, list): - [getattr(self.dvc, option).append(x) for x in new_vals] - else: - getattr(self.dvc, option).append(new_vals) - except AttributeError: - # results / params will be skipped - log.debug(f"'DVCParams' object has no attribute '{option}'") + log.warning(f'processing {attr} - {new_vals}') + # check if it is a stage, that has to be handled extra + if hasattr(new_vals, 'pytrack'): + if isinstance(new_vals.pytrack, PyTrackParent): + getattr(self.dvc, option).append(new_vals.pytrack.dvc.json_file) + else: + try: + if isinstance(new_vals, list): + [getattr(self.dvc, option).append(x) for x in new_vals] + else: + getattr(self.dvc, option).append(new_vals) + except AttributeError: + # results / params will be skipped + log.debug(f"'DVCParams' object has no attribute '{option}'") def has_params(self) -> bool: """Check if any params are required by going through the defined params""" @@ -416,6 +422,7 @@ def save_internals(self): full_internals = self.internals_from_file log.warning(f'Serializing {self.internals}') full_internals[self.stage_name] = serializer(self.internals) + log.warning(f"Saving {full_internals[self.stage_name]}") self.internals_from_file = full_internals def save_results(self): diff --git a/pytrack/utils/serializer.py b/pytrack/utils/serializer.py index e2d8ba38..6cafe6f3 100644 --- a/pytrack/utils/serializer.py +++ b/pytrack/utils/serializer.py @@ -16,11 +16,14 @@ Please consider using DVC.outs() and save them in a binary file format. """ +import logging from pathlib import Path import numpy as np from importlib import import_module from pytrack.utils.types import PyTrackType +log = logging.getLogger(__name__) + # Serializer def conv_path_to_dict(value): @@ -52,11 +55,9 @@ def conv_class_to_dict(value): serialized dictionary containing the class module and name """ - try: + if hasattr(value, 'pytrack'): if isinstance(value.pytrack, PyTrackType): - value = {"cls": (value.__module__, value.__name__)} - except AttributeError: - pass + value = {"cls": (value.__module__, value.__class__.__name__)} return value From 9eb8871d973fdf14b1a495ad47fdbab501778b6f Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Fri, 8 Oct 2021 23:15:02 +0200 Subject: [PATCH 21/39] fix issue with named stages --- CI/integration_tests/test_graph_01.py | 21 ++++++++++++++------- pytrack/core/decorator.py | 4 ++-- pytrack/core/py_track.py | 2 +- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/CI/integration_tests/test_graph_01.py b/CI/integration_tests/test_graph_01.py index 80e24926..bc6d092c 100644 --- a/CI/integration_tests/test_graph_01.py +++ b/CI/integration_tests/test_graph_01.py @@ -92,8 +92,8 @@ class ComputeABNamed: """PyTrack stage AB, depending on A&B with a custom stage name""" def __init__(self): - self.a = DVC.deps(ComputeANamed(id_=0)) - self.b = DVC.deps(ComputeB(id_=0)) + self.a: ComputeANamed = DVC.deps(ComputeANamed(id_=0)) + self.b: ComputeB = DVC.deps(ComputeB(id_=0)) self.out = DVC.result() self.param = DVC.params() @@ -102,9 +102,7 @@ def __call__(self): self.param = "default" def run(self): - a = ComputeANamed(id_=0).out - b = ComputeB(id_=0).out - self.out = a + b + self.out = self.a.out + self.b.out @pytest.fixture(autouse=True) @@ -152,8 +150,7 @@ def test_stage_addition_named(): ab = ComputeABNamed() ab() - project.run() - project.load() + project.repro() finished_stage = ComputeABNamed(id_=0) assert finished_stage.out == 31 @@ -198,3 +195,13 @@ def test_stage_addition_named_run(): finished_stage = ComputeABNamed(id_=0) assert finished_stage.out == 31 + + +def test_named_single_stage(): + project = PyTrackProject() + project.create_dvc_repository() + + a = ComputeANamed() + a(5) + + project.repro() diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index 1350a7e5..05cd087d 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -201,13 +201,13 @@ def wrapper(cls: TypeHintParent, *args, id_=None, load: bool = False, **kwargs): load = True cls.pytrack.load = load + cls.pytrack.stage_name = self.name + cls.pytrack.pre_init() log.debug(f"Processing {cls.pytrack}") result = func(cls, *args, **kwargs) cls.pytrack.post_init() - cls.pytrack.stage_name = self.name - if self.nb_name is not None: cls.pytrack._module = f"{self.nb_class_path}.{self.cls.__name__}" cls.pytrack.nb_mode = True diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index c4e043ea..97681c6e 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -296,7 +296,7 @@ def write_dvc( if self.has_params(): script += [ "--params", - f"{self.dvc.internals_file}:{self.name}.params", + f"{self.dvc.internals_file}:{self.stage_name}.params", ] if self.nb_mode: From 27c3548dda9666996129a537d8a8e7ea340d40ce Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Fri, 8 Oct 2021 23:18:42 +0200 Subject: [PATCH 22/39] fix test --- CI/integration_tests/test_graph_01.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/CI/integration_tests/test_graph_01.py b/CI/integration_tests/test_graph_01.py index bc6d092c..a33e0a48 100644 --- a/CI/integration_tests/test_graph_01.py +++ b/CI/integration_tests/test_graph_01.py @@ -189,19 +189,22 @@ def test_stage_addition_named_run(): ab = ComputeABNamed() ab() - a.run() - b.run() - ab.run() + ComputeANamed(load=True).run() + ComputeB(load=True).run() + ComputeABNamed(load=True).run() - finished_stage = ComputeABNamed(id_=0) + finished_stage = ComputeABNamed(load=True) assert finished_stage.out == 31 def test_named_single_stage(): + """Test a single named stage""" project = PyTrackProject() project.create_dvc_repository() a = ComputeANamed() - a(5) + a(2) project.repro() + + assert ComputeANamed(load=True).out == 4 From a06e129b078ef7aa81f880126f143b1600fb2488 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Fri, 8 Oct 2021 23:20:00 +0200 Subject: [PATCH 23/39] remove comments --- pytrack/core/parameter.py | 326 -------------------------------------- 1 file changed, 326 deletions(-) diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index 6ba60179..f0458e5f 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -116,329 +116,3 @@ class DVC: deps = LazyProperty() outs = LazyProperty() metrics_no_cache = LazyProperty() - -# class _PyTrackOption: -# def __init__( -# self, -# value=None, -# option: str = None, -# attr: str = None, -# cls: TypeHintParent = None, -# ): -# """PyTrack Descriptor to handle the loading and writing of files -# -# Parameters -# ---------- -# option: str -# One of the DVC options, e.g., params, outs, ... -# value: -# default value -# attr -# cls -# """ -# if option is None: -# log.warning("Using a custom PyTrackOption! No default values supported!") -# option = "custom" -# -# self.pytrack_dvc_option = option -# self.value = value -# self.check_input(value) -# -# if value is not None and cls is not None: -# value = self.get_value(value) -# if value is NoneType: -# return -# -# value = serializer(value) -# self.set_internals(cls, {attr: value}) -# -# def __get__(self, instance: TypeHintParent, owner): -# """Get the value of this instance from pytrack_internals and return it""" -# try: -# return self._get(instance, owner) -# except NotImplementedError: -# if self.pytrack_dvc_option == "result": -# return deserializer( -# self.get_results(instance).get(self.get_name(instance)) -# ) -# else: -# output = self.get_internals(instance).get(self.get_name(instance), "") -# output = deserializer(output) -# if self.pytrack_dvc_option in ["params", "deps"]: -# return output -# else: -# # combine with the associated path, defined in pytrack.dvc -# file_path: Path = getattr( -# instance.pytrack.dvc, f"{self.pytrack_dvc_option}_path" -# ) -# if isinstance(output, list): -# return [file_path / x for x in output] -# elif isinstance(output, str): -# return file_path / output -# else: -# return output -# -# def __set__(self, instance: TypeHintParent, value): -# """Update the value""" -# try: -# self._set(instance, value) -# except NotImplementedError: -# if self.pytrack_dvc_option != "result": -# self.check_input(value) -# -# value = self.get_value(value) -# if value is NoneType: -# return -# -# log.debug(f"Updating {self.get_name(instance)} with {value}") -# -# value = serializer(value) -# -# self.set_internals(instance, {self.get_name(instance): value}) -# -# def _get(self, instance: TypeHintParent, owner): -# """Overwrite this method for custom PyTrackOption get method""" -# raise NotImplementedError -# -# def _set(self, instance: TypeHintParent, value): -# """Overwrite this method for custom PyTrackOption set method""" -# raise NotImplementedError -# -# def get_value(self, value): -# """Get the value -# -# If the input is a PyTrackOption gather the value trough the .value attribute -# Otherwise if e.g. it is a pytrack stage, look for the results json file -# and make that the resulting value -# -# """ -# if isinstance(value, self.__class__): -# value = value.value -# -# # Check if the passed value is a PyTrack class -# # if so, add its json file as a dependency to this stage. -# if hasattr(value, "pytrack"): -# # Allow self.deps = DVC.deps(Stage(id_=0)) -# if self.pytrack_dvc_option == "deps": -# new_value = value.pytrack.dvc.json_file -# if new_value is None: -# raise ValueError(f"Stage {value} has no results assigned to it!") -# else: -# value = new_value -# return value -# -# def get_name(self, instance): -# """ -# -# Parameters -# ---------- -# instance: TypeHintParent -# A instance of the Parent that contains -# -# Returns -# ------- -# str: Name of this instance, e.g., self.abc = DVC.outs() returns "abc" -# -# """ -# for attr, val in vars(type(instance)).items(): -# if val == self: -# return attr -# -# raise ValueError(f"Could not find {self} in instance {instance}") -# -# def check_input(self, value): -# if isinstance(value, dict): -# log.warning( -# f"Used mutable type dict for {self.pytrack_dvc_option}! " -# f"Always overwrite the {self.pytrack_dvc_option} and don't alter it " -# f"otherwise!, It won't work." -# ) -# -# if isinstance(value, list): -# log.warning( -# f"Used mutable type list for {self.pytrack_dvc_option}! " -# f"Always overwrite the {self.pytrack_dvc_option} and don't append " -# f"to it! It won't work." -# ) -# -# def set_internals(self, instance: TypeHintParent, value: dict): -# """Set the Internals for this instance (Stage & Id) -# -# This writes them to self._pytrack_all_parameters, i.e., to the config file. -# """ -# if isinstance(value, dict): -# if self.pytrack_dvc_option == "result": -# if not instance.pytrack.allow_result_change: -# if instance.pytrack.is_init: -# log.debug("ValueError Exception during init!") -# return -# else: -# raise ValueError( -# "Result can only be changed within `run` call!" -# ) -# # log.warning("Result can only be changed within `run` call!") -# # return -# if not is_jsonable(value): -# raise ValueError("Results must be JSON serializable") -# log.debug(f"Processing value {value}") -# results = self.get_results(instance) -# results.update(value) -# self.set_results(instance, results) -# -# else: -# log.debug( -# f"Param_Change: {instance.pytrack.allow_param_change} on {instance.pytrack}" -# ) -# if not instance.pytrack.allow_param_change: -# if instance.pytrack.is_init: -# log.debug("ValueError Exception during init!") -# return -# else: -# raise ValueError( -# "This stage is being loaded. Parameters can not be set!" -# ) -# value = self.get_value(value) -# value = serializer(value) -# name = instance.pytrack.name -# id_ = instance.pytrack.id -# file = instance.pytrack.dvc.internals_file -# -# internals_from_file = self.get_full_internals(file) -# stage = internals_from_file.get(name, {}) -# stage_w_id = stage.get(id_, {}) -# -# option = stage_w_id.get(self.pytrack_dvc_option, {}) -# option.update(value) -# -# stage_w_id[self.pytrack_dvc_option] = option -# stage[id_] = stage_w_id -# internals_from_file[name] = stage -# -# self.set_full_internals(file, internals_from_file) -# -# else: -# raise ValueError( -# f"Value has to be a dictionary but found {type(value)} instead!" -# ) -# -# def get_internals(self, instance: TypeHintParent): -# """Get the parameters for this instance (Stage & Id)""" -# name = instance.pytrack.name -# id_ = instance.pytrack.id -# file = instance.pytrack.dvc.internals_file -# -# internals_from_file = self.get_full_internals(file) -# -# return ( -# internals_from_file.get(name, {}).get(id_, {}).get(self.pytrack_dvc_option, {}) -# ) -# -# @staticmethod -# def get_full_internals(file) -> dict: -# """Load ALL internals from .pytrack.json""" -# try: -# with open(file) as json_file: -# return json.load(json_file) -# except FileNotFoundError: -# log.debug(f"Could not load params from {file}!") -# return {} -# -# @staticmethod -# def set_full_internals(file, value: dict): -# """Update internals in .pytrack.json""" -# log.debug(f"Writing updates to .pytrack.json as {value}") -# value.update({"default": None}) -# -# if not is_jsonable(value): -# raise ValueError(f"{value} is not JSON serializable") -# -# Path(file).parent.mkdir(exist_ok=True, parents=True) -# -# with open(file, "w") as json_file: -# json.dump(value, json_file, indent=4) -# -# @staticmethod -# def get_results(instance: TypeHintParent): -# file = instance.pytrack.dvc.json_file -# try: -# with open(file) as f: -# result = json.load(f) -# log.debug(f"Loading results {result}") -# return result -# except FileNotFoundError: -# log.warning("No results found!") -# return {} -# -# @staticmethod -# def set_results(instance: TypeHintParent, value): -# file = instance.pytrack.dvc.json_file -# if not is_jsonable(value): -# raise ValueError(f"{value} is not JSON serializable") -# log.debug(f"Writing {value} to {file}") -# with open(file, "w") as f: -# json.dump(value, f, indent=4) -# log.debug("successful!") -# -# def __repr__(self): -# return f"Descriptor for {self.pytrack_dvc_option}" -# -# -# class _DVC: -# """Basically a dataclass of DVC methods -# -# Referring to https://dvc.org/doc/command-reference/run#options -# """ -# -# def __init__(self): -# """Basically a dataclass of DVC methods""" -# raise NotImplementedError( -# "Cannot initialize DVC - this class is only for accessing its methods!" -# ) -# -# @staticmethod -# def params(value=NoneType): -# """Parameter for PyTrack -# -# Parameters -# ---------- -# obj: any class object that the parameter will take on, so that type hinting does not raise issues -# -# Returns -# ------- -# cls: Class that inherits from obj -# -# """ -# -# return PyTrackOption(value, option="params") -# -# @staticmethod -# def result(value=NoneType): -# """Parameter for PyTrack -# -# Parameters -# ---------- -# obj: any class object that the parameter will take on, so that type hinting does not raise issues -# outs: Future Version, allows for defining the type ot output -# -# Returns -# ------- -# cls: Class that inherits from obj -# -# """ -# -# if value is not NoneType: -# raise ValueError("Can not pre-initialize result!") -# -# return PyTrackOption(value, option="result") -# -# @staticmethod -# def deps(value=NoneType): -# return PyTrackOption(value, option="deps") -# -# @staticmethod -# def outs(value=NoneType): -# return PyTrackOption(value, option="outs") -# -# @staticmethod -# def metrics_no_cache(value=NoneType): -# return PyTrackOption(value, option="metrics_no_cache") From 0e22829e6183287a518a3633015bb1ee1b0d4483 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Mon, 11 Oct 2021 12:43:11 +0200 Subject: [PATCH 24/39] move logging to debug --- pytrack/core/parameter.py | 12 ++++++------ pytrack/core/py_track.py | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index f0458e5f..f9f97f91 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -35,11 +35,11 @@ def __set_name__(self, owner, name): self.name = name def __get__(self, instance: TypeHintParent, owner): - log.warning(f"Getting {self.option} / {self.name} for {instance}") + log.debug(f"Getting {self.option} / {self.name} for {instance}") try: return instance.__dict__[self.name] except KeyError: - log.warning('KeyError: returning default value') + log.debug('KeyError: returning default value') if self.default_value is NoneType: return None return self.default_value @@ -51,10 +51,10 @@ def __get__(self, instance: TypeHintParent, owner): return self.default_value def __set__(self, instance: TypeHintParent, value): - log.warning(f"Changing {self.option} / {self.name} to {value}") + log.debug(f"Changing {self.option} / {self.name} to {value}") if isinstance(value, PyTrackOption): - log.warning(f'{self.option} / {self.name} is already a PyTrackOption - ' + log.debug(f'{self.option} / {self.name} is already a PyTrackOption - ' f'Skipping updating it!') return @@ -71,14 +71,14 @@ def __set__(self, instance: TypeHintParent, value): def check_input(self, value): """Check if the input value can be processed""" if isinstance(value, dict): - log.warning( + log.info( f"Used mutable type dict for {self.option}! " f"Always overwrite the {self.option} and don't alter it " f"otherwise!, It won't work." ) if isinstance(value, list): - log.warning( + log.info( f"Used mutable type list for {self.option}! " f"Always overwrite the {self.option} and don't append " f"to it! It won't work." diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index 97681c6e..b03cdaf1 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -196,7 +196,7 @@ def fix_pytrackoptions(self): log.warning(f"DeprecationWarning: please move the definition " f"of {attr} from __init__ to class level!") - log.warning(f'Updating {attr} with {value.option} / {attr} ' + log.debug(f'Updating {attr} with {value.option} / {attr} ' f'and default {value.default_value}') value: PyTrackOption # or child instances @@ -227,12 +227,12 @@ def update_dvc(self): This method searches for all PyTrackOptions that are defined within the __init__ """ - log.warning(f"checking for instance {self.child}") + log.debug(f"checking for instance {self.child}") for attr, val in vars(type(self.child)).items(): if isinstance(val, PyTrackOption): option = val.option new_vals = getattr(self.child, attr) - log.warning(f'processing {attr} - {new_vals}') + log.debug(f'processing {attr} - {new_vals}') # check if it is a stage, that has to be handled extra if hasattr(new_vals, 'pytrack'): if isinstance(new_vals.pytrack, PyTrackParent): @@ -420,9 +420,9 @@ def save_internals(self): Update e.g. the parameters, out paths, etc. in the pytrack.json file """ full_internals = self.internals_from_file - log.warning(f'Serializing {self.internals}') + log.debug(f'Serializing {self.internals}') full_internals[self.stage_name] = serializer(self.internals) - log.warning(f"Saving {full_internals[self.stage_name]}") + log.debug(f"Saving {full_internals[self.stage_name]}") self.internals_from_file = full_internals def save_results(self): @@ -447,7 +447,7 @@ def save_results(self): def load_internals(self): """Load the internals from the pytrack.json file""" try: - log.warning(f'un-serialize {self.internals_from_file[self.stage_name]}') + log.debug(f'un-serialize {self.internals_from_file[self.stage_name]}') self.internals = deserializer( self.internals_from_file[self.stage_name] ) From 5fb29787d328dfd46cc5e2fd532d39c0f0f2dbd3 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Thu, 14 Oct 2021 15:30:04 +0200 Subject: [PATCH 25/39] test and fix for #83 --- .../test_stage_stage_dependency.py | 61 +++++++++++++++++++ pytrack/core/parameter.py | 2 +- pytrack/core/py_track.py | 9 ++- pytrack/utils/serializer.py | 8 ++- pytrack/utils/types.py | 26 +++++++- 5 files changed, 99 insertions(+), 7 deletions(-) create mode 100644 CI/integration_tests/test_stage_stage_dependency.py diff --git a/CI/integration_tests/test_stage_stage_dependency.py b/CI/integration_tests/test_stage_stage_dependency.py new file mode 100644 index 00000000..8eca6780 --- /dev/null +++ b/CI/integration_tests/test_stage_stage_dependency.py @@ -0,0 +1,61 @@ +""" +This program and the accompanying materials are made available under the terms of the +Eclipse Public License v2.0 which accompanies this distribution, and is available at +https://www.eclipse.org/legal/epl-v20.html +SPDX-License-Identifier: EPL-2.0 + +Copyright Contributors to the Zincware Project. + +Description: +""" +from pytrack import PyTrack, DVC +import shutil +import os + + +@PyTrack() +class Stage1: + args = DVC.params() + + def __call__(self, args): + self.args = args + + def run(self): + pass + + +@PyTrack() +class Stage2: + stage_1: Stage1 = DVC.deps(Stage1(load=True)) + + def __call__(self, *args, **kwargs): + pass + + def run(self): + pass + + +def test_stage_stage_dependency(tmp_path): + """Test that stage dependencies including load work as expected""" + shutil.copy(__file__, tmp_path) + os.chdir(tmp_path) + + stage_1 = Stage1() + stage_1(args='Test01') + # Need to call the stage, to create the config file + # it does not make sense to access the results of a stage + # that has not at least been called + stage_2 = Stage2() + stage_2() + + stage_2a = Stage2(load=True) + + # changing the value of Stage1 in the config file + stage_1 = Stage1() + stage_1(args='Test02') + + # Loading the stage it should now have the new value + stage_2b = Stage2(load=True) + + assert stage_2a.stage_1.args == "Test01" + assert stage_2b.stage_1.args == "Test02" diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index f9f97f91..f8a41566 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -55,7 +55,7 @@ def __set__(self, instance: TypeHintParent, value): if isinstance(value, PyTrackOption): log.debug(f'{self.option} / {self.name} is already a PyTrackOption - ' - f'Skipping updating it!') + f'Skipping updating it!') return if instance.pytrack.load and self.option != "result": diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index b03cdaf1..c4ff6267 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -20,7 +20,7 @@ from pytrack.core.data_classes import DVCParams from pathlib import Path from pytrack.utils import is_jsonable, serializer, deserializer -from pytrack.utils.types import PyTrackType +from pytrack.utils.types import PyTrackType, PyTrackStage from typing import TYPE_CHECKING @@ -513,7 +513,12 @@ def internals(self, value: dict): """ for option in value.values(): for key, val in option.items(): - self.child.__dict__[key] = val + if isinstance(val, PyTrackStage): + # Load the PyTrackStage + self.child.__dict__[key] = val.get() + else: + # Everything except the PyTrackStage + self.child.__dict__[key] = val @property def internals_from_file(self) -> dict: diff --git a/pytrack/utils/serializer.py b/pytrack/utils/serializer.py index 6cafe6f3..db618f47 100644 --- a/pytrack/utils/serializer.py +++ b/pytrack/utils/serializer.py @@ -20,7 +20,7 @@ from pathlib import Path import numpy as np from importlib import import_module -from pytrack.utils.types import PyTrackType +from pytrack.utils.types import PyTrackType, PyTrackStage log = logging.getLogger(__name__) @@ -89,13 +89,15 @@ def conv_dict_to_class(value): Returns ------- - __name__(load=True) + PyTrackStage(cls=value): + cls that can be used to load a stage via PyTrackStage.get() """ if isinstance(value, dict): if len(value) == 1 and "cls" in value: module = import_module(value['cls'][0]) - value = getattr(module, value['cls'][1])(load=True) + value = getattr(module, value['cls'][1]) + value = PyTrackStage(cls=value) return value diff --git a/pytrack/utils/types.py b/pytrack/utils/types.py index 53ca4ef1..836c6011 100644 --- a/pytrack/utils/types.py +++ b/pytrack/utils/types.py @@ -29,5 +29,29 @@ class NoneType: class PyTrackType: - """Class to check against to see if it is part of PyTrack""" + """Class to check against to see if it is part of PyTrack + + In comparison to PyTrackStage this is used to identify initiated stages + """ pass + + +class PyTrackStage: + """Class to identify PyTrackStages + + This is used internally to mark a class definition as a PyTrackStage. + In comparison to PyTrackType this is used to mark a class as a Stage that has not + been called. + + >>> type(vars(Stage)['pytrack']) == 'PyTrackProperty' + # can not use the following: + >>> type(vars(Stage())['pytrack']) == 'PyTrackType' + + """ + def __init__(self, cls): + self.cls = cls + + def get(self): + """Load the PyTrackStage""" + return self.cls(load=True) + From 1e8a01a38ff8f21b96e5b46adb4920d9a7c7fbff Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Thu, 14 Oct 2021 15:32:59 +0200 Subject: [PATCH 26/39] run black --- .../test_stage_stage_dependency.py | 4 +- pytrack/core/decorator.py | 32 ++++----- pytrack/core/parameter.py | 18 +++-- pytrack/core/py_track.py | 69 +++++++++---------- pytrack/utils/serializer.py | 6 +- pytrack/utils/types.py | 3 +- 6 files changed, 65 insertions(+), 67 deletions(-) diff --git a/CI/integration_tests/test_stage_stage_dependency.py b/CI/integration_tests/test_stage_stage_dependency.py index 8eca6780..153da9d7 100644 --- a/CI/integration_tests/test_stage_stage_dependency.py +++ b/CI/integration_tests/test_stage_stage_dependency.py @@ -41,7 +41,7 @@ def test_stage_stage_dependency(tmp_path): os.chdir(tmp_path) stage_1 = Stage1() - stage_1(args='Test01') + stage_1(args="Test01") # Need to call the stage, to create the config file # it does not make sense to access the results of a stage # that has not at least been called @@ -52,7 +52,7 @@ def test_stage_stage_dependency(tmp_path): # changing the value of Stage1 in the config file stage_1 = Stage1() - stage_1(args='Test02') + stage_1(args="Test02") # Loading the stage it should now have the new value stage_2b = Stage2(load=True) diff --git a/pytrack/core/decorator.py b/pytrack/core/decorator.py index 05cd087d..d6eb93cf 100644 --- a/pytrack/core/decorator.py +++ b/pytrack/core/decorator.py @@ -31,12 +31,12 @@ class PyTrack: """Decorator for converting a class into a PyTrack stage""" def __init__( - self, - cls=None, - nb_name: str = None, - name: str = None, - exec_: bool = False, - **kwargs, + self, + cls=None, + nb_name: str = None, + name: str = None, + exec_: bool = False, + **kwargs, ): """ @@ -134,9 +134,9 @@ def jupyter_class_to_file(self): imports += line if reading_class: if ( - re.match(r"\S", line) - and not line.startswith("#") - and not line.startswith("class") + re.match(r"\S", line) + and not line.startswith("#") + and not line.startswith("class") ): reading_class = False if reading_class or line.startswith("class"): @@ -224,13 +224,13 @@ def call_decorator(self, func): @functools.wraps(func) def wrapper( - cls: TypeHintParent, - *args, - force=True, - exec_=self.exec_, - always_changed=False, - slurm=False, - **kwargs, + cls: TypeHintParent, + *args, + force=True, + exec_=self.exec_, + always_changed=False, + slurm=False, + **kwargs, ): """Wrapper around the call diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index f8a41566..b2778ed4 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -39,13 +39,15 @@ def __get__(self, instance: TypeHintParent, owner): try: return instance.__dict__[self.name] except KeyError: - log.debug('KeyError: returning default value') + log.debug("KeyError: returning default value") if self.default_value is NoneType: return None return self.default_value except AttributeError: - log.warning(f'No value found for {self.option} / {self.name} ' - f'- returning default') + log.warning( + f"No value found for {self.option} / {self.name} " + f"- returning default" + ) # This can happen, when instance has not been instantiated, yielding in no # __dict__ attribute. Returning the default value here. return self.default_value @@ -54,15 +56,17 @@ def __set__(self, instance: TypeHintParent, value): log.debug(f"Changing {self.option} / {self.name} to {value}") if isinstance(value, PyTrackOption): - log.debug(f'{self.option} / {self.name} is already a PyTrackOption - ' - f'Skipping updating it!') + log.debug( + f"{self.option} / {self.name} is already a PyTrackOption - " + f"Skipping updating it!" + ) return if instance.pytrack.load and self.option != "result": - raise ValueError(f'Changing {self.option} is currently not allowed!') + raise ValueError(f"Changing {self.option} is currently not allowed!") if not instance.pytrack.running and self.option == "result": - raise ValueError(f'Changing {self.option} is currently not allowed') + raise ValueError(f"Changing {self.option} is currently not allowed") self.check_input(value) diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index c4ff6267..a7111a68 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -55,13 +55,13 @@ def __get__(self, instance, owner): the pytrack property to handle PyTrack """ try: - return instance.__dict__['pytrack'] + return instance.__dict__["pytrack"] except KeyError: - instance.__dict__['pytrack'] = PyTrackParent(instance) - return instance.__dict__['pytrack'] + instance.__dict__["pytrack"] = PyTrackParent(instance) + return instance.__dict__["pytrack"] def __set__(self, instance, value): - raise NotImplementedError('Can not change pytrack property!') + raise NotImplementedError("Can not change pytrack property!") class PyTrackParent(PyTrackType): @@ -90,8 +90,7 @@ def __init__(self, child): self.nb_mode = False # notebook mode def pre_init(self): - """Function to be called prior to the init - """ + """Function to be called prior to the init""" # self.child._executed = DVC.result() self.dvc.set_json_file(self.name) @@ -193,29 +192,31 @@ def fix_pytrackoptions(self): if isinstance(value, PyTrackOption): # this is not hard coded, because when overwriting # PyTrackOption those custom descriptors also need to be applied! - log.warning(f"DeprecationWarning: please move the definition " - f"of {attr} from __init__ to class level!") + log.warning( + f"DeprecationWarning: please move the definition " + f"of {attr} from __init__ to class level!" + ) - log.debug(f'Updating {attr} with {value.option} / {attr} ' - f'and default {value.default_value}') + log.debug( + f"Updating {attr} with {value.option} / {attr} " + f"and default {value.default_value}" + ) value: PyTrackOption # or child instances ParsedPyTrackOption = value.__class__ try: - log.debug( - f"Updating {attr} with PyTrackOption!" - ) + log.debug(f"Updating {attr} with PyTrackOption!") py_track_option = ParsedPyTrackOption( option=value.option, default_value=value.default_value, - name=attr + name=attr, ) setattr(type(self.child), attr, py_track_option) remove_from__dict__.append(attr) except ValueError: - log.warning(f'Skipping {attr} update - might already be fixed!') + log.warning(f"Skipping {attr} update - might already be fixed!") # Need to remove them from __dict__, because when setting them inside # the __init__ the __dict__ is set and we don't want that! @@ -232,9 +233,9 @@ def update_dvc(self): if isinstance(val, PyTrackOption): option = val.option new_vals = getattr(self.child, attr) - log.debug(f'processing {attr} - {new_vals}') + log.debug(f"processing {attr} - {new_vals}") # check if it is a stage, that has to be handled extra - if hasattr(new_vals, 'pytrack'): + if hasattr(new_vals, "pytrack"): if isinstance(new_vals.pytrack, PyTrackParent): getattr(self.dvc, option).append(new_vals.pytrack.dvc.json_file) else: @@ -256,11 +257,11 @@ def has_params(self) -> bool: return False def write_dvc( - self, - force=True, - exec_: bool = False, - always_changed: bool = False, - slurm: bool = False, + self, + force=True, + exec_: bool = False, + always_changed: bool = False, + slurm: bool = False, ): """Write the DVC file using run. @@ -420,7 +421,7 @@ def save_internals(self): Update e.g. the parameters, out paths, etc. in the pytrack.json file """ full_internals = self.internals_from_file - log.debug(f'Serializing {self.internals}') + log.debug(f"Serializing {self.internals}") full_internals[self.stage_name] = serializer(self.internals) log.debug(f"Saving {full_internals[self.stage_name]}") self.internals_from_file = full_internals @@ -438,28 +439,22 @@ def save_results(self): raise ValueError(f"{results} is not JSON serializable") log.debug(f"Writing {results} to {self.dvc.json_file}") - results['executed'] = True + results["executed"] = True - self.dvc.json_file.write_text( - json.dumps(results, indent=4) - ) + self.dvc.json_file.write_text(json.dumps(results, indent=4)) def load_internals(self): """Load the internals from the pytrack.json file""" try: - log.debug(f'un-serialize {self.internals_from_file[self.stage_name]}') - self.internals = deserializer( - self.internals_from_file[self.stage_name] - ) + log.debug(f"un-serialize {self.internals_from_file[self.stage_name]}") + self.internals = deserializer(self.internals_from_file[self.stage_name]) except KeyError: - log.warning(f'No internals found for {self.stage_name}') + log.warning(f"No internals found for {self.stage_name}") def load_results(self): """Load the results from file""" try: - self.results = deserializer( - json.loads(self.dvc.json_file.read_text()) - ) + self.results = deserializer(json.loads(self.dvc.json_file.read_text())) except FileNotFoundError: log.warning("No results found!") @@ -541,6 +536,4 @@ def internals_from_file(self, value: dict): Path(self.dvc.internals_file).parent.mkdir(exist_ok=True, parents=True) - self.dvc.internals_file.write_text( - json.dumps(value, indent=4) - ) + self.dvc.internals_file.write_text(json.dumps(value, indent=4)) diff --git a/pytrack/utils/serializer.py b/pytrack/utils/serializer.py index db618f47..be111419 100644 --- a/pytrack/utils/serializer.py +++ b/pytrack/utils/serializer.py @@ -55,7 +55,7 @@ def conv_class_to_dict(value): serialized dictionary containing the class module and name """ - if hasattr(value, 'pytrack'): + if hasattr(value, "pytrack"): if isinstance(value.pytrack, PyTrackType): value = {"cls": (value.__module__, value.__class__.__name__)} return value @@ -95,8 +95,8 @@ def conv_dict_to_class(value): """ if isinstance(value, dict): if len(value) == 1 and "cls" in value: - module = import_module(value['cls'][0]) - value = getattr(module, value['cls'][1]) + module = import_module(value["cls"][0]) + value = getattr(module, value["cls"][1]) value = PyTrackStage(cls=value) return value diff --git a/pytrack/utils/types.py b/pytrack/utils/types.py index 836c6011..34e038a1 100644 --- a/pytrack/utils/types.py +++ b/pytrack/utils/types.py @@ -33,6 +33,7 @@ class PyTrackType: In comparison to PyTrackStage this is used to identify initiated stages """ + pass @@ -48,10 +49,10 @@ class PyTrackStage: >>> type(vars(Stage())['pytrack']) == 'PyTrackType' """ + def __init__(self, cls): self.cls = cls def get(self): """Load the PyTrackStage""" return self.cls(load=True) - From 272fb036fea192dcdb24c3a98b0176f568a429f8 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Fri, 15 Oct 2021 09:43:23 +0200 Subject: [PATCH 27/39] fix #73 --- pytrack/core/data_classes.py | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/pytrack/core/data_classes.py b/pytrack/core/data_classes.py index 283791fb..6c9f5cd9 100644 --- a/pytrack/core/data_classes.py +++ b/pytrack/core/data_classes.py @@ -88,39 +88,33 @@ def get_dvc_arguments(self) -> list: Returns ------- - str: E.g. for outs it will return a list of ["--outs", "outs_path/{id}_outs[0]", ...] + str: E.g. for outs it will return a list of + ["--outs", "outs_path/{id}_outs[0]", ...] """ - - def flatten(x): - """ - Convert [[str, Path], [str, Path]] to [str, Path, str, Path] - """ - return sum(x, []) - out = [] for dvc_param in self._dvc_params: - out.append( - flatten( - [ - [f"--{dvc_param.replace('_', '-')}", x] - for x in self.__dict__[dvc_param] - ] - ) - ) + for param_val in getattr(self, dvc_param): + if param_val is None: + # DVC can not process None, so we skip here but log it + log.warning(f'Found {dvc_param} with value {param_val} that can' + f'not be processed - skipping it.') + continue + out += [f"--{dvc_param.replace('_', '-')}", param_val] if self.json_file is not None: - out += [["--outs", self.json_file]] + out += ["--outs", self.json_file] - return flatten(out) + return out def make_paths(self): """Create all paths that can possibly be used""" for key in self.__dict__: if key.endswith("path"): if len(self.__dict__[key[:-5]]) > 0: - # Check if the corresponding list has an entry - if not, you don't need to create the folder + # Check if the corresponding list has an entry - + # if not, you don't need to create the folder self.__dict__[key].mkdir(exist_ok=True, parents=True) self.params_file.parent.mkdir(exist_ok=True, parents=True) From a20d15857a6cfca6d706b3c2c484d564233f3d02 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Fri, 15 Oct 2021 14:31:57 +0200 Subject: [PATCH 28/39] remove creating directories before required. --- pytrack/core/py_track.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index a7111a68..9e173b24 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -140,7 +140,6 @@ def post_call(self, force=False, exec_=False, always_changed=False, slurm=False) """ self.update_dvc() - self.dvc.make_paths() self.write_dvc(force, exec_, always_changed, slurm) From c3decb860c035a0c1efe1a70b1436fe8543573ce Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Fri, 15 Oct 2021 17:43:51 +0200 Subject: [PATCH 29/39] Add new Intro --- docs/source/Overview/01_Intro/01_Intro.ipynb | 1034 ++++++++++++++++++ 1 file changed, 1034 insertions(+) create mode 100644 docs/source/Overview/01_Intro/01_Intro.ipynb diff --git a/docs/source/Overview/01_Intro/01_Intro.ipynb b/docs/source/Overview/01_Intro/01_Intro.ipynb new file mode 100644 index 00000000..e3cf861e --- /dev/null +++ b/docs/source/Overview/01_Intro/01_Intro.ipynb @@ -0,0 +1,1034 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "# Overview\n", + "\n", + "PyTrack is designed as an object oriented mapper for [DVC](https://dvc.org/).\n", + "DVC provides tracking of large data files within a GIT repository.\n", + "Therefore, all PyTrack instances will later be executed inside a GIT repository.\n", + "Furthermore, DVC provides method for building a dependency graph, tracking parameters, comparing metrics and querying multiple runs.\n", + "\n", + "**Why does it need an object-oriented mapper?**\n", + "\n", + "Whilst DVC provides all this functionality it is designed to be programming language independent. PyTrack is designed purely for building python packages and is optimized in such manner." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + }, + "tags": [] + }, + "source": [ + "## Stages\n", + "\n", + "\n", + "DVC organizes its pipeline in multiple stages (see https://dvc.org/doc/start for more information).\n", + "In the case of PyTrack every stage is decorated with `pytrack.PyTrack` as follows" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rm: refusing to remove '.' or '..' directory: skipping '.'\n", + "rm: refusing to remove '.' or '..' directory: skipping '..'\n" + ] + } + ], + "source": [ + "!rm -rf *\n", + "!rm -rf .*" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initialized empty Git repository in /tikhome/fzills/PycharmProjects/py-track/docs/source/Overview/01_Intro/.git/\n", + "Initialized DVC repository.\n", + "\n", + "You can now commit the changes to git.\n", + "\n", + "\u001b[31m+---------------------------------------------------------------------+\n", + "\u001b[0m\u001b[31m|\u001b[0m \u001b[31m|\u001b[0m\n", + "\u001b[31m|\u001b[0m DVC has enabled anonymous aggregate usage analytics. \u001b[31m|\u001b[0m\n", + "\u001b[31m|\u001b[0m Read the analytics documentation (and how to opt-out) here: \u001b[31m|\u001b[0m\n", + "\u001b[31m|\u001b[0m <\u001b[36mhttps://dvc.org/doc/user-guide/analytics\u001b[39m> \u001b[31m|\u001b[0m\n", + "\u001b[31m|\u001b[0m \u001b[31m|\u001b[0m\n", + "\u001b[31m+---------------------------------------------------------------------+\n", + "\u001b[0m\n", + "\u001b[33mWhat's next?\u001b[39m\n", + "\u001b[33m------------\u001b[39m\n", + "- Check out the documentation: <\u001b[36mhttps://dvc.org/doc\u001b[39m>\n", + "- Get help and share ideas: <\u001b[36mhttps://dvc.org/chat\u001b[39m>\n", + "- Star us on GitHub: <\u001b[36mhttps://github.com/iterative/dvc\u001b[39m>\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!git init\n", + "!dvc init" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:36:49,612 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n", + "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" + ] + } + ], + "source": [ + "from pytrack import PyTrack, config\n", + "\n", + "config.nb_name = \"01_Intro.ipynb\"\n", + "\n", + "@PyTrack()\n", + "class Stage0:\n", + " def run(self):\n", + " pass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Every DVC stage is organized as a Python class. The class must implement a `run` method, which is the entry point for the computation executed by DVC. Furthermore a `__call__` method will be created, if none is provided. When calling the stage, the DVC file will be created and the parameters are beeing passed." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:36:52,673 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-15 15:36:52,673 (WARNING): Overwriting existing configuration!\n", + "2021-10-15 15:36:55,642 (INFO): Creating 'dvc.yaml'\n", + "Adding stage 'Stage0' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add outs/.gitignore dvc.yaml\n", + "\n", + "\u001b[01;34m.\u001b[00m\n", + "├── 01_Intro.ipynb\n", + "├── \u001b[01;34mconfig\u001b[00m\n", + "│   └── pytrack.json\n", + "├── dvc.yaml\n", + "├── \u001b[01;34mouts\u001b[00m\n", + "└── \u001b[01;34msrc\u001b[00m\n", + " └── Stage0.py\n", + "\n", + "3 directories, 4 files\n" + ] + } + ], + "source": [ + "stage_0 = Stage0()\n", + "stage_0()\n", + "!tree" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As shown we create a file in `config/pytrack.json` which stores the parameters of all stages. Furthermore, a directory `outs` is additionally added. Using a Jupyter Notebook has the specialty, that a directory `src` is added which contains a converted `*.py` file of the Jupyter Notebook. These direcotries and files are managed by PyTrack. The file `dvc.yaml` is created by calling dvc in the background and is used by DVC to organize the pipelines.\n", + "\n", + "We can now use `dvc repro` to execute our code, which in result does nothing yet" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running stage 'Stage0': core\u001b[39m>\n", + "> python3 -c \"from src.Stage0 import Stage0; Stage0(load=True).run()\"\n", + "2021-10-15 15:36:57,872 (WARNING): No results found!\n", + "Generating lock file 'dvc.lock' \n", + "Updating lock file 'dvc.lock'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!dvc repro" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### PyTrack Results\n", + "We can see, that the stage is run without issues.\n", + "Unfortunately, the stage we just created doesn't do anything.\n", + "In our first example we would like to create a random number in our stage and save it.\n", + "We can do this utilizing `pytrack.DVC.result` which is a special type of a DVC outs file, managed by PyTrack.\n", + "We do this by defining a class level attribute.\n", + "This is similar to setting a Python `@property` where `__get__` and `__set__` has some custom handling assigend to it.\n", + "In comparison the the `@property` we do not need to think about the `getter/setter`." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:36:58,565 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:01,554 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-15 15:37:01,555 (WARNING): Overwriting existing configuration!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:04,445 (INFO): Adding stage 'RandomNumer' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add outs/.gitignore dvc.yaml\n", + "\n" + ] + } + ], + "source": [ + "from pytrack import DVC\n", + "from random import randrange\n", + "\n", + "@PyTrack()\n", + "class RandomNumer:\n", + " number = DVC.result()\n", + " \n", + " def run(self):\n", + " self.number = randrange(10)\n", + "\n", + "random_number = RandomNumer()\n", + "random_number()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can access the outcome of our stage by passing `load=True`. Doing this on our stage will give us a warning and simply return None.\n", + "This is, because we haven't actually executed the `run` method yet. Again, this is done via `dvc repro`" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:04,460 (WARNING): No results found!\n" + ] + } + ], + "source": [ + "RandomNumer(load=True).number" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running stage 'RandomNumer': core\u001b[39m>\n", + "> python3 -c \"from src.RandomNumer import RandomNumer; RandomNumer(load=True).run()\"\n", + "2021-10-15 15:37:06,682 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "Stage 'Stage0' didn't change, skipping\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!dvc repro" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can have a look at our result and work with it." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "6" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "RandomNumer(load=True).number" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because we are using DVC, rerunnig the stage via `dvc repro` will not result in a new computation, but instead it will use the cached value.\n", + "Changing this is explained later." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### PyTrack arguments\n", + "Currently our stage will always yield a random number in the hard coded range 0-9.\n", + "PyTrack stages become increasingly more interesting when introducing custom parameters. We can now start by adding a maximum value to our stage.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:07,340 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:10,348 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-15 15:37:10,349 (WARNING): Overwriting existing configuration!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:13,309 (INFO): Adding stage 'MaxRandomNumer' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add outs/.gitignore dvc.yaml\n", + "\n" + ] + } + ], + "source": [ + "@PyTrack()\n", + "class MaxRandomNumer:\n", + " number = DVC.result()\n", + " maximum = DVC.params()\n", + " \n", + " def __call__(self, maximum):\n", + " self.maximum = maximum\n", + " \n", + " def run(self):\n", + " self.number = randrange(self.maximum)\n", + "\n", + "max_random_number = MaxRandomNumer()\n", + "max_random_number(maximum=512)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running stage 'MaxRandomNumer': core\u001b[39m>\n", + "> python3 -c \"from src.MaxRandomNumer import MaxRandomNumer; MaxRandomNumer(load=True).run()\"\n", + "2021-10-15 15:37:15,560 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "Stage 'RandomNumer' didn't change, skipping\n", + "Stage 'Stage0' didn't change, skipping\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!dvc repro" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "448" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "MaxRandomNumer(load=True).number" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Custom Types and Files\n", + "\n", + "When using Arguments PyTrack can handle the most basic python types and also some more complex ones like `pathlib.Path`.\n", + "In the following example we introduce using paths as arguments and writing data to a custom output file.\n", + "Therefore we can use `DVC.outs`" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:16,241 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:19,350 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-15 15:37:19,351 (WARNING): Overwriting existing configuration!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:22,503 (INFO): Adding stage 'WriteToFile' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add outs/.gitignore dvc.yaml\n", + "\n" + ] + } + ], + "source": [ + "from pathlib import Path\n", + "\n", + "@PyTrack()\n", + "class WriteToFile:\n", + " filename: Path = DVC.outs()\n", + " \n", + " def __call__(self, filename: Path):\n", + " self.filename = filename\n", + " \n", + " def run(self):\n", + " self.filename.write_text('Lorem Ipsum')\n", + " \n", + " def read_from_file(self):\n", + " print(self.filename.read_text())\n", + "\n", + "write_to_file = WriteToFile()\n", + "write_to_file(filename=Path(\"outs\", \"example.txt\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stage 'MaxRandomNumer' didn't change, skipping core\u001b[39m>\n", + "Stage 'Stage0' didn't change, skipping\n", + "Stage 'RandomNumer' didn't change, skipping\n", + "Running stage 'WriteToFile':\n", + "> python3 -c \"from src.WriteToFile import WriteToFile; WriteToFile(load=True).run()\"\n", + "2021-10-15 15:37:24,915 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!dvc repro" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see, that a file in `outs` with our filename has been created. The file can be generated anywhere inside the DVC repository, but using the already exising `outs` directory can be handy.\n", + "We can again load the stage and have a look at the filename and read from it." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PosixPath('outs/example.txt')" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "WriteToFile(load=True).filename" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Lorem Ipsum\n" + ] + } + ], + "source": [ + "WriteToFile(load=True).read_from_file()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### PyTrack Init\n", + "\n", + "As you may have already noticed we have not created an `__init__` yet. Arguments are passed to the `__call__` and `PyTrackOptions` (DVC.<...>) are defined on a class level. The following example will illustrate, why using the `__init__` can lead to confusing results.\n", + "Therefore we need to keep in mind, that DVC runs the follwing command: \n", + "\n", + " python3 -c \"from src.Stage0 import Stage0; Stage0(load=True).run()\"\n", + " \n", + "which we will use to imitate `dvc repro` in the following." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:25,706 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n", + "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" + ] + } + ], + "source": [ + "@PyTrack()\n", + "class InitStage:\n", + " def __init__(self, value = \"Not defined\"):\n", + " self.value = value\n", + " \n", + " def run(self):\n", + " print(self.value)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:28,839 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-15 15:37:28,840 (WARNING): Overwriting existing configuration!\n", + "2021-10-15 15:37:31,662 (INFO): Adding stage 'InitStage' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml outs/.gitignore\n", + "\n", + "Lorem Ipsum\n" + ] + } + ], + "source": [ + "init_stage = InitStage(value='Lorem Ipsum')\n", + "init_stage()\n", + "print(init_stage.value)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:31,679 (WARNING): No results found!\n", + "Not defined\n" + ] + } + ], + "source": [ + "InitStage(load=True).run()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see, that our passed value is not available during the command that is executed by `DVC`. This is important to keep in mind, when using PyTrack. The issue can be easily solved by using `DVC.params()`. Altough possible, it should be avoided to define them within the `__init__` and go for class level definitions. Nevertheless, the `__init__` can be used for e.g., defining class attributes or setting `PyTrackOption`.\n", + "We can therefore extend our `MaxRandomNumber` in the following way by a constand minimum value:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:31,688 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:34,699 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-15 15:37:34,700 (WARNING): Overwriting existing configuration!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:37,769 (INFO): Adding stage 'InitMaxRandomNumer' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml outs/.gitignore\n", + "\n" + ] + } + ], + "source": [ + "@PyTrack()\n", + "class InitMaxRandomNumer:\n", + " number = DVC.result()\n", + " maximum = DVC.params()\n", + " \n", + " def __init__(self):\n", + " self.minimum = 0\n", + " \n", + " def __call__(self, maximum):\n", + " self.maximum = maximum\n", + " \n", + " def run(self):\n", + " self.number = randrange(self.minimum, self.maximum)\n", + "\n", + "init_max_random_number = InitMaxRandomNumer()\n", + "init_max_random_number(maximum=512)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running stage 'InitStage': core\u001b[39m>\n", + "> python3 -c \"from src.InitStage import InitStage; InitStage(load=True).run()\"\n", + "2021-10-15 15:37:39,957 (WARNING): No results found!\n", + "Not defined\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "Stage 'Stage0' didn't change, skipping\n", + "Stage 'MaxRandomNumer' didn't change, skipping\n", + "Stage 'RandomNumer' didn't change, skipping\n", + "Stage 'WriteToFile' didn't change, skipping\n", + "Running stage 'InitMaxRandomNumer':\n", + "> python3 -c \"from src.InitMaxRandomNumer import InitMaxRandomNumer; InitMaxRandomNumer(load=True).run()\"\n", + "2021-10-15 15:37:41,006 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!dvc repro" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "208" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "InitMaxRandomNumer(load=True).number" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because this is a essential property of PyTrack and differs from most other Python code the following example DOES NOT work, because dvc will try to run `InitMaxRandomNumer(load=True).run()` without passing a value to `maximum` and therefore resulting in an error!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```python\n", + "\n", + "@PyTrack()\n", + "class InitMaxRandomNumerWrong:\n", + " number = DVC.result()\n", + " maximum = DVC.params()\n", + " \n", + " def __init__(self, maximum):\n", + " self.minimum = 0\n", + " self.maximum = maximum\n", + " \n", + " def run(self):\n", + " self.number = randrange(self.minimum, self.maximum)\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "what does work would be the follwing version. But for code clearity it should be avoided if possible and the `__call__` should be utilized.\n", + "Sometimes a combined approach might be inevitable, because e.g., upon class instatiation a generated value shall be passed and later a user value." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:41,603 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n", + "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" + ] + } + ], + "source": [ + "@PyTrack()\n", + "class InitMaxRandomNumerCheaty:\n", + " number = DVC.result()\n", + " maximum = DVC.params()\n", + " \n", + " def __init__(self, maximum = None):\n", + " self.minimum = 0\n", + " if maximum is not None:\n", + " self.maximum = maximum\n", + " \n", + " def run(self):\n", + " self.number = randrange(self.minimum, self.maximum)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:44,539 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-15 15:37:44,539 (WARNING): Overwriting existing configuration!\n", + "2021-10-15 15:37:47,448 (INFO): Adding stage 'InitMaxRandomNumerCheaty' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add outs/.gitignore dvc.yaml\n", + "\n", + "Stage 'Stage0' didn't change, skipping core\u001b[39m>\n", + "Running stage 'InitMaxRandomNumerCheaty':\n", + "> python3 -c \"from src.InitMaxRandomNumerCheaty import InitMaxRandomNumerCheaty; InitMaxRandomNumerCheaty(load=True).run()\"\n", + "2021-10-15 15:37:49,754 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "Stage 'InitStage' didn't change, skipping\n", + "Stage 'RandomNumer' didn't change, skipping\n", + "Stage 'InitMaxRandomNumer' didn't change, skipping\n", + "Stage 'WriteToFile' didn't change, skipping\n", + "Stage 'MaxRandomNumer' didn't change, skipping\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "init_max_random_number_cheaty = InitMaxRandomNumerCheaty(maximum=4096)\n", + "init_max_random_number_cheaty()\n", + "!dvc repro" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "723" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "InitMaxRandomNumerCheaty(load=True).number" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From e1b2c8ee764e552512d8c65728b95d16aa0a0200 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Fri, 15 Oct 2021 17:44:08 +0200 Subject: [PATCH 30/39] update --- README.rst | 42 ++++++++++++++---------------------------- docs/source/index.rst | 1 + 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/README.rst b/README.rst index 31990021..52fec30d 100644 --- a/README.rst +++ b/README.rst @@ -14,46 +14,32 @@ parameters, dependencies and all DVC output types. .. code-block:: py from pytrack import PyTrack, DVC + from random import randrange @PyTrack() - class Linear: - def __init__(self): - """Define all DVC parameter, dependencies and outputs""" - self.values_file = DVC.deps() - self.a1 = DVC.params() - self.b = DVC.params() - self.out = DVC.result() - - def __call__(self, a1, b, values_file): - """ - Parameters - ---------- - a1: float - Any a1 for calculating a1 * x + b - b: float - Any b for calculating a1 * x + b - values_file: str - Path to a comma seperated file of values for x - """ - self.values_file = values_file - self.a1 = a1 - self.b = b + class HelloWorld: + """Define a PyTrack Stage""" + max_number = DVC.params() + random_number = DVC.result() + + def __call__(self, max_number): + """Pass tracked arguments""" + self.max_number = max_number def run(self): - """Command that is run by DVC""" - values = [float(x) for x in self.values_file.read_text().split(",")] - self.out = [self.a1 * x + self.b for x in values] + """Command to be run by DVC""" + self.random_number = randrange(self.max_number) This stage can be used via .. code-block:: py - linear = Linear() - linear(3, 7, "values.csv") + hello_world = HelloWorld() + hello_world(max_number=512) which builds the DVC stage and can be used e.g., through :code:`dvc repro`. -The results can then be accessed easily via :code:`Linear(id_=0).out`. +The results can then be accessed easily via :code:`HelloWorld(load=True).random_number`. Installation diff --git a/docs/source/index.rst b/docs/source/index.rst index 02ad64f3..613baf51 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -29,6 +29,7 @@ information or write an issue on Github for https://github.com/zincware/py-track :maxdepth: 1 :caption: User Guide: + Overview/01_Intro/01_Intro.ipynb Overview/Functionality.ipynb Overview/Introduction.ipynb Overview/PassingClasses.ipynb From c6592a4aa1152ccce2db81bbc50b02a8620cf80c Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Mon, 18 Oct 2021 16:12:07 +0200 Subject: [PATCH 31/39] attempt to clean up --- pytrack/core/data_classes.py | 56 +----------------- pytrack/core/parameter.py | 108 +++++++++++++++++++---------------- pytrack/core/py_track.py | 5 -- 3 files changed, 63 insertions(+), 106 deletions(-) diff --git a/pytrack/core/data_classes.py b/pytrack/core/data_classes.py index 6c9f5cd9..a69714c9 100644 --- a/pytrack/core/data_classes.py +++ b/pytrack/core/data_classes.py @@ -23,10 +23,7 @@ class DVCParams: """PyTracks DVCParams""" - # pytrack Parameter - multi_use: bool = False - params_file: Path = Path("config", "params.json") - # internals_file: Path = Path("config", ".pytrack.json") # TODO should be a hidden file + # PyTrack Parameter internals_file: Path = Path("config", "pytrack.json") json_file: Union[Path, str, None] = None @@ -39,23 +36,18 @@ class DVCParams: outs_path: Path = Path("outs") outs_no_cache: Union[List[Path], List[str]] = field(default_factory=list) - outs_no_cache_path: Path = Path("outs") outs_persistent: Union[List[Path], List[str]] = field(default_factory=list) - outs_persistent_path: Path = Path("outs") metrics: Union[List[Path], List[str]] = field(default_factory=list) - metrics_path: Path = Path("metrics") metrics_no_cache: Union[List[Path], List[str]] = field(default_factory=list) - metrics_no_cache_path: Path = Path("metrics") plots: Union[List[Path], List[str]] = field(default_factory=list) - plots_path: Path = Path("plots") plots_no_cache: Union[List[Path], List[str]] = field(default_factory=list) - plots_no_cache_path: Path = Path("plots") + # TODO maybe remove this: _dvc_params: List[str] = field( default_factory=lambda: [ "deps", @@ -73,13 +65,6 @@ class DVCParams: def __post_init__(self): """Combine the DVC Parameter with their associated path.""" - for dvc_param in self._dvc_params: - if dvc_param == "deps": # deps have no associated path but can be anywhere - continue - # TODO use setattr / getattr - self.__dict__[dvc_param] = [ - self.__dict__[f"{dvc_param}_path"] / x for x in self.__dict__[dvc_param] - ] if self.json_file is not None: self.json_file = self.outs_path / self.json_file @@ -89,7 +74,7 @@ def get_dvc_arguments(self) -> list: Returns ------- str: E.g. for outs it will return a list of - ["--outs", "outs_path/{id}_outs[0]", ...] + ["--outs", "outs[0]", ...] """ out = [] @@ -110,44 +95,9 @@ def get_dvc_arguments(self) -> list: def make_paths(self): """Create all paths that can possibly be used""" - for key in self.__dict__: - if key.endswith("path"): - if len(self.__dict__[key[:-5]]) > 0: - # Check if the corresponding list has an entry - - # if not, you don't need to create the folder - self.__dict__[key].mkdir(exist_ok=True, parents=True) - - self.params_file.parent.mkdir(exist_ok=True, parents=True) - if self.json_file is not None: self.outs_path.mkdir(exist_ok=True, parents=True) - def load_from_file(self, json_file, dvc_stage: dict): - """Create a DVCParams fromm reading dvc.yaml - - Parameters - ---------- - json_file: str - Name of the json file e.g. O_Stage.json - dvc_stage: dict - A dictionary containing the content from dvc.yaml for this stage - - """ - for dvc_param in self._dvc_params: - try: - if json_file is not None and dvc_param == "outs": - outs = [] - for stage_param in dvc_stage[dvc_param]: - if stage_param.endswith(json_file): - self.json_file = Path(stage_param) - else: - outs.append(Path(stage_param)) - self.outs = outs - else: - self.__dict__[dvc_param] = [Path(x) for x in dvc_stage[dvc_param]] - except KeyError: - pass - def set_json_file(self, name): """ diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index b2778ed4..262467ee 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -29,64 +29,76 @@ def __init__(self, option, default_value, name=None): if option == "result" and default_value is not NoneType: raise ValueError(f"Can not pre-initialize result! Found {default_value}") - self.check_input(default_value) + def _get(self, instance: TypeHintParent, owner): + """Overwrite this method for custom PyTrackOption get method""" + raise NotImplementedError + + def _set(self, instance: TypeHintParent, value): + """Overwrite this method for custom PyTrackOption set method""" + raise NotImplementedError def __set_name__(self, owner, name): + """Descriptor method to determine the name of the attribute""" self.name = name def __get__(self, instance: TypeHintParent, owner): + """Get the stored value + + typically this reads the stored value from the instance __dict__. + If no value can be found the configured default value is returned + """ log.debug(f"Getting {self.option} / {self.name} for {instance}") try: - return instance.__dict__[self.name] - except KeyError: - log.debug("KeyError: returning default value") - if self.default_value is NoneType: - return None - return self.default_value - except AttributeError: - log.warning( - f"No value found for {self.option} / {self.name} " - f"- returning default" - ) - # This can happen, when instance has not been instantiated, yielding in no - # __dict__ attribute. Returning the default value here. - return self.default_value + return self._get(instance, owner) + except NotImplementedError: + try: + return instance.__dict__[self.name] + except KeyError: + log.debug("KeyError: returning default value") + if self.default_value is NoneType: + return None + return self.default_value + except AttributeError: + log.warning( + f"No value found for {self.option} / {self.name} " + f"- returning default" + ) + # This can happen, when instance has not been instantiated, yielding in + # no __dict__ attribute. Returning the default value here. + return self.default_value def __set__(self, instance: TypeHintParent, value): - log.debug(f"Changing {self.option} / {self.name} to {value}") + """Write the value to the instances __dict__ + + typically write the given value to the instances __dict__ - if isinstance(value, PyTrackOption): - log.debug( - f"{self.option} / {self.name} is already a PyTrackOption - " - f"Skipping updating it!" - ) - return - - if instance.pytrack.load and self.option != "result": - raise ValueError(f"Changing {self.option} is currently not allowed!") - - if not instance.pytrack.running and self.option == "result": - raise ValueError(f"Changing {self.option} is currently not allowed") - - self.check_input(value) - - instance.__dict__[self.name] = value - - def check_input(self, value): - """Check if the input value can be processed""" - if isinstance(value, dict): - log.info( - f"Used mutable type dict for {self.option}! " - f"Always overwrite the {self.option} and don't alter it " - f"otherwise!, It won't work." - ) - - if isinstance(value, list): - log.info( - f"Used mutable type list for {self.option}! " - f"Always overwrite the {self.option} and don't append " - f"to it! It won't work." - ) + Parameters + ---------- + instance + value + + Returns + ------- + + """ + log.debug(f"Changing {self.option} / {self.name} to {value}") + try: + self._set(instance, value) + except NotImplementedError: + if isinstance(value, PyTrackOption): + log.debug( + f"{self.option} / {self.name} is already a PyTrackOption - " + f"Skipping updating it!" + ) + return + + if instance.pytrack.load and self.option != "result": + raise ValueError(f"Changing {self.option} is currently not allowed!") + + if not instance.pytrack.running and self.option == "result": + raise ValueError(f"Changing {self.option} is currently not allowed") + + instance.__dict__[self.name] = value class LazyProperty: diff --git a/pytrack/core/py_track.py b/pytrack/core/py_track.py index 9e173b24..c51727d2 100644 --- a/pytrack/core/py_track.py +++ b/pytrack/core/py_track.py @@ -91,12 +91,7 @@ def __init__(self, child): def pre_init(self): """Function to be called prior to the init""" - - # self.child._executed = DVC.result() self.dvc.set_json_file(self.name) - # if self.load: - # self.load_internals() - # self.load_results() def post_init(self): """Post init command From d6caf36eb74a7b4c868697c9b72ea3e9553b3361 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Mon, 18 Oct 2021 16:32:41 +0200 Subject: [PATCH 32/39] black + add all dvc options --- pytrack/core/data_classes.py | 6 ++++-- pytrack/core/parameter.py | 9 +++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/pytrack/core/data_classes.py b/pytrack/core/data_classes.py index a69714c9..d16fe4f1 100644 --- a/pytrack/core/data_classes.py +++ b/pytrack/core/data_classes.py @@ -83,8 +83,10 @@ def get_dvc_arguments(self) -> list: for param_val in getattr(self, dvc_param): if param_val is None: # DVC can not process None, so we skip here but log it - log.warning(f'Found {dvc_param} with value {param_val} that can' - f'not be processed - skipping it.') + log.warning( + f"Found {dvc_param} with value {param_val} that can" + f"not be processed - skipping it." + ) continue out += [f"--{dvc_param.replace('_', '-')}", param_val] diff --git a/pytrack/core/parameter.py b/pytrack/core/parameter.py index 262467ee..68fa801c 100644 --- a/pytrack/core/parameter.py +++ b/pytrack/core/parameter.py @@ -129,6 +129,15 @@ def pass_name(value=NoneType) -> PyTrackOption: class DVC: params = LazyProperty() result = LazyProperty() + deps = LazyProperty() + outs = LazyProperty() + outs_no_cache = LazyProperty() + outs_persistent = LazyProperty() + + metrics = LazyProperty() metrics_no_cache = LazyProperty() + + plots = LazyProperty() + plots_no_cache = LazyProperty() From e412b444fc63fb80af841f4dc7cf777f4f4e6fb3 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Tue, 19 Oct 2021 14:32:03 +0200 Subject: [PATCH 33/39] update docs --- docs/source/Overview/01_Intro/01_Intro.ipynb | 1034 ----------------- docs/source/Overview/Functionality.ipynb | 548 --------- docs/source/Overview/Introduction.ipynb | 448 ------- docs/source/Overview/PassingClasses.ipynb | 422 ------- .../_tutorials/estimate_pi_with_mc.ipynb | 446 ------- docs/source/index.rst | 11 +- docs/source/installation.rst | 8 +- docs/source/tutorials.rst | 2 +- pytrack/utils/decorators.py | 44 + 9 files changed, 56 insertions(+), 2907 deletions(-) delete mode 100644 docs/source/Overview/01_Intro/01_Intro.ipynb delete mode 100644 docs/source/Overview/Functionality.ipynb delete mode 100644 docs/source/Overview/Introduction.ipynb delete mode 100644 docs/source/Overview/PassingClasses.ipynb delete mode 100644 docs/source/_tutorials/estimate_pi_with_mc.ipynb create mode 100644 pytrack/utils/decorators.py diff --git a/docs/source/Overview/01_Intro/01_Intro.ipynb b/docs/source/Overview/01_Intro/01_Intro.ipynb deleted file mode 100644 index e3cf861e..00000000 --- a/docs/source/Overview/01_Intro/01_Intro.ipynb +++ /dev/null @@ -1,1034 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "# Overview\n", - "\n", - "PyTrack is designed as an object oriented mapper for [DVC](https://dvc.org/).\n", - "DVC provides tracking of large data files within a GIT repository.\n", - "Therefore, all PyTrack instances will later be executed inside a GIT repository.\n", - "Furthermore, DVC provides method for building a dependency graph, tracking parameters, comparing metrics and querying multiple runs.\n", - "\n", - "**Why does it need an object-oriented mapper?**\n", - "\n", - "Whilst DVC provides all this functionality it is designed to be programming language independent. PyTrack is designed purely for building python packages and is optimized in such manner." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - }, - "tags": [] - }, - "source": [ - "## Stages\n", - "\n", - "\n", - "DVC organizes its pipeline in multiple stages (see https://dvc.org/doc/start for more information).\n", - "In the case of PyTrack every stage is decorated with `pytrack.PyTrack` as follows" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "rm: refusing to remove '.' or '..' directory: skipping '.'\n", - "rm: refusing to remove '.' or '..' directory: skipping '..'\n" - ] - } - ], - "source": [ - "!rm -rf *\n", - "!rm -rf .*" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Initialized empty Git repository in /tikhome/fzills/PycharmProjects/py-track/docs/source/Overview/01_Intro/.git/\n", - "Initialized DVC repository.\n", - "\n", - "You can now commit the changes to git.\n", - "\n", - "\u001b[31m+---------------------------------------------------------------------+\n", - "\u001b[0m\u001b[31m|\u001b[0m \u001b[31m|\u001b[0m\n", - "\u001b[31m|\u001b[0m DVC has enabled anonymous aggregate usage analytics. \u001b[31m|\u001b[0m\n", - "\u001b[31m|\u001b[0m Read the analytics documentation (and how to opt-out) here: \u001b[31m|\u001b[0m\n", - "\u001b[31m|\u001b[0m <\u001b[36mhttps://dvc.org/doc/user-guide/analytics\u001b[39m> \u001b[31m|\u001b[0m\n", - "\u001b[31m|\u001b[0m \u001b[31m|\u001b[0m\n", - "\u001b[31m+---------------------------------------------------------------------+\n", - "\u001b[0m\n", - "\u001b[33mWhat's next?\u001b[39m\n", - "\u001b[33m------------\u001b[39m\n", - "- Check out the documentation: <\u001b[36mhttps://dvc.org/doc\u001b[39m>\n", - "- Get help and share ideas: <\u001b[36mhttps://dvc.org/chat\u001b[39m>\n", - "- Star us on GitHub: <\u001b[36mhttps://github.com/iterative/dvc\u001b[39m>\n", - "\u001b[0m" - ] - } - ], - "source": [ - "!git init\n", - "!dvc init" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - }, - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:36:49,612 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", - "Submit issues to https://github.com/zincware/py-track.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n", - "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" - ] - } - ], - "source": [ - "from pytrack import PyTrack, config\n", - "\n", - "config.nb_name = \"01_Intro.ipynb\"\n", - "\n", - "@PyTrack()\n", - "class Stage0:\n", - " def run(self):\n", - " pass" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Every DVC stage is organized as a Python class. The class must implement a `run` method, which is the entry point for the computation executed by DVC. Furthermore a `__call__` method will be created, if none is provided. When calling the stage, the DVC file will be created and the parameters are beeing passed." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:36:52,673 (WARNING): --- Writing new DVC file! ---\n", - "2021-10-15 15:36:52,673 (WARNING): Overwriting existing configuration!\n", - "2021-10-15 15:36:55,642 (INFO): Creating 'dvc.yaml'\n", - "Adding stage 'Stage0' in 'dvc.yaml'\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add outs/.gitignore dvc.yaml\n", - "\n", - "\u001b[01;34m.\u001b[00m\n", - "├── 01_Intro.ipynb\n", - "├── \u001b[01;34mconfig\u001b[00m\n", - "│   └── pytrack.json\n", - "├── dvc.yaml\n", - "├── \u001b[01;34mouts\u001b[00m\n", - "└── \u001b[01;34msrc\u001b[00m\n", - " └── Stage0.py\n", - "\n", - "3 directories, 4 files\n" - ] - } - ], - "source": [ - "stage_0 = Stage0()\n", - "stage_0()\n", - "!tree" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As shown we create a file in `config/pytrack.json` which stores the parameters of all stages. Furthermore, a directory `outs` is additionally added. Using a Jupyter Notebook has the specialty, that a directory `src` is added which contains a converted `*.py` file of the Jupyter Notebook. These direcotries and files are managed by PyTrack. The file `dvc.yaml` is created by calling dvc in the background and is used by DVC to organize the pipelines.\n", - "\n", - "We can now use `dvc repro` to execute our code, which in result does nothing yet" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Running stage 'Stage0': core\u001b[39m>\n", - "> python3 -c \"from src.Stage0 import Stage0; Stage0(load=True).run()\"\n", - "2021-10-15 15:36:57,872 (WARNING): No results found!\n", - "Generating lock file 'dvc.lock' \n", - "Updating lock file 'dvc.lock'\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add dvc.lock\n", - "Use `dvc push` to send your updates to remote storage.\n", - "\u001b[0m" - ] - } - ], - "source": [ - "!dvc repro" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### PyTrack Results\n", - "We can see, that the stage is run without issues.\n", - "Unfortunately, the stage we just created doesn't do anything.\n", - "In our first example we would like to create a random number in our stage and save it.\n", - "We can do this utilizing `pytrack.DVC.result` which is a special type of a DVC outs file, managed by PyTrack.\n", - "We do this by defining a class level attribute.\n", - "This is similar to setting a Python `@property` where `__get__` and `__set__` has some custom handling assigend to it.\n", - "In comparison the the `@property` we do not need to think about the `getter/setter`." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:36:58,565 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", - "Submit issues to https://github.com/zincware/py-track.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:01,554 (WARNING): --- Writing new DVC file! ---\n", - "2021-10-15 15:37:01,555 (WARNING): Overwriting existing configuration!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:04,445 (INFO): Adding stage 'RandomNumer' in 'dvc.yaml'\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add outs/.gitignore dvc.yaml\n", - "\n" - ] - } - ], - "source": [ - "from pytrack import DVC\n", - "from random import randrange\n", - "\n", - "@PyTrack()\n", - "class RandomNumer:\n", - " number = DVC.result()\n", - " \n", - " def run(self):\n", - " self.number = randrange(10)\n", - "\n", - "random_number = RandomNumer()\n", - "random_number()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can access the outcome of our stage by passing `load=True`. Doing this on our stage will give us a warning and simply return None.\n", - "This is, because we haven't actually executed the `run` method yet. Again, this is done via `dvc repro`" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:04,460 (WARNING): No results found!\n" - ] - } - ], - "source": [ - "RandomNumer(load=True).number" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Running stage 'RandomNumer': core\u001b[39m>\n", - "> python3 -c \"from src.RandomNumer import RandomNumer; RandomNumer(load=True).run()\"\n", - "2021-10-15 15:37:06,682 (WARNING): No results found!\n", - "Updating lock file 'dvc.lock' \n", - "\n", - "Stage 'Stage0' didn't change, skipping\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add dvc.lock\n", - "Use `dvc push` to send your updates to remote storage.\n", - "\u001b[0m" - ] - } - ], - "source": [ - "!dvc repro" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can have a look at our result and work with it." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "6" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "RandomNumer(load=True).number" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Because we are using DVC, rerunnig the stage via `dvc repro` will not result in a new computation, but instead it will use the cached value.\n", - "Changing this is explained later." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### PyTrack arguments\n", - "Currently our stage will always yield a random number in the hard coded range 0-9.\n", - "PyTrack stages become increasingly more interesting when introducing custom parameters. We can now start by adding a maximum value to our stage.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:07,340 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", - "Submit issues to https://github.com/zincware/py-track.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:10,348 (WARNING): --- Writing new DVC file! ---\n", - "2021-10-15 15:37:10,349 (WARNING): Overwriting existing configuration!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:13,309 (INFO): Adding stage 'MaxRandomNumer' in 'dvc.yaml'\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add outs/.gitignore dvc.yaml\n", - "\n" - ] - } - ], - "source": [ - "@PyTrack()\n", - "class MaxRandomNumer:\n", - " number = DVC.result()\n", - " maximum = DVC.params()\n", - " \n", - " def __call__(self, maximum):\n", - " self.maximum = maximum\n", - " \n", - " def run(self):\n", - " self.number = randrange(self.maximum)\n", - "\n", - "max_random_number = MaxRandomNumer()\n", - "max_random_number(maximum=512)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Running stage 'MaxRandomNumer': core\u001b[39m>\n", - "> python3 -c \"from src.MaxRandomNumer import MaxRandomNumer; MaxRandomNumer(load=True).run()\"\n", - "2021-10-15 15:37:15,560 (WARNING): No results found!\n", - "Updating lock file 'dvc.lock' \n", - "\n", - "Stage 'RandomNumer' didn't change, skipping\n", - "Stage 'Stage0' didn't change, skipping\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add dvc.lock\n", - "Use `dvc push` to send your updates to remote storage.\n", - "\u001b[0m" - ] - } - ], - "source": [ - "!dvc repro" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "448" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "MaxRandomNumer(load=True).number" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Custom Types and Files\n", - "\n", - "When using Arguments PyTrack can handle the most basic python types and also some more complex ones like `pathlib.Path`.\n", - "In the following example we introduce using paths as arguments and writing data to a custom output file.\n", - "Therefore we can use `DVC.outs`" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:16,241 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", - "Submit issues to https://github.com/zincware/py-track.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:19,350 (WARNING): --- Writing new DVC file! ---\n", - "2021-10-15 15:37:19,351 (WARNING): Overwriting existing configuration!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:22,503 (INFO): Adding stage 'WriteToFile' in 'dvc.yaml'\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add outs/.gitignore dvc.yaml\n", - "\n" - ] - } - ], - "source": [ - "from pathlib import Path\n", - "\n", - "@PyTrack()\n", - "class WriteToFile:\n", - " filename: Path = DVC.outs()\n", - " \n", - " def __call__(self, filename: Path):\n", - " self.filename = filename\n", - " \n", - " def run(self):\n", - " self.filename.write_text('Lorem Ipsum')\n", - " \n", - " def read_from_file(self):\n", - " print(self.filename.read_text())\n", - "\n", - "write_to_file = WriteToFile()\n", - "write_to_file(filename=Path(\"outs\", \"example.txt\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Stage 'MaxRandomNumer' didn't change, skipping core\u001b[39m>\n", - "Stage 'Stage0' didn't change, skipping\n", - "Stage 'RandomNumer' didn't change, skipping\n", - "Running stage 'WriteToFile':\n", - "> python3 -c \"from src.WriteToFile import WriteToFile; WriteToFile(load=True).run()\"\n", - "2021-10-15 15:37:24,915 (WARNING): No results found!\n", - "Updating lock file 'dvc.lock' \n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add dvc.lock\n", - "Use `dvc push` to send your updates to remote storage.\n", - "\u001b[0m" - ] - } - ], - "source": [ - "!dvc repro" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see, that a file in `outs` with our filename has been created. The file can be generated anywhere inside the DVC repository, but using the already exising `outs` directory can be handy.\n", - "We can again load the stage and have a look at the filename and read from it." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "PosixPath('outs/example.txt')" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "WriteToFile(load=True).filename" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Lorem Ipsum\n" - ] - } - ], - "source": [ - "WriteToFile(load=True).read_from_file()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### PyTrack Init\n", - "\n", - "As you may have already noticed we have not created an `__init__` yet. Arguments are passed to the `__call__` and `PyTrackOptions` (DVC.<...>) are defined on a class level. The following example will illustrate, why using the `__init__` can lead to confusing results.\n", - "Therefore we need to keep in mind, that DVC runs the follwing command: \n", - "\n", - " python3 -c \"from src.Stage0 import Stage0; Stage0(load=True).run()\"\n", - " \n", - "which we will use to imitate `dvc repro` in the following." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:25,706 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", - "Submit issues to https://github.com/zincware/py-track.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n", - "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" - ] - } - ], - "source": [ - "@PyTrack()\n", - "class InitStage:\n", - " def __init__(self, value = \"Not defined\"):\n", - " self.value = value\n", - " \n", - " def run(self):\n", - " print(self.value)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:28,839 (WARNING): --- Writing new DVC file! ---\n", - "2021-10-15 15:37:28,840 (WARNING): Overwriting existing configuration!\n", - "2021-10-15 15:37:31,662 (INFO): Adding stage 'InitStage' in 'dvc.yaml'\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add dvc.yaml outs/.gitignore\n", - "\n", - "Lorem Ipsum\n" - ] - } - ], - "source": [ - "init_stage = InitStage(value='Lorem Ipsum')\n", - "init_stage()\n", - "print(init_stage.value)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:31,679 (WARNING): No results found!\n", - "Not defined\n" - ] - } - ], - "source": [ - "InitStage(load=True).run()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see, that our passed value is not available during the command that is executed by `DVC`. This is important to keep in mind, when using PyTrack. The issue can be easily solved by using `DVC.params()`. Altough possible, it should be avoided to define them within the `__init__` and go for class level definitions. Nevertheless, the `__init__` can be used for e.g., defining class attributes or setting `PyTrackOption`.\n", - "We can therefore extend our `MaxRandomNumber` in the following way by a constand minimum value:" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:31,688 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", - "Submit issues to https://github.com/zincware/py-track.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:34,699 (WARNING): --- Writing new DVC file! ---\n", - "2021-10-15 15:37:34,700 (WARNING): Overwriting existing configuration!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:37,769 (INFO): Adding stage 'InitMaxRandomNumer' in 'dvc.yaml'\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add dvc.yaml outs/.gitignore\n", - "\n" - ] - } - ], - "source": [ - "@PyTrack()\n", - "class InitMaxRandomNumer:\n", - " number = DVC.result()\n", - " maximum = DVC.params()\n", - " \n", - " def __init__(self):\n", - " self.minimum = 0\n", - " \n", - " def __call__(self, maximum):\n", - " self.maximum = maximum\n", - " \n", - " def run(self):\n", - " self.number = randrange(self.minimum, self.maximum)\n", - "\n", - "init_max_random_number = InitMaxRandomNumer()\n", - "init_max_random_number(maximum=512)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Running stage 'InitStage': core\u001b[39m>\n", - "> python3 -c \"from src.InitStage import InitStage; InitStage(load=True).run()\"\n", - "2021-10-15 15:37:39,957 (WARNING): No results found!\n", - "Not defined\n", - "Updating lock file 'dvc.lock' \n", - "\n", - "Stage 'Stage0' didn't change, skipping\n", - "Stage 'MaxRandomNumer' didn't change, skipping\n", - "Stage 'RandomNumer' didn't change, skipping\n", - "Stage 'WriteToFile' didn't change, skipping\n", - "Running stage 'InitMaxRandomNumer':\n", - "> python3 -c \"from src.InitMaxRandomNumer import InitMaxRandomNumer; InitMaxRandomNumer(load=True).run()\"\n", - "2021-10-15 15:37:41,006 (WARNING): No results found!\n", - "Updating lock file 'dvc.lock' \n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add dvc.lock\n", - "Use `dvc push` to send your updates to remote storage.\n", - "\u001b[0m" - ] - } - ], - "source": [ - "!dvc repro" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "208" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "InitMaxRandomNumer(load=True).number" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Because this is a essential property of PyTrack and differs from most other Python code the following example DOES NOT work, because dvc will try to run `InitMaxRandomNumer(load=True).run()` without passing a value to `maximum` and therefore resulting in an error!" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "```python\n", - "\n", - "@PyTrack()\n", - "class InitMaxRandomNumerWrong:\n", - " number = DVC.result()\n", - " maximum = DVC.params()\n", - " \n", - " def __init__(self, maximum):\n", - " self.minimum = 0\n", - " self.maximum = maximum\n", - " \n", - " def run(self):\n", - " self.number = randrange(self.minimum, self.maximum)\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "what does work would be the follwing version. But for code clearity it should be avoided if possible and the `__call__` should be utilized.\n", - "Sometimes a combined approach might be inevitable, because e.g., upon class instatiation a generated value shall be passed and later a user value." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:41,603 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", - "Submit issues to https://github.com/zincware/py-track.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n", - "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" - ] - } - ], - "source": [ - "@PyTrack()\n", - "class InitMaxRandomNumerCheaty:\n", - " number = DVC.result()\n", - " maximum = DVC.params()\n", - " \n", - " def __init__(self, maximum = None):\n", - " self.minimum = 0\n", - " if maximum is not None:\n", - " self.maximum = maximum\n", - " \n", - " def run(self):\n", - " self.number = randrange(self.minimum, self.maximum)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2021-10-15 15:37:44,539 (WARNING): --- Writing new DVC file! ---\n", - "2021-10-15 15:37:44,539 (WARNING): Overwriting existing configuration!\n", - "2021-10-15 15:37:47,448 (INFO): Adding stage 'InitMaxRandomNumerCheaty' in 'dvc.yaml'\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add outs/.gitignore dvc.yaml\n", - "\n", - "Stage 'Stage0' didn't change, skipping core\u001b[39m>\n", - "Running stage 'InitMaxRandomNumerCheaty':\n", - "> python3 -c \"from src.InitMaxRandomNumerCheaty import InitMaxRandomNumerCheaty; InitMaxRandomNumerCheaty(load=True).run()\"\n", - "2021-10-15 15:37:49,754 (WARNING): No results found!\n", - "Updating lock file 'dvc.lock' \n", - "\n", - "Stage 'InitStage' didn't change, skipping\n", - "Stage 'RandomNumer' didn't change, skipping\n", - "Stage 'InitMaxRandomNumer' didn't change, skipping\n", - "Stage 'WriteToFile' didn't change, skipping\n", - "Stage 'MaxRandomNumer' didn't change, skipping\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add dvc.lock\n", - "Use `dvc push` to send your updates to remote storage.\n", - "\u001b[0m" - ] - } - ], - "source": [ - "init_max_random_number_cheaty = InitMaxRandomNumerCheaty(maximum=4096)\n", - "init_max_random_number_cheaty()\n", - "!dvc repro" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "723" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "InitMaxRandomNumerCheaty(load=True).number" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/source/Overview/Functionality.ipynb b/docs/source/Overview/Functionality.ipynb deleted file mode 100644 index 1cbc23ae..00000000 --- a/docs/source/Overview/Functionality.ipynb +++ /dev/null @@ -1,548 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "collapsed": true, - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "# Functionality\n", - "## PyTrack\n", - "\n", - "The `@PyTrack()` decorator is the main part of PyTrack.\n", - "It converts a class into DVC stage and enables the tracking.\n", - "Therefore, the class must implement an `__init__`, `__call__` and `run` method." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "outputs": [], - "source": [ - "from pytrack import PyTrack\n", - "\n", - "@PyTrack()\n", - "class HelloWorld:\n", - " def __init__(self):\n", - " pass\n", - " def __call__(self, *args, **kwargs):\n", - " pass\n", - " def run(self):\n", - " pass\n", - "\n", - "hello_world = HelloWorld()" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "The decorator adds the `pytrack` attribute to the passed class, which contains most of the required methods.\n", - "This is used internally and usually does not require any changes.\n", - "Furthermore, it is protected against accidental overwriting.\n" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 2, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'child': <__main__.HelloWorld object at 0x000002B781273190>, 'slurm_config': SlurmConfig(n=1), '_id': 0, '_running': False, '_module': None, 'dvc_file': 'dvc.yaml', 'was_called': False, 'allow_param_change': True, 'allow_result_change': False, 'dvc': DVCParams(multi_use=False, params_file=WindowsPath('config/params.json'), internals_file=WindowsPath('config/pytrack.json'), json_file=None, deps=[], outs=[], outs_path=WindowsPath('outs'), outs_no_cache=[], outs_no_cache_path=WindowsPath('outs'), outs_persistent=[], outs_persistent_path=WindowsPath('outs'), metrics=[], metrics_path=WindowsPath('metrics'), metrics_no_cache=[], metrics_no_cache_path=WindowsPath('metrics'), plots=[], plots_path=WindowsPath('plots'), plots_no_cache=[], plots_no_cache_path=WindowsPath('plots')), 'nb_mode': False}\n", - "AttributeError: can't set attribute\n" - ] - } - ], - "source": [ - "print(vars(hello_world.pytrack))\n", - "\n", - "try:\n", - " hello_world.pytrack = \"PyTrack\"\n", - "except AttributeError:\n", - " print(\"AttributeError: can't set attribute\")" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "Using PyTrack starts becoming more interesting when parameters, dependencies and outputs are defined.\n", - "They will be explained in more detail in the upcoming tutorials.\n", - "The basic principle is, that one defines them in the `__init__` using `from pytrack import DVC` and then updates the user input within the `__call__` and the outputs through `run`.\n", - "There are two different types of outputs - `DVC.results` and e.g., `DVC.outs`.\n", - "The first is a special PyTrack output, that is written to a json file.\n", - "It requires JSON serializable data and is designed for smaller information, such as small lists, dictionaries, etc. .\n", - "All other supported outputs, such as `DVC.outs` are purely `pathlib.Path` objects that have to be read manually." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 3, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "outs\\some_file.txt\n", - "{'name': 'HelloWorld', 'ids': [1, 2, 3, 4]}\n" - ] - } - ], - "source": [ - "from pytrack import DVC\n", - "\n", - "@PyTrack()\n", - "class HelloWorld:\n", - " def __init__(self):\n", - " self.result = DVC.result()\n", - " self.output_file = DVC.outs('some_file.txt')\n", - "\n", - " def __call__(self, *args, **kwargs):\n", - " pass\n", - " def run(self):\n", - " self.result = {'name': \"HelloWorld\", \"ids\": [1, 2, 3, 4, 5, 6]}\n", - " self.output_file.write_text(\"Lorem Ipsum\")\n", - "\n", - "hello_world = HelloWorld()\n", - "# Let's have a look\n", - "print(hello_world.output_file)\n", - "print(hello_world.result)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "We can see that the output_file is put into a directory `outs` which is used by PyTrack to handle stage outputs.\n", - "The directory is defined in" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 4, - "outputs": [ - { - "data": { - "text/plain": "WindowsPath('outs')" - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "hello_world.pytrack.dvc.outs_path" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "At this point it should be highlighted, that the code, that writes to results or the other output files should be put or called from within the `run` method.\n", - "It is of course possible to have additional functions, e.g., some post-evaluation of the results, but they will not be run by DVC and will not be tracked!" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 5, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Lorem Ipsum\n", - "{'name': 'HelloWorld', 'ids': [1, 2, 3, 4, 5, 6]}\n" - ] - } - ], - "source": [ - "hello_world.run()\n", - "\n", - "print(hello_world.output_file.read_text())\n", - "print(hello_world.result)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "It is not possible to overwrite the result outside of the `run` method anyway!" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 6, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Result can only be changed within `run` call!\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'name': 'HelloWorld', 'ids': [1, 2, 3, 4, 5, 6]}\n" - ] - } - ], - "source": [ - "hello_world.result = \"New Result\"\n", - "print(hello_world.result)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "What is currently still missing from our example is any user input.\n", - "We can add user interaction through `DVC.params` and the `__call__` method." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 7, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "--- Writing new DVC file! ---\n", - "Overwriting existing configuration!\n", - "ERROR: you are not inside of a DVC repository (checked up to mount point 'C:\\')\r\n", - "\n" - ] - }, - { - "data": { - "text/plain": "{'name': 'HelloWorld', 'ids': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}" - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "@PyTrack()\n", - "class HelloWorld:\n", - " def __init__(self):\n", - " self.result = DVC.result()\n", - " self.output_file = DVC.outs('some_file.txt')\n", - " self.list_length = DVC.params() # you can pass a default here as DVC.params(10)\n", - "\n", - " def __call__(self, list_length):\n", - " self.list_length = list_length\n", - "\n", - " def run(self):\n", - " self.result = {'name': \"HelloWorld\", \"ids\": [x for x in range(self.list_length)]}\n", - " self.output_file.write_text(\"Lorem Ipsum\")\n", - "\n", - "hello_world = HelloWorld()\n", - "hello_world(10)\n", - "hello_world.run()\n", - "hello_world.result" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "Similar to the `DVC.results` the parameters can only be changed within the `__init__` or `__call__` method." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 8, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "This stage is being loaded. No internals will be changed!\n" - ] - }, - { - "data": { - "text/plain": "10" - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "hello_world.list_length = 27\n", - "hello_world.list_length" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "It is also possible to pass lists or dictionaries to the e.g., `DVC.params`" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 9, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Used mutable type list for outs! Always overwrite the outs and don't append to it! It won't work.\n", - "Used mutable type list for outs! Always overwrite the outs and don't append to it! It won't work.\n", - "Used mutable type dict for params! Always overwrite the params and don't alter it otherwise! It won't work.\n", - "--- Writing new DVC file! ---\n", - "Overwriting existing configuration!\n", - "ERROR: you are not inside of a DVC repository (checked up to mount point 'C:\\')\r\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'name': 'HelloWorld', 'ids': [1, 2, 3, 4]}\n", - "{'start': 1, 'stop': 5}\n", - "[WindowsPath('outs/first_file.txt'), WindowsPath('outs/second_file.txt')]\n" - ] - } - ], - "source": [ - "@PyTrack()\n", - "class HelloWorld:\n", - " def __init__(self):\n", - " self.result = DVC.result()\n", - " self.output_files = DVC.outs(['first_file.txt', 'second_file.txt'])\n", - " self.list_options = DVC.params() # you can pass a default here as DVC.params(10)\n", - "\n", - " def __call__(self, list_options):\n", - " self.list_options = list_options\n", - "\n", - " def run(self):\n", - " self.result = {\n", - " 'name': \"HelloWorld\",\n", - " \"ids\": [x for x in range(self.list_options.get('start'), self.list_options.get('stop'))]\n", - " }\n", - " self.output_files[0].write_text(\"Lorem Ipsum\")\n", - " self.output_files[1].write_text(\"Example Value\")\n", - "\n", - "hello_world = HelloWorld()\n", - "hello_world({'start': 1, 'stop':5})\n", - "hello_world.run()\n", - "print(hello_world.result)\n", - "print(hello_world.list_options)\n", - "print(hello_world.output_files)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "But they can not be e.g., append to and must be overwritten!" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 10, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Used mutable type list for outs! Always overwrite the outs and don't append to it! It won't work.\n", - "Used mutable type list for outs! Always overwrite the outs and don't append to it! It won't work.\n", - "Used mutable type list for outs! Always overwrite the outs and don't append to it! It won't work.\n", - "--- Writing new DVC file! ---\n", - "Overwriting existing configuration!\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[WindowsPath('outs/first_file.txt'), WindowsPath('outs/second_file.txt')]\n", - "[WindowsPath('outs/first_file.txt'), WindowsPath('outs/second_file.txt')]\n", - "[WindowsPath('outs/first_file.txt'), WindowsPath('outs/second_file.txt'), WindowsPath('outs/third_file.txt')]\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "ERROR: you are not inside of a DVC repository (checked up to mount point 'C:\\')\r\n", - "\n" - ] - } - ], - "source": [ - "@PyTrack()\n", - "class HelloWorld:\n", - " def __init__(self):\n", - " self.result = DVC.result()\n", - " self.output_files = DVC.outs(['first_file.txt', 'second_file.txt'])\n", - "\n", - " def __call__(self):\n", - " print(hello_world.output_files)\n", - " self.output_files.append('third_file.txt')\n", - " print(hello_world.output_files)\n", - " self.output_files= [x.name for x in self.output_files] + ['third_file.txt']\n", - " print(hello_world.output_files)\n", - "\n", - " def run(self):\n", - " pass\n", - "\n", - "hello_world = HelloWorld()\n", - "hello_world()" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "## PyTrackProject\n", - "\n", - "PyTrack also provides a Python interface to DVC via the `PyTrackProject`." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file diff --git a/docs/source/Overview/Introduction.ipynb b/docs/source/Overview/Introduction.ipynb deleted file mode 100644 index ba4ef82e..00000000 --- a/docs/source/Overview/Introduction.ipynb +++ /dev/null @@ -1,448 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "collapsed": true, - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "# Overview\n", - "\n", - "PyTrack is designed as an object oriented mapper for [DVC](https://dvc.org/).\n", - "DVC provides tracking of large data files within a GIT repository.\n", - "Therefore, all PyTrack instances will later be executed inside a GIT repository.\n", - "Furthermore, DVC provides method for building a dependency graph, tracking parameters, comparing metrics and querying multiple runs.\n", - "\n", - "**Why does it need an object-oriented mapper?**\n", - "\n", - "Whilst DVC provides all this functionality it is designed to be programming language independent. PyTrack is designed purely for building python packages and is optimized in such manner." - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Stages\n", - "\n", - "\n", - "DVC organizes its pipeline in multiple stages (see https://dvc.org/doc/start for more information).\n", - "In the case of PyTrack every stage is decorated with `pytrack.PyTrack` as follows" - ], - "metadata": { - "collapsed": false - } - }, - { - "cell_type": "code", - "execution_count": 1, - "outputs": [], - "source": [ - "# We are working in a temporary directory for easier cleanup\n", - "import os\n", - "import shutil\n", - "from tempfile import TemporaryDirectory\n", - "from pytrack import PyTrackProject\n", - "from IPython.display import Pretty, display\n", - "\n", - "temp_dir = TemporaryDirectory()\n", - "cwd = os.getcwd()\n", - "\n", - "shutil.copy(\"Introduction.ipynb\", temp_dir.name)\n", - "\n", - "os.chdir(temp_dir.name)\n", - "\n", - "project = PyTrackProject()\n", - "project.create_dvc_repository()" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 2, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Jupyter support is an experimental feature! Please save your notebook before running this command!\n", - "Submit issues to https://github.com/zincware/py-track.\n" - ] - } - ], - "source": [ - "from pytrack import PyTrack, DVC\n", - "\n", - "\n", - "@PyTrack(nb_name=\"Introduction.ipynb\")\n", - "class Stage:\n", - " def __init__(self):\n", - " \"\"\"Class constructor\n", - "\n", - " Definition of parameters and results\n", - " \"\"\"\n", - " self.n_1 = DVC.params()\n", - " self.n_2 = DVC.params()\n", - " self.sum = DVC.result()\n", - " self.dif = DVC.result()\n", - "\n", - " def __call__(self, n_1, n_2):\n", - " \"\"\"User input\n", - "\n", - " Parameters\n", - " ----------\n", - " n_1: First number\n", - " n_2: Second number\n", - " \"\"\"\n", - " self.n_1 = n_1\n", - " self.n_2 = n_2\n", - "\n", - " def run(self):\n", - " \"\"\"Actual computation\n", - " \"\"\"\n", - " self.sum = self.n_1 + self.n_2\n", - " self.dif = self.n_1 - self.n_2" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "This example defines a DVC stage that performs an addition and subtraction on two numbers `n_1, n_2`.\n", - "To use the stage we have to move it inside a directory and initialize `git init` and `dvc init`\n", - "If we now instantiate a stage and call it `Stage()(5, 10)` three important files will be generated for us:" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 3, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Updating n_1 with PyTrackOption and value None!\n", - "Updating n_2 with PyTrackOption and value None!\n", - "Updating sum with PyTrackOption and value None!\n", - "Updating dif with PyTrackOption and value None!\n", - "Updating n_1 with 5\n", - "Updating n_2 with 10\n", - "'DVCParams' object has no attribute 'params'\n", - "'DVCParams' object has no attribute 'params'\n", - "No results found!\n", - "'DVCParams' object has no attribute 'result'\n", - "No results found!\n", - "'DVCParams' object has no attribute 'result'\n", - "--- Writing new DVC file! ---\n", - "Overwriting existing configuration!\n", - "running script: dvc run -n Stage_0 --outs outs\\0_Stage.json --params config\\pytrack.json:Stage.0.params --deps src\\Stage.py --force --no-exec python -c \"from src.Stage import Stage; Stage(id_=0).run()\"\n" - ] - } - ], - "source": [ - "stage = Stage()\n", - "stage(5, 10)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "## dvc.yaml\n", - "The first file we are interested in defines all DVC stage ``dvc.yaml``" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "source": [ - "display(Pretty(\"dvc.yaml\"))" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - }, - "execution_count": 4, - "outputs": [ - { - "data": { - "text/plain": "stages:\n Stage_0:\n cmd: python -c \"from src.Stage import Stage; Stage(id_=0).run()\"\n deps:\n - src\\Stage.py\n params:\n - config/pytrack.json:\n - Stage.0.params\n outs:\n - outs\\0_Stage.json\n" - }, - "metadata": {}, - "output_type": "display_data" - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "In this scenario we are using `@PyTrack(nb_name=\"Introduction.ipynb\")` which allows us to use a Jupyter Notebook.\n", - "This creates a file that contains our class definition in `src/Stage.py`.\n", - "We can see here that DVC will run `python3 -c \"from src.Stage import Stage; Stage(id_=0).run()\"`.\n", - "This requires that all information for running this command must be given through files.\n", - "It is crucial that this command can run without requiring anything being passed to the `__init__` of the class!\n", - "Furthermore, we see here that we pass the argument `id_=0` which is not defined in our `__init__` because PyTrack handles this for us automatically.\n", - "This file also specifies the dependencies and outputs from our stage. This information can then be used to generate e.g., the DAG.\n" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "## params.json\n", - "\n", - "All `DVC.params()` are stored in ``pytrack.json``. Our file contains two numbers and looks as follows" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 5, - "outputs": [ - { - "data": { - "text/plain": "{\n \"Stage\": {\n \"0\": {\n \"params\": {\n \"n_1\": 5,\n \"n_2\": 10\n }\n }\n },\n \"default\": null\n}" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "display(Pretty(\"config/pytrack.json\"))" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "Here ``Stage`` gives the name of Stage, which is usually the name of the class.\n", - "Therefore, it is important that PyTrack stages don’t share a name within one pipeline.\n", - "The ``id_=0`` allows for having multiple parameters to a single stage.\n", - "This is usually not a good idea and therefore 0 is handled as the default." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "## 0_Stages.json\n", - "\n", - "The file outs/0_Stage.json is the output from the stage.\n", - "It contains the values for Stage(id_=0).sum and Stage(id_=0).d if after running the stage.\n", - "PyTrack needs to know which attributes are considered results and therefore has the definition of result() in the init.\n", - "This allows accessing and sharing the result of a stage without manually opening the generated files.\n", - "In general all paths should be handled through PyTrack in a way described later.\n", - "\n", - "We can use ``dvc repro`` or `PyTrackProject` to run our code." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 6, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "No results found!\n" - ] - } - ], - "source": [ - "stage.sum" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 7, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Updating n_1 with PyTrackOption and value None!\n", - "Updating n_2 with PyTrackOption and value None!\n", - "Updating sum with PyTrackOption and value None!\n", - "Updating dif with PyTrackOption and value None!\n", - "Updating sum with 15\n", - "Processing value {'sum': 15}\n", - "No results found!\n", - "Writing {'sum': 15} to outs\\0_Stage.json\n", - "successful!\n", - "Updating dif with -5\n", - "Processing value {'dif': -5}\n", - "Loading results {'sum': 15}\n", - "Writing {'sum': 15, 'dif': -5} to outs\\0_Stage.json\n", - "successful!\n", - "Loading results {'sum': 15, 'dif': -5}\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Running stage 'Stage_0':\n", - "> python -c \"from src.Stage import Stage; Stage(id_=0).run()\"\n", - "Generating lock file 'dvc.lock'\n", - "Updating lock file 'dvc.lock'\n", - "\n", - "To track the changes with git, run:\n", - "\n", - "\tgit add dvc.lock\n", - "Use `dvc push` to send your updates to remote storage.\n" - ] - }, - { - "data": { - "text/plain": "15" - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "!dvc repro\n", - "stage.sum\n" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "This will create the outs/0_Stage.json as" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 8, - "outputs": [ - { - "data": { - "text/plain": "{\n \"sum\": 15,\n \"dif\": -5\n}" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "display(Pretty(\"outs/0_Stage.json\"))\n" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 9, - "outputs": [], - "source": [ - "# Cleanup all files\n", - "os.chdir(\"..\")\n", - "temp_dir.cleanup()" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file diff --git a/docs/source/Overview/PassingClasses.ipynb b/docs/source/Overview/PassingClasses.ipynb deleted file mode 100644 index e452d995..00000000 --- a/docs/source/Overview/PassingClasses.ipynb +++ /dev/null @@ -1,422 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "collapsed": true, - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "# Working with child classes\n", - "\n", - "In some scenarios it is necessary to pass work with an instance of a class within PyTrack.\n", - "In the following is a possible scenario in how such things can be handled." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [], - "source": [ - "# We are working in a temporary directory for easier cleanup\n", - "import os\n", - "import shutil\n", - "from tempfile import TemporaryDirectory\n", - "from pytrack import PyTrackProject\n", - "\n", - "temp_dir = TemporaryDirectory()\n", - "cwd = os.getcwd()\n", - "\n", - "shutil.copy(\"PassingClasses.ipynb\", temp_dir.name)\n", - "\n", - "os.chdir(temp_dir.name)\n", - "\n", - "project = PyTrackProject()\n", - "project.create_dvc_repository()" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Jupyter support is an experimental feature! Please save your notebook before running this command!\n", - "Submit issues to https://github.com/zincware/py-track.\n" - ] - } - ], - "source": [ - "from pytrack import PyTrack, DVC\n", - "import inspect\n", - "\n", - "class Operation1:\n", - " \"\"\"\n", - " An implementation or algorithm you want to \n", - " be tracked by py-track.\n", - " \"\"\"\n", - " def __init__(self, factor):\n", - " self.factor = factor\n", - "\n", - " def convert_input(self, inp):\n", - " return inp * self.factor\n", - "\n", - "class Operation2:\n", - " \"\"\"\n", - " Another implementation or algorithm you want to \n", - " be tracked by py-track. should accomplish the same\n", - " goal as Operation1 but perhaps in a different way.\n", - " \"\"\"\n", - " def __init__(self, factor, shift):\n", - " self.factor = factor\n", - " self.shift = shift\n", - "\n", - " def convert_input(self, inp):\n", - " return inp * self.factor + self.shift\n", - "\n", - "\n", - "@PyTrack(nb_name=\"PassingClasses.ipynb\")\n", - "class ChildHandler:\n", - " \"\"\"\n", - " PyTrack enabled class which handles calling the\n", - " implementations.\n", - " \"\"\"\n", - " def __init__(self):\n", - " \"\"\"\n", - " Standard constructor for the class where the\n", - " different operations are given as attributes.\n", - " \n", - " Beyond defining the operations, inputs and outputs\n", - " are also set as DVC trackable attributes.\n", - " \"\"\"\n", - " self.methods = {\n", - " Operation1.__name__: Operation1,\n", - " Operation2.__name__: Operation2\n", - " }\n", - "\n", - " self.operation = DVC.params()\n", - " self.operation_parameter = DVC.params()\n", - " self.input = DVC.params()\n", - " self.output = DVC.result()\n", - "\n", - " def __call__(self, operation: object, inp):\n", - " \"\"\"\n", - " This is what will be called when you run the\n", - " script. For example:\n", - " data = ChildHandler(Operation1(), ...)\n", - " Calling of this class will add it to the \n", - " computation graph which is later executed.\n", - " \"\"\"\n", - " self.operation = operation.__class__.__name__\n", - " operation_parameter = {}\n", - " for key in inspect.signature(operation.__class__.__init__).parameters:\n", - " if key == \"self\":\n", - " continue\n", - " operation_parameter[key] = getattr(operation, key)\n", - " self.operation_parameter = operation_parameter\n", - " # Note we have to use \"=\" here and can not update it iteratively!\n", - "\n", - " self.input = inp\n", - " def run(self):\n", - " \"\"\"\n", - " Called on the backed to execute the methods in\n", - " one of the child classes. In this case, the \n", - " method we want to run in the child class is \n", - " called convert_input.\n", - " \"\"\"\n", - " Operation = self.methods[self.operation]\n", - " operation = Operation(**self.operation_parameter)\n", - "\n", - " self.output = operation.convert_input(self.input)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "We are using `inspect.signature` and assume that the class attributes have the same name as the `__init__`\n", - " parameters.\n", - " They can be changed in any way though.\n", - "\n", - "Let us now use both passed child methods and see how it works out." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Used mutable type dict for params! Always overwrite the params and don't alter it otherwise! It won't work.\n", - "No results found!\n", - "--- Writing new DVC file! ---\n", - "Overwriting existing configuration!\n", - "Result can only be changed within `run` call!\n", - "Used mutable type dict for params! Always overwrite the params and don't alter it otherwise! It won't work.\n", - "No results found!\n", - "--- Writing new DVC file! ---\n", - "Overwriting existing configuration!\n" - ] - } - ], - "source": [ - "child_handler = ChildHandler()\n", - "operation = Operation1(factor=3)\n", - "child_handler(operation=operation, inp=15)\n", - "\n", - "project.queue(name=\"Op1\")\n", - "\n", - "child_handler = ChildHandler()\n", - "operation = Operation2(factor=2, shift=500)\n", - "child_handler(operation=operation, inp=15)\n", - "\n", - "project.queue(name=\"Op2\")\n", - "project.run_all()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "We can now load them and see the results" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'factor': 3}\n", - "45\n" - ] - } - ], - "source": [ - "project.load(\"Op1\")\n", - "print(child_handler.operation_parameter)\n", - "print(child_handler.output)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'factor': 2, 'shift': 500}\n", - "530\n" - ] - } - ], - "source": [ - "project.load(\"Op2\")\n", - "print(child_handler.operation_parameter)\n", - "print(child_handler.output)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "This nested methods can get arbitrarily complicated, having different dependencies and outputs.\n", - "In that case it might be useful to have a common parent class and loop over e.g., a list of dependecies as such:" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [], - "source": [ - "class Operation:\n", - " def __init__(self):\n", - " self.dependencies = []\n", - " self.outs = []\n", - "\n", - "class Operation3(Operation):\n", - " def __init__(self):\n", - " super().__init__()\n", - " self.dependencies = ['File1', 'File2', 'File3']\n", - " self.outs = ['Out1.txt', 'Out2.txt']\n", - "\n", - "@PyTrack()\n", - "class ChildHandler:\n", - " def __init__(self):\n", - " self.methods = {\n", - " Operation3.__name__: Operation3\n", - " }\n", - " self.method = DVC.params()\n", - " self.deps = DVC.deps()\n", - " self.outs = DVC.outs()\n", - "\n", - " def __call__(self, operation: Operation):\n", - " self.deps = [x for x in operation.dependencies]\n", - " self.outs = [x for x in operation.outs]\n", - "\n", - " def run(self):\n", - " method = self.methods[self.method]\n", - " method.outs = self.outs\n", - " # this is required because it adapts the paths to the correct directory!\n", - " # It also converts them into pathlib.Path objects." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "Now we can pass our custom operation with a list of dependencies and outputs" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Used mutable type list for deps! Always overwrite the deps and don't append to it! It won't work.\n", - "Used mutable type list for outs! Always overwrite the outs and don't append to it! It won't work.\n", - "--- Writing new DVC file! ---\n", - "Overwriting existing configuration!\n" - ] - } - ], - "source": [ - "child_handler = ChildHandler()\n", - "operation = Operation3()\n", - "child_handler(operation)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "pycharm": { - "name": "#%% md\n" - } - }, - "source": [ - "If we now look at the PyTrack dependencies and outputs they are all set correctly." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[PosixPath('File1'), PosixPath('File2'), PosixPath('File3')]\n", - "[PosixPath('outs/Out1.txt'), PosixPath('outs/Out2.txt')]\n" - ] - } - ], - "source": [ - "print(child_handler.deps)\n", - "print(child_handler.outs)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [], - "source": [ - "# Cleanup\n", - "temp_dir.cleanup()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.10" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/docs/source/_tutorials/estimate_pi_with_mc.ipynb b/docs/source/_tutorials/estimate_pi_with_mc.ipynb deleted file mode 100644 index ae2038d4..00000000 --- a/docs/source/_tutorials/estimate_pi_with_mc.ipynb +++ /dev/null @@ -1,446 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "source": [ - "# Estimating Pi\n", - "\n", - "The following example should highlight, how one can convert most Python classes that take arguments into a PyTrack class.\n", - "Here we take on an example to Estimate the value Pi.\n", - "The original notebook can be found here https://gist.github.com/SamTov/907aebbc6c36a242e15e3745a91989eb .\n", - "There were only a few changes made:\n", - "\n", - " 1. convert parameters to `DVC.params()`\n", - " 2. convert restuls to `DVC.result()`\n", - " 3. Add a `__call__` method for the adding the parameters to the class\n", - " 4. Add a `run` method that does the heavy lifting for us and runs the expensive computation\n", - " 5. Make the results json serializeable, which in this case means we need to convert them to a list (as an alternative we could save them as a numpy file, if they are to large)\n", - "\n", - "That's it - now we can use the `@PyTrack()` decorator and we can even stay inside the Jupyter notebook." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 1, - "outputs": [], - "source": [ - "# We are working in a temporary directory for easier cleanup\n", - "import os\n", - "import shutil\n", - "from tempfile import TemporaryDirectory\n", - "from pytrack import PyTrackProject\n", - "\n", - "temp_dir = TemporaryDirectory()\n", - "cwd = os.getcwd()\n", - "\n", - "shutil.copy(\"estimate_pi_with_mc.ipynb\", temp_dir.name)\n", - "\n", - "os.chdir(temp_dir.name)\n", - "\n", - "project = PyTrackProject()\n", - "project.create_dvc_repository()" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.patches as patches\n", - "import matplotlib\n", - "from pytrack import PyTrack, DVC\n", - "matplotlib.rcParams.update({'errorbar.capsize': 4})" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Jupyter support is an experimental feature! Please save your notebook before running this command!\n", - "Submit issues to https://github.com/zincware/py-track.\n" - ] - } - ], - "source": [ - "@PyTrack(nb_name=\"estimate_pi_with_mc.ipynb\")\n", - "class MCPi:\n", - " \"\"\"\n", - " A class to study Monte Carlo sampling as applied to\n", - " the computation of Pi.\n", - "\n", - " Attributes\n", - " ----------\n", - " coordinates : np.ndarray\n", - " Coordinates of points plotted.\n", - " n_circle_points : int\n", - " Number of points in the circle\n", - " n_points : int\n", - " Total number of points.\n", - " \"\"\"\n", - "\n", - " def __init__(self):\n", - " \"\"\"\n", - " Constructor for the MCPi class.\n", - " \"\"\"\n", - " self.coordinates = DVC.result()\n", - " self.n_circle_points = DVC.result()\n", - " self.n_points = DVC.params()\n", - "\n", - " def plot_image(self, axs = None):\n", - " \"\"\"\n", - " Plot the circle, square, and points.\n", - "\n", - " Parameters\n", - " ----------\n", - " axs : mpl.axis\n", - " An axis object to plot to if desired.\n", - " \"\"\"\n", - " circle = plt.Circle((0, 0), 1, fill=False)\n", - " square = patches.Rectangle((0, 0), 1, 1, fill=False)\n", - " if axs is None:\n", - " ax = plt.gca()\n", - " else:\n", - " ax = axs\n", - " ax.set_xlim(-1.3, 1.3)\n", - " ax.set_ylim(-1.3, 1.3)\n", - " ax.spines.left.set_position('zero')\n", - " ax.spines.right.set_color('none')\n", - " ax.spines.bottom.set_position('zero')\n", - " ax.spines.top.set_color('none')\n", - " ax.xaxis.set_ticks_position('bottom')\n", - " ax.yaxis.set_ticks_position('left')\n", - " ax.add_patch(circle)\n", - " ax.add_patch(square)\n", - " ax.set_aspect('equal')\n", - " plt.show()\n", - "\n", - " def plot_sampling(self, axs = None, show: bool = False):\n", - " \"\"\"\n", - " Plot the result of the sampling.\n", - "\n", - " Parameters\n", - " ----------\n", - " axs : mpl.axis\n", - " An axis object to plot to if desired.\n", - " \"\"\"\n", - " coordinates = np.array(self.coordinates)\n", - " circle = plt.Circle((0, 0), 1, fill=False, linewidth=3, edgecolor='k', zorder=10)\n", - " square = patches.Rectangle((0, 0), 1, 1, fill=False, linewidth=3, edgecolor='k', zorder=10)\n", - " if axs is None:\n", - " ax = plt.gca()\n", - " else:\n", - " ax = axs\n", - " ax.set_xlim(-0.0, 1.0)\n", - " ax.set_ylim(-0.0, 1.0)\n", - " ax.spines.left.set_position('zero')\n", - " ax.spines.right.set_color('none')\n", - " ax.spines.bottom.set_position('zero')\n", - " ax.spines.top.set_color('none')\n", - " ax.xaxis.set_ticks_position('bottom')\n", - " ax.yaxis.set_ticks_position('left')\n", - " ax.plot(coordinates[:, 0], coordinates[:, 1], '.')\n", - " inner_points = np.array(list(filter(lambda x: np.linalg.norm(x) <= 1, coordinates)))\n", - " ax.plot(inner_points[:, 0], inner_points[:, 1], 'r.')\n", - " ax.add_patch(circle)\n", - " ax.add_patch(square)\n", - " ax.set_title(f\"N: {self.n_points} ; $\\pi$ = {4 * self.n_circle_points / self.n_points}\")\n", - " ax.set_aspect('equal')\n", - "\n", - " if show:\n", - " plt.show()\n", - "\n", - " def _circle_points(self):\n", - " \"\"\"\n", - " Compute the number of points in the circle.\n", - " \"\"\"\n", - " radial_values = np.linalg.norm(self.coordinates, axis=1)\n", - " self.n_circle_points = len(list(filter(lambda x: x <= 1, radial_values)))\n", - "\n", - " def __call__(self, n_points):\n", - " self.n_points = n_points\n", - "\n", - " def run(self):\n", - " \"\"\"\n", - " Draw N points from a normal distribution.\n", - "\n", - " N : int\n", - " Number of points to draw.\n", - " \"\"\"\n", - " self.coordinates = np.random.random(size=(self.n_points, 2)).tolist()\n", - " self._circle_points() # compute the number of points in the circle." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "Now let us define pi estimates with different numbers of points and run them all." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 4, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Updating coordinates with PyTrackOption and value None!\n", - "Updating n_circle_points with PyTrackOption and value None!\n", - "Updating n_points with PyTrackOption and value None!\n", - "Updating n_points with 10000\n", - "No results found!\n", - "'DVCParams' object has no attribute 'result'\n", - "No results found!\n", - "'DVCParams' object has no attribute 'result'\n", - "'DVCParams' object has no attribute 'params'\n", - "--- Writing new DVC file! ---\n", - "Overwriting existing configuration!\n", - "running script: dvc run -n MCPi_0 --outs outs\\0_MCPi.json --params config\\pytrack.json:MCPi.0.params --deps src\\MCPi.py --force --no-exec python -c \"from src.MCPi import MCPi; MCPi(id_=0).run()\"\n", - "Updating coordinates with Descriptor for result\n", - "Result can only be changed within `run` call!\n", - "Updating n_circle_points with Descriptor for result\n", - "Result can only be changed within `run` call!\n", - "Updating n_points with Descriptor for params\n", - "Updating n_points with 1000\n", - "No results found!\n", - "'DVCParams' object has no attribute 'result'\n", - "No results found!\n", - "'DVCParams' object has no attribute 'result'\n", - "'DVCParams' object has no attribute 'params'\n", - "--- Writing new DVC file! ---\n", - "Overwriting existing configuration!\n", - "running script: dvc run -n MCPi_0 --outs outs\\0_MCPi.json --params config\\pytrack.json:MCPi.0.params --deps src\\MCPi.py --force --no-exec python -c \"from src.MCPi import MCPi; MCPi(id_=0).run()\"\n", - "Updating coordinates with Descriptor for result\n", - "Result can only be changed within `run` call!\n", - "Updating n_circle_points with Descriptor for result\n", - "Result can only be changed within `run` call!\n", - "Updating n_points with Descriptor for params\n", - "Updating n_points with 100\n", - "No results found!\n", - "'DVCParams' object has no attribute 'result'\n", - "No results found!\n", - "'DVCParams' object has no attribute 'result'\n", - "'DVCParams' object has no attribute 'params'\n", - "--- Writing new DVC file! ---\n", - "Overwriting existing configuration!\n", - "running script: dvc run -n MCPi_0 --outs outs\\0_MCPi.json --params config\\pytrack.json:MCPi.0.params --deps src\\MCPi.py --force --no-exec python -c \"from src.MCPi import MCPi; MCPi(id_=0).run()\"\n" - ] - } - ], - "source": [ - "mc_study = MCPi()\n", - "mc_study(n_points=10000)\n", - "project.name=\"n=10000\"\n", - "project.queue()\n", - "\n", - "mc_study = MCPi()\n", - "mc_study(n_points=1000)\n", - "project.name=\"n=1000\"\n", - "project.queue()\n", - "\n", - "mc_study = MCPi()\n", - "mc_study(n_points=100)\n", - "project.name=\"n=100\"\n", - "project.run()" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "We can now see our experiments and the respective hash values:\n" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 5, - "outputs": [ - { - "data": { - "text/plain": "{'master': '19ea693ef750ccd2c4a96fa1e472b41150421cdc',\n 'n=10000': 'cb603c6ae1adbd1e7afe5ef0bc4046d86b83ffb8',\n 'n=1000': '4b607373b6abbe6f236e5fd8618ca7ae16d6abae',\n 'n=100': 'a0ab48cafac1963053a0e09189c561bfcd45422f'}" - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "project.exp_dict" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "markdown", - "source": [ - "Let us load them and plot them after each other. Because all the calculations where already performed, this is simply loading the correct result files." - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 6, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Loading results {'coordinates': [[0.9534825030724863, 0.9736849411975227], [0.4931813940740759, 0.9829880634823199], [0.905733423691089, 0.08003728031596613], [0.6458820678585072, 0.8594859899943744], [0.1543061583646207, 0.3991143444118941], [0.8944992953214292, 0.7524198230690267], [0.3482861699497045, 0.1838983304913301], [0.3484124166686169, 0.22228920010969255], [0.8666813514949976, 0.3479442485755808], [0.5753924613900492, 0.48369122618736793], [0.3416939509578981, 0.7833704143111562], [0.7992174072370316, 0.9349655951431536], [0.5499628017442535, 0.9555993037176029], [0.19513334907248558, 0.781183165205529], [0.000191201202975666, 0.7974948754175745], [0.19048097679365183, 0.5142736769759063], [0.981139913053156, 0.8874601212132418], [0.8312099217972992, 0.3631622979645498], [0.26901852293646433, 0.6974588613431282], [0.13070999325288635, 0.23289296597494924], [0.5362344445301506, 0.5979895080388822], [0.03865489328276617, 0.969133111256937], [0.1296573955994711, 0.5776197742162015], [0.44187948802425536, 0.9165371404901477], [0.2967300034054675, 0.7419809000314078], [0.8449087827276188, 0.5012967710729612], [0.5064769302771286, 0.5883727403000253], [0.9965523012062087, 0.4415345841925795], [0.42064941221040897, 0.32302531573822313], [0.35388898265467006, 0.09345144519742676], [0.3233929728028626, 0.01794246666331878], [0.20620478414183285, 0.2494004000256116], [0.15178321972207187, 0.4612600887406816], [0.9108140077429374, 0.3486812889167362], [0.7857948611113917, 0.31348059308066345], [0.12094914864432971, 0.882381365776829], [0.5158728389981939, 0.16880202789854026], [0.0766434823569665, 0.6969145322811312], [0.5442839877350729, 0.6045742800504259], [0.2924619719309898, 0.31839049134051145], [0.687304768944149, 0.9570956920769683], [0.41265083965607874, 0.2443580081070721], [0.9105553265265399, 0.1575956438995172], [0.9423519367023827, 0.580031200746985], [0.6056483542662063, 0.9806424786797231], [0.06301829385212665, 0.792045443120102], [0.5745962466690301, 0.18140230473747732], [0.20260682607510827, 0.9774357145132733], [0.9881886173429201, 0.9323431134296616], [0.3571566229433437, 0.1742246658772777], [0.6087388705375484, 0.0765805260402127], [0.005946145645956302, 0.7529838853310163], [0.3181534145264451, 0.1417347858550423], [0.9024568305991955, 0.20160926508138988], [0.17018435181613012, 0.006730367599160569], [0.14893880954542005, 0.09821511800510307], [0.756874103503509, 0.8733807477754296], [0.2907187063128799, 0.526367300965871], [0.028008634707720526, 0.8274252997048054], [0.6011625072722845, 0.4610139904366215], [0.07053698591793423, 0.05404144973164404], [0.5061597214400217, 0.027214677837750778], [0.033282821108212346, 0.5107634761692337], [0.9180487104036831, 0.5596307121642792], [0.6846375551468432, 0.5608884005965863], [0.14707200422668765, 0.5495542479130052], [0.7712165020784607, 0.9297706252389195], [0.5353977778412093, 0.9611016313574424], [0.34012686228636013, 0.8720509746815127], [0.3755910888305801, 0.41427351475162366], [0.27871050842209966, 0.5341921016327335], [0.7355119521368076, 0.9878528619015241], [0.1889283504205348, 0.20576380077257794], [0.8068358103548794, 0.22196079458295004], [0.8145353228536437, 0.33960942467313693], [0.7608594397528948, 0.6320440232506755], [0.7056475013341371, 0.7372453422979015], [0.18613647574518022, 0.16013321586749096], [0.8509631764270676, 0.11296344000344571], [0.509721196276065, 0.0002376833923873889], [0.684335468686908, 0.046196542159102516], [0.07214662465966848, 0.9309881161759169], [0.8673646575278102, 0.35700383003020875], [0.8169214136135059, 0.20414165995492284], [0.6039012591322177, 0.6552245029015513], [0.06988913409383957, 0.9473997839582206], [0.833564971744217, 0.4298465844281043], [0.5169113147246039, 0.3910661253781267], [0.9653656127006968, 0.4550217005173942], [0.5418364203581418, 0.6209718092363998], [0.3181881863582511, 0.7049818775833007], [0.3886229084504831, 0.0916642538950262], [0.1556395965038465, 0.17277419103731728], [0.008134795562770969, 0.9850111270915116], [0.7123634931733855, 0.6091089136508031], [0.25923147427911064, 0.15518832379326364], [0.06948625921673302, 0.9442385938488217], [0.8789345529757715, 0.25511037936957637], [0.8206072089162005, 0.9543533264658001], [0.41266719764765514, 0.8948776532749075], [0.672609171408911, 0.07036209534851856], [0.7830814150849613, 0.9228991958002578], [0.6978518759653207, 0.8432112201399231], [0.14692899744288934, 0.4110623567706002], [0.40539233145911147, 0.3106456962142402], [0.3459643748919682, 0.07326269290505938], [0.6619336039989796, 0.18047098276576445], [0.058650302400318766, 0.3744457531404233], [0.7835023591925423, 0.4766389823819088], [0.13681807359523046, 0.4219260043704869], [0.14435388273289085, 0.9104235640835965], [0.7083976497283331, 0.9433504861977877], [0.5865104183200779, 0.031296656406244794], [0.7979258815510978, 0.3134445335172573], [0.04750172615849424, 0.591358122172952], [0.04143401589105267, 0.17189279971648075], [0.65549679803224, 0.17742001732761825], [0.6880925331739817, 0.6786016556230314], [0.3269122553248244, 0.9222479277864324], [0.8182069135601223, 0.38462655206293783], [0.20410828375061896, 0.9001865408431894], [0.7988109753271526, 0.6267438871362861], [0.6990386916053692, 0.1734523656025947], [0.5683463900001233, 0.32100743806407983], [0.8385632238278506, 0.8460196644326445], [0.40858538861041604, 0.013009771710692286], [0.715640905949905, 0.9011561733831057], [0.8472999861630112, 0.0760643796134931], [0.4675317723211597, 0.9838625341065862], [0.27394570826046993, 0.817056684240993], [0.8508868442038853, 0.5735386577537653], [0.9845463948594794, 0.40862128031229894], [0.18024355360819544, 0.9229489325725261], [0.7109733926898271, 0.08427996524113812], [0.8184121678794462, 0.49482872434313097], [0.5760125255241969, 0.6342035450510985], [0.25010804641594864, 0.46945054092102767], [0.3002781122783468, 0.4835509849922731], [0.8578611383471136, 0.9980152896185556], [0.8365404764672393, 0.10630037033014961], [0.3117299777690159, 0.711972677084602], [0.9570634974073006, 0.6458385262198338], [0.6313731871360271, 0.08979685369273616], [0.9439329411754024, 0.2517752612725669], [0.9041967425043121, 0.06959238440012916], [0.03677206159126967, 0.44128216422867217], [0.6775194932055553, 0.22535540931713893], [0.9053233092118345, 0.9403231509816448], [0.5316782309515039, 0.18446780541710706], [0.46872927017419097, 0.07992220975573616], [0.8386489663129244, 0.4691480924189223], [0.05449207803128364, 0.33712583947306585], [0.41290688492401684, 0.41307051630662484], [0.8864036227027204, 0.08915132736463582], [0.7258190667068687, 0.9639737861280797], [0.8720073536004552, 0.02347198232346992], [0.4123194234813281, 0.7038807617821947], [0.2160191974974479, 0.2644268814239269], [0.7345719386819649, 0.7926921282058502], [0.5119151564369452, 0.10292481251194974], [0.7597828343988826, 0.20051454355106735], [0.36424603386074417, 0.9416947393127229], [0.41847096301477404, 0.18256946291769693], [0.0250527674165667, 0.4056221489742773], [0.3947924028500056, 0.2644125775848929], [0.9743587487613179, 0.6238918702249582], [0.40868749873596366, 0.13212034695943176], [0.583388091444783, 0.5112637265927928], [0.748449254121454, 0.9051915857355118], [0.5100582882319803, 0.9914000106004733], [0.18897208084495698, 0.6789505844004372], [0.10832924419510981, 0.6551530194803182], [0.6366334170323251, 0.5622942052547155], [0.6048344948228727, 0.7897618116882082], [0.4182812523385985, 0.26043348150207646], [0.30807782369622017, 0.7094332328545138], [0.9942677905361761, 0.396281842750993], [0.17722864356158508, 0.8394922904313498], [0.3304089232913995, 0.04149096058983848], [0.9596854951292745, 0.4715445485996598], [0.5325066455229402, 0.7509651155607517], [0.6410074970061891, 0.07962764736727856], [0.553492535695566, 0.06035826642812292], [0.7534473543610751, 0.04551629722100459], [0.139420075899508, 0.6825097507794046], [0.29767414476582155, 0.31344126873978884], [0.4525887779953952, 0.8702321545579199], [0.3867255292557754, 0.2170655941864108], [0.3087459509384267, 0.16307923900530896], [0.5515436695542975, 0.3106942029755505], [0.35339026683070607, 0.46214063082969137], [0.07544850160161565, 0.8387756585484342], [0.5008267977183753, 0.1360378676052385], [0.7340864876598332, 0.7547155490551898], [0.9158620347168184, 0.35792453101166233], [0.13575895026256535, 0.7229934538515049], [0.5401342982503906, 0.5099087907233552], [0.942770944673373, 0.4111223081804736], [0.4317895055931493, 0.6224534490945651], [0.5643960113618671, 0.647912685371949], [0.5451152093446495, 0.19548396025413028], [0.03184686810825288, 0.9602139317267044], [0.3013562212966149, 0.38792996453219064], [0.7794263525364129, 0.5756003110579309], [0.21700168413181276, 0.028957627060660074], [0.9875262055324174, 0.0928153758882343], [0.9311346826210315, 0.6803193459454645], [0.3278985130552392, 0.07616570461249816], [0.8285039559446752, 0.06951103427944905], [0.7553666245203974, 0.508677286524099], [0.7509328219650664, 0.8023298878152458], [0.4414148460343361, 0.4893391960545638], [0.6617580507980101, 0.6017922192207242], [0.30851764531798564, 0.8337819003641677], [0.07992190699764323, 0.7830248302275029], [0.03957291642534655, 0.47750254848601015], [0.04069090961540878, 0.01081840387846833], [0.9643672518941809, 0.6581183853904538], [0.18922524536426366, 0.6523010373537276], [0.8592042029512106, 0.3645461215540464], [0.619087434883207, 0.2656292076520643], [0.6336268495437122, 0.876253295251701], [0.6307032451716882, 0.9882903713055722], [0.3389773776868962, 0.5082428659411041], [0.005961921794625957, 0.6981490766412454], [0.9333228780658012, 0.39351145904725016], [0.838607495520613, 0.9438164609541093], [0.5371081221080418, 0.08041468891395631], [0.45499609925109563, 0.6193912343767716], [0.7595920236959074, 0.4873999823404058], [0.6696863722515654, 0.04016920971458848], [0.5430048187529025, 0.793908905387541], [0.08715656989888776, 0.1083291832587534], [0.3500189218729147, 0.9704870021266548], [0.9296170946206499, 0.9809497238090872], [0.7314191238496429, 0.34148029303735417], [0.4344981003261543, 0.8127508478413618], [0.15471870455131642, 0.29991746285845644], [0.5919108930059123, 0.6630772401584829], [0.2977828288528126, 0.9083484932407435], [0.33590853309981406, 0.021548528159735958], [0.3807312620427239, 0.5498367447755802], [0.4609511191490686, 0.60225503168495], [0.2724379464437352, 0.9324258114472237], [0.37237018903037145, 0.652866444272268], [0.994900829782663, 0.9142042962353052], [0.9239965639740845, 0.4185555875677017], [0.013318245253465255, 0.6460695345947839], [0.5085764827156655, 0.6386760003518646], [0.7364806386319905, 0.22015194289099027], [0.6534734961278553, 0.5185881045120208], [0.3342607741303314, 0.9190784442177349], [0.6487657641563218, 0.5479473599578752], [0.08497310332873875, 0.34585085035870566], [0.07483106130522488, 0.6268930156691774], [0.8613696187099193, 0.056611953270897186], [0.13471460766411059, 0.5329622268005474], [0.9959911040703596, 0.020437291747695152], [0.5104337030587344, 0.11213189219690023], [0.6355887352384085, 0.698140644258142], [0.5198120554728451, 0.26392526925582027], [0.4234433798689633, 0.9966419767934941], [0.33678660020106255, 0.9770508837962409], [0.679021371944901, 0.7320544678962968], [0.9848575450905042, 0.1043492542309774], [0.2228160695721193, 0.46235661050709154], [0.4605670547952474, 0.44824401210434994], [0.6427788557615405, 0.8858126960163271], [0.029868560682202783, 0.11041055041607672], [0.4063430914692443, 0.253701807961216], [0.3388187014951045, 0.36339370002289906], [0.8646058282207049, 0.3843986566730754], [0.38295178457271417, 0.38134748799606377], [0.038045357507587085, 0.07682032925664606], [0.8049394300420589, 0.9926049929588314], [0.4484384830931827, 0.1844275236620233], [0.7214185320678907, 0.7574161267371423], [0.8679233758334499, 0.1083984401893916], [0.5608631974917488, 0.5676720090142124], [0.22340257745248793, 0.7478471134743985], [0.6881885304833656, 0.578234053371108], [0.25734917819386927, 0.17878329606371846], [0.35596094392972844, 0.5304706734032604], [0.6470500378141801, 0.5546578369876327], [0.580835638330111, 0.6187166644969453], [0.1394584622140873, 0.5950709675945004], [0.683746284585696, 0.7095714753031839], [0.6200570479856778, 0.5670858906582158], [0.17835432037482823, 0.09804130437093772], [0.7584630869603167, 0.09006964517593574], [0.6677994725849907, 0.8184957015368468], [0.4858190274070795, 0.9989064190555078], [0.1830839230326654, 0.9690788233312491], [0.080581440211282, 0.974748905638956], [0.1048441402805309, 0.364464105705699], [0.37991647954563457, 0.17013393830979995], [0.32973722272352235, 0.9548481212971259], [0.7199320392638013, 0.6724117207789184], [0.24506921582159813, 0.46970949272688267], [0.35286366399521296, 0.1916397571386208], [0.5881166560178375, 0.2576856633139015], [0.45399213671699756, 0.7486952573165754], [0.001972866505530302, 0.8813196384720695], [0.3447545745528957, 0.9876370793008373], [0.11753129700853648, 0.393525262589023], [0.7017638743793602, 0.21487240878054858], [0.2791743623217874, 0.21135891596890588], [0.21698846712106667, 0.2861956190371804], [0.44438355527093887, 0.9199329386320058], [0.372683506478213, 0.019879545134719345], [0.5990322986877266, 0.7987884418567064], [0.5798200839681548, 0.7618323673494015], [0.7324301858809582, 0.3413428273274143], [0.20238393763934315, 0.6239623345973756], [0.9979605404464337, 0.9705623118910518], [0.910747611803054, 0.8752155692854654], [0.6477789728653148, 0.34930364602354835], [0.5121452649598497, 0.1471061141860358], [0.8847505720304374, 0.260667414069341], [0.45309526081224827, 0.48857306390321664], [0.33912883779813274, 0.6478950477837526], [0.12091174843094121, 0.11482858239962335], [0.1929753888833835, 0.18556153082926907], [0.9754262432967007, 0.2634409161213972], [0.9226519393897021, 0.009534686326343023], [0.6577319294807832, 0.6212998521867116], [0.04649816655250849, 0.7330918517858359], [0.3696801479845139, 0.8016974547655498], [0.3202368715292837, 0.9462590843886669], [0.5996093182607175, 0.4092864236203373], [0.12533206360345583, 0.30184025139259785], [0.9331514776394436, 0.6293602011769327], [0.7753537898520884, 0.9350550259593504], [0.7382862788394216, 0.6882456142166987], [0.25357030606558106, 0.9802681276287156], [0.0005085222071854467, 0.44169539702184824], [0.749943283548769, 0.2992486866420767], [0.5272721625415638, 0.7642141928269561], [0.6246422177150329, 0.3714794320444418], [0.03887125343040898, 0.14442322389192697], [0.5195242089410657, 0.38478898126577044], [0.6484294684816789, 0.11400426709414524], [9.403928844575749e-05, 0.8433372999795067], [0.2570589978400959, 0.35014705680384417], [0.9458270965982416, 0.8966913109767747], [0.7680828046501155, 0.4449351048581701], [0.25455819266499047, 0.6702617196622352], [0.99919085544337, 0.6319713840089038], [0.9447397041963042, 0.914355315229451], [0.7182205308985831, 0.08456484285380617], [0.7016164246902151, 0.18177143623449188], [0.5760995788888407, 0.7848204179068284], [0.8047977978453479, 0.5944064920659313], [0.6238378316140993, 0.8656234381166366], [0.3565745501193385, 0.09343286978068044], [0.8315230608694623, 0.02364479786485818], [0.503993048217703, 0.9137674296704211], [0.36167976149870606, 0.4329034460711536], [0.6556320318506116, 0.12730629168504282], [0.9924672971492825, 0.31895898362390795], [0.5019724335913135, 0.5956009547041115], [0.07015383620394067, 0.16511875418514244], [0.9265426224014648, 0.6197782693458777], [0.19189546607677688, 0.37187000085751176], [0.7035152423518398, 0.3757288617376534], [0.8266760366363942, 0.9182322417823737], [0.9687427304194886, 0.8653726628955793], [0.8284598324317904, 0.3286754195029058], [0.3851855539315052, 0.04835364868736691], [0.967806380998203, 0.6109612043325753], [0.11613230321813572, 0.12489377805746593], [0.8070603477078084, 0.12700277466131282], [0.06356618301132222, 0.8231598450602735], [0.6582679229252157, 0.6002461730764055], [0.6513052229847507, 0.866137683026474], [0.925381019091501, 0.7170234499047314], [0.41707176698211224, 0.9860223822284161], [0.5371556885469624, 0.09055666344156987], [0.941239005770953, 0.16466915867214593], [0.007460590217189478, 0.19677824863320414], [0.3385800412877883, 0.4797123331253592], [0.26605398914509826, 0.8051018903121708], [0.6637322449179557, 0.6343613926308728], [0.9374178034876901, 0.6097200582532905], [0.7234819552891838, 0.6435582036866494], [0.21669992180628994, 0.30355701665047863], [0.17989746955767272, 0.0747945161842305], [0.00972003787492337, 0.33434245962936626], [0.46121505155266196, 0.03066865599300339], [0.028582236775466452, 0.43418335552363396], [0.6650207680622308, 0.8171146676806099], [0.9273198785903356, 0.29849496049626867], [0.26848830929964074, 0.11274311506488932], [0.8676786570867443, 0.4596948790116001], [0.5714420084447066, 0.9330441475998792], [0.7555684168042192, 0.12836180903266725], [0.24522348463375165, 0.9125753345245667], [0.31811697706219266, 0.6811991127234895], [0.28996761287716977, 0.19478329386328808], [0.6916795811660544, 0.3795701084446498], [0.53060880305159, 0.6276807757005597], [0.4154959506522561, 0.6323110658269718], [0.8314993899241646, 0.33628452740546566], [0.423240714839915, 0.8778769827070626], [0.6054851612389407, 0.9915515799816529], [0.6027547610626847, 0.41997938415948344], [0.0960661530477458, 0.4482578610197717], [0.3751115566802333, 0.9375887890395829], [0.45333013117501286, 0.4967784633505654], [0.7518686183923244, 0.5609935213415003], [0.5835028618052037, 0.21050110136120836], [0.30548027212598394, 0.7122982904973076], [0.33078971206595253, 0.5146864464385492], [0.6012035496259536, 0.8787928194521986], [0.3052760703899192, 0.09849271457041475], [0.6451141274000765, 0.6031922798866511], [0.1399131436615323, 0.29986253045649036], [0.7163087668984149, 0.9452590423403199], [0.47601086473974885, 0.7045993927187404], [0.5940199390017483, 0.7000187720527983], [0.453228518745873, 0.984444166185974], [0.2551195076091749, 0.46283516468400443], [0.5788363571603595, 0.4048098712454564], [0.14710400998131934, 0.8413964034029195], [0.9735741480271949, 0.48771291479205914], [0.08804257605441657, 0.10600910088124527], [0.9434794626942897, 0.7435616124574757], [0.6981111476946269, 0.4465879963987691], [0.3254921913245369, 0.8751639922783238], [0.4437405302977847, 0.2251487009174259], [0.4866244905588639, 0.9860035225963302], [0.22133359544260012, 0.6184998262758268], [0.6358843183130112, 0.8183383826701607], [0.2786837219823386, 0.22501723967622145], [0.8174890118976325, 0.917833490852923], [0.9771489248813607, 0.5510926460358354], [0.9282562161757126, 0.35417427529341927], [0.6577928018737016, 0.9922853554039297], [0.4498220230209047, 0.3549861244432131], [0.6274328258980274, 0.4945149935716673], [0.9630344597274443, 0.9138100623467801], [0.8384933467054183, 0.9613008374330659], [0.39869564840987737, 0.29600201188113073], [0.2051305237052865, 0.9914816985822252], [0.20227701332024062, 0.7303515605824284], [0.6767923821382277, 0.12357967697210248], [0.8847515562244502, 0.9743000589974214], [0.9030425535376246, 0.4721520408692259], [0.004368060600074886, 0.6895672004553228], [0.1276632123605126, 0.2565592103523675], [0.955460948869093, 0.7532652461756066], [0.126621587172565, 0.7818106486112764], [0.38411997150401245, 0.45794888540669965], [0.6505423620805356, 0.42955115768478924], [0.48316090203172246, 0.6906708159826066], [0.14100526995439422, 0.19469665299448968], [0.403852831103405, 0.9138580389891376], [0.6874800859383227, 0.10764191757539832], [0.8397855751315428, 0.3201209192769041], [0.19579316743161357, 0.5913975561920933], [0.7527620288157951, 0.44496439775758456], [0.5625845257146448, 0.4250485907396484], [0.7437590601767445, 0.9189884919347637], [0.8084724994485774, 0.023572585620994402], [0.4856936060945234, 0.6704037937081944], [0.8149076993099263, 0.6988054707281184], [0.8078944883714587, 0.855280265063642], [0.16093925275593846, 0.8576924161457025], [0.25581852572323727, 0.770617909580809], [0.2731135151976536, 0.04407457733115361], [0.454469918400339, 0.6938865689257487], [0.3419704269258388, 0.15407930762940503], [0.09713544594170453, 0.8752181837460392], [0.0012915220568627817, 0.3972178185197316], [0.9899783920251907, 0.8264700982071477], [0.6289240243716938, 0.17401895001691703], [0.8274447494481594, 0.7746927090093582], [0.14375711466320706, 0.054459487536243856], [0.9937864020138397, 0.012815194531249019], [0.14897814379384156, 0.6252328287629951], [0.5330303958407867, 0.5601385932743922], [0.11623923311615258, 0.4090775582191112], [0.966402491456435, 0.8945425640010034], [0.9847788712100706, 0.22419429673863955], [0.3806029537205389, 0.9256714622488335], [0.2578768745418256, 0.8245716164373875], [0.09876745636597406, 0.09887478802353045], [0.35329832878215883, 0.6069136823716953], [0.20687376044674122, 0.47260034252450045], [0.6111864635486585, 0.42107470079539566], [0.08978376094910612, 0.16040850396280681], [0.9087695323355716, 0.0926839124076646], [0.4839860650841149, 0.9195061702418938], [0.4395155347520783, 0.003034071315077269], [0.526731527835592, 0.824071560937617], [0.19597241597864223, 0.21450805198042555], [0.43117692406449637, 0.48282152671074485], [0.2201012750344542, 0.5027077657389578], [0.1829098154392087, 0.3679504166018961], [0.7664166706859313, 0.16380274265597483], [0.11547162516554432, 0.1729648104327688], [0.008084254356368725, 0.7508506641399131], [0.1929334197096344, 0.1602495869222189], [0.5615630807655102, 0.11468703619404164], [0.3885285143782824, 0.45372316011261626], [0.4728531131379473, 0.9029873361963628], [0.16138991551601467, 0.21784282632939778], [0.5328211864106626, 0.5384882036980021], [0.04031059668281556, 0.704909411742823], [0.26975052840802227, 0.47829242324483867], [0.2498800953603223, 0.23940724609956998], [0.422337964326603, 0.40249961289940794], [0.7746571904275941, 0.9579650650178314], [0.694176228662461, 0.6700025042625652], [0.9598425916722879, 0.21535764084800835], [0.10759206560163881, 0.3135494286508034], [0.696654639619643, 0.1804068968745942], [0.04839740174689511, 0.10297447688499195], [0.2812380564860284, 0.27568904410434925], [0.2791631651663926, 0.21459024312991937], [0.035065856398297846, 0.10181715556846538], [0.7803686537035779, 0.7754975237224527], [0.44614427526189526, 0.3219512562947049], [0.6532332021169134, 0.37078364516149986], [0.2701910698352771, 0.07963475410406717], [0.6395800250851732, 0.6840617779226817], [0.4076657699324725, 0.8506732614540716], [0.44206379402882623, 0.489351871735377], [0.0801190996311254, 0.20798419549403313], [0.6305428545398237, 0.03201055153512633], [0.553477302013216, 0.4605446962935732], [0.13460363082480442, 0.35539939438613377], [0.11263828558025635, 0.34126307099430375], [0.21245382594367634, 0.41772016694189307], [0.4624419594016206, 0.11654309574849964], [0.5971891359222671, 0.18212576386014412], [0.23835721106385777, 0.9021674723231554], [0.10799695992577141, 0.39064324969348774], [0.7036031321412425, 0.9048343354991205], [0.06122929160459223, 0.6439208424580914], [0.8981898019403188, 0.1051390640016151], [0.7972747462382849, 0.13476587176857457], [0.06553552090048342, 0.667584456394935], [0.7432841002661738, 0.566595981156262], [0.36929340651365516, 0.778137772488858], [0.8564635346432284, 0.8692628192566806], [0.8744925908575811, 0.5651618912548121], [0.932122180278856, 0.561237003053716], [0.5466917543478238, 0.008803677667063137], [0.42804736131236065, 0.15632373438906522], [0.23611400751249556, 0.602265969056736], [0.19695234659309413, 0.9090336019825699], [0.2680337240430981, 0.2090221885975132], [0.6987554480340497, 0.3993295073943808], [0.8300269340633527, 0.3714606100839316], [0.4630240394106381, 0.8996847816785616], [0.42114785683174416, 0.6856039848417864], [0.1498651334164215, 0.6865969261432174], [0.936726100048471, 0.4627546374904875], [0.24496872473824172, 0.3077946229644083], [0.48876715716095476, 0.3352098523250159], [0.39293012070424105, 0.2696815614337065], [0.18539946153104947, 0.9725868033239959], [0.08918258068342622, 0.4754453899159601], [0.1950696272306235, 0.11421923220484853], [0.14728141408030127, 0.7582483092504921], [0.939615046273549, 0.9965067792972322], [0.3317261546136492, 0.7286830049165055], [0.5148784410627585, 0.11755636514245837], [0.07022071626141901, 0.917968600668543], [0.5651577185790946, 0.34686239182897294], [0.6585250739743228, 0.33244742484385037], [0.8962732765539098, 0.04588640157108459], [0.3653498105726023, 0.013588316000274214], [0.869809222873603, 0.41943965414203443], [0.2898042840967633, 0.624763894278086], [0.8531596207405211, 0.955446154400838], [0.9795944978218859, 0.9554478585429209], [0.9602441147426715, 0.7501344046221292], [0.9756511716212101, 0.5860160528058037], [0.837575823944522, 0.3347437348634139], [0.13199229111161925, 0.5136576266283366], [0.7937849246787128, 0.1703867839994725], [0.8036269114429485, 0.9468780222532209], [0.6311591761384584, 0.5738559787954386], [0.6947142516869247, 0.94643063205815], [0.9953006301362739, 0.422669858119734], [0.5045256723661279, 0.3761555777105253], [0.012969200594019403, 0.4189427800768404], [0.10516051447761332, 0.003299067852972626], [0.14299151076761285, 0.6617868850347958], [0.907436733377001, 0.20717957889844507], [0.7101359653229726, 0.4123554057675599], [0.5648411031118383, 0.5467281909061547], [0.05911969403383688, 0.6835010502641177], [0.8959984596310453, 0.8276939767051638], [0.3893701752776253, 0.17208049310856333], [0.7466366796823305, 0.17649611245888563], [0.8604786482711951, 0.35785565389498963], [0.02474194561709997, 0.8311861871564573], [0.13896698748223701, 0.010397516681696306], [0.058988919104425275, 0.4843193338807542], [0.11712620655250006, 0.48009390725887635], [0.4640971160646524, 0.859650371877014], [0.656792095042439, 0.6365072748378827], [0.8291062447096427, 0.03012236716759409], [0.24576740884293125, 0.7853804518453702], [0.14302689943113545, 0.4677454437038394], [0.318886666616623, 0.6066138762818092], [0.4948689019028639, 0.31592042866205416], [0.19283013148948036, 0.7066936921438303], [0.5451990228750143, 0.6629217493000928], [0.8548198980265019, 0.35636416012177996], [0.058883656507981885, 0.7752646909178157], [0.25591871146375667, 0.6694885765716282], [0.3389845351392159, 0.8735199940531027], [0.04827893429438046, 0.6891169955831838], [0.4180994372976522, 0.4046353194770409], [0.962324972598671, 0.4493801511056944], [0.977419291861515, 0.49378607300954536], [0.8444297810321726, 0.8280201458062544], [0.02066588517639778, 0.26381831928193544], [0.9006804331241915, 0.4532336215470456], [0.7385850747645089, 0.912677383595712], [0.1489150281776963, 0.3726017604377495], [0.0505951764394964, 0.5930233826361517], [0.9221959306575278, 0.8051516164457202], [0.5225382640280952, 0.23329029843478255], [0.9409636643736562, 0.4752323495973071], [0.5266695472528168, 0.7421247794827525], [0.1404178129488426, 0.6955255622935541], [0.5823082483533297, 0.7006803187142063], [0.7070691652355845, 0.4451123563649678], [0.169730252477597, 0.3938711986180853], [0.668532775851048, 0.15893010779707017], [0.5612978474164646, 0.9034130429821295], [0.7904301790507676, 0.3384354885805805], [0.45306033182946837, 0.9348186094682703], [0.7161437858736353, 0.8779224606133385], [0.26905944392669323, 0.1959472826255908], [0.7332943552387793, 0.34614093493820997], [0.8878048312982828, 0.396420442090213], [0.3314649983292395, 0.6391423228918754], [0.08721412842451526, 0.14569070467578749], [0.03863346836892556, 0.02500118562234177], [0.2088933601343671, 0.9730723911066874], [0.45820578448097493, 0.7085226751272915], [0.9311177109366766, 0.8546057733058492], [0.12491492107866164, 0.5745083155741182], [0.6426020989843896, 0.8768379057819489], [0.724245398010308, 0.9093518089930975], [0.29504547670908865, 0.1792004855687216], [0.9302410699409991, 0.4025722499971449], [0.2814184567580409, 0.13282254657610948], [0.9971001156978904, 0.43091894285852694], [0.29819227538692916, 0.5042481818799415], [0.4828729969751777, 0.11972663209882284], [0.8067851971038807, 0.9907431474215772], [0.4450518758628882, 0.26079096945913016], [0.6066968266129, 0.009076379931276302], [0.4137662157762133, 0.9294103747357916], [0.15324120130900054, 0.09929053203162086], [0.5972241279317813, 0.7469858860753119], [0.06918716366220246, 0.662439182234386], [0.35999262998648995, 0.3325930261212048], [0.8045228991209283, 0.7833818434949106], [0.7434807121656083, 0.8862343235549192], [0.8279059405158846, 0.14253836511172757], [0.458789667895667, 0.9513335315438656], [0.9034087033615199, 0.5813268343633203], [0.8913062038851219, 0.47644176558751306], [0.5751577154553411, 0.21881363686976207], [0.9042078304034096, 0.2898775834226026], [0.9359371185507779, 0.9893276851690715], [0.5921721544342021, 0.8109314468945272], [0.46099391046828386, 0.5415361262602756], [0.6812265448368665, 0.9766788409591854], [0.5077926785334389, 0.9784365143185715], [0.664331240164256, 0.6879690422164902], [0.18970467616544784, 0.5515052600156553], [0.07142682457784977, 0.7339693708226234], [0.789613628480858, 0.2483525357119417], [0.720680719025383, 0.12529022877300622], [0.22673437942741603, 0.20769034284530896], [0.1684577533966103, 0.5307134358336111], [0.706906206422751, 0.8203554699102885], [0.2138857884559464, 0.45814051225112906], [0.008010525622975329, 0.8685845200353062], [0.844022927682562, 0.28802954091827404], [0.7525855870778377, 0.9759362128010421], [0.8903795754879305, 0.5597239601369092], [0.663421061296447, 0.8211763916052575], [0.9811786445909969, 0.29399746575717856], [0.766744662445999, 0.9186990253909296], [0.40916042965238275, 0.0158710302010443], [0.45013048354243546, 0.033738107214584034], [0.39005870350429794, 0.9482194954142283], [0.06049114199201411, 0.6855058582717787], [0.9266185740120306, 0.905652966055626], [0.2637924296525992, 0.9372958994196456], [0.7827119946505137, 0.5910461925995031], [0.43215258288581837, 0.26518028362189083], [0.9414320663369266, 0.08253036550113113], [0.9426390900337891, 0.8993268666125752], [0.5493375800996798, 0.4688557003621383], [0.40413289734581404, 0.16844577427909158], [0.9201636535831719, 0.04653477128743544], [0.8541939656288371, 0.8558337496589066], [0.4579335231016316, 0.08266570558237762], [0.8940407880792214, 0.3084771069786022], [0.30786709049730754, 0.6156686474436366], [0.9030128607775461, 0.6351036172546329], [0.5440464435323535, 0.12011491503726246], [0.9504899877486468, 0.5803284237930111], [0.26513858363151654, 0.9481146731869865], [0.24084325811614882, 0.1160642923032078], [0.8710254972088048, 0.5103016611343495], [0.3605428371130036, 0.10889519810356385], [0.23964756376329643, 0.5553779819753117], [0.42523523146064246, 0.31804375335937796], [0.9896904936153553, 0.6415836899235665], [0.5833972086363423, 0.4439440567941192], [0.8780672935736451, 0.5639605246900379], [0.6912807765826428, 0.9167332298751729], [0.8670872896302445, 0.950358713052438], [0.7157483101968595, 0.33851898241201506], [0.9089504377419059, 0.010089577544211581], [0.1410406184188573, 0.3323669011325402], [0.8517248717906409, 0.5963916662577293], [0.5376108418234742, 0.6622772437649008], [0.790131761239085, 0.21818893947332396], [0.8781488238400929, 0.3985466602736817], [0.09074695734370142, 0.1499245994351266], [0.7883858383069837, 0.6802396910437218], [0.39601726164899786, 0.6218075947228586], [0.7250608117269405, 0.9892564940657226], [0.7746898728340272, 0.8185966290022016], [0.3590898450279366, 0.21797492738833635], [0.6068682255307428, 0.21981847411744715], [0.33936675667698435, 0.34134278923275385], [0.967701324918783, 0.7817791036178564], [0.1258770099245886, 0.30092311516259673], [0.29245748778124414, 0.13199932277113358], [0.2633059010354094, 0.424261609541143], [0.8789264713748441, 0.9574599540315961], [0.2869805597511039, 0.1323266245804241], [0.2042035227688117, 0.9336448023807211], [0.2925558712450258, 0.48325814444841897], [0.7635242631028846, 0.29599045580511874], [0.8506629414692305, 0.12412190168148851], [0.4035452281456905, 0.4241224055197603], [0.6522586265939408, 0.40910509588165045], [0.70858904031122, 0.6276662840955834], [0.8618853692636521, 0.2646288925206879], [0.7992815800157622, 0.5004802627957137], [0.5881084617312969, 0.026427890928654718], [0.970639370636989, 0.5960665320783154], [0.2854506544862351, 0.19398043079164817], [0.07305638679656667, 0.8657082125554231], [0.6327309669309604, 0.6649148720555387], [0.9206535559317984, 0.1764625263379196], [0.6262255261441657, 0.16216527687997528], [0.05619384843798991, 0.7607124290545263], [0.02921164566444623, 0.8286135554386564], [0.29862116212763934, 0.22244643026779498], [0.43486502552935424, 0.6014524190185585], [0.03145346881741429, 0.49654385208239127], [0.02418315545384897, 0.2367319288225177], [0.024183214346577886, 0.535755330053136], [0.3998876251799597, 0.5810616670875199], [0.8241386651127764, 0.35047128680794126], [0.7055607521533727, 0.47097704711944266], [0.3726651028570459, 0.05945903137117037], [0.6440510265022847, 0.02400800449800533], [0.38737193886794785, 0.4413418396890604], [0.4423511377657553, 0.5674734214140149], [0.8191880187299355, 0.4028208958881052], [0.7461607902159614, 0.34061684109492874], [0.3446338426340957, 0.302890826670823], [0.4879703831155323, 0.8428423538251254], [0.6286219432024749, 0.1046367994117503], [0.18777012582116048, 0.8145002826196], [0.21820980118078093, 0.012716432626163288], [0.2381976625174399, 0.7111251201546037], [0.9521406717255146, 0.9068105723720036], [0.9659006306251043, 0.4420026480384691], [0.0020270078939569336, 0.6380438954883096], [0.7318532865812871, 0.007273833968377663], [0.9955201249481751, 0.33872855226149523], [0.81871589136262, 0.10389351803736158], [0.48154893441481295, 0.08501562295966181], [0.9681631571948077, 0.5768877875385738], [0.48588990974175994, 0.39012563237992803], [0.6639547301593336, 0.31284749736499573], [0.5166326039480728, 0.7548982540454605], [0.33978160127977897, 0.16559902075090538], [0.11800719864654985, 0.09879052902061813], [0.2958480602972329, 0.5248812371899918], [0.98395825343004, 0.31736908005395603], [0.4934162377628324, 0.4845810831235292], [0.5601545881613545, 0.37704953651442896], [0.19221229229014114, 0.3514530620519577], [0.5838181638554353, 0.4865508917238327], [0.44983697039068105, 0.31441082720342584], [0.6335403340336278, 0.5583373827695244], [0.8186057945208554, 0.12886198378548208], [0.14772338366654691, 0.7263093429239778], [0.17116240904368663, 0.0716262148856085], [0.681559700257203, 0.0561125869419733], [0.4675488044531593, 0.47887313081072636], [0.8431731004340597, 0.2775031138732106], [0.9412178867340045, 0.35722036960800296], [0.41015461337620274, 0.46589350845756605], [0.08414241359966446, 0.3048931650932395], [0.6235370045602756, 0.575116235471994], [0.061424391561842095, 0.9651690169086211], [0.9496165332694264, 0.17654890581136984], [0.770653267716861, 0.21644160906058496], [0.8691164342040688, 0.14054405894559463], [0.8965017531027896, 0.9692707949337719], [0.6111545629618714, 0.46129700432637255], [0.44708319075560876, 0.8847658092746237], [0.2791391658488439, 0.11223111153406684], [0.22222924125136811, 0.811789491180959], [0.5203131833361756, 0.49925389616562077], [0.024624078869853294, 0.4567455844260049], [0.7800311653041472, 0.2786277538322889], [0.8595581574647957, 0.08688606203488569], [0.930471875137801, 0.5788908022133257], [0.011883947691138319, 0.9375094891641582], [0.6289719481579299, 0.07203740574064732], [0.6279782074923219, 0.5457563178842916], [0.9123189230130456, 0.04832408846365366], [0.5254843751052845, 0.4613893807224372], [0.09026206162837913, 0.6835223932550895], [0.2347965960995645, 0.8490844506508765], [0.03274103439501508, 0.7875593330113926], [0.2924355084229524, 0.6946769268066711], [0.7396867841846538, 0.4620724610169391], [0.1887432248167853, 0.2840519345336908], [0.6300056763881123, 0.5148291624689383], [0.3991857389139719, 0.8328637277682669], [0.568504961510254, 0.6525084973415711], [0.7880936812492275, 0.13210413155372325], [0.08332373033508333, 0.24240785596933156], [0.837313425116616, 0.36162701598160774], [0.8238507788457979, 0.510829919414299], [0.43751104124787477, 0.056165541371887895], [0.17856908949993255, 0.1580822290901185], [0.07023782709384274, 0.020095687000823426], [0.5596512277963804, 0.4214842209715015], [0.567198913184683, 0.5037629442460823], [0.2261166934085127, 0.24691007267641396], [0.7626115866212204, 0.9013592436740634], [0.9301697581086303, 0.9079815144751412], [0.5292964112510067, 0.39769604554994686], [0.2539437706970823, 0.5729808887973972], [0.21598356963717968, 0.293217972766067], [0.420059163536022, 0.6340497461370829], [0.18534793163913565, 0.0864565677960405], [0.3173312683504951, 0.9276076764300254], [0.7896897349939134, 0.733347510446466], [0.622202490652791, 0.18961658236660728], [0.4706259587710424, 0.6378236116346325], [0.9766296220750125, 0.35632209014116956], [0.8953962696572781, 0.0015837139162739877], [0.977927883690933, 0.35971964321640637], [0.7298575738630427, 0.5380962255119516], [0.6984717431551971, 0.0037308689590966893], [0.8047695634557, 0.4718165988124239], [0.8759004776123275, 0.47567451484272105], [0.7565220586424308, 0.9344385551077149], [0.007948527219666435, 0.9695993118968692], [0.5280187624675963, 0.6474666669951348], [0.4982938028205548, 0.6360225694468624], [0.9552068984304464, 0.45074028234037067], [0.14774555391695443, 0.7849515506682204], [0.2784660308407052, 0.6360765301715593], [0.0892091221667548, 0.7363084438938702], [0.37318492781483015, 0.0853288402336152], [0.16635854298335284, 0.05384780088421637], [0.6948050713228917, 0.49037248549645895], [0.15182219666447982, 0.6933821857841447], [0.33859697329728333, 0.5654615189794847], [0.126608676608152, 0.5075699083184426], [0.9305333193236015, 0.5012500568355557], [0.42934677879971483, 0.3474199187808845], [0.006490631466298913, 0.5646948239437366], [0.7248830947484263, 0.3320628581409232], [0.8551122161648356, 0.9842287428160204], [0.9142167444599082, 0.47649061717733765], [0.42731728275938163, 0.042464113613247756], [0.5745164097789215, 0.739084126289826], [0.7390681915742631, 0.07682361927182002], [0.4130358172258537, 0.49925459794431815], [0.9122492574959618, 0.2500760933799353], [0.939115008091213, 0.5682945517233874], [0.24819118229834236, 0.4369814029684216], [0.9856281973464253, 0.8460035922014191], [0.7452697979455717, 0.13936576057457628], [0.9837721328023111, 0.9575847084752552], [0.5833635129784657, 0.7547412339372388], [0.4870951577336826, 0.20134371549940933], [0.7302072868702743, 0.6250059803740923], [0.6264110998044568, 0.4356796504199144], [0.07824397203808464, 0.2461292123335046], [0.7866183977949219, 0.31056394674503585], [0.8383607153333636, 0.7030662062475092], [0.8443497552991467, 0.4890828885141427], [0.5600263385628261, 0.33157973708754307], [0.7824096485765601, 0.9363567687266624], [0.20679217849874143, 0.5293606259941614], [0.7797042143384464, 0.1860191183734815], [0.545362643792244, 0.2078178720004874], [0.995676718933066, 0.3080216803953614], [0.24743723715358945, 0.9033840159258291], [0.09598254517613036, 0.8389617645854486], [0.3102247363260692, 0.693272717822972], [0.48747149357832986, 0.8049693598810839], [0.8252974552510756, 0.19182254943654087], [0.8590337291329646, 0.3004072418660444], [0.8120800588786502, 0.9982170162999918], [0.5922189375958832, 0.343556205574983], [0.9077697874150499, 0.9510528353361382], [0.5694579128738877, 0.37834776733806386], [0.5141726400635952, 0.39718251330393806], [0.9495132960176866, 0.6383253278263308], [0.7950262142628955, 0.47121686652560757], [0.454785480881023, 0.5209748499856207], [0.6256075987356474, 0.6669158027728679], [0.07859239515605787, 0.259660788028084], [0.9569349445471753, 0.1929968167634436], [0.4253411277979968, 0.633848767687266], [0.6602600710390023, 0.14841341613516001], [0.47730395090677624, 0.8179034907991438], [0.18796823205801372, 0.7174459191797338], [0.3126997987141652, 0.9992650242424117], [0.5259815170869435, 0.08749406858325215], [0.7295249469759421, 0.998316777648906], [0.9652644381373724, 0.6053869394432418], [0.1181266734671782, 0.01502338318344354], [0.7730555903201657, 0.08783841544667581], [0.2992887847349589, 0.5000336083902562], [0.24726238937125777, 0.22088079681029704], [0.6417060536718704, 0.7602499195956198], [0.5489443737168483, 0.7126121952028447], [0.2034076646705707, 0.5006132105116539], [0.759443284111707, 0.6798765494217152], [0.6565735869595152, 0.21574539847457164], [0.4525906034035633, 0.017719032998334105], [0.6479052247260196, 0.0321700063534196], [0.865690678716941, 0.294119667954603], [0.5920250283636554, 0.025012831242447353], [0.9426602201632082, 0.9065007676758514], [0.28324599185588584, 0.9834904951157774], [0.04150060974742953, 0.618418832248997], [0.45218635863467027, 0.693512474168693], [0.122403596988228, 0.45811981150881265], [0.757884027162257, 0.6544733167452254], [0.27702336911127123, 0.11793193895318732], [0.7405016730308778, 0.19609552806192676], [0.5645170567349177, 0.4990827130064275], [0.2167864404138794, 0.5977624902150636], [0.8255547114184489, 0.5088580058992409], [0.11664252031502853, 0.48886501884612044], [0.24154318148538745, 0.22242637488691885], [0.8488651858927451, 0.2897630416755841], [0.0475589710787222, 0.07274284309316115], [0.3733336999919007, 0.25714879558160486], [0.5942917850619828, 0.2538462995794095], [0.5370898333191296, 0.6918993328275683], [0.4013708416671351, 0.9228081528061992], [0.20230139535863212, 0.8791914378908532], [0.190552425770375, 0.14199733490855637], [0.37074070151050764, 0.14789513253931807], [0.7610106495144671, 0.03073276813827963], [0.9301552573334114, 0.6467060014010795], [0.29328011152016364, 0.3429364788495123], [0.5228091082073593, 0.647739953435449], [0.11879852613663033, 0.783296889306757], [0.9686281433435806, 0.4402992022114778], [0.0663220572095039, 0.7199192100687118], [0.8775006691421059, 0.5164872383534277], [0.1834089861957816, 0.9344880835662349], [0.08672509103725423, 0.4167361442472506], [0.5096073982050896, 0.6358220121752448], [0.26771962439429486, 0.30228345901958364], [0.15992138962097047, 0.5262866149772905], [0.36273901409885234, 0.5554935297017818], [0.8362006565736239, 0.38733765120241737], [0.028111979986705893, 0.6154212211637865], [0.34883134967507745, 0.4056925179714903], [0.6808848822091992, 0.005246205470594512], [0.8199914973595509, 0.6021750229772282], [0.967458490186372, 0.3114325372966843], [0.7206298278921025, 0.6430802391736261], [0.9818426906429762, 0.8589380194393992], [0.3103155745223338, 0.21130673302707415], [0.6873658997622367, 0.8025826981004296], [0.5681399536954674, 0.517375828745419], [0.7507316985511507, 0.46485704497316294], [0.9611921711358392, 0.39194784143860895], [0.8825490646245698, 0.8709423738540321], [0.4488361208211227, 0.9464363236261348], [0.8655648426891033, 0.09274243087245859], [0.1823167984528331, 0.6524808782167725], [0.3026421060755503, 0.10317745917129684], [0.7793476760712451, 0.8609535069163776], [0.5260692259049349, 0.7965490710807811], [0.8581175303453162, 0.5649097383283445], [0.31314117166065814, 0.33199481689889665], [0.22761386356168944, 0.039446449569766395], [0.8760036932104768, 0.15911261681743338], [0.24652938582513684, 0.7359353045040723], [0.4129265144339018, 0.7057026294606245], [0.17554924111299552, 0.9590565802584295], [0.4489818673735855, 0.2609860742725735], [0.665709979999663, 0.4679558965078424], [0.43875907843047246, 0.9262263955516095], [0.6709938477915737, 0.3982830985255966], [0.6917468829257555, 0.007038338789163268], [0.5734900724611972, 0.9839333573645723], [0.5059529528840792, 0.48486633902758147], [0.5460719874913924, 0.9686018951973763], [0.08227284836069204, 0.7854419407522155], [0.9552950865026034, 0.2117818860426135], [0.8162757080058236, 0.603230477944937], [0.4616780935397121, 0.5343216558629053], [0.09546303034010073, 0.3171222353646136], [0.14708319039825446, 0.6937678373151852], [0.7012046847248599, 0.8194442159765816], [0.018328942509133084, 0.3234240057751223], [0.10702745211821785, 0.9203949349857782], [0.05201841486665071, 0.30205180448424895], [0.8197432233133853, 0.7318659858830439], [0.7129930157597024, 0.7787734056140474], [0.16584266974903894, 0.1265357644889058], [0.03965155222112282, 0.9423226319304745], [0.08475320275327225, 0.9602715037529522], [0.4914728519725833, 0.7194538836567846], [0.4085229860700106, 0.6138937496468185], [0.28031477778757097, 0.5482245159761664], [0.9895557688450655, 0.48292831186654284], [0.23005766245012904, 0.9941414529561566], [0.5802057866881338, 0.9361131488978092], [0.8609588438820103, 0.3868093361549372], [0.42849550907918177, 0.10091541753176703], [0.11850010577792525, 0.19582144006998414], [0.632445131229846, 0.6936429740541097], [0.7664274019275209, 0.4329209103249393], [0.9740385767415767, 0.838993341408568], [0.2913668181419812, 0.5500629033550362], [0.43001393525583054, 0.12335412668373946], [0.3901614253824819, 0.10394040207939781], [0.9497161601383726, 0.16040845842342488], [0.7599853963357405, 0.7557423003487155], [0.6888995833549769, 0.016577306181089657], [0.21600541690857666, 0.7868029276484241], [0.40700272529562087, 0.4593667775873703], [0.7194707237999839, 0.3436205604964292], [0.1238946542425724, 0.29573080961506215], [0.3201752584130445, 0.3909863090319211], [0.7565408532890582, 0.7514766498231613], [0.13275045727224177, 0.015689494425723094], [0.8236092187316864, 0.5688523212491906], [0.16459322665232712, 0.5636981952151302], [0.32821122436447536, 0.6846460236789662], [0.4890473867966757, 0.03466021381041029], [0.19565609734808664, 0.4314822701183728], [0.667023749725484, 0.5846505690777778], [0.09562996446283445, 0.11343281810123862], [0.5228013672561392, 0.4676624160958167], [0.20407531547879576, 0.4278039878855837], [0.5921261545561486, 0.6250019459856488], [0.9365729701899796, 0.40445800570244783], [0.4287322266620406, 0.22237928388284178], [0.9430271277698704, 0.1406741105381374], [0.35301264607491445, 0.5122510436705309], [0.6765854807539693, 0.4615842817927973], [0.13471035776010842, 0.2634764576459593], [0.12126077184903483, 0.07771737140229895], [0.06442676201574749, 0.4610322023467929], [0.6198003177496996, 0.4109388936122982], [0.2288114767098698, 0.9467967436938236], [0.9470210415280462, 0.2631229987348701], [0.007364127476697568, 0.10793121943909079], [0.09855915401058146, 0.6628040805325481], [0.7777126732363119, 0.7610312182191935], [0.7007525012247295, 0.9720515396176233], [0.26254194141950926, 0.7924199678120621], [0.3766355199927779, 0.5038297116140669], [0.5748277900074474, 0.5614550047560243], [0.8362088737232435, 0.13685581888639764], [0.6507108076266558, 0.7711167531889451], [0.5697069873248891, 0.7192182996957892], [0.04477463987811259, 0.27278209420039046], [0.49013950949945395, 0.9768035744114965], [0.817781215847152, 0.935059792344169], [0.4375130587136641, 0.9065563575671295], [0.38150628317681223, 0.4878352198830507], [0.015386384587406932, 0.22879822696232177], [0.8241785418627545, 0.7156888717470526], [0.48759871063913984, 0.5994873150414571], [0.1259938953551728, 0.3897438426542641], [0.6736284901579659, 0.2483672741744155], [0.14383418949822857, 0.8542011294538476], [0.6763562328779342, 0.5941710240447907], [0.29821247987578103, 0.2702260675401098], [0.9817809728893377, 0.1745971885077927], [0.753594000969611, 0.8713062333554806], [0.41959230473846476, 0.49867861449471296], [0.3136992079643617, 0.05798825295750343], [0.653233764338858, 0.5070643569588854], [0.2518385905503635, 0.7042116539607366], [0.5514184250275201, 0.17331631517507218], [0.4766256965051102, 0.6312152384050771], [0.3064229253071309, 0.9410410708040211], [0.9301901771988623, 0.06491862669101356], [0.711541730885279, 0.7293342341110003], [0.7516360702207198, 0.12636661078072298], [0.2252628672240009, 0.9834534350448667], [0.5220129216676819, 0.3975068327541287], [0.3953555945070001, 0.08308430223857799], [0.6313026813802178, 0.3254426569614919], [0.9665039690424718, 0.29554630642884816], [0.8723499748685399, 0.3709433491768236], [0.7770159638345813, 0.34508477406575055], [0.81837210063972, 0.9047415653358749], [0.35994370759374383, 0.4304868066186812], [0.7426993002773608, 0.08883174016496187], [0.4098681637651329, 0.4424518233335216], [0.02713351344015691, 0.13808413682921827], [0.6676116732441117, 0.271677378062281], [0.5684363042942603, 0.8449661196523816], [0.9916107685641152, 0.134979591369781], [0.28726169058440176, 0.4828735940111184], [0.6515049057064319, 0.8522755743449115], [0.03403414113291248, 0.27295473218855426], [0.688999173045171, 0.8591879640008201], [0.927474233501849, 0.9630656350482938], [0.7867942066767192, 0.9067968587191334], [0.08406982424779019, 0.9568920345437735], [0.6369407008240718, 0.8319016458645795], [0.02047844332008375, 0.8320215891607474], [0.12008833185133072, 0.6448061666621712], [0.5446534360021704, 0.006705876844701919], [0.3162711490562826, 0.9299017708239449], [0.9344755735123258, 0.24226597594751076], [0.9448321847979222, 0.8356893973337601], [0.8858897385203864, 0.40934570323439123], [0.5097354072112593, 0.9389682574524234], [0.17481704889311278, 0.24245393393384618], [0.08299288763254142, 0.9166037370093368], [0.22628230754599954, 0.2716534496794565], [0.5975650506396588, 0.8539452831027076], [0.6719333148578146, 0.07299139967370072], [0.3747926314241863, 0.2590714235488202], [0.03240004542706232, 0.6294783860272182], [0.8256829121449926, 0.5031272841096966], [0.43545281111390244, 0.4189797273209579], [0.5038560521691668, 0.03981896048986677], [0.06313296715031502, 0.6804760180360186], [0.3838042442584767, 0.6459377772504556], [0.845167512322572, 0.28272415481131086], [0.24368099806945898, 0.9400448362438628], [0.8427493060501825, 0.6617918999099893], [0.678292465512596, 0.5011449998994465], [0.062237723459900196, 0.5345312267909338], [0.5049784540394352, 0.2699201749960197], [0.9687234254820468, 0.4231663967602789], [0.17767687468340965, 0.49824662473422365], [0.5988272404195966, 0.27295992820841386], [0.2341567216580821, 0.53664272235706], [0.5788270969301245, 0.019751642103642664], [0.013000380316092408, 0.7714977088361052], [0.6465959314979667, 0.17879920883640488], [0.4955217402345722, 0.05396748960061337], [0.8646681908220565, 0.47690907715264086], [0.6305041880629136, 0.6379284577199152], [0.6752723677302829, 0.2358582245479096], [0.9890038415441283, 0.8698888761320441], [0.28516165355038003, 0.2072416372547421], [0.40609730183886406, 0.156321218737986], [0.6282652157182465, 0.48041551083933265], [0.3951843351721299, 0.16713233756870038], [0.8370797428213094, 0.952830212527418], [0.33839131885146045, 0.45762927526288866], [0.6513523083551411, 0.7873882567831568], [0.4019811830381578, 0.796499578757159], [0.4901461472306239, 0.772132512293432], [0.8512377009683472, 0.8824292060870039], [0.2826470835665432, 0.7886877757162669], [0.9260808809378552, 0.9128444354984441], [0.4226874201542181, 0.8893463952500574], [0.13416737565501713, 0.10213134422880987], [0.8307155136349285, 0.5433080852098712], [0.9148353345033301, 0.2660941593551135], [0.4469697431271671, 0.19615858429257937], [0.19315642644354147, 0.010366239811754885], [0.18723353430646172, 0.834898569070911], [0.5524113822179287, 0.9589808700397499], [0.30750310849296725, 0.38989521007845096], [0.9887857525102207, 0.3312965836741123], [0.7021969806748386, 0.6358899650451578], [0.4484556586740627, 0.5347455292534936], [0.241582317764795, 0.5024830496150168], [0.11181987018546635, 0.6058297086955615], [0.34189959562239935, 0.2519777854408667], [0.13634767305813222, 0.2611556406689981], [0.29713545581234624, 0.2142840348455195], [0.020780387812947554, 0.016829957116944794], [0.9414459767073474, 0.35361606277302393], [0.3158436302020877, 0.7248554000359148], [0.6608469951166195, 0.03752179607418438], [0.6444723866382138, 0.5889279879307986], [0.10494615470504642, 0.24612067224191048], [0.6094816949661638, 0.8931691244824095], [0.24171086092810123, 0.466860960594625], [0.37397309200241713, 0.26503702575058974], [0.48954180669551284, 0.005795849478236859], [0.1852771201518595, 0.4926307512105855], [0.3155715434316191, 0.6771369969266998], [0.8754656554980145, 0.2832438388944287], [0.669016362687193, 0.2712640097124306], [0.38786722921919725, 0.19300056189707226], [0.5416950116073032, 0.2754456377950799], [0.9812744517713309, 0.8932240279391594], [0.2954536590873865, 0.6222358607620567], [0.558964320252144, 0.025670117130978554], [0.11218531288106304, 0.7568076284514437], [0.03932448384273879, 0.6627778147785992], [0.47835609086488695, 0.9827823975443628], [0.9169499980110324, 0.77060551554613], [0.1621035706510211, 0.9652915336081266], [0.36918885404682844, 0.39540327302683387], [0.547500109897137, 0.32221479339355774], [0.5774152525598142, 0.13359631599998623], [0.4518628436971568, 0.8471999443223848], [0.12134126615791219, 0.9479060059154376], [0.44176489192724555, 0.21672939038512629], [0.4572377426206631, 0.9598805404122935], [0.49064610747574033, 0.24141649805965892], [0.9684161244890651, 0.7420264426832669], [0.4872430682023584, 0.34598268022927614], [0.2907594418450452, 0.858812335107953], [0.7623070199412886, 0.9803919530122394], [0.6411490217655575, 0.179231234654477], [0.11421074650152141, 0.32579861818397204], [0.14000954240626517, 0.8039268598857037], [0.09990009603513039, 0.6084573473235316], [0.6214948177349036, 0.40616023925219413], [0.4359357283843326, 0.3135604742842141], [0.9208122627873234, 0.5338378964548539], [0.9582332030488518, 0.20992545778660843], [0.7093929345731043, 0.5926873851110372], [0.9474345875510545, 0.8437261834338469], [0.10714404798418231, 0.7015544543285002], [0.05752607906127716, 0.060248488258885735], [0.5992360561058538, 0.20342238124810996], [0.7962152684190289, 0.16842910517098586], [0.4267071283426389, 0.7040290335045488], [0.2663976662837171, 0.44313049251695924], [0.8523999766661116, 0.9970016936854083], [0.8088315366970208, 0.8604154765462007], [0.1379370575667458, 0.8572300024097523], [0.9516302876930421, 0.46823040196500665], [0.12750512771292188, 0.2586036447901505], [0.2705637227560459, 0.2964958867481008], [0.43371336837631036, 0.7936960994761746], [0.8488181440837365, 0.5473510967862111], [0.1609554801883739, 0.9397277239704809], [0.7032671560740991, 0.2763883967285492], [0.8425967373609262, 0.20180315713451724], [0.35781845769570797, 0.9678215686859561], [0.9745918288001935, 0.7958317847997982], [0.928041182579609, 0.9725001623230087], [0.41538720830224407, 0.5751696374631163], [0.6367617319802256, 0.658792424599455], [0.8175162259615608, 0.7310268441818367], [0.07067615984703202, 0.8536827925963633], [0.3233872440145962, 0.6482017600040306], [0.6117249699821202, 0.5946387951591536], [0.6028826039494651, 0.8804436452306806], [0.8870932739792287, 0.4337918793876735], [0.11425718112772565, 0.36373979026097336], [0.3763936841746436, 0.7948022647678394], [0.36073382296511824, 0.7229145096622002], [0.8857468777321266, 0.4580738452893457], [0.474174599985136, 0.9813586011735427], [0.9858409230239159, 0.8104976613563967], [0.5168747272624888, 0.55204789142254], [0.463877033933244, 0.8865889488155388], [0.6449869704658446, 0.7209725886662363], [0.6825972965010333, 0.10775140492888591], [0.27248564924493746, 0.4159277067146302], [0.8944981158951929, 0.8303712523696591], [0.18864352075313784, 0.015593488725393123], [0.17347896394479378, 0.03744268823911523], [0.8373722164506502, 0.7917080003303297], [0.7139028293442822, 0.3902743476864826], [0.31897541984667765, 0.23984884358324132], [0.154278569225907, 0.9556286997474917], [0.7513576268387752, 0.07882542612208043], [0.693640827353666, 0.5458705721618093], [0.4684968661566101, 0.6815730517744214], [0.5135366327628158, 0.011124421276995533], [0.4741071343416231, 0.2819276973926026], [0.6088996386344968, 0.5724893826672988], [0.16703204725389498, 0.30856355649030476], [0.4427312998822809, 0.7399172828453099], [0.23803262590119856, 0.733773250728548], [0.6129133850447095, 0.7172040284108725], [0.7188614042389129, 0.43764483596888415], [0.8578774881818214, 0.6363364061891135], [0.9804916891054878, 0.27240696484312243], [0.7585125420240386, 0.778159550616692], [0.07686899847700235, 0.5425259030070541], [0.8047158107634824, 0.7997052984568317], [0.3427550843592818, 0.6042740030780994], [0.762279167325032, 0.14745299143442347], [0.3124920813206671, 0.48632597349901874], [0.8088502557842919, 0.22551938066162658], [0.8919073189555213, 0.9782504397340178], [0.7236432292045226, 0.9562357482502206], [0.8693533056911518, 0.7383186530214154], [0.3190129734180589, 0.6402921428426613], [0.3061680276916051, 0.7662843744428426], [0.7941260920917543, 0.7182804861314661], [0.10917130177538492, 0.9932403736795907], [0.4043606262808517, 0.47402471714101135], [0.9686497517553319, 0.5600007430489702], [0.28430575003219727, 0.3461980306450916], [0.6134927677906091, 0.112599242233555], [0.6901416880137833, 0.8478642736703825], [0.002427763184913445, 0.10180853494357978], [0.10113522360469629, 0.29505670242548254], [0.637674588769031, 0.571006704104499], [0.6954420231305358, 0.07822914147783122], [0.3025962234956385, 0.9454070677194296], [0.11944739318851638, 0.4306127146147216], [0.6324802069742526, 0.8670233525019255], [0.3464442313487164, 0.005232132391747912], [0.47171889406862677, 0.03361053560284677], [0.6928081209083793, 0.7283594541892469], [0.2701947119381186, 0.2264792457122805], [0.92413168674892, 0.12189432742282025], [0.9814769148784984, 0.645886936497134], [0.02373173823835306, 0.6378934627965688], [0.5859665727020066, 0.9772575573235658], [0.6579757442766939, 0.8658016879076559], [0.9399709765886815, 0.13906597797207176], [0.15104280530802439, 0.11674633072727536], [0.019627330995800496, 0.33928563098187203], [0.7309745825967531, 0.6720628926845197], [0.0009919675883962586, 0.9476129282407192], [0.07036817379271187, 0.16534747023501317], [0.56721476186546, 0.02693679740918653], [0.3688337694897791, 0.7529511118040089], [0.3075620628076695, 0.04389549503699852], [0.5534315885835509, 0.21415416514182384], [0.22246535151703173, 0.2903036078131256], [0.9055290333045369, 0.7531237163638604], [0.1711094459529312, 0.5603657267571016], [0.24082622041864254, 0.7146418427444117], [0.6537435491231655, 0.021916718233670363], [0.682574867520031, 0.1188672651787589], [0.8771420004124205, 0.9232915607772001], [0.32055942044283403, 0.21199041562685472], [0.828572173718397, 0.9283801847615237], [0.33431094760608415, 0.05708497910765287], [0.6649530519017969, 0.7781509787430966], [0.7975500581991983, 0.9331914914367981], [0.5042657239543892, 0.18537775019332903], [0.7813324622205498, 0.1963207425533574], [0.5267030435272406, 0.6979293653277212], [0.38130892577858033, 0.7279467778914513], [0.831253515409197, 0.26270411635542945], [0.12685383296406572, 0.48283661529959454], [0.3101530163623444, 0.8896945900249157], [0.2165639643015742, 0.7282205589527716], [0.5467541044772319, 0.010016867943991037], [0.9258724503731344, 0.30538273985221487], [0.2513835139683006, 0.7233419764336028], [0.7665729417082421, 0.31345703782870293], [0.636830698446509, 0.7908496938681072], [0.8624355323588897, 0.47161105966189576], [0.8457082030908574, 0.26014614382711787], [0.5028503963891132, 0.5583159667495478], [0.7083114718483858, 0.6722459085397223], [0.246571283315834, 0.4402069430104152], [0.9045262564545136, 0.608624541938814], [0.5410923334606906, 0.23189373677436675], [0.12034484129645995, 0.8925548102187004], [0.32241476377585876, 0.37954829182420635], [0.816459939560138, 0.20357379043076784], [0.7961308173055238, 0.7290264776885891], [0.3645743496756646, 0.5353376222476959], [0.7509010449348119, 0.11454390594562391], [0.4027853753460151, 0.2156846540301629], [0.5540171449255854, 0.3717752147273572], [0.9322389614644961, 0.1457498091274081], [0.6127699007905018, 0.6141541782755932], [0.15949689156998959, 0.3604670592610433], [0.45467888213928354, 0.17499386620855795], [0.382591564720026, 0.8850818964445093], [0.6177723489187993, 0.704914751294662], [0.671944337165819, 0.5483165019310813], [0.8524624705178213, 0.061267280253268], [0.8697681900343136, 0.49479249644572], [0.016826966698539225, 0.714621792519897], [0.2191923034767912, 0.05843142023782788], [0.48541110632623585, 0.15883148935979519], [0.1460942908899313, 0.10780968544733938], [0.3633882107776871, 0.342583139705525], [0.18020826559486225, 0.044915480953734765], [0.20593141280062532, 0.4528418178523378], [0.056203079017630664, 0.27943811873476543], [0.6382158664023886, 0.06873000318485412], [0.40491196381868244, 0.45546189011054217], [0.11681326955404936, 0.5213891495866887], [0.44879409000217396, 0.8220328217306944], [0.6270649106593128, 0.63397155840013], [0.5653413708993789, 0.4455829332808786], [0.9264661355110526, 0.9631310808470428], [0.9465245573707972, 0.651221355820227], [0.07245784792039445, 0.2496383466321649], [0.42977450245753557, 0.5863542811301103], [0.34444525003680526, 0.03778077558294812], [0.4325810494127309, 0.7813078247333044], [0.02762854255224001, 0.6375268233953653], [0.450755900229563, 0.10360270914284686], [0.6557595984753478, 0.4929908710987333], [0.038130060375119235, 0.9571915522327743], [0.6605189608618783, 0.3589967704452851], [0.059022118230377396, 0.6459926042208152], [0.6633965010398316, 0.6204412828573134], [0.10550012047387503, 0.74513067931878], [0.42707772530265287, 0.07546127857709806], [0.09879692551958397, 0.2632329571748959], [0.22529725414508173, 0.2373817029102745], [0.8772146233354459, 0.6289734928635844], [0.13934914546968336, 0.2097957277703726], [0.5991125300329418, 0.5756998891499119], [0.850792858262804, 0.5488146548901207], [0.8341461004479563, 0.4351967670281145], [0.5251880265912322, 0.8262001611351459], [0.9190657803099338, 0.30349985017954495], [0.5196698360691985, 0.6034259900581201], [0.5034881850468013, 0.9259242040283077], [0.10405402362205274, 0.8956397447875111], [0.9887548443961213, 0.6551098167185456], [0.8672713266494141, 0.03892452267155444], [0.4598414468866928, 0.30012126431271113], [0.047528223437997785, 0.047015708421030644], [0.08205315863446772, 0.890761650980378], [0.011199916462732107, 0.34161432691125193], [0.701951414704554, 0.9672525142874757], [0.437357335694304, 0.7332925824825471], [0.42638575252398514, 0.3328732910434543], [0.9805570863649907, 0.9683327443700039], [0.06161161435695495, 0.335684666664121], [0.3910094181758491, 0.7569599486502472], [0.8680093645757414, 0.43470918251251467], [0.548685549423908, 0.5050235475757026], [0.3485508756683502, 0.7945158164544924], [0.8778601687676321, 0.37700423049553156], [0.743275170181035, 0.18258525322145813], [0.8801673106160552, 0.112561733530124], [0.9806239230039132, 0.3094244043255858], [0.16429868014387716, 0.7451442064686897], [0.5000809260449411, 0.6290165665504017], [0.8294406599155445, 0.7400623349190759], [0.47457609941987633, 0.277321466129805], [0.7375642804387689, 0.23779326416832103], [0.6409978260434273, 0.32596736694310546], [0.5398310815430449, 0.5879186324132398], [0.48831839385205256, 0.9685930246756242], [0.9493425926801876, 0.6629420638743598], [0.685214636593447, 0.1416841952962219], [0.7733444844914952, 0.8684522539687577], [0.6407939947788545, 0.1750820190211081], [0.47479926382514015, 0.29681260093787065], [0.5812302879777114, 0.15843682940911386], [0.5075607431710231, 0.7280912342219], [0.3978364883125689, 0.46769426492305644], [0.3643741234006511, 0.658797104050151], [0.44873228751169436, 0.6010005198591762], [0.2970184793031223, 0.7545681040022968], [0.07831457201737446, 0.3415642783886239], [0.8024178228698026, 0.2182472624774433], [0.20164229543975054, 0.6672468974376766], [0.8271258766846306, 0.5793132738286921], [0.3494668475697815, 0.32309534503194903], [0.057536094237708224, 0.35797982604798007], [0.6859380132164459, 0.642311775738863], [0.7430851451283459, 0.1804210567358363], [0.5535007273428129, 0.6606787499639342], [0.7007509784136846, 0.5441998537078556], [0.9121240777636979, 0.12759307338488557], [0.18239626609789883, 0.5837182668653813], [0.31384233135601625, 0.6161079949524861], [0.4894666684492863, 0.13514671104283893], [0.9074426632922994, 0.026111140865512583], [0.0561743662216585, 0.07407060688147915], [0.8425068787879089, 0.026004282110577703], [0.5538177645540598, 0.08514044025976097], [0.591193117097404, 0.5408338767486489], [0.8882403589472341, 0.567828354401784], [0.9097325434901307, 0.6233495828014805], [0.31417122043387713, 0.8718215140492309], [0.8905584167554941, 0.292267627848496], [0.4004911819581658, 0.010675035446824688], [0.5669489118128042, 0.23332733582051568], [0.03936232453167776, 0.49349351027539956], [0.4270919622130822, 0.4795694718141579], [0.9826637109721426, 0.4976111687272866], [0.05194136836233809, 0.9855724744687672], [0.6040264707905184, 0.1496850909427495], [0.8875886085495963, 0.28010273950207243], [0.48690048517914475, 0.6249943701165912], [0.901122634778058, 0.15099523198692755], [0.6165103455353316, 0.6235357530702407], [0.4402361438758573, 0.4766869480626684], [0.5092289629414872, 0.35878242721348363], [0.43981568525970904, 0.6193941311647785], [0.1985472263490794, 0.027243003898279272], [0.07002698697153664, 0.36056425648481105], [0.576321729065497, 0.19814868048856438], [0.83778159099544, 0.7859446491968575], [0.9476944213272568, 0.4253872110167065], [0.05857260778815898, 0.007650114758777193], [0.07842161494786948, 0.3478825439066162], [0.27847641123198497, 0.8024751105109634], [0.6372585938620575, 0.6488226580127898], [0.9548622252613956, 0.8938898751585901], [0.8346495148228295, 0.03894602354767729], [0.4075236250625208, 0.9913002879757834], [0.5895612109022325, 0.3894074151941851], [0.869498250093951, 0.8064127348385985], [0.5494746064994308, 0.2635151469601399], [0.5475465052201579, 0.32077111240621714], [0.24483553607431618, 0.05115489448782351], [0.30857147293713094, 0.2478996299977413], [0.5212296439156977, 0.8361825391102774], [0.6133968846219469, 0.4997872872513853], [0.8313225780524872, 0.009551094968826779], [0.7533010635803586, 0.9138593007263196], [0.03191892589651457, 0.38339335432102684], [0.24168749249842258, 0.3541677684824406], [0.3174343007076271, 0.9161360320637968], [0.21731864786736732, 0.2819570670684266], [0.126491809813834, 0.7303581531408289], [0.13378193926175708, 0.9270684477012118], [0.5477587332512033, 0.9701108911653855], [0.9760925327687624, 0.3343440912709761], [0.8137592867547812, 0.6772137869446316], [0.8414080640192337, 0.29889866223828065], [0.20061952567302022, 0.31475303381418085], [0.6392015931017134, 0.013492290349718772], [0.33545403193262735, 0.9802364282357855], [0.14471789296553672, 0.6181072886481612], [0.7211160524554269, 0.8134970526492251], [0.6722771336862564, 0.21632550201855472], [0.9829052298309964, 0.7776806082907461], [0.7762603649658969, 0.3789861129926898], [0.26990277668221574, 0.31507948951833475], [0.15004541350236666, 0.37549775417711884], [0.7732061254211415, 0.08031198000225659], [0.8520877638837662, 0.8580060694020608], [0.8667252847412464, 0.4977838246443257], [0.09990883521330962, 0.350528884295506], [0.45392061739885936, 0.6997805541561306], [0.995862584727542, 0.6395949239831275], [0.5479890467340289, 0.5657235874900437], [0.7973961652279432, 0.08585458158958426], [0.5610337952001283, 0.6071582464760371], [0.04932414885181258, 0.7389855758563101], [0.5271264977635491, 0.8303652804478076], [0.5434773181232841, 0.5155460831027145], [0.3744660033131223, 0.9793685577668956], [0.2160509919158612, 0.3092009055082283], [0.8141925721503128, 0.35636521735833004], [0.021870817328090153, 0.37189301880703496], [0.05090149369320618, 0.5830166233189255], [0.49222322515115546, 0.19226418352354369], [0.8447341132821962, 0.772934342289875], [0.5981496898432067, 0.08395196574189923], [0.3598310423035107, 0.9833796053381748], [0.6966082235730104, 0.41719203880807176], [0.05778237922375584, 0.9341338073624073], [0.06183923950560255, 0.7190890410306697], [0.8524917073686571, 0.7810992855547098], [0.6060975281437111, 0.6114993494636636], [0.13928753805094596, 0.5777646060928946], [0.6556777842819782, 0.9182529701497552], [0.7780797714013076, 0.7469959958529526], [0.4904100332170719, 0.8435459132660902], [0.12266317991523501, 0.6562116708093828], [0.7209589132137819, 0.27399941885425416], [0.5418491420503799, 0.34255447144310414], [0.1124503609055415, 0.06448303453700466], [0.32915456412933, 0.9473480721545909], [0.5149139308737578, 0.3293042461322342], [0.2395686183356902, 0.5187662435708521], [0.45600765060183135, 0.024121670649312255], [0.3340422009608841, 0.34457126810251737], [0.34958633056090216, 0.15876045789705706], [0.30731593190254236, 0.5702938239247498], [0.9507636859195361, 0.9253121129455398], [0.6684360043476126, 0.7783492243052749], [0.27565447917347363, 0.7768427080469217], [0.03325309599434789, 0.1887598760908753], [0.8540097010932998, 0.04808034537796313], [0.6002672092334003, 0.18793674428220575], [0.05155984129224511, 0.9770014704695699], [0.7300394298777376, 0.3981560469840767], [0.5391301472142268, 0.4860522816553986], [0.9254488351620737, 0.10173681818928071], [0.2997152075106202, 0.5278037031966714], [0.22648490381120956, 0.9338546786581705], [0.5807702137828711, 0.1980043600200483], [0.1379333441181132, 0.3239155384894391], [0.2822878020427555, 0.29140014444835627], [0.9841507941922063, 0.34705443350236986], [0.4593246442130734, 0.027380928792464454], [0.0021421449657320624, 0.26886539509737917], [0.9135495180673265, 0.20424754266408318], [0.11325106174966226, 0.23575224883388068], [0.14982581907156745, 0.2180409076270825], [0.7753004109295997, 0.4698711612577954], [0.13120577534742162, 0.3227340529762245], [0.6276205465403913, 0.6134993331008015], [0.7077075932345497, 0.6846011137938385], [0.9914020435758948, 0.26246697063688296], [0.6263170102379065, 0.5997530395760968], [0.6359045931929554, 0.9777604102362774], [0.5113945246231746, 0.4167141274049674], [0.37270661342350764, 0.4060403823811718], [0.8519257826366704, 0.3608758753639104], [0.27997068510216194, 0.7633262252917415], [0.08612335891383627, 0.37328284419396174], [0.36271889775106225, 0.67426794612807], [0.6994284699205625, 0.05923307600392003], [0.10654379866065788, 0.6238758407808407], [0.6923507519141361, 0.21645285136566317], [0.7674446456025588, 0.999326627033667], [0.6108900742620444, 0.9716770322632509], [0.3447940192171258, 0.028995819521524524], [0.11888193035279404, 0.13224025841582843], [0.09597717365845293, 0.06230182721494937], [0.26967183450789034, 0.16194957549122269], [0.7720602261102454, 0.6302625650785159], [0.6786617404775548, 0.2552122096090774], [0.8053621432147651, 0.09457131747006009], [0.27771599047632445, 0.7215437751941678], [0.29981741918819216, 0.9773964341238022], [0.9195679299540016, 0.018937637556954323], [0.6193201092821689, 0.11710278525699658], [0.3151913433655924, 0.6887561965128234], [0.25361258464257985, 0.5810499330234767], [0.14841296847522645, 0.024063917190926487], [0.451889426695284, 0.8773000981729606], [0.9950703535091533, 0.9692512503628048], [0.1263203649563378, 0.6442692187428152], [0.3702325510691401, 0.3483137226107942], [0.7532731314007237, 0.7902442698112466], [0.16312936300670033, 0.20774784981872185], [0.07011802511616605, 0.13754575299304295], [0.5596427505629024, 0.38214275779072526], [0.19145648886956657, 0.24781751967355892], [0.4155343166189387, 0.05767749173247316], [0.09598267780144532, 0.4741450488288369], [0.7858135846336143, 0.37270630642434277], [0.05452419235667949, 0.06343549636596546], [0.14950815155483588, 0.4801948575398738], [0.6560426789534183, 0.18843211836750062], [0.6968442498668849, 0.9733604728649317], [0.0715364891614213, 0.7607751420869144], [0.21239101729433807, 0.03783471207525113], [0.10374188302653997, 0.23143658828412816], [0.07211077619362638, 0.48403159721418076], [0.03840363227197474, 0.07626487697442996], [0.5653218853067021, 0.7198545403751443], [0.8979873691799714, 0.723002380516511], [0.5301515835437888, 0.7166673914322168], [0.2646438862425693, 0.04538920939447966], [0.06544598213913644, 0.4042988315343846], [0.5748162273673793, 0.8427577411070132], [0.5866755994040408, 0.6769469339874687], [0.519266411256297, 0.3319407410158981], [0.44157105214277015, 0.7878515984742213], [0.15995180844877221, 0.9008765527281161], [0.07069240891056883, 0.7513060402564393], [0.10922098327286134, 0.3557800303136519], [0.3857760521886645, 0.04438067156440961], [0.7749420454200191, 0.7469972515639232], [0.92171965896993, 0.9121169907515011], [0.11791379185617157, 0.05231526621728855], [0.4199842847920363, 0.6508614653550227], [0.664179295463802, 0.8379010796530749], [0.13009584032131838, 0.44083613106198183], [0.40612661494326263, 0.25846635748001856], [0.11528371801891091, 0.4022834870971037], [0.6984779426957586, 0.8213569958601253], [0.05198720539719004, 0.6170171908733014], [0.025035330497336306, 0.4462542976270929], [0.5733181176579095, 0.04713125255523287], [0.30088204039386457, 0.823032902108214], [0.06896112863885351, 0.6308275830929944], [0.062490464647857014, 0.8699651455352585], [0.6234745530045066, 0.5311304898875157], [0.923427680522331, 0.5557607700332918], [0.02427983780230425, 0.7913969174413303], [0.0916581233056496, 0.02259822348569529], [0.826822562285655, 0.2398539412003199], [0.6772905763191435, 0.9802251747725002], [0.48540773525375214, 0.010277591342106596], [0.273734005908167, 0.5404419747602167], [0.48272507348802896, 0.19260217222374776], [0.343391773310626, 0.20572175171183305], [0.8602946300816317, 0.3967852395075381], [0.9779287584178012, 0.3880042388005096], [0.1429848659498546, 0.05980862616921956], [0.7213159344678942, 0.8617308062763878], [0.5193356764954875, 0.15025439143295516], [0.9199640344122474, 0.8947050719993626], [0.6927823094255179, 0.5210183430648359], [0.8130400506838554, 0.7956767598451759], [0.8568969898639425, 0.09754874460407814], [0.4643899613767045, 0.5635025147135206], [0.18054852816071432, 0.907798702378055], [0.29258434735926575, 0.545479398189746], [0.8711322242322196, 0.4594178119752613], [0.7927053190425856, 0.47206786740544715], [0.2274603104761973, 0.38663737593094605], [0.45062777251941644, 0.7622434112148397], [0.09914695491625847, 0.63236923941695], [0.9631647643074078, 0.3776850093646891], [0.8867433587221326, 0.01098417642217131], [0.32790920492518105, 0.29152175106817857], [0.08600224686736446, 0.7825782299676102], [0.6090792971450919, 0.24634604573141994], [0.5711148133346025, 0.7603705942293845], [0.2825318155757299, 0.33245633125428253], [0.7275160087537781, 0.9467219528406781], [0.5022785560450178, 0.5186974468401169], [0.8641987645531654, 0.6983608170232817], [0.4260031311607233, 0.7099537299084641], [0.9691861372313153, 0.4873160371925519], [0.513436441234622, 0.6614871300437462], [0.14303274446935677, 0.1983776153032919], [0.4930120188576228, 0.6281937542399042], [0.8340790417462932, 0.2664526368523631], [0.946206177692761, 0.10492136547037301], [0.9370469609611951, 0.8675567750926378], [0.9553037680089486, 0.9710013779079668], [0.022491097628038692, 0.5663939062352179], [0.8074760014189438, 0.5699051434554236], [0.7942294238416772, 0.4937656271918416], [0.35493405279453105, 0.584303215815855], [0.5343795849049353, 0.2078007356082816], [0.13803010776496816, 0.6820894180144728], [0.6948752284534753, 0.9455203483389413], [0.3259263584953487, 0.18416807754450926], [0.8090746278852688, 0.7184458136369676], [0.12034244384619097, 0.7275174435336272], [0.30543057155077014, 0.13601911431106328], [0.9325129879573351, 0.15502155864039113], [0.5164517902771173, 0.48323413820089844], [0.421563081443186, 0.28745317218341393], [0.7026349538177041, 0.11718165343528597], [0.15628202776514466, 0.45297395205659174], [0.21870762535860355, 0.8818349195774234], [0.8052204928365085, 0.03912502223535108], [0.8137852987884042, 0.7260147713910167], [0.4761280382448094, 0.6718528869956889], [0.770394678020505, 0.5517220147267111], [0.7379548726596102, 0.2540598800824192], [0.21602073876263284, 0.9659797195435134], [0.8977639464582615, 0.8149941460897815], [0.35036365668458214, 0.5928572321028388], [0.09333915274016591, 0.5754835130456252], [0.6264751224819401, 0.6713397728553732], [0.9717236034359527, 0.08950191921056638], [0.4511303654758555, 0.3362864225803023], [0.3390731842155016, 0.6049585373317102], [0.8314278180964711, 0.04765042158463828], [0.9577948652311977, 0.8443614691850451], [0.45706450478700056, 0.958135667017323], [0.5270515265646749, 0.6661214517633923], [0.2845236499812419, 0.30330357907888317], [0.4014201059964644, 0.14323596583338005], [0.8789501290190638, 0.908667836376319], [0.7492705735468118, 0.44032131162942056], [0.461126683116691, 0.8520217880725464], [0.3920229705727807, 0.391837938732981], [0.7239853917044623, 0.6864153915724385], [0.6144945396257581, 0.2632892072288785], [0.5353447879705148, 0.5834670084287064], [0.6407443254913245, 0.12382677606795789], [0.8256945237400337, 0.32777083186095135], [0.2831096301044924, 0.4381032105844007], [0.9591343473864742, 0.6824762451697552], [0.26707697965604427, 0.585655363458146], [0.7352816782026691, 0.3674618458613912], [0.3110582869647692, 0.7238789783620253], [0.4567227938692162, 0.02371273028086407], [0.12306901298401962, 0.3209258147740859], [0.1201762692961329, 0.22619450347899295], [0.06906383450002973, 0.2751697958886721], [0.5913745683635621, 0.9276668495151582], [0.6912429617901915, 0.07615896365599628], [0.06276902800350848, 0.3612657841179978], [0.6778802244053327, 0.44027625099976575], [0.7580690173225569, 0.7305882104426978], [0.26133011329704803, 0.5935651428504413], [0.6297948982054846, 0.025951441253888374], [0.7183458609671878, 0.4676250774672115], [0.6891757808728748, 0.5587114296864908], [0.4142560534649129, 0.35357474307273107], [0.5137115185821182, 0.22762942349916238], [0.7912020691949994, 0.6361312469636333], [0.9160261301709043, 0.35455846499948374], [0.23331597834666828, 0.0684244757600756], [0.6520489490718625, 0.5561597729324979], [0.09760710653212834, 0.962145597543636], [0.5916542040098743, 0.9374677098391082], [0.8128512593906332, 0.41777607955343643], [0.8724743500061715, 0.22767272108658465], [0.7287023488140456, 0.32636892327972244], [0.9473542881281821, 0.9831688289904092], [0.34409938820584485, 0.4142901133134903], [0.7198204360353666, 0.3780810658106446], [0.02124006090510966, 0.6031116531768017], [0.566990895892268, 0.03443214647882009], [0.7223973582879755, 0.9242585913950762], [0.5292330751943811, 0.4155102955189819], [0.3480958812866022, 0.5028861341731815], [0.8618444291178874, 0.47190936554992047], [0.42294670361194886, 0.5592742692419912], [0.20912407432384494, 0.5469045232317798], [0.09162978955140266, 0.7515934678578179], [0.39264164874575425, 0.7671423126873708], [0.25639683304372907, 0.7224396092652814], [0.11675040408561654, 0.8770214696902585], [0.10390077433990608, 0.6900009325747226], [0.9177690926585893, 0.6237298005681999], [0.02788866863070738, 0.3225793531875648], [0.5467528061013458, 0.0676812641226161], [0.3983932160518192, 0.9007848295017107], [0.037949722489257764, 0.45639483276962955], [0.4367807340671682, 0.08941111878336794], [0.3489347544672454, 0.6964773509421296], [0.7851753942613012, 0.19686578284004874], [0.6981587757907507, 0.26072617819491395], [0.8960634591427848, 0.4350750022083435], [0.3338209344101738, 0.7381404570174559], [0.20736998715652777, 0.6509351218642826], [0.45416781866585654, 0.14393629745940972], [0.6074876866804662, 0.659762387494852], [0.5146670167773103, 0.28679707990820436], [0.615546598453197, 0.004249367280603655], [0.15086710014240268, 0.036946178617649705], [0.5198640936368811, 0.9454426354988887], [0.1908253999460131, 0.15670593510955677], [0.5486198567823568, 0.7399706874220758], [0.21863180930995352, 0.5774795244520509], [0.6497139345226617, 0.15642967861035018], [0.9464772219431823, 0.01755192631942748], [0.7860143283811132, 0.6887237165709698], [0.9732348789419278, 0.6044688936906554], [0.4287308295476281, 0.7596937154586239], [0.3392356305107197, 0.7267664634407678], [0.31298540793232055, 0.6388704004669539], [0.04479845863642873, 0.7205146331873018], [0.524111054418868, 0.22398090662849834], [0.4287628774580744, 0.01763486445944995], [0.7247207505205306, 0.4103569559836706], [0.03717154289833846, 0.43361591679038136], [0.789884498421395, 0.20952945640242737], [0.6522724921556668, 0.9592221042160567], [0.08493991189257688, 0.8788661068116327], [0.9659889131057272, 0.12086584812197987], [0.3569703333895774, 0.9755038080874792], [0.44417380843277665, 0.4772051832255555], [0.7576358862385645, 0.9243399404731484], [0.7176415993842905, 0.26016452453932615], [0.5543535212812077, 0.9946834792311336], [0.20746939349689497, 0.12181699150760184], [0.06144062232096714, 0.9534237013895827], [0.4621429146622167, 0.13313590468007475], [0.576912366478532, 0.30528455856331627], [0.5934154808526341, 0.6040343011844674], [0.36516381533157216, 0.06314832449256202], [0.13776871504166055, 0.8573163814705341], [0.010096304624546026, 0.453091305338425], [0.010166464068451342, 0.7936766697985628], [0.9221788238845756, 0.7202403104536567], [0.860527284249214, 0.07334469271799393], [0.5838124163459985, 0.8989801870493761], [0.5441042635820822, 0.7161510570174949], [0.4096359355662722, 0.6064217430186889], [0.1502971573606955, 0.7875466987086525], [0.8014867955429086, 0.6993209464161152], [0.7600732790244366, 0.3473835359505396], [0.19649540949964717, 0.07057676182878359], [0.4093391437819853, 0.16736370213070795], [0.19452996106699272, 0.21233394866778743], [0.9964060089887032, 0.9185607142155666], [0.24133987717077632, 0.12361556774900295], [0.40001545113066894, 0.18791309189382555], [0.4497569615626019, 0.04257965263162189], [0.03722927838347634, 0.9856304626214021], [0.5622057095523654, 0.8975860178566649], [0.10338676749502818, 0.7374757049734144], [0.4764435497528027, 0.4244996313649776], [0.47355740505077903, 0.9829657924803946], [0.280305109273272, 0.6901690157210016], [0.7089710963287924, 0.08920023206350802], [0.6024334161795954, 0.9201260400219523], [0.7499765131353939, 0.2426231850830095], [0.9267144111097366, 0.4223951957183717], [0.4233573179853275, 0.22295746163968944], [0.5025220616292241, 0.5476342916540177], [0.9847715065285525, 0.06329343790450759], [0.030297507225485187, 0.07749113057832469], [0.9181666338097342, 0.7873596864931719], [0.0830657681830097, 0.7561167705795273], [0.07677152153946998, 0.5028295250814224], [0.5410409099450173, 0.6345580711526636], [0.9173039180051039, 0.34367914646386233], [0.4425140373022589, 0.7564401702982954], [0.14469174088802028, 0.5583789274024398], [0.8251487369712014, 0.6959575631664658], [0.6517311773821389, 0.5137589847406593], [0.18528942431032103, 0.09955598518108999], [0.8677248155241795, 0.6180864656981622], [0.8862754403141353, 0.6467623459230065], [0.8756608768624375, 0.42854712768763203], [0.6516295175406146, 0.2619319765811622], [0.2315174635906705, 0.8012828139262784], [0.2680637946137294, 0.04936565971352114], [0.3436760191121778, 0.23619348013420383], [0.3400877249711093, 0.12731474017381794], [0.1718910880542247, 0.5023791185582115], [0.5022176735355575, 0.5099283116322525], [0.19782959219831409, 0.47816558916241814], [0.5516695193184786, 0.2052919847515342], [0.9462334996353698, 0.3827836147369812], [0.36689529001843446, 0.5306691878717348], [0.41299741598768747, 0.21741614011483645], [0.3614126067471386, 0.6055198580253898], [0.9307047977482229, 0.23203902104243723], [0.3932996337937841, 0.7004804303173441], [0.22418545192406236, 0.914178950370761], [0.9144733638028462, 0.8954341589435816], [0.3991976852281358, 0.1496222222575807], [0.8619799014814521, 0.8048390027453921], [0.7998477832699032, 0.48910856609485276], [0.2095198545418897, 0.22845953094705718], [0.013293152183930013, 0.7726544764897892], [0.9702784074799403, 0.3999031946787136], [0.296641725465702, 0.934273709841362], [0.8941750521045391, 0.5286028938279855], [0.14646007071398237, 0.7134246199779724], [0.9257236827627306, 0.013851170543373148], [0.6743666174574556, 0.39380403994006674], [0.5978784666760971, 0.7273670882608246], [0.1283483334089962, 0.9203002014770306], [0.08139206583416558, 0.5993301800780871], [0.6826762351780378, 0.8895682265849343], [0.9212120406103314, 0.5861848795373912], [0.8698640253871686, 0.7160357053339798], [0.9696092696380962, 0.77975189657902], [0.3912309111221116, 0.08053410465661637], [0.15945152737385448, 0.45535328680589005], [0.6963140280313718, 0.8545447434605355], [0.909176931281801, 0.8799534230753946], [0.5342815691419378, 0.9873023105410927], [0.5375093234990268, 0.4830876778289126], [0.30120497703543136, 0.4005526565142554], [0.10930465266607492, 0.39778379593558055], [0.8133138461047275, 0.7233913534075933], [0.06810704341913354, 0.44425660058784655], [0.5368816574609243, 0.5214638279042835], [0.6689728921005054, 0.9719929997803799], [0.9020439510286918, 0.15348594896995515], [0.657388461558761, 0.3619037464672272], [0.8098052456408901, 0.8117740480099105], [0.29386328900965464, 0.6869524859026997], [0.2991263040911072, 0.8153026751916049], [0.8160101262427613, 0.22810235385256916], [0.2148461655937547, 0.9045278163513203], [0.2873860500737041, 0.8096572454894907], [0.8443200020826642, 0.9368782317206016], [0.7972596286332451, 0.2323055518473075], [0.21372982569836207, 0.7741800228671613], [0.239244371125248, 0.3989071983735387], [0.597595149552612, 0.7842358679771667], [0.3177086897902134, 0.2772090240337155], [0.10056504171137248, 0.27629632724334807], [0.989350513665039, 0.8166234374849911], [0.44516893008152914, 0.830071378396335], [0.5176120127128778, 0.6944378552566024], [0.3332638739670237, 0.910716417145953], [0.0761285215951556, 0.7321477812828787], [0.04203627773180907, 0.5933680438450998], [0.7698492398895175, 0.22233421011958843], [0.2858755476907482, 0.653094375596261], [0.4370403871063515, 0.7051646173304997], [0.16089213973654415, 0.2379409998782699], [0.37124451544877546, 0.21507351785359619], [0.9501757281130309, 0.7774167898211229], [0.8030737685858481, 0.06022712550322884], [0.7332900287700762, 0.3925124687435746], [0.663992183102684, 0.5407657813146646], [0.38982258116544466, 0.5155690503150385], [0.8845649065602361, 0.6292543696228388], [0.8013452762988044, 0.9226351992776971], [0.5833695968532733, 0.25274871969308854], [0.9152234131163165, 0.20708782625202038], [0.6272259379003317, 0.8869153917981971], [0.11887176567883939, 0.6581991631772167], [0.5935891249208274, 0.2741315188022496], [0.5120179044193773, 0.18769736257235048], [0.4914544892562587, 0.3486930333477193], [0.3979097806316033, 0.45172824148193824], [0.5154100912064197, 0.42500145151397895], [0.35258308047329867, 0.49751578556290266], [0.04359085009051866, 0.1172548291603901], [0.4984630792213609, 0.11998177808324428], [0.10020114114033063, 0.8488219348627435], [0.37651439461797664, 0.8276318801424581], [0.4749725757533795, 0.7257593740788117], [0.219015615512271, 0.387010358214691], [0.5224171141855436, 0.8352907770771596], [0.48653021767939597, 0.0310529244302874], [0.6016025342052036, 0.7471913223641158], [0.2199651339857288, 0.5029779383831569], [0.6602113936102514, 0.17493030947051602], [0.12010149408889559, 0.354103440214781], [0.8235002161640078, 0.7429083945792392], [0.8695398063490836, 0.581302666576994], [0.7036029393038785, 0.9789058066343835], [0.7924074459786042, 0.742040484065058], [0.21516004232902108, 0.24138191351803173], [0.9022876014950116, 0.3893853367783924], [0.7932714441752287, 0.503284385821432], [0.30199273450314545, 0.7385814340958736], [0.32550650216793875, 0.6625263741358465], [0.7746474696761223, 0.301692102049154], [0.5189246617970452, 0.26373278593520455], [0.669374992779645, 0.07606721003845096], [0.16898872620198235, 0.9494734505180191], [0.33670543233336414, 0.30289896358230595], [0.5973341159022948, 0.9866494877327691], [0.2907014587147444, 0.27660626894094376], [0.5283055964388587, 0.6365645686769305], [0.0539922797396708, 0.8429030301177131], [0.20113200703130685, 0.18086773519014188], [0.4871657812123701, 0.02151809031298202], [0.6826465309336002, 0.9015217383582339], [0.9101005131394911, 0.46492917193414696], [0.9182887282494872, 0.5133456815843405], [0.004483223108674328, 0.6940468655396849], [0.3092215519236191, 0.14707593179088085], [0.38470450600266415, 0.4593840674679235], [0.6968460345384535, 0.9977030172610043], [0.8900710141166605, 0.9066314737338617], [0.5217694723923677, 0.4413821195533766], [0.6443559975534189, 0.09774235717530122], [0.7015007830842889, 0.18989081875165792], [0.49584018641112937, 0.7787984239360354], [0.6946705046933775, 0.921135657474959], [0.33149150145177475, 0.28957685573370884], [0.720394685764414, 0.2949067201680513], [0.19443086991240455, 0.6388858590333267], [0.15204622931997058, 0.6657094474624602], [0.5897017686843846, 0.7669095908633426], [0.7212165764710949, 0.06123930900539165], [0.4891525721680823, 0.9382001044297896], [0.8415188080040631, 0.4585155697610699], [0.667921325715228, 0.3088925316927631], [0.5802992845713226, 0.6863269398968903], [0.8179744747392403, 0.917273924171363], [0.8333684934466885, 0.8497796473984339], [0.9367465030373013, 0.5155703940658138], [0.6480014380994027, 0.5793332517921778], [0.9780492751469344, 0.852239262909331], [0.5548282921127651, 0.40520893036085703], [0.21247263778958847, 0.9107778231230372], [0.9513188189176259, 0.022751937043478332], [0.3925811571616139, 0.35970728601814184], [0.015533514605537202, 0.5944144280127024], [0.8192265796670487, 0.10373319748110033], [0.24329453745344853, 0.03902631420996727], [0.728023932522226, 0.8074098549556412], [0.5607001522129906, 0.4503692817444396], [0.1923292187943152, 0.17026068796621951], [0.3474142593709829, 0.7167627400922336], [0.9612422972084528, 0.7828937256710266], [0.06456515734039492, 0.6268585930710392], [0.8680107494451393, 0.08529069741142636], [0.041208979604134166, 0.9977931232152185], [0.5404775889965657, 0.9757480585869696], [0.8828382208826546, 0.7093925683204307], [0.8882737327585251, 0.8688047575186194], [0.5747450744260619, 0.9114381037407426], [0.7068550525604301, 0.6465651500252421], [0.3829848735053776, 0.10852408685225501], [0.014999509568822011, 0.07500674567991883], [0.48883994566337297, 0.45175423428976913], [0.6129310767266339, 0.3407957598376796], [0.3327525165558004, 0.8319045056409065], [0.14913004096631732, 0.21628078824014974], [0.0059316641763387246, 0.046815356666021546], [0.728198614662816, 0.959550161942625], [0.8377819406234254, 0.6333443524314049], [0.4564151082359379, 0.7868118392449128], [0.25041446873657625, 0.07458159599305136], [0.313354384853179, 0.8496896418948051], [0.2508631404413042, 0.936097628120714], [0.7200437178208616, 0.9710392237776353], [0.6392133822852538, 0.34958429334453167], [0.9795562502253691, 0.5762780649015407], [0.8192794974084177, 0.6479356997757301], [0.4568877953250934, 0.3675523621498846], [0.9387285902315813, 0.8983296237073104], [0.7033870799691931, 0.5519083243253207], [0.061451168581880156, 0.6419206458330037], [0.788705916150769, 0.6891895278144456], [0.47078489790520894, 0.8343662824668103], [0.05433066199746206, 0.7660931208979828], [0.31460424980930946, 0.7375675578114904], [0.2908497067417932, 0.803651618653769], [0.03709589391976731, 0.8489493112629135], [0.927081009160096, 0.3669225135247264], [0.22168254575070878, 0.49418311644475454], [0.489983269875364, 0.6045647577247232], [0.2826956346066457, 0.337770560436608], [0.7887675018341315, 0.6005430629122458], [0.1627131577374914, 0.4468205955280643], [0.21531782624640583, 0.052455295680035485], [0.3302464033074125, 0.17149902647486548], [0.7128704887505154, 0.8915911073581069], [0.30482029113707554, 0.4251705192399128], [0.1129789811411076, 0.9914046266890932], [0.13055624334369553, 0.9726210867454729], [0.6771601151344978, 0.9693996329777543], [0.45196849758614144, 0.2664890097272774], [0.3183673010337763, 0.8670086101298049], [0.5043113259751627, 0.5486468626631867], [0.5370720349960953, 0.9529048278859475], [0.4652474325021573, 0.019527298345218047], [0.211209562248041, 0.36528486935430915], [0.16549512697070112, 0.36414906583488216], [0.6849451393724753, 0.5662015476623058], [0.12266940679909455, 0.8220713704816361], [0.630114884486874, 0.1268214012380049], [0.5533782790418343, 0.6420308821232136], [0.5879183970621621, 0.8363726990110077], [0.25738484555212726, 0.8197254764897368], [0.4742550382376891, 0.9640043055113383], [0.36751684866282053, 0.9454680229785362], [0.9510930670218488, 0.23607261793847212], [0.8840965313470874, 0.8576364800133641], [0.26157945174602537, 0.5649485039765368], [0.1751344849532519, 0.12586227652791515], [0.3825108325377943, 0.40998497920324384], [0.8467199852364198, 0.5389536665229088], [0.734012770012225, 0.9717756159530085], [0.9310630354727725, 0.49605550568761925], [0.8340035674172551, 0.15932065270900242], [0.10159107465784145, 0.6007783604727406], [0.4223312208505785, 0.46520156567220083], [0.5469527943815954, 0.24192066596870587], [0.49385418709868123, 0.4411094594785796], [0.12326496273494592, 0.6482604526943895], [0.7555677880672799, 0.08373707966246013], [0.4495985005567823, 0.926648143142955], [0.9341625159150243, 0.9892124133000888], [0.807604534900948, 0.6901023366904658], [0.8675965802801909, 0.4159217858784141], [0.6051377587651183, 0.47421581137232205], [0.845148054951148, 0.03484045418975723], [0.19593672527172623, 0.3962561828077159], [0.29425172452839266, 0.826533929592442], [0.4925934135076926, 0.2834996471332767], [0.3595477925867059, 0.06837781513081254], [0.6221498410190259, 0.589017339853436], [0.7399192780201789, 0.7746088151262829], [0.49509701754484603, 0.25842023230088307], [0.8424961623445634, 0.39537018943906665], [0.017329770919015552, 0.36247679832548274], [0.31759723738801093, 0.47780970155181346], [0.21611273451971702, 0.281150838452213], [0.8443705836415619, 0.679637039679581], [0.9505378893053245, 0.9641582879222034], [0.2485237130694642, 0.053361194924808286], [0.14025353512085093, 0.550753133924135], [0.48352205768193623, 0.45618658484707697], [0.25332635903723055, 0.006044637518963114], [0.016841595524027753, 0.541065673946474], [0.7728459384612895, 0.6821090445606937], [0.867688996574523, 0.39118324565044515], [0.5431081877517124, 0.051355085082004814], [0.6988735827958775, 0.7902040461308677], [0.6689062806641568, 0.7256705238372978], [0.3212743085384383, 0.7185036536209468], [0.9341464728471021, 0.4979414286522832], [0.5889708805063826, 0.4166579718526996], [0.8191249296764024, 0.7340553070641586], [0.3032660164117491, 0.8688611945090107], [0.7000403273735863, 0.25737202003856485], [0.07789602523327488, 0.3651549718425918], [0.7225217529032942, 0.8360974287194985], [0.4490438734410529, 0.04225210658128764], [0.4632781977188738, 0.6560422752432661], [0.5485966283832346, 0.5893076337070388], [0.825918220827568, 0.9554927124173326], [0.5073250164386394, 0.1415990164434604], [0.34193782677091733, 0.6450492433230014], [0.23591981615586255, 0.16769542644129676], [0.9017132171329653, 0.8600769350106202], [0.9851087191252861, 0.2772478381992225], [0.9597682559472854, 0.07761928476109725], [0.7470063486249479, 0.9160646755238638], [0.9541655352701826, 0.41029950292428397], [0.06695961226705527, 0.24299096228922157], [0.19362235328531052, 0.029430407054745755], [0.7322836074405581, 0.09532613207571927], [0.7950554950580868, 0.13011198546417768], [0.665957283012487, 0.31355579560736924], [0.8277279152206226, 0.4759816232558709], [0.29435536306076693, 0.7557745533060546], [0.40210736293417304, 0.38280621495563927], [0.42721999233269425, 0.5656256706779436], [0.7318214833350195, 0.5217173527159656], [0.45802379786629466, 0.6530831834053669], [0.4617510668617397, 0.16377826426411413], [0.6708841657772355, 0.6035382945643111], [0.7854558247087196, 0.6319693599757524], [0.43232629081073504, 0.07175293716521014], [0.4776589495506617, 0.21555255596941714], [0.7411046561518797, 0.8812730009437443], [0.2942532339793873, 0.6304820214255085], [0.4035710554873885, 0.8857133355485316], [0.6474704611815717, 0.30461322898361853], [0.6466440374056628, 0.04657950798499899], [0.9332956482357618, 0.827402674179611], [0.47405097175891653, 0.7409670443727807], [0.8507888387246604, 0.5309806274470752], [0.39839203245884924, 0.828822954673964], [0.3111327396191915, 0.7005039797935099], [0.7251918240985054, 0.5179787702282571], [0.04444045413456765, 0.9399433634708448], [0.9888448221151501, 0.7372387194474396], [0.21337341203829197, 0.3069186038553886], [0.5845317134380217, 0.7131549410764424], [0.8861287859023872, 0.8031355204356957], [0.5618809440823638, 0.7839951033538756], [0.7028399890634189, 0.09302458676289749], [0.4354570206573103, 0.4800112655756671], [0.9932969859015051, 0.1428704740971508], [0.8342734335053333, 0.2929191562122001], [0.7743446996590921, 0.4632682306319509], [0.4464928531358763, 0.9759854853752703], [0.8150536849817784, 0.9882559105910249], [0.7032641205743544, 0.9946080018353568], [0.8824696872847444, 0.07003426988877515], [0.7216461694865772, 0.04579184603479303], [0.7131015679185988, 0.8955531011583638], [0.36541985724849346, 0.7268734572473521], [0.6625822507738609, 0.34844764775790293], [0.8469797292485615, 0.23977442595115117], [0.8953736676387882, 0.07927800977909316], [0.3073346847940288, 0.8093095104594508], [0.7716385435056297, 0.7371715689783539], [0.5167070985650963, 0.6691141071898495], [0.845049134136006, 0.32036724123388927], [0.5852823754350042, 0.40542278340293025], [0.9046066327511851, 0.6637532200465996], [0.3958884569026533, 0.4359771895539791], [0.21847436359783312, 0.30334010487172725], [0.7604449545356623, 0.781332239746686], [0.05351421321257255, 0.6671023684458579], [0.7316508868355814, 0.9501963655583023], [0.007923064662798796, 0.9688983177574654], [0.5514238692723813, 0.5375094641498619], [0.9394653941633212, 0.4976167396497905], [0.4908666582486312, 0.05632069757870628], [0.4453909839899689, 0.28100018680633665], [0.6917472504490385, 0.48008693326174257], [0.5891496849289116, 0.38858320115384604], [0.23604515838221019, 0.5822061730845904], [0.09426267678844602, 0.936024440999543], [0.5550278740796275, 0.9296827803773038], [0.2529347987150984, 0.7673889614459236], [0.533666266678399, 0.1321007760175772], [0.3231037176023176, 0.9184097947410154], [0.9318106031592326, 0.6679351524685736], [0.270788242683373, 0.08199534637488726], [0.1726805600121506, 0.9118337655430092], [0.15892560811004552, 0.7323322175289636], [0.4834320089612222, 0.38978563498458507], [0.3140213435155128, 0.9152955120408727], [0.7754913210957464, 0.6999130846428345], [0.5689919956034427, 0.34074326990846215], [0.4575959276135808, 0.1668921640139892], [0.8099060345794413, 0.27634330258819384], [0.5230603348350463, 0.9758245376245606], [0.8904850846811353, 0.19000467906671403], [0.11344607410924301, 0.5632744557063224], [0.8695513891582567, 0.8451816530233092], [0.02548340253807302, 0.5339060265497936], [0.3452458955325668, 0.5123858228742441], [0.7540391364183358, 0.7064840175466085], [0.6898520264628256, 0.5223799466804862], [0.29912432222666496, 0.1882736944045179], [0.4941176980091443, 0.7386353281851156], [0.965893393047705, 0.08730637962741072], [0.06509548435363888, 0.019765745352078867], [0.7648949310771449, 0.12132548693246659], [0.8462626674466528, 0.2697834004914784], [0.9056909914466998, 0.5170462853306573], [0.7251789682449244, 0.6145901917560096], [0.6589829695159625, 0.8829657912306215], [0.6975058672442138, 0.25852475933612085], [0.12856862351954057, 0.37885599590041663], [0.5725251125435159, 0.3392584352607535], [0.051874543331182354, 0.642447824823281], [0.2600608435458619, 0.6031128855093902], [0.06957430140446819, 0.9525117535637482], [0.6049315000386498, 0.8631719840482281], [0.9664698948903951, 0.9852677741957667], [0.568602082063985, 0.3107041100782999], [0.4857891948062706, 0.3676027956125191], [0.28777041066849296, 0.5818880514876642], [0.34506222610047066, 0.8249914919350537], [0.6058927018366, 0.6548672666956754], [0.353318410245576, 0.3930769559817825], [0.3353444174585075, 0.09119435365711359], [0.9071095628482752, 0.09125320763363864], [0.3311387437547202, 0.6419402358943722], [0.36635514813741077, 0.027559216358530758], [0.8182287412706843, 0.029599955176914716], [0.405756380758443, 0.6510340306805102], [0.18052349733315853, 0.2590498978319994], [0.5163832820181739, 0.2543816332182012], [0.4217438344319864, 0.4103725884116377], [0.44404792987004393, 0.5785333587262288], [0.24711590770677716, 0.7504962885479232], [0.980092066064214, 0.8300409111700415], [0.6629245450335571, 0.6358006264830807], [0.4171342526063049, 0.426784674440685], [0.05923005480598276, 0.5081565554915104], [0.22114551093422763, 0.7953810368076757], [0.4026679576554645, 0.1259417578352846], [0.40749057875342165, 0.49119275751054614], [0.8267039780069061, 0.9055842020784476], [0.9580985470380167, 0.8774430867686959], [0.05483818877598867, 0.008405061575064932], [0.7583003963310602, 0.04656254886341182], [0.7160808377287844, 0.36283430556215235], [0.5021259791872742, 0.5153650574677641], [0.5852774539598923, 0.17878008847848592], [0.5990035535621214, 0.45876860540770326], [0.339478923560922, 0.7442959609206503], [0.039136577266514094, 0.019981009986689946], [0.1907572064444798, 0.8046981428049418], [0.4517188902959235, 0.7126020006627303], [0.5227437680591723, 0.7733373485768035], [0.4313379679821393, 0.6151041992468784], [0.9011923093126575, 0.6158774840371006], [0.2857703931519159, 0.8029738518906747], [0.17932519953524595, 0.8553905339359967], [0.010887857916267452, 0.986009691174541], [0.18996843541810315, 0.8225070910026103], [0.8412594170902578, 0.2697287257947959], [0.7139026929274473, 0.690899859759116], [0.49763232783503053, 0.4134599007184303], [0.8062481088932355, 0.3570489465504506], [0.8976414660794868, 0.6159578732212133], [0.4383184840061256, 0.5212941832117174], [0.1146562815196126, 0.6288856862561741], [0.2807528281894468, 0.35258164738338227], [0.39377967079616083, 0.5687312024815163], [0.16681785545915828, 0.11778259498848542], [0.5373839009514116, 0.11663358558515124], [0.8806468778123201, 0.3575712057576004], [0.5107332381128548, 0.6656337686820696], [0.5129094160079773, 0.09325566355034354], [0.7289543099417698, 0.14073390668515495], [0.49381735378598857, 0.14950180839829275], [0.03218449352886488, 0.1385489621139071], [0.2346769895896943, 0.07694052008701768], [0.31070236751157854, 0.9740521048115366], [0.9033068708223474, 0.5495031309979508], [0.7592193218717362, 0.07655496839592824], [0.35064383084049033, 0.36402212238957443], [0.21800136180125262, 0.09795375893876523], [0.3620744854461292, 0.9424894549549704], [0.8998909653252738, 0.4544650500218753], [0.055839745077763014, 0.7982111952539537], [0.9106798968711747, 0.9359639833593177], [0.4768949917253379, 0.4680682373704561], [0.7320416433011199, 0.08840260725510307], [0.8905788513930578, 0.19746932327605438], [0.8104764131688426, 0.1921933710843159], [0.6084189103507576, 0.17357086037534097], [0.02779111507654297, 0.466924383133708], [0.9817571103389879, 0.22181759162910952], [0.9768035681820828, 0.24368643283139257], [0.27390258870164286, 0.06639826504438728], [0.43734495809856655, 0.21814477626424778], [0.3268993509614804, 0.28213388340628753], [0.7411551515605325, 0.6881310191680831], [0.14190451109639224, 0.5739554380130296], [0.10328706404370369, 0.27791546368073394], [0.40269427310014727, 0.8483548195731238], [0.1827682345897692, 0.7757984471360589], [0.22815180841057459, 0.13592619535749617], [0.2939003752384458, 0.12839663699281112], [0.609821332581366, 0.504567432388826], [0.7857993365344473, 0.6943207979837549], [0.7371817769309664, 0.25683609013107433], [0.32668268576885473, 0.9119128555517786], [0.3445385997210171, 0.6331584514044211], [0.5783633534443119, 0.11329993742378852], [0.22219717893471458, 0.7920884927829199], [0.00480542697825459, 0.37786218910813707], [0.6366087906532041, 0.18700509651131647], [0.8977710317458404, 0.3395973264040054], [0.9142709062311918, 0.7041004281805778], [0.5915504415235081, 0.3435942276349989], [0.7983000815881048, 0.5156353930532599], [0.17971163399679635, 0.05572274741842087], [0.9526822715224551, 0.2944275094627863], [0.2886263117936132, 0.868124054936717], [0.2669009933328056, 0.3753189734759992], [0.15433178126117209, 0.8461095896556822], [0.31689074737461553, 0.27796372875298125], [0.46600361033434345, 0.6407016098198819], [0.08544112848820096, 0.22038036297276897], [0.31965084114141884, 0.5091369667296923], [0.7549608243063768, 0.9841840496109842], [0.32892047740347874, 0.7947236928425692], [0.5924402062783541, 0.16084614630638672], [0.04732684085720762, 0.6080887770734882], [0.6285683597328413, 0.25241153577769715], [0.4987913091159927, 0.6357391353181361], [0.19039433847532905, 0.5698697977230398], [0.9442250765073619, 0.8044239834709482], [0.34012126245331786, 0.9597991889165919], [0.5748934970119047, 0.05976324165926439], [0.19884586988187003, 0.38807047826018315], [0.46058695286118045, 0.9670145505082832], [0.4057763356887253, 0.24666958746453715], [0.5968476741270491, 0.45523509358000125], [0.3012156622489245, 0.7091575307423325], [0.3856199649703298, 0.6536473678135155], [0.3427001455081583, 0.6154222913627817], [0.5633024248118338, 0.3452087928253572], [0.5267537679356786, 0.6801520975889788], [0.18682505996168786, 0.32913426119636957], [0.7632509220934784, 0.26220870408533936], [0.05293484840925777, 0.24676369921096253], [0.705081320700624, 0.9425398586389555], [0.5159837514557988, 0.8039026828486677], [0.7378902340838637, 0.6433148114838564], [0.5736863056672825, 0.42935391852781934], [0.8718812922059208, 0.6569916450982276], [0.21847840781941696, 0.5036543751310193], [0.9277979394924146, 0.11341020906007193], [0.4672473124385479, 0.04560481352042456], [0.7751807665253396, 0.1895164693703253], [0.44632132889032095, 0.21801191760580696], [0.803346084331035, 0.017110049695186924], [0.7798835739628941, 0.4531308742292399], [0.2440293237513671, 0.5459945569839172], [0.7008562652719085, 0.21451795491051906], [0.4515338906171964, 0.15106002867869894], [0.2116119463688052, 0.11795362295546763], [0.46546588556040724, 0.23326613770141313], [0.17988836898805693, 0.44034651804878044], [0.9598007639426374, 0.5932833106415221], [0.4403012546039021, 0.3925055732970133], [0.22832058364347652, 0.2751267055570439], [0.5448847426732816, 0.0456099769763878], [0.4932243063989249, 0.07286042316110297], [0.9825824921022962, 0.8439419812046618], [0.06773505650105605, 0.44004688597584696], [0.9287656704764312, 0.9081848699142964], [0.7284464721512227, 0.5362258077976364], [0.656052463091808, 0.43273739571324177], [0.9901002520834791, 0.46907204366478916], [0.5076362536520987, 0.09005818560625867], [0.7470679829834692, 0.6260176218214947], [0.24871644510379176, 0.572952256263904], [0.0862277968495877, 0.08363718757710015], [0.45488215136714716, 0.611114082825466], [0.874139134218094, 0.4713063470668082], [0.9034446816993019, 0.3660818649825198], [0.6578494836857399, 0.8333253975355275], [0.2691684776447295, 0.12047348721111195], [0.958293317751772, 0.16057705063378935], [0.3746797547466386, 0.8818688222516043], [0.9934518804529651, 0.82489707245108], [0.15382465861682715, 0.6758529881769829], [0.2047403924831831, 0.04334888702852735], [0.6305159999192047, 0.19590534229735157], [0.6467350674895639, 0.8031985501982299], [0.14816996283356232, 0.4520603485798632], [0.08696367284420026, 0.3188866766432952], [0.8961227100271107, 0.21684886833324912], [0.19822538688143665, 0.8575153698122984], [0.8083849720591684, 0.5547517831548209], [0.4965440338053677, 0.3951793778569874], [0.9561113516696413, 0.3071789942216927], [0.1275968121758515, 0.6311314895580012], [0.8512467755150639, 0.169854948831909], [0.3387389743606736, 0.8461501595844207], [0.2535366328477283, 0.7282575659570781], [0.5733926934707964, 0.16653816085222006], [0.49160226837286036, 0.7098099902728995], [0.41082874710726247, 0.8880802494656119], [0.5046648635048866, 0.709481306427104], [0.08965679863930687, 0.4554361517508454], [0.7920289489943891, 0.5159686843174972], [0.4428632885997855, 0.05838421749427969], [0.21638284553813636, 0.18982812747965672], [0.2907273006111216, 0.8435057551817448], [0.15406939228325556, 0.4457120424762375], [0.3088467683950056, 0.5172082890022534], [0.11505186516547572, 0.22837469043150627], [0.8244391688526715, 0.394399287953759], [0.5596734200529442, 0.9656312299216473], [0.3911789077063962, 0.016807015806991954], [0.24593936760230406, 0.29755865769182643], [0.443116923493468, 0.680626721122593], [0.1852237014402457, 0.4888914592577207], [0.10893129750331254, 0.6991451563739715], [0.27960571430339853, 0.018498216339539852], [0.4876125295059891, 0.7759868027705336], [0.17199046080556646, 0.1632016259289567], [0.8037681580589833, 0.2782877234956226], [0.12719427135732575, 0.3814195114767599], [0.6829653416476962, 0.30376696862992036], [0.5160344938327254, 0.7315534302509202], [0.7834510174083664, 0.9580565743443417], [0.9789755824316013, 0.7441964792342752], [0.9476535609100476, 0.3178997898645113], [0.10289072333677818, 0.895379171147347], [0.5231280726413281, 0.8840794751896462], [0.6618943264910214, 0.6702699265721755], [0.16761239188459265, 0.4077773953137519], [0.25093655399222503, 0.3525611711411776], [0.4124992524143841, 0.09131129859655718], [0.46998569418620006, 0.4470716664284309], [0.7696334108639638, 0.057498452165473335], [0.3403854743698419, 0.4976819992879039], [0.41554272259680325, 0.1187446076771781], [0.15961262511533136, 0.8347024120512333], [0.9253104527736277, 0.8645017696804316], [0.3132646565254519, 0.6221709555503416], [0.5475678557225816, 0.051709606681849984], [0.5337942932426608, 0.7458019079838474], [0.05901399783680383, 0.8846400055555783], [0.7765497697239773, 0.13814462761885893], [0.530184036486881, 0.8419269918599788], [0.4406874799082101, 0.9092192484139404], [0.33377350993998145, 0.7658885092592603], [0.07913188863070819, 0.042093283943230086], [0.706066727382624, 0.6684426653988934], [0.7464773125879112, 0.4105547443458938], [0.6274492737747619, 0.296562753154758], [0.45657180410669973, 0.7167018109214048], [0.7365458804613549, 0.6114186091164016], [0.003752532437481415, 0.10245704248475351], [0.23409434755144698, 0.20324902330586658], [0.6703476585369929, 0.07798766413982072], [0.4890632712102847, 0.8164513410652247], [0.8274781489478448, 0.6387202233229805], [0.3276918851739876, 0.012081141995511135], [0.3680483338876903, 0.7892794356411784], [0.47051789282420264, 0.8204449867849274], [0.21564472676902724, 0.5326803150185354], [0.7944973097942415, 0.04953772918719679], [0.5446524935957938, 0.5077544119039796], [0.8327792121510519, 0.29770221362147165], [0.858961103460108, 0.8003169242207551], [0.21100113866158132, 0.2470444975613172], [0.3747035117822768, 0.3784049500386132], [0.8897132509430149, 0.10321509482053959], [0.30339422206514566, 0.909929954341144], [0.39423738272363573, 0.38249383477900434], [0.5428210092161837, 0.9380487225568221], [0.8367766134344251, 0.6615183787331771], [0.9301102169098763, 0.2074279309711129], [0.7197305707535199, 0.20055883266478003], [0.08005891554733346, 0.6323034521418818], [0.3816042093492129, 0.7847307291651917], [0.07999594711739177, 0.7263695746342851], [0.38199036665185304, 0.3800757853979019], [0.8867603409813121, 0.5197806098368264], [0.18182640893666013, 0.717000727896938], [0.6649837292905005, 0.5961570930464914], [0.27453963132975145, 0.2873302848934184], [0.7775717203574196, 0.449268978191404], [0.888256977659519, 0.8284909287613411], [0.1642814606683397, 0.20272496000050355], [0.030561556456902728, 0.0787494968592154], [0.2508415323501648, 0.5571352996723701], [0.5748398614449547, 0.6747730507249792], [0.5198227405700325, 0.32934152639253556], [0.9521819075344036, 0.9756723872202603], [0.47423904380336945, 0.25819087217944015], [0.18344667493791722, 0.15397303852151378], [0.13082043510530972, 0.8855773852045687], [0.615532943640966, 0.6845113564007457], [0.088715781606586, 0.0011997957065273956], [0.9706417258605055, 0.6938589141908403], [0.6801156919610515, 0.28024112621206754], [0.9175606601034936, 0.4294954446193968], [0.04137373587662374, 0.7207682929168991], [0.33421641393707735, 0.255388799014009], [0.2863002548386382, 0.6200128424822803], [0.9192853170560306, 0.8093706404807574], [0.7251484245277716, 0.5918785950215856], [0.9849174265463734, 0.5670173937423898], [0.7076881739990588, 0.5305809089561556], [0.7374163574610024, 0.8279394968541098], [0.18523321177853813, 0.2710982759328475], [0.9346660540225881, 0.6676457629781328], [0.4522032416767041, 0.2787927061264307], [0.43636726844154416, 0.1922469033462405], [0.5784396400262205, 0.8029455211130408], [0.26198624593501685, 0.9703147023643283], [0.637338606239736, 0.4842743187005265], [0.3018943220442334, 0.23610246184519745], [0.9360803005924921, 0.4882992965425681], [0.07127389161202902, 0.7433516842960967], [0.29183398011233364, 0.07313418829363783], [0.660409560485228, 0.819543336228138], [0.8582776978817098, 0.6642890375503409], [0.7820561257808433, 0.3685591159163937], [0.9315436691603812, 0.3361431192604658], [0.025466333119261053, 0.1960966475034701], [0.45605554644995294, 0.30693544390104166], [0.9002732333012774, 0.7576468414309384], [0.5997847172463848, 0.17123335639068615], [0.15278585655672416, 0.7519924358584885], [0.034460798792316005, 0.8417164641025302], [0.5260610743071781, 0.5132138237759042], [0.508092257365614, 0.19623355081367744], [0.7809697562021912, 0.7157453821899241], [0.8324393684960922, 0.6548925247846661], [0.6949978048333209, 0.38533303021783094], [0.617640349072253, 0.5847089500195811], [0.8051941353325435, 0.006522528459283694], [0.43488521741390096, 0.7161610062443297], [0.6910787084936104, 0.7976695750481448], [0.28369952862739545, 0.5813233556835403], [0.2943060606990002, 0.5445583309168943], [0.28112301237184323, 0.6940023116897265], [0.8503148722855536, 0.8958775727477076], [0.5034358311702648, 0.6421442850476418], [0.28124651946710433, 0.4792431843525018], [0.9653478207284149, 0.013365457218356802], [0.9237037859169465, 0.8940523300073135], [0.22683886546369314, 0.2554457192540479], [0.5451625116184677, 0.07111151887703693], [0.6048352605758024, 0.18253958277931936], [0.6904368696325307, 0.37809973926254326], [0.38079696018745124, 0.8854518937640556], [0.5891393530420667, 0.509895126102069], [0.9711601356646561, 0.549401150422497], [0.31606983535784494, 0.030530760167153503], [0.8050871441877184, 0.4612236776864137], [0.5652220427772375, 0.4795100897430965], [0.6646582029513074, 0.3359085555784185], [0.315762194021859, 0.13608406151495755], [0.7770846571962319, 0.44952991438777545], [0.19451397311990715, 0.522014701844948], [0.3067054589663528, 0.2883879029034583], [0.8930055364681047, 0.005912558436412807], [0.6807097745064473, 0.06637025811775588], [0.3597353780051744, 0.15052011173575952], [0.840659602205793, 0.9879378894914105], [0.639546535486228, 0.6880818372398726], [0.44717480293000433, 0.3394236030199561], [0.7318421720607414, 0.06411063601123113], [0.16761667052970208, 0.7925333247424754], [0.1544304174604919, 0.09632710846502257], [0.9311771071217196, 0.43625512202669603], [0.4376484910175866, 0.9980557050484811], [0.9137855897042781, 0.42408451776817246], [0.617419775314616, 0.9126393278427006], [0.030743886701774747, 0.054258663991154976], [0.09104603871694839, 0.9412378518791659], [0.4910687019632326, 0.31798940444278767], [0.9036187009427493, 0.5761375654666018], [0.11603439496251755, 0.1812538644518128], [0.7656767817464846, 0.9709585869770854], [0.484275524187024, 0.282388522790019], [0.4667347487909058, 0.5043027425968304], [0.09792828533535303, 0.15119402055266273], [0.88509992948181, 0.6076446721190505], [0.6807898706045392, 0.7772541001519261], [0.30706455087474416, 0.0807642609651269], [0.3922324442738946, 0.7394687201275083], [0.27255023657539523, 0.07022708769479802], [0.24904195487973257, 0.6236896622414114], [0.2200460388409219, 0.04685959447007526], [0.8035052340443202, 0.9107721845971531], [0.9108718013300798, 0.10235392514920272], [0.46032198241890643, 0.49373974196462855], [0.510587199705509, 0.1188525746563146], [0.39289938607749075, 0.20123365786570435], [0.6582870543831097, 0.4684508816125629], [0.39104916385029853, 0.8784570374375978], [0.13295283223243926, 0.8980969256533254], [0.29998167386059416, 0.9407316433594676], [0.24257814678384237, 0.2885078270867206], [0.6694558407615667, 0.6231014556423924], [0.7052778249434237, 0.9950746242518809], [0.01776920980905161, 0.6470467350201706], [0.23628567904519004, 0.5928585729763413], [0.042517100424675824, 0.030558475568443266], [0.5238015952412013, 0.036631057329601036], [0.6760045749149899, 0.4540620633402954], [0.4827458344317054, 0.9930977189938803], [0.5925880618200021, 0.17441525161382554], [0.09875500355021605, 0.5396562888615091], [0.15269610938307987, 0.07287298663829], [0.5303721510983589, 0.6751605521780154], [0.8670280433943888, 0.6800649868516675], [0.9115417801348622, 0.9954113182421335], [0.3823924191088268, 0.8902303637870084], [0.46136278029532796, 0.6419170217629848], [0.30497775968688345, 0.33630421207159433], [0.5613775966102644, 0.07058342448629251], [0.5571428520165178, 0.2599107577767933], [0.3918661965666125, 0.5421142998667945], [0.7481360801800561, 0.8765672740413827], [0.41894333815320883, 0.3435942817585046], [0.08069017038542015, 0.5849001120714105], [0.555177994192716, 0.8595330380372167], [0.05290716912354021, 0.1957306115791363], [0.032228564364922496, 0.23852001251398103], [0.1784001221758581, 0.39448813957311646], [0.5109850768464476, 0.24414301482782352], [0.25409326764832196, 0.5992416169712766], [0.4885303091813791, 0.422162980841023], [0.2934250823480339, 0.4062280577673587], [0.22846716401418676, 0.12430325763803951], [0.17846082862003043, 0.8902447906887229], [0.0145034290822188, 0.4934462697648181], [0.06480301300475089, 0.2091279500500226], [0.5952356642091815, 0.9054389024426263], [0.5650590269332751, 0.6996420309794849], [0.26356832266872576, 0.1744298312972169], [0.26940831255047515, 0.39746265693972005], [0.13168641293876737, 0.22345547184918135], [0.04867556325517208, 0.7108693433386991], [0.6236926694359751, 0.8981291621038737], [0.09731252020289238, 0.06682569783640557], [0.84213256936331, 0.12713941912754967], [0.7539583806001574, 0.7487162125827761], [0.8659802983822943, 0.9343090920673596], [0.4209240276275198, 0.18388046349240716], [0.2285423076167049, 0.23798348836182492], [0.2291240040780672, 0.8334425680670998], [0.833245496866016, 0.5989066472378387], [0.1065369948849022, 0.9551931856472979], [0.06882404361390004, 0.9338954805227117], [0.083292923517723, 0.7623987839376236], [0.04840237025791272, 0.04464542331810095], [0.06441864269554154, 0.5521991454017701], [0.7735133610264778, 0.45332627516349533], [0.9866543440684717, 0.09763859048840784], [0.7971779998333307, 0.3180955892986451], [0.7543425360372957, 0.7357367170702995], [0.6871407938013924, 0.8605291970162873], [0.030997720471198864, 0.04620690333328559], [0.8443403737568403, 0.5882841185966027], [0.10052991516807841, 0.26389349743420376], [0.293989786627762, 0.8021623300144924], [0.5671821860733743, 0.07252742266078871], [0.41397279503966145, 0.08516694778944389], [0.7027063616132475, 0.44315794294154476], [0.012635458253867582, 0.78925646472824], [0.31364377063154913, 0.5017054483349561], [0.5084785027887215, 0.31744717597760475], [0.6488098870602247, 0.7614683315951442], [0.9477747566742392, 0.42987303614921535], [0.004396253243121984, 0.44653782993955526], [0.1324864256373659, 0.516161821972765], [0.34594081478421534, 0.166365283750316], [0.5846740699852447, 0.29271619886716027], [0.17051215821956411, 0.9191480695092926], [0.23437297571755966, 0.7021916478120412], [0.2172660093257589, 0.06211336876710405], [0.16660590074479797, 0.08316033122839972], [0.9540433204739733, 0.2901637066117907], [0.49991390587309026, 0.9697085945339248], [0.9105797384165527, 0.6065668486319514], [0.3040992617384378, 0.12919066088786402], [0.5412527241154618, 0.7246430465105528], [0.5284145519329569, 0.9915453251173754], [0.23902826458131743, 0.7698736168233077], [0.37690443482854985, 0.6461131489933655], [0.5735545629479323, 0.37949973317938923], [0.19303060045397225, 0.734974135173016], [0.9867371283475571, 0.007821990105908783], [0.9239487581258534, 0.7632158517156904], [0.3206094182672794, 0.06932826117692203], [0.27809112988711326, 0.10056148399944753], [0.42017014380124684, 0.3611499728007014], [0.13365997937829166, 0.02390823382117868], [0.07961363515134279, 0.6062090367765888], [0.2717986121970656, 0.6451514976781421], [0.031636497980005784, 0.9918817023704489], [0.9867606909554356, 0.3096214178309651], [0.47746140951206684, 0.4449251026085854], [0.4662826818941367, 0.8733410872648567], [0.6257092397129006, 0.5057246887318801], [0.034488426256461424, 0.4478034481216092], [0.6635899135267703, 0.3292839569995868], [0.30540960575522913, 0.22346661259377298], [0.0017648890481152257, 0.0442261020414948], [0.9989904657131112, 0.11791683046520895], [0.892560191258572, 0.29105765410840667], [0.9440054157348471, 0.3107817357935888], [0.32014678229263305, 0.9673535450195107], [0.35704931574006493, 0.5138597677277461], [0.8465285444819202, 0.591269004868916], [0.9126641648558165, 0.4277378087599094], [0.1605510532981943, 0.7815962773790321], [0.42590778769132287, 0.9401623608716161], [0.028965085485802677, 0.005286177389823732], [0.7715534258130211, 0.5181068433925625], [0.14027865617745638, 0.4713078220958091], [0.7812788882061006, 0.2759914191703169], [0.17316286641027867, 0.03990975541179442], [0.013251831739738762, 0.5862428423860324], [0.3271943097371802, 0.602754835654694], [0.8897508247403837, 0.7786217008257555], [0.4732842083818798, 0.38222521272209486], [0.9734765420923063, 0.7583006169301515], [0.00752983824786746, 0.48356871681506974], [0.11096965311962292, 0.6888302730722389], [0.7694060568274363, 0.5907565718283829], [0.3164348131505694, 0.2492923384312158], [0.7374250139319083, 0.034775274194532524], [0.9583127966314554, 0.06098147296752565], [0.7167715172139947, 0.194800542489024], [0.3825917467178883, 0.9184210448188795], [0.1042398797272186, 0.7591254189803454], [0.6006825656927816, 0.8404432244420393], [0.7381220029506087, 0.026128584189130555], [0.7608456822316412, 0.270039054227705], [0.9380863533974515, 0.3068945515747139], [0.6247022470329336, 0.45397510244024186], [0.6485932605175563, 0.1630279941472229], [0.7308737531169106, 0.4393081282463399], [0.9124886192818683, 0.5281428728167523], [0.415115787950317, 0.3200299947236729], [0.7384662826913262, 0.9264267330351803], [0.24257403035655056, 0.6805122369248174], [0.12359869607542295, 0.41407188918813986], [0.5812801481070871, 0.232632930859356], [0.7314769596055928, 0.8874148900489724], [0.32150853728444784, 0.556178257556614], [0.5639261494930392, 0.7270242530772438], [0.13277883339828178, 0.37817715157880194], [0.8135425970140148, 0.08964421294775082], [0.16345282208828682, 0.3056172152751844], [0.9648498346956744, 0.49427511458569395], [0.4433191619592629, 0.8431506057559442], [0.9802453128544006, 0.4002209118522114], [0.021569365436538646, 0.14044122275240734], [0.4431040518273607, 0.713122759217641], [0.8982771403544237, 0.186717994480196], [0.42480373886826295, 0.30111837081649084], [0.5670627271475779, 0.77221575513834], [0.685340340626262, 0.1272129543165983], [0.7697305373801665, 0.47537872330738484], [0.8063199984869294, 0.1934041346254458], [0.09553966446586537, 0.8082257467030777], [0.511885074853553, 0.031534686034028425], [0.35583856873192077, 0.8824487746640202], [0.07542729955548655, 0.4190905130372876], [0.5961415152756194, 0.9129081285087364], [0.09440317909655904, 0.006561777969634419], [0.7012744527134553, 0.783745452333176], [0.01669109321970852, 0.4354466083913814], [0.6522265497787821, 0.06394852792347117], [0.12864376284432633, 0.13910403515135583], [0.19522100057958203, 0.28844940775735384], [0.4654047446526922, 0.5203369953231421], [0.05414778703906664, 0.6410467356743197], [0.6085695385894633, 0.8768532799366662], [0.9092020719185788, 0.5472716206301028], [0.814544498806146, 0.016300479517365796], [0.5563335800047314, 0.23623582432104184], [0.6671504518548081, 0.7690054472575327], [0.07359938434474067, 0.6331250301690207], [0.7093953847887704, 0.9324188014176863], [0.7759528392459064, 0.05769642855675228], [0.787954262337595, 0.4230421849578673], [0.28582979230131145, 0.5698220602574684], [0.5426700777106206, 0.0800428385701909], [0.5494318689515224, 0.6716308002022743], [0.5614975085377791, 0.7846935388157169], [0.06626541173934741, 0.4429947992682617], [0.747094532522196, 0.6305086616880626], [0.3061772048191038, 0.9296521070750785], [0.04114935229757877, 0.050244857067588966], [0.10331594258260968, 0.36021977590349985], [0.26188351630425355, 0.43711965045888246], [0.974722415916213, 0.30505571587768243], [0.31349931312405566, 0.04824728933277134], [0.5531624671607185, 0.3597940971794247], [0.0009552099955448812, 0.33476093207094537], [0.5538908624219183, 0.3742533408334472], [0.7559493099442067, 0.2675614966576326], [0.8296342275055862, 0.19921632241072262], [0.574890300757257, 0.519217659981115], [0.7587656069129837, 0.46908525430175174], [0.6130380693223496, 0.23499476193476743], [0.3920054858127483, 0.48875610311219464], [0.4324719492946332, 0.1407084296136747], [0.23712006042145595, 0.5112025805659973], [0.9286365682536628, 0.6234116918459939], [0.4269802220660259, 0.4184077634120251], [0.8395333134729631, 0.13188550582997216], [0.38573113506568313, 0.3755386261473609], [0.3204933556605417, 0.3189672124938999], [0.8611284992397898, 0.7243031040534544], [0.48501668832084377, 0.7872077833724526], [0.5143214921029271, 0.1290310882287946], [0.5190552642787203, 0.05650396360682852], [0.28540671173427645, 0.9014900226234953], [0.9645185624847501, 0.5582290442037778], [0.7662928349561023, 0.7027575787069755], [0.9088140898707516, 0.03131909756012541], [0.2608942762487986, 0.523253903392763], [0.4218088722076132, 0.03619748318152727], [0.5691410110402947, 0.6011848125217808], [0.802694546734019, 0.6987069534413954], [0.3475324684383524, 0.1264554757623958], [0.9303350219929839, 0.5493467035516709], [0.09059690117970232, 0.8996328652277628], [0.08430658477454611, 0.8914967674991731], [0.1436714252090261, 0.31804015751913584], [0.21908569420929924, 0.24708120186151605], [0.07924082367054641, 0.22723886556101647], [0.4984703561689179, 0.7573835796746256], [0.9639790833544019, 0.5952603233379388], [0.7622029073566721, 0.9269819454706314], [0.23308127776394405, 0.15935818690011672], [0.9847946206608937, 0.18364437898040709], [0.3139632445823365, 0.6354068147961945], [0.3827790380715592, 0.2329245747996389], [0.9451991991648646, 0.5339170282095332], [0.27346016702799913, 0.4153057066693524], [0.14151851291175888, 0.48201615759502825], [0.4921548373251141, 0.8751359314857763], [0.3953509557327586, 0.22177908243441358], [0.5702294548093225, 0.784244022949171], [0.3484116609242809, 0.035599802540906], [0.3789556916730147, 0.5801489715941427], [0.3539335556503789, 0.06661670376481188], [0.9992523567797873, 0.3509033712859856], [0.20901999906976487, 0.20754089746787652], [0.0008030775936399559, 0.4722116127659134], [0.31258681162670177, 0.1364569543757107], [0.38503809576546133, 0.8525225614390183], [0.13303941871135738, 0.8697485149114329], [0.00973555761322853, 0.5241169086139883], [0.4958164235895284, 0.060045066640283085], [0.6257877960802587, 0.35776494546742177], [0.3181114029878369, 0.338366858510339], [0.10192840013742988, 0.9972729537092675], [0.6761347660466809, 0.4329121791246531], [0.05489817295745203, 0.48423009662045313], [0.24761696968120284, 0.5142835445101201], [0.1886373663963956, 0.6429606423923097], [0.36482405410636753, 0.43582447017207027], [0.4189386572974043, 0.8927330682297164], [0.6424728160461799, 0.5703081876864958], [0.3802464873934396, 0.014895359353998883], [0.039376091332328556, 0.6066908696501437], [0.3320870701617922, 0.29687745129873133], [0.23880038111128143, 0.09200412004805802], [0.05804721129521995, 0.8010630462463247], [0.996168735340767, 0.08139873582597146], [0.2230791203233693, 0.6471277244551391], [0.9825202690171299, 0.8451649328280761], [0.7603638365612987, 0.07694612087759434], [0.30101232493116215, 0.1650021472407931], [0.04523028997052181, 0.31061702526189106], [0.5853592692565066, 0.8623091219490021], [0.11083467347849907, 0.5834795312051105], [0.05847460807907712, 0.26152974854492883], [0.13873459004738475, 0.517380522973918], [0.04308422431913306, 0.9591180839590775], [0.5450215962041328, 0.39603146180288884], [0.3603035522273542, 0.6233910081213274], [0.6279716099960366, 0.031839362440031715], [0.4409380977035827, 0.6706438055230087], [0.3841885259673985, 0.18254731878141972], [0.8794606521216147, 0.2131243475384188], [0.8674914319535654, 0.7313818620737775], [0.0026656778862096386, 0.507830758675504], [0.8677483452483308, 0.31837329241975865], [0.37859198242744396, 0.5294424425347193], [0.24577164049738787, 0.5811889070955758], [0.06757505577523804, 0.6135987273498632], [0.04158696505425774, 0.35160206297126106], [0.7737925751451529, 0.31461374088839067], [0.3397899079669785, 0.04433970652490182], [0.248137684080024, 0.4408557127877766], [0.6493086579541156, 0.005547975254306836], [0.3230034268812675, 0.01121479372832257], [0.03560109011307111, 0.8156621482875531], [0.21034448600912548, 0.028607218470676377], [0.5487672666863949, 0.3846090758094235], [0.949888658390583, 0.014247113405312817], [0.9746409777742557, 0.6480819172827827], [0.5522949618275957, 0.18554229983421444], [0.9082954039045811, 0.7532199409184578], [0.6406065519840786, 0.6140405274745805], [0.3752278892828842, 0.5205656252988797], [0.46543270465630515, 0.7936872492388112], [0.046188583542977835, 0.8537383401045271], [0.6951574894317775, 0.0358259269706066], [0.8945950470096955, 0.5206124984291376], [0.5622183286298527, 0.4817968971361757], [0.16114169615898188, 0.050540428089243083], [0.7368395621993887, 0.9328257170337179], [0.8935313402123788, 0.4673696524643285], [0.6061007093994656, 0.7710750713560951], [0.8424221488453969, 0.9351616207867882], [0.9048931575889856, 0.5159723955074165], [0.8094887928727438, 0.888295388043571], [0.40442769404210244, 0.28166049214285904], [0.5547109512148829, 0.9750339634352179], [0.7277598177880649, 0.6724422948835593], [0.9698761189815603, 0.5024769471177756], [0.4347332786942364, 0.6358828645388387], [0.994897940442684, 0.48043206264911253], [0.0710519070205472, 0.7292035488450527], [0.8610349411099641, 0.27583910613683293], [0.13051530939012446, 0.7316472777528267], [0.9323244993627745, 0.24384412306137326], [0.333234289193416, 0.8218495909968294], [0.8117573727065757, 0.3054602441625408], [0.10928802357091472, 0.24324710640562708], [0.6145738473244424, 0.1948796231386909], [0.5516978374235161, 0.5003911302396468], [0.9630254941582967, 0.8929494128165777], [0.37054632580934477, 0.9963483410788525], [0.820630191568018, 0.4883418266936447], [0.5016078977052952, 0.7330897855646635], [0.37149316278929656, 0.40096203444642464], [0.5409166386773216, 0.9285626615209122], [0.13542692247863575, 0.04388292375756886], [0.6641602256205301, 0.1310378473426429], [0.8728345566401594, 0.5625007118804936], [0.7851067244296607, 0.044726889828664795], [0.028647411424285174, 0.5757343653822418], [0.876700631293538, 0.09588176258947245], [0.6684030889502591, 0.8180544183681102], [0.2845030495362819, 0.49704673467326843], [0.4409550961257591, 0.3018290085111651], [0.4176035134742434, 0.7901606957312419], [0.4462725359945091, 0.08054230895142478], [0.6029290032688868, 0.3941950221271575], [0.10841448510428198, 0.781803305661067], [0.11014219267905212, 0.678379623535924], [0.7310730970526105, 0.8549381352420395], [0.9934223812350089, 0.5168028096970853], [0.37117014654380065, 0.9872032227747488], [0.5414435141763414, 0.13596240443481067], [0.6385012792882075, 0.818100349665143], [0.14593480253215974, 0.9816777928936097], [0.35345383386061124, 0.2546005563548627], [0.0010050127269918274, 0.5615457336315117], [0.45506608544002825, 0.6093390399841612], [0.7404016782969542, 0.31594180533096305], [0.8307539003432358, 0.26180485959907784], [0.09271325798610952, 0.40216421644399336], [0.33298083404602974, 0.4506956522712008], [0.4311479283421169, 0.9594488191161763], [0.8775038059117598, 0.12339909840262564], [0.30912429420229215, 0.8199660714428194], [0.5248398085914454, 0.18407753174566177], [0.018157337161272213, 0.09636571046047959], [0.9799559750893222, 0.4148181265862273], [0.12521807919909134, 0.8491725667257765], [0.8131134522610606, 0.06737903506280396], [0.6295696622717646, 0.7854474186609228], [0.6843697502427144, 0.7291133126093091], [0.30685608814905174, 0.9391964725239238], [0.4962706643479451, 0.4656644553419357], [0.04352428376265027, 0.7638186964193903], [0.8330281686064015, 0.34342385548754617], [0.9902288399115491, 0.39602793523352275], [0.42744295356607453, 0.5556938547753474], [0.24220840058772186, 0.9190966040244658], [0.524291967391582, 0.7986109561711607], [0.11581372035132398, 0.4850915194366945], [0.9554967843960345, 0.494046899362408], [0.3144833044046108, 0.339713187889778], [0.33969924985361555, 0.3282796371807063], [0.4863167803200177, 0.9843858582178906], [0.03125275976229969, 0.38232797917616224], [0.3552396556171832, 0.06561093628625903], [0.5341724019432889, 0.5587187028724162], [0.41507132509844624, 0.4380929677003811], [0.24351178558673925, 0.8324181734512944], [0.975822162406129, 0.4930171940688862], [0.41335501056550417, 0.3313083295537522], [0.08698171343938266, 0.05416143602499346], [0.3480648713803942, 0.9293130694613323], [0.5370619154529123, 0.19360033185511671], [0.6509208906499874, 0.5379432768112886], [0.8064327416993077, 0.41842848483853856], [0.5705279097658987, 0.8407698778310664], [0.810327631966488, 0.3463377591882755], [0.6859647536587021, 0.5521627952635464], [0.3196528221609878, 0.668065044765816], [0.7318883742001471, 0.2963814213052375], [0.7376767227831358, 0.7745114142153591], [0.9481433390718402, 0.9954110828299255], [0.2998829857804043, 0.7687844461649768], [0.4217237812164275, 0.4116409797735281], [0.5777219835892375, 0.43609171095070054], [0.2831797937831739, 0.41114734482214577], [0.8365158841079572, 0.0821419598925821], [0.3343719761780769, 0.8827985799682886], [0.4276596122825911, 0.37857457947086937], [0.4430603966742933, 0.19841109627824793], [0.07911879695468971, 0.2704504680240085], [0.7678079592861536, 0.9145726410823302], [0.14131796931428608, 0.6299485837179589], [0.6876731271768518, 0.7683476611547703], [0.2834586534582779, 0.05588847255132723], [0.3891266495533192, 0.3399807003100811], [0.20953349682628986, 0.12384124709055544], [0.85531732198816, 0.9152740317788229], [0.685383171566841, 0.6230466811962221], [0.030644928289774276, 0.8431306562729585], [0.5677367785096767, 0.7770102041935608], [0.401122452306514, 0.07462777288292799], [0.5535922924778263, 0.8089023268230778], [0.425971535044092, 0.38572042647509996], [0.676296168109086, 0.8703067787405725], [0.2217689261600554, 0.9205941529636568], [0.9513698501058678, 0.6951303239302189], [0.5022673501499594, 0.7123529535765302], [0.16431120468356009, 0.9550361169597764], [0.9058104377149612, 0.8964226219357831], [0.1822532311961116, 0.8816192703790484], [0.48042385199062076, 0.16256448164938442], [0.13708383859338624, 0.6703611649935384], [0.38939504939511604, 0.927835948333297], [0.24397239214414546, 0.09389745782882308], [0.1493505130188565, 0.016689856144222914], [0.13586980379736202, 0.982817515789235], [0.7119257152754129, 0.4590642491266821], [0.013060697466428572, 0.3172770394800346], [0.3456701181776074, 0.15449466700433567], [0.5041368591202012, 0.29886485648079886], [0.9842960307397838, 0.4908438314032334], [0.3992504873103512, 0.3440632192834562], [0.9244965373503573, 0.7892559210374457], [0.42491375784391205, 0.22862595417393183], [0.24175226179430875, 0.4074575747486543], [0.8058069473309573, 0.30020311498871466], [0.6680368107977517, 0.02319670225781223], [0.5793990975248835, 0.3454089289433028], [0.4966177604080051, 0.6501018587137403], [0.3538668900013806, 0.0032825634808062443], [0.11934949854970689, 0.4687497629426405], [0.8466531856260595, 0.6688718203064914], [0.600084558804212, 0.7851878430574286], [0.5088456487094165, 0.20489042370547894], [0.43060740872072245, 0.1751065544246715], [0.3308981456038722, 0.05557179605766205], [0.024548205596966244, 0.9629203211867684], [0.38555577561649, 0.07002341117282873], [0.0020783028264711456, 0.46723296108456036], [0.5486588183884941, 0.8414517324968556], [0.27692819285281733, 0.8655887956796386], [0.33763727233833973, 0.5844794538187126], [0.2167960692161538, 0.14796417574837506], [0.323592179368429, 0.2787177815517978], [0.9379456394201899, 0.7035683527766388], [0.9927829017964107, 0.49169187240588164], [0.6809519796535042, 0.4571767853922194], [0.5771745130473416, 0.5456320230212636], [0.5434881754304124, 0.4170329343311163], [0.06528655638985259, 0.8170612872232943], [0.9223253049208737, 0.8981453983908796], [0.9868766853792744, 0.2418797943178047], [0.7757717730516136, 0.6555187740402195], [0.19182866067964255, 0.7732842734900556], [0.40979559270076993, 0.6687614034843522], [0.577644294484436, 0.2942258807137559], [0.15943278519098802, 0.5865168007161812], [0.31134432189359895, 0.998378230391945], [0.6948110880184879, 0.605643064559187], [0.4050455119046156, 0.9286390759063378], [0.03516900451994909, 0.8175406671137996], [0.02636035464102071, 0.878235712943039], [0.9602636426408094, 0.6661973928840642], [0.010231399103117655, 0.1387777994436099], [0.03937759668842589, 0.6133723937996924], [0.4154156356603935, 0.860619482143892], [0.7063218099109395, 0.3190775392245807], [0.7889260266406873, 0.5605480957327309], [0.15555570830539212, 0.7782059905776965], [0.9566666369198057, 0.23653443307821354], [0.3756234803509183, 0.5102383910818973], [0.09451604381201684, 0.5055323416002041], [0.35406121167476345, 0.03221264673675228], [0.6606139161720528, 0.6434217988894766], [0.7270007960903947, 0.16589185052034416], [0.18039511363886795, 0.5012279984241822], [0.32704800993944416, 0.7248503492424947], [0.6209107256642931, 0.6775373219662567], [0.6626065754673508, 0.3106249731728423], [0.506915637962085, 0.7908977832428016], [0.4126934177228191, 0.7102679008215188], [0.21909457550680145, 0.9439187360211438], [0.2537295771383883, 0.9734987103447588], [0.9480598030287436, 0.7735098957890679], [0.1764302297604896, 0.07385007459327375], [0.9432526940670402, 0.6845025391919464], [0.25090248291798867, 0.6036869500140085], [0.5459000135789879, 0.4685323592130045], [0.9459380438471324, 0.44998449128062346], [0.7074771706988863, 0.28615683325804786], [0.47598835169614184, 0.6963710492839658], [0.47735305009457585, 0.7229687054062047], [0.3653165672683487, 0.32753079024115184], [0.17384353162638821, 0.021278638283092843], [0.9090368280977156, 0.7359224436384142], [0.31025352728033995, 0.7202934926492701], [0.7568036618190306, 0.6785312344401863], [0.009788386104701896, 0.6945251209954376], [0.9677543725585974, 0.48518033333618504], [0.24571296403766452, 0.5279044292487464], [0.6720332972573365, 0.14947102526436484], [0.44477783393314596, 0.1321055045034304], [0.31054643547742955, 0.023987357318739466], [0.7350827646270293, 0.7965191939011732], [0.03236773573648388, 0.16783464128021397], [0.05708646945810247, 0.3742940337896462], [0.6864186012298716, 0.7451083482704342], [0.24265575016616592, 0.471017783658621], [0.6291451458029117, 0.53502325804026], [0.004831113594330638, 0.12245420757941483], [0.09449568903787131, 0.21523727827199068], [0.4905405904753709, 0.1844144968218464], [0.7922523426797173, 0.07567674718536765], [0.23605847517643774, 0.06668903658303849], [0.4647770375823137, 0.8536640551312793], [0.01964027058338713, 0.6838332741095369], [0.3287224388752813, 0.5933951372514308], [0.820054697207222, 0.26677959773613247], [0.45071327388672644, 0.9086571854484503], [0.3050415872386122, 0.26721381240381625], [0.9665357166050488, 0.6724185361033705], [0.028738191567005522, 0.7927761336862865], [0.8734994033327167, 0.41060000000897323], [0.6895377546870797, 0.8677872259571773], [0.05428264475806455, 0.1519627892379316], [0.20751285546148246, 0.24343195404012974], [0.32556580089732445, 0.8903069639737896], [0.5202952442779197, 0.9375555845873778], [0.8999384705441419, 0.7023810596509228], [0.6397639312215725, 0.47658073152098257], [0.832193608913576, 0.912369742789413], [0.9528191356376597, 0.004917050169927495], [0.9387727936286138, 0.22927166896180307], [0.14999441691517112, 0.986375870755774], [0.6236908151191293, 0.47438401841584266], [0.25590832680041986, 0.7165872374658181], [0.4450987808094776, 0.03738945556617823], [0.7447604295697583, 0.532156088531837], [0.2606201117440208, 0.7536998252823406], [0.9605211233605883, 0.23100947742159073], [0.9683189545089296, 0.47114742605542503], [0.5452815782042942, 0.3454273253167952], [0.7888088637280448, 0.6267708876967333], [0.3895360415811575, 0.3359773061473068], [0.35477000356630417, 0.16788333747110296], [0.6700272333506235, 0.15463483313652016], [0.467780382045457, 0.10413790365618125], [0.7231823704620364, 0.7645763705673466], [0.5890382342156266, 0.387997028002635], [0.30107116047329374, 0.1215803424926557], [0.10492812304780341, 0.0010609787775358592], [0.9833658736692467, 0.8428821563263079], [0.7097889380601652, 0.8530939549849114], [0.08903120612948867, 0.41359987605291504], [0.03428785135711643, 0.1404021174712744], [0.33466154718910646, 0.8532683391736499], [0.3045136783674549, 0.7194329660998546], [0.9814113275483152, 0.9666432738536503], [0.3368958539859743, 0.48535833821034235], [0.7391036355646352, 0.5763112511466596], [0.4824178186168335, 0.4886101440444639], [0.8033580978142886, 0.14505628108215118], [0.38322005910982604, 0.8977094733169328], [0.7123927784302934, 0.9138664524583526], [0.5654232549774965, 0.3982772618183654], [0.8477747444691647, 0.5767604089076154], [0.5499288102639327, 0.46644547513088797], [0.8336890778600256, 0.18255001360473833], [0.8018606607394243, 0.3708313096011969], [0.018496178753005355, 0.8533522836980478], [0.09370297828755936, 0.6509256294730198], [0.7845297431334698, 0.5019054288083313], [0.8536911342971831, 0.17813927497692938], [0.3340385993430348, 0.832676812793789], [0.16481073579103156, 0.41428280759559244], [0.9975761512347878, 0.3730692882013463], [0.7346166179340192, 0.38716212033587427], [0.006905588268291796, 0.18157927353603853], [0.3565589626272534, 0.007695303621074734], [0.5381227064935805, 0.11795654925251664], [0.9537448491725463, 0.024154052414501193], [0.40074963237342043, 0.40787384033515073], [0.4311892822710168, 0.2697892336301635], [0.16806338031748413, 0.4531833620358383], [0.2893898922721787, 0.17352765248577906], [0.39169492277817575, 0.5792804331728234], [0.7606404830642923, 0.8127084800006699], [0.26231480201831237, 0.8167413433803126], [0.09607146391521271, 0.4959105765133074], [0.5542235689505332, 0.06045300519840291], [0.8382362519126471, 0.6056705104820305], [0.8364463405663903, 0.7694981258205226], [0.9703956884825671, 0.03372120795027089], [0.6751098529640908, 0.27018086098340566], [0.7737113684683458, 0.6877376953206521], [0.8918711412156599, 0.09558621698901182], [0.16293847373159887, 0.7986252080507591], [0.39678453322600427, 0.968264457317427], [0.5420694031000483, 0.8014804461329678], [0.3215021295531495, 0.8398230768666569], [0.17756899526405556, 0.26372348501157306], [0.5633147302600012, 0.292841789862915], [0.4236396160943975, 0.3513524150751022], [0.24824374339178779, 0.7371569723744099], [0.10553106515526955, 0.7128738738985737], [0.12581692337768358, 0.5851054343295659], [0.989486033912198, 0.28750961251835716], [0.2651980874186717, 0.8086395808878754], [0.01962262133125192, 0.8172820475436531], [0.7319056205589568, 0.9423564934976235], [0.287095242321629, 0.24530673763426514], [0.4996731136692317, 0.4474076394951775], [0.042147081815552045, 0.9962665670959592], [0.49069497286824815, 0.07214609566167052], [0.8942175253969897, 0.1729648083146481], [0.9560859654391635, 0.34454849846704394], [0.6016810725337661, 0.8171990822010385], [0.2648997523321537, 0.2729864232490369], [0.7477343586464247, 0.8641640375387643], [0.3560450816985088, 0.9896667515882884], [0.3969076554457025, 0.4638894324999968], [0.2212658326130884, 0.4876490686189283], [0.45600842921235973, 0.605022693436974], [0.2595326263120026, 0.25730923372637493], [0.3521300090660532, 0.15173041881722515], [0.9694598246671998, 0.8026318797310206], [0.7035618151166505, 0.5605513167290664], [0.39003514777664783, 0.028216043250440137], [0.403279506274253, 0.19716200504459624], [0.3996832125658021, 0.6133819218817635], [0.702380806644231, 0.659516244361612], [0.25337475436340506, 0.891050265682546], [0.09051617561140601, 0.9927606139829271], [0.3085664639379123, 0.8497513242706739], [0.03618965868427704, 0.04842933151445539], [0.8924488471977262, 0.8494975171842559], [0.7869633104393732, 0.06935426733610539], [0.8800255644730887, 0.1657801303913311], [0.630065732611319, 0.4359929397501605], [0.59646112823682, 0.4981350270749144], [0.6162358318418799, 0.8137482321085199], [0.896772599520081, 0.7428890925902871], [0.33448217236569155, 0.7223079113821644], [0.72835660824919, 0.5046057320441001], [0.2719821434699976, 0.25692952982586126], [0.3456635501258575, 0.9281950637093671], [0.29713420758535936, 0.5436631333467474], [0.6340845198972191, 0.33770025023381167], [0.3838696329947142, 0.16582039167393736], [0.20704519199014182, 0.7746620737872445], [0.22865610176722617, 0.8718979744126325], [0.6767839207564664, 0.6391882769201452], [0.7782274483299213, 0.2575031250728962], [0.8191074161932183, 0.3460694996331911], [0.5804830709565196, 0.13820452523992421], [0.03906603077506565, 0.918875371846649], [0.8296845845367963, 0.27687797088732025], [0.28994435208703695, 0.3335834492752613], [0.6716800806928559, 0.13984351198860412], [0.8746387018218688, 0.6362302754535577], [0.9201985755618246, 0.9209093331735377], [0.20187995026765326, 0.2514288345295267], [0.35880955234474654, 0.9009411622872961], [0.6766654016970577, 0.3054790377796235], [0.3680493915817805, 0.5017762677095625], [0.8382609890707615, 0.6679207722634833], [0.9986027034942543, 0.9068651196033807], [0.4895598367631313, 0.7321366054972207], [0.29884427843862704, 0.39766875248259725], [0.041913207998602986, 0.3289163358433974], [0.2785278552082615, 0.80788289684653], [0.38569301488998164, 0.4234999705609588], [0.3443712856970489, 0.4775633437987221], [0.4274595125709074, 0.7600069127328019], [0.7974464664413478, 0.845382953394462], [0.2278763053230657, 0.3930102146480223], [0.49219431462313423, 0.2589864670440575], [0.12823863357663956, 0.2564631036355678], [0.9244811394140873, 0.06938814266940674], [0.312919412352773, 0.9049964635453139], [0.574244835624193, 0.6722889034614425], [0.5742658390123007, 0.9378145544334515], [0.05257150872033334, 0.37370701804737894], [0.5194583524667308, 0.38531954531301293], [0.30507789889092984, 0.2996066809924718], [0.5049907243054508, 0.8295212304035217], [0.6806193136963136, 0.757961361462636], [0.03702285478177214, 0.9748265502087027], [0.7349735322434401, 0.39837150683987], [0.5211195891596424, 0.2314102057028099], [0.6532566503923911, 0.24172675985110637], [0.39507538267949915, 0.9320143567215974], [0.7952029269032919, 0.04515879233822695], [0.9449671622026052, 0.06629542418351186], [0.5893140206300612, 0.29155304031382345], [0.3622667077386499, 0.26602495927703274], [0.6276395488688749, 0.6695082305139364], [0.18736276151186337, 0.05602973596392724], [0.7928465483020114, 0.02665763185043979], [0.9967496050033327, 0.9177756717917254], [0.6851142911520314, 0.8151694151469353], [0.6893832116362465, 0.8298305233844291], [0.49366989640844716, 0.4206952755400576], [0.1464352499064936, 0.8233968893658771], [0.14452506213681904, 0.9516826815095186], [0.6827068444260964, 0.0864531994178408], [0.4288564539404466, 0.4036673248463776], [0.24017073824868707, 0.08972301010348349], [0.5451632709016787, 0.6048260602251813], [0.8185775256246723, 0.5976368630559071], [0.3190054721691734, 0.7358560145390333], [0.029446500929449337, 0.04130258162983513], [0.8221724582124287, 0.9861534754260588], [0.9343096007893843, 0.09834213047051321], [0.5114805925900758, 0.21154655046168547], [0.042303424413558055, 0.994768905516732], [0.5358514745192878, 0.3689205686083493], [0.9632808220319468, 0.6065567104550971], [0.19740223069135598, 0.9266801136827295], [0.764022268928634, 0.04370533916573227], [0.5140057266803004, 0.8832312831730795], [0.616946310948078, 0.22664453224991143], [0.8232539121900975, 0.13415735675630713], [0.6693228283327604, 0.006792067265873336], [0.9380818439938831, 0.810421011832691], [0.27707135417271245, 0.3188899954717951], [0.845416842047427, 0.8324595018838069], [0.7729857040899665, 0.546596856579862], [0.4566034429889292, 0.11013209937599822], [0.3757028314634948, 0.3211445454822017], [0.8771839050932879, 0.4176139350045954], [0.9482895651603045, 0.051229448395450405], [0.48306382715449747, 0.6265938583588779], [0.6895785705527946, 0.2918326784186699], [0.7007745501899747, 0.41097152418545524], [0.49564534911806, 0.16737211447367517], [0.18495808576022754, 0.18937534981119608], [0.9593033966453622, 0.8574032826351125], [0.09121474357954562, 0.8807922413148124], [0.48629534210404446, 0.27854629609445736], [0.4759096561959084, 0.49329087699558904], [0.27384551559563597, 0.865361333985247], [0.2377746276619085, 0.40693192431487313], [0.9508523181379378, 0.9856490288764117], [0.2672301448282841, 0.14383075283258528], [0.05645848994939684, 0.04656224173392698], [0.29432790885460625, 0.69255418878096], [0.9598103500023076, 0.3777475996102203], [0.8432973525807704, 0.37250942001248366], [0.23805682291553487, 0.015165227147826421], [0.41018447847214057, 0.5565031485000596], [0.26859723089627907, 0.1265822085420899], [0.12480394985295595, 0.052582603411355455], [0.017064602995344513, 0.4110630075574614], [0.17523653034306785, 0.31570287660665874], [0.8653930058351972, 0.7620235201037151], [0.5969946754533663, 0.42295718516154135], [0.4525810759863016, 0.8251385942616467], [0.6021674034446513, 0.9634043153137377], [0.8655564565489448, 0.18737732537786944], [0.5349607046956392, 0.8217761424571287], [0.3319661833698343, 0.924939942596417], [0.9829578765305537, 0.33244446453759147], [0.5326828894634995, 0.10023630908763059], [0.210930069551428, 0.017707490864062425], [0.24048010652939256, 0.04372211513065383], [0.7746691757845303, 0.33589844579501116], [0.8849370995301671, 0.18048603201020852], [0.6076740958728265, 0.8773042892601995], [0.39191675048009655, 0.02181372661732406], [0.7673121867676894, 0.23743574623674546], [0.04748405959354551, 0.35348885766974736], [0.25538301458136636, 0.43715727470994326], [0.02259465571908259, 0.47819004262501574], [0.6814575878983216, 0.7646855931969262], [0.3179666518367549, 0.4034704862482573], [0.8303058905626103, 0.8658119154937836], [0.373350928864283, 0.043607127959205294], [0.7171160403810322, 0.12072953104784045], [0.021726953158071938, 0.7164142896342197], [0.8120485554204152, 0.10855556741107286], [0.7910103371200502, 0.7573474955496651], [0.4645227482879646, 0.18767335039878985], [0.008082495706589254, 0.7013795732510885], [0.36307693030063126, 0.7493214205861782], [0.7215936793123354, 0.8839250441843289], [0.5331438245353318, 0.4714770706268989], [0.8044451903320075, 0.44754813675477045], [0.6260747303464684, 0.41453352977074165], [0.55070726700155, 0.0727583176244001], [0.8626108727028776, 0.04997133388574282], [0.026924807931398287, 0.31839977968059885], [0.6832966897213674, 0.8508741126892126], [0.08982251025894916, 0.11941714922250402], [0.4569714765369335, 0.9304171801983953], [0.9786445821834832, 0.09493078834351598], [0.46619630342953144, 0.7109562660644603], [0.20982962175718567, 0.8408761375060245], [0.5713605464698623, 0.536911677101106], [0.2972450380912949, 0.22333641088500822], [0.9782118130656765, 0.23488722276812568], [0.11108279497536777, 0.29878746003522294], [0.9203471662873691, 0.7956259465784443], [0.4283394178168727, 0.028632220856573465], [0.5483848273230777, 0.18703288200605994], [0.25599177634202286, 0.8501970889892373], [0.7705267685774105, 0.09958070319515977], [0.8302995254942465, 0.0324646646903155], [0.037843794622542504, 0.5299895998667347], [0.9241609198313927, 0.6493263605966624], [0.34909636177127434, 0.5804399649681654], [0.8131476492665966, 0.038265814376731044], [0.9492760213896314, 0.5429541516716467], [0.605543315394811, 0.593037206139716], [0.011471787248957255, 0.6707862798203039], [0.6914852200250502, 0.9333285333385708], [0.7122810020942449, 0.5527973838518948], [0.45624486860284175, 0.4420251792143556], [0.43377805078143894, 0.5319947068627491], [0.523252481119228, 0.3302152625742042], [0.03574666016766115, 0.8464372957939108], [0.30827001174347335, 0.6765043082107006], [0.5130273447813476, 0.515606557493978], [0.019473549750436026, 0.11325886650894146], [0.6423682156168947, 0.4559595791354152], [0.7235123686521397, 0.7106711589973872], [0.36214939079698616, 0.33051844006645603], [0.17817067590513025, 0.9230787811205593], [0.6008326173574186, 0.7062696199087148], [0.5571343918916727, 0.48823236198001085], [0.8736581988786399, 0.19921019530175055], [0.06066759241404751, 0.296628672245673], [0.3392511913138039, 0.6493374516704346], [0.7066979954089225, 0.4211219636594684], [0.9247498138137263, 0.09126184828262474], [0.2843585959170615, 0.5211499121326676], [0.23514093470170816, 0.8477722692127709], [0.4232786428014583, 0.25050483893211484], [0.4033040671283459, 0.21535687240068535], [0.16461849660560257, 0.9416035595128818], [0.0006864031048980923, 0.9584430736664509], [0.7431157384682997, 0.7391491193801424], [0.6715916442437176, 0.34443584116527814], [0.4975815807223507, 0.9593483021745052], [0.555517590953751, 0.25924952831103076], [0.22082138611832414, 0.5736041160133919], [0.8692273377438147, 0.7478621774479332], [0.5252712118805588, 0.3822079449018948], [0.8288047691931387, 0.14471807839060935], [0.5905611189425958, 0.8268314175375638], [0.3230622573020975, 0.6810498915548836], [0.2728947504842454, 0.4808907456868906], [0.927686372084724, 0.27896001396354364], [0.8562127785348396, 0.25402407890112144], [0.5603288342867591, 0.20429370687064996], [0.09493260115474511, 0.41541080541841924], [0.7269031728211823, 0.577501801907812], [0.5297767351831365, 0.5596517232039697], [0.542637749620388, 0.3279307713889308], [0.552835706241411, 0.5919783074327792], [0.9908534769891155, 0.21924834374267954], [0.30919542166463154, 0.3160518827241343], [0.9895324711173143, 0.9564743919415132], [0.18110694920226122, 0.4492564711026501], [0.5044745429227314, 0.7875421517475639], [0.6724726820853191, 0.2991741294306087], [0.8801899677526878, 0.3817805015236402], [0.25264833406551235, 0.4039521661238358], [0.20674568193186849, 0.979356576948051], [0.16337090137961052, 0.6687068099806803], [0.9129463703012562, 0.2963712853391284], [0.292998744383978, 0.05691820416697291], [0.8426532308442385, 0.8941333723996949], [0.2552281248996151, 0.428454631193811], [0.5249932206873306, 0.21555148751823605], [0.6271634826762988, 0.4037994884834547], [0.47830767454178846, 0.16692654946171903], [0.5534000063449338, 0.7664591116886554], [0.8493111418068232, 0.39961226224999524], [0.1897235292950592, 0.7305040679736137], [0.6312898119364294, 0.8528508741977572], [0.861162407748061, 0.8441231947919882], [0.6127408771504758, 0.1822901213899245], [0.47422600689632, 0.1982514683758203], [0.19289327419772484, 0.8359066870582785], [0.3203601883310486, 0.5673400260569265], [0.09997689058514692, 0.7610238785874449], [0.5202763881772097, 0.26294807294253697], [0.5300397018997679, 0.05747976620431361], [0.01448690265742636, 0.171673335379937], [0.4830191430163334, 0.04962405137017323], [0.22657031670410355, 0.5069977012507386], [0.0783854290976933, 0.7004917726668614], [0.35026659335973465, 0.9044715560571491], [0.827081086783635, 0.20646801770770074], [0.5382216667378393, 0.8660971942519619], [0.16855310870378182, 0.5142451091954356], [0.40663673971018965, 0.3346792232246304], [0.13383128381071785, 0.8975873777090744], [0.27545770123527924, 0.01572695487718412], [0.5150096035537055, 0.14669586078346064], [0.00871917297114777, 0.2609777800887223], [0.3046695480626046, 0.050649563037415524], [0.09698414312836978, 0.3707586127945002], [0.29795903851457484, 0.7927026415408899], [0.19534023637651998, 0.8861869254466558], [0.02719434469743298, 0.9649016702109541], [0.7269765919488781, 0.5797116722235744], [0.2045256639912194, 0.3428173129474029], [0.8481149076048352, 0.45342191154802347], [0.09045644808121445, 0.7791775126584791], [0.767674540963317, 0.3206451056897559], [0.6010105203041072, 0.7809592348739337], [0.2053373793862402, 0.13233584582902624], [0.60612329629876, 0.5976238869134435], [0.8502344976280388, 0.5463418622817096], [0.5360773758389514, 0.42169232399306256], [0.4151557182897112, 0.6605852509290011], [0.5248375123495532, 0.13495872539195997], [0.8580481704929184, 0.7114839655553336], [0.2687542065050258, 0.8347221508464117], [0.34057283829002405, 0.726029260688252], [0.9665560358563865, 0.7576819874264301], [0.20627195597747272, 0.13384128428315178], [0.27343767824876664, 0.16407901250932877], [0.36480873183586204, 0.2931007910690825], [0.7512666311330879, 0.3882147829223881], [0.43970050517011106, 0.21703980385711275], [0.4157934927480138, 0.2849559107488211], [0.5868813478994149, 0.5840977441913896], [0.3161805216936575, 0.08399280521159769], [0.7828486294113659, 0.9551979848880191], [0.3825901973630944, 0.38625755036500053], [0.5528364656565056, 0.005937501215804497], [0.8750457518904547, 0.6182725256941679], [0.6884226079256758, 0.32116231452150834], [0.13777572527300874, 0.3863831018299293], [0.1834342777362412, 0.38285724397677223], [0.45109366346947977, 0.6695912352141528], [0.6004999387156742, 0.7058823511452983], [0.11470897208762387, 0.5651895688170298], [0.7358823854188956, 0.412327898010889], [0.2693386565418421, 0.8217015944255012], [0.5601129500769643, 0.9278311315424645], [0.06984403067009215, 0.48018108073226295], [0.5697662366016809, 0.8058390129409516], [0.7812439109044939, 0.5513766710460667], [0.4278725041434508, 0.8756396417861262], [0.1613559889054773, 0.5433673414155874], [0.8363715362328987, 0.24529758251799805], [0.43357002907121267, 0.15335479640555116], [0.5426794773362104, 0.35499697237933014], [0.10866696827619227, 0.7352901036747889], [0.10175518812057127, 0.22504175676116034], [0.4803452426301249, 0.2805485525055138], [0.514806664204282, 0.6227966738295729], [0.685651100757525, 0.3498307941797675], [0.6015282879908164, 0.1731436035242726], [0.8673548563667091, 0.22795512507544657], [0.8801536643968576, 0.39085793186360906], [0.7546993408514614, 0.09203202849915992], [0.9587487066635261, 0.166560990209647], [0.7953363968054047, 0.20643735087875914], [0.1951553005020249, 0.2945218424992373], [0.6920272633624894, 0.6104929217235527], [0.9246568865880528, 0.4034968031540457], [0.25369156673312143, 0.7530980252284516], [0.7188725661986142, 0.3413811836633699], [0.38549182023449435, 0.6177308337469875], [0.8185971765703378, 0.8576138481161241], [0.5336847315605452, 0.9304082498797045], [0.8419858585349581, 0.6875278011994685], [0.731846336146743, 0.9944413569587799], [0.9931542844251238, 0.9899393981168096], [0.5369462300337284, 0.7671045987153721], [0.5831568806108256, 0.042872627895009896], [0.17791291908171547, 0.17325211860020173], [0.6684595597047589, 0.7762586468711361], [0.8051950596667004, 0.05120790231703243], [0.8727690723661023, 0.3599703826158166], [0.5316242845426756, 0.897614597920035], [0.45335052938486464, 0.13399083100153208], [0.9255843498292764, 0.20743992553644552], [0.4666213658484727, 0.2706573180205215], [0.43458951942862023, 0.8297529724734488], [0.6750824910861373, 0.576993100207737], [0.7501333050764925, 0.04468365678567432], [0.24156401143046236, 0.023202355093621785], [0.06495049527803165, 0.26401889446412863], [0.9782254484393245, 0.3372344067851982], [0.4581476268159934, 0.32697934412595486], [0.3199762941821215, 0.4703366454120862], [0.35355305456362796, 0.8836949365156334], [0.2549419178279726, 0.022362393006782777], [0.1689116129541094, 0.10281505859893958], [0.9294122958770898, 0.8494057002430344], [0.25029522705797613, 0.8139231707767768], [0.22841229676234143, 0.7921991475364302], [0.19616180128072958, 0.6418435861613023], [0.27366432294467813, 0.6172509993377702], [0.42665781956784066, 0.5163932264856208], [0.9881686888051116, 0.5956352973567752], [0.9892837962524128, 0.5398406550094579], [0.3516290381623346, 0.8469212241408541], [0.21064480860927104, 0.37478400744260454], [0.09900076738106511, 0.7461581251170762], [0.8634337172049444, 0.3143604831871899], [0.14311669440873642, 0.1219754762239762], [0.2938709946917346, 0.738268981476622], [0.3150723335605876, 0.2650281231182572], [0.7977729562254819, 0.81477457666277], [0.17970659012576784, 0.2014650788059018], [0.9969245274671983, 0.6908994452334353], [0.7668338673805554, 0.5733215859396577], [0.09069730569899714, 0.6379354711651842], [0.7135439358870102, 0.7281887240921139], [0.9558473353198678, 0.7363685745519996], [0.8012892953040661, 0.24734421271160723], [0.40758258852707463, 0.7867749224275349], [0.3773881227247957, 0.29660156157447515], [0.28097668018039346, 0.8499481149695203], [0.4183305199865702, 0.8401673669030986], [0.5700776387499177, 0.8676214399295928], [0.8507494223953075, 0.7376820769958259], [0.4419475819006191, 0.2896707934302456], [0.41559095025679405, 0.8099907675467655], [0.7766542791715374, 0.7636388542598664], [0.10214715965483134, 0.3143424290796316], [0.44685632018735355, 0.6219114260753125], [0.7312859023147856, 0.8323734894272267], [0.05344617176031741, 0.09477334565767903], [0.5994759600725422, 0.8668578202581688], [0.68474733377988, 0.938324495027191], [0.29496971823328877, 0.49158453379891], [0.467905224019145, 0.337382236194951], [0.6566849164249879, 0.6624671775959511], [0.9177103734176023, 0.5969239331494642], [0.0757078474591305, 0.6930999549401875], [0.23016066227647614, 0.12721301173515753], [0.4352762096024376, 0.3425183841923326], [0.8892601774136827, 0.31705051580161603], [0.7119541480050118, 0.6066593355417964], [0.40175848915049583, 0.6726117889090849], [0.2356307212376012, 0.45223593779349736], [0.0257154042011013, 0.5133722326568663], [0.6880138898569627, 0.6063834923119934], [0.7271722400790871, 0.9222720571000433], [0.5527552645677537, 0.6089199514074802], [0.7779255806687978, 0.8680969528748802], [0.8029159542778885, 0.5590758061832842], [0.8638460802757494, 0.7390111498809746], [0.02459354600008945, 0.21997934720017853], [0.52892474351198, 0.2841619899848944], [0.11636413517706568, 0.07593046723337948], [0.8267247096847248, 0.6965267571514132], [0.12039636709538859, 0.5602811920437514], [0.6630221192302385, 0.24918968444566336], [0.2807481575031405, 0.5340338224492938], [0.7061327888873837, 0.4494489671901617], [0.08451613659804491, 0.2104021410093726], [0.7131416115803242, 0.6049068141985957], [0.39519111793138717, 0.39514243891845346], [0.17944806380400047, 0.9722916540115389], [0.35826863896634564, 0.36030538754509533], [0.38872261149141096, 0.21988601412238462], [0.953227494566561, 0.4442866071356514], [0.7986081604841745, 0.5981495706154413], [0.28037230838776117, 0.2559299322975759], [0.7062587322364619, 0.2999671796180635], [0.7482758037615218, 0.8904525216136965], [0.01378244179357091, 0.5413666042800294], [0.6768606550915953, 0.156846840912914], [0.12559019297543972, 0.18510222371958052], [0.6597308012653833, 0.9435577300394283], [0.28091352995090535, 0.30580700171237307], [0.027117189011014897, 0.4461085731505674], [0.20785250267592748, 0.43307386166948814], [0.9515824365740613, 0.11715627023048703], [0.04653919453718436, 0.9962593459204394], [0.4918718101563312, 0.8295818933198823], [0.949959351839051, 0.9231627305617602], [0.721628080533406, 0.8971263877522672], [0.7554384573483303, 0.5507500806200046], [0.3835856557276415, 0.846545338161649], [0.7303125237993958, 0.7685639556576525], [0.3862201528455048, 0.07712861776931412], [0.0699324580021855, 0.8238390681175076], [0.805451916584915, 0.7794530514087017], [0.24801939309074017, 0.051172214363833235], [0.45530467166842736, 0.7023605194063881], [0.47995423579982677, 0.2757063388617943], [0.8906530080533733, 0.6492476743451798], [0.35585652487240693, 0.9417672927884873], [0.6979984962353796, 0.7684625010792109], [0.593148526460736, 0.674775132864789], [0.8137434028425264, 0.37669529775886956], [0.3514348610303748, 0.5162091937189527], [0.9712689722481498, 0.5484907265889948], [0.6218073432915806, 0.3857895322440432], [0.4716768247373355, 0.326996308066009], [0.7238265477932748, 0.9911776151827664], [0.02973655212257842, 0.6184804816499961], [0.24384773752595457, 0.6297876483780852], [0.13169868393009965, 0.8107403515104923], [0.8997755264607238, 0.6088086046070214], [0.8708207301362125, 0.7253461575400847], [0.04566958769727758, 0.7503049358884427], [0.8098011144839546, 0.192808226729691], [0.7359879442404866, 0.19196063802600616], [0.02060201418453045, 0.9799957983503325], [0.9637725136357062, 0.5073974584760406], [0.3804988072352893, 0.004103953120270787], [0.9642594899162072, 0.5481924497853212], [0.8116867718857251, 0.4505096615287627], [0.9170726907294897, 0.6217642294532394], [0.36065222179362, 0.24632911808856583], [0.5859014206352762, 0.3740301894528625], [0.5425441424707284, 0.846464747117627], [0.49986780472850256, 0.7370682437844461], [0.7978606869490966, 0.29021112187079756], [0.3725839962048171, 0.4006753965026204], [0.9777487814551091, 0.6151202198321228], [0.3464985158383803, 0.13338219883718194], [0.7072900314585474, 0.10515392879962837], [0.31374566247287683, 0.8871968570023125], [0.11770884818291616, 0.5486801568442901], [0.3113099664127895, 0.22959961133480167], [0.6168674456418891, 0.9512190398392533], [0.9172918352397678, 0.2915453542350446], [0.8123694057920148, 0.7173711569020366], [0.33679459263527234, 0.08544234214236157], [0.07295767160187971, 0.6921173307359831], [0.612458320219121, 0.5572637043158242], [0.1398060046556293, 0.7351272062069959], [0.4492604112244257, 0.09403597218747572], [0.6710325827216471, 0.8671571490934052], [0.9584286953055875, 0.9833435602982704], [0.8313457934722821, 0.7740275309696041], [0.6003228980731509, 0.16538799102162938], [0.778613348984053, 0.1985697342646029], [0.26774100287948366, 0.1696180123755373], [0.9454301126945901, 0.40671113846928975], [0.01800468426974422, 0.2061699047958856], [0.15989248039239812, 0.4273374977447407], [0.45138019465542034, 0.45545407679084793], [0.760457449138892, 0.8622212077705462], [0.06023102985158746, 0.5711618268987748], [0.0535912876164405, 0.20553118928619563], [0.936118880288052, 0.5886403321616182], [0.3946228993117883, 0.2831844147108248], [0.29448055296015263, 0.31969459230426434], [0.849651923515288, 0.3029438480477068], [0.8434349979701723, 0.6259996331125408], [0.6079800047843547, 0.2398057345659651], [0.0016634428507785737, 0.20631768886001167], [0.32324365485624573, 0.8435340452979265], [0.7903117257233462, 0.46621948457074724], [0.32967813010076685, 0.37170295055657454], [0.38161619894703314, 0.18486453122088264], [0.9510518812805886, 0.13323973481584384], [0.9357607466567097, 0.2724594407182809], [0.4873962626729085, 0.8661069641931209], [0.5906186221132006, 0.9530323734755278], [0.7128895168251171, 0.006039143705625749], [0.4622052097004289, 0.652840420399015], [0.9381795635567829, 0.6067579445502462], [0.6871125754369295, 0.8056987342304205], [0.9880763156058991, 0.456350025184724], [0.1319192792451388, 0.4040082206114435], [0.6059570722361468, 0.8229340506453477], [0.7861378921783196, 0.8201677765318063], [0.2017704715033416, 0.17832367911120117], [0.1211805740269184, 0.5221551280718826], [0.8561353974493288, 0.7139457955815691], [0.7152880080456105, 0.8986941411728943], [0.4913945749123485, 0.05319603189979405], [0.6878254156337305, 0.4141792928484006], [0.33107461512405234, 0.371647777675162], [0.7060902144303076, 0.2628623373608958], [0.9439923243442984, 0.6478252139445895], [0.9405764130266584, 0.9418021604897407], [0.173970854724658, 0.15820846451753323], [0.5469769128847554, 0.5179245630042877], [0.25028243237371506, 0.3227761217615377], [0.49045975890710336, 0.07113628207752087], [0.4364132650229706, 0.46748501300101053], [0.6550083696635275, 0.06653660604627198], [0.20338229688865883, 0.8183142327380508], [0.8620620375605369, 0.226646928175966], [0.7543660314007806, 0.6835974280165564], [0.0942463086377564, 0.08454736311567579], [0.7152495865217214, 0.03408787992747775], [0.3687614943377642, 0.8261060460163906], [0.334237155462508, 0.2930574769605453], [0.4088314089292663, 0.9933763050664027], [0.06782258534133057, 0.5202863764878483], [0.6585884149664714, 0.4937931081379142], [0.8940843880735928, 0.591855445506105], [0.9934199278972276, 0.8288894019591334], [0.23437520140492263, 0.6004258009759683], [0.1697595706647097, 0.2885189810146136], [0.23650340872613385, 0.5091112615434843], [0.11073735130203621, 0.9067845794250389], [0.5975464106529703, 0.8479873389880885], [0.29098785382949055, 0.6495020669347216], [0.8549246596326323, 0.6058676307183108], [0.9929340104542768, 0.7985749718944672], [0.7752888388013733, 0.5472045908348107], [0.694887273832423, 0.07678674988116996], [0.35096621092692015, 0.3672275483771954], [0.9806269755395877, 0.9389462733195285], [0.9766504352830839, 0.6750283353024444], [0.1472879990700069, 0.024937314581159997], [0.7432517521797113, 0.47223535566728414], [0.2420261144023207, 0.41036193274341937], [0.9875788899041087, 0.7496245423013224], [0.7389906897029103, 0.25261577713398187], [0.5579483762235501, 0.7044021610595926], [0.5930941839638229, 0.6868647656083988], [0.7173568452792974, 0.1138638420485587], [0.7704181133880721, 0.3422284859928314], [0.04290703161927367, 0.9199431158712691], [0.9729947173533904, 0.7148604049747106], [0.6670335706974464, 0.18568435396080651], [0.6540180897728245, 0.49092359031991384], [0.2054486466174006, 0.7621617043290763], [0.18870640536700767, 0.36877339495015005], [0.45309559000193755, 0.7142882165927725], [0.7793193107496798, 0.028759849574422125], [0.721947575969134, 0.4121539214171275], [0.9044793688112611, 0.44086627296769254], [0.3647494277397191, 0.9658383366394662], [0.3252354223105295, 0.8352112843940381], [0.26236427191450296, 0.23374546304472077], [0.8371887448504989, 0.8134836939299354], [0.5401506098893218, 0.8612498233187084], [0.30865143721242627, 0.40625835870602844], [0.7447027508773086, 0.7237450943980097], [0.4173455288067479, 0.5786911934656542], [0.2688540194912562, 0.7582912996250131], [0.43511099442205536, 0.00820721148778547], [0.9498676407509729, 0.784666297760159], [0.16566227138058764, 0.7890480075929157], [0.30197066042378395, 0.33468567887466893], [0.5375269197470656, 0.4516974871409015], [0.945324003877264, 0.4610189428106434], [0.022363698768669393, 0.7533607452538287], [0.18600640410546843, 0.7063912164473304], [0.8618437597058787, 0.786039681468567], [0.6641605583817428, 0.47114617836751105], [0.01099825301962798, 0.16469944374528966], [0.6947179022072899, 0.8677173928878996], [0.5738089949774582, 0.9857942595366774], [0.8844606892155259, 0.4237011463313066], [0.83984282004886, 0.44546417826796725], [0.47527233077319386, 0.5242582724182858], [0.15613579777450437, 0.027780678611551757], [0.14491140241642564, 0.9640880258010116], [0.853130477172755, 0.2187458525176299], [0.355018995981749, 0.22304070936848241], [0.2907033517327141, 0.9988101728778024], [0.008431065507852775, 0.6728497905071462], [0.3883719207325006, 0.3724291339861072], [0.029362596526973817, 0.5061466062180908], [0.17177426120202788, 0.41654719744232427], [0.6707078067249055, 0.7980607653659219], [0.1683195010095876, 0.724679089538962], [0.1283195689327895, 0.7424054960584898], [0.29251902994784185, 0.14128020699042487], [0.3533273522110162, 0.9125885067546647], [0.9944422151614846, 0.4667685138449279], [0.18286749679297853, 0.9966019194748013], [0.8045828475850821, 0.8976979558271677], [0.3611495794885835, 0.9403121028973822], [0.34604571492636416, 0.9468014581395466], [0.5478402939396366, 0.7599811667338126], [0.43031115183287894, 0.33360451778217104], [0.28186371776970087, 0.04988411356008293], [0.9431078063663032, 0.3920388301885048], [0.7007575568790799, 0.8475864309000841], [0.8832730703180648, 0.8156348824759081], [0.03109632141147678, 0.7701375072807717], [0.2528780163792953, 0.8137938509726382], [0.312820673973759, 0.007429565545125638], [0.1220057411199651, 0.8106250653207415], [0.6885385661645788, 0.35564252469672597], [0.5162127934425447, 0.9797149097822383], [0.6363877462078436, 0.7603666007257978], [0.6624505545376583, 0.5211865498779464], [0.5448694176148927, 0.6837206224665625], [0.30762577066441243, 0.9463731794405381], [0.9384632117082893, 0.316978880139952], [0.5692193413275897, 0.16477478969583137], [0.26191318500205485, 0.07544524412155806], [0.8935858605510723, 0.327379046531867], [0.18024265410236284, 0.3903137266244776], [0.06735142241876835, 0.7115359094385477], [0.8528899890511759, 0.01067293802327407], [0.3512188084429335, 0.2813955491969178], [0.7710010570383419, 0.27944564062904187], [0.31150001713392117, 0.489138174673458], [0.9845646853160445, 0.36840270596098046], [0.5420389137588104, 0.15678223737846764], [0.15437243812348755, 0.9428355200826645], [0.8566197079138116, 0.11288925854330656], [0.30057190598398464, 0.35101702972800386], [0.08685457091026294, 0.6411711293941524], [0.45442850212930297, 0.20936050787274263], [0.9641605806503769, 0.09499785639105274], [0.7848254093080053, 0.9218896456195691], [0.5039743539035085, 0.053577340495160275], [0.6108298249611975, 0.0867919368302803], [0.2074229103529498, 0.25594216444601003], [0.006573951968554148, 0.1413940157262591], [0.7702019874650057, 0.26121431252592797], [0.3649602649982444, 0.8472679436108679], [0.08822744364629698, 0.12604360505233936], [0.9377699963321923, 0.6058652786449028], [0.20475432122890724, 0.045420330747248605], [0.10448732218248047, 0.6732974384478229], [0.46298733007008264, 0.4799806886673734], [0.25216076407224686, 0.18947808717537373], [0.35915166964405076, 0.8324249082414151], [0.8630667719776722, 0.3538930588077598], [0.35083462119277986, 0.8604359218502109], [0.10942079086805101, 0.08130020000135707], [0.4570221421953081, 0.6495936668664628], [0.3912858658553644, 0.6764271183270855], [0.7308071951492202, 0.5298266797804916], [0.27694304482195886, 0.6383399023062718], [0.9252892890542805, 0.168501669360007], [0.9681736015768891, 0.615353645889781], [0.506099706336548, 0.8830618807352075], [0.09544203018800124, 0.2011307031230749], [0.4956486002309407, 0.7783613517439413], [0.530300241828698, 0.48003391834532405], [0.908953232344255, 0.8927336584133502], [0.37456387550614134, 0.5385371903228573], [0.855001547054986, 0.8363860542037745], [0.9791859341092569, 0.8443297559850296], [0.3221322696357699, 0.7501769796743182], [0.591291230781438, 0.4526774120573889], [0.23196892990261275, 0.8277360648482323], [0.982484408395763, 0.5633738562733431], [0.028546295869009586, 0.2708350121301921], [0.5209257815995985, 0.8058539026717617], [0.9370924998126954, 0.324003446814517], [0.6646703788521956, 0.8030829182082984], [0.9359001516120056, 0.29791395711647084], [0.06054741276098741, 0.6949620313307695], [0.281647710117925, 0.21948592647919296], [0.5920987460191127, 0.6222631476816571], [0.673218237368834, 0.5206694021253616], [0.3027463688361559, 0.5763879458033754], [0.9309615878918293, 0.14234865680035258], [0.9583477223845002, 0.4682354263386377], [0.6480528038778404, 0.09283932068679834], [0.518783073867101, 0.8668891366540645], [0.15018711038124966, 0.8126381126289828], [0.3601650570175198, 0.13315778559922775], [0.13953214091952315, 0.15655052213422582], [0.24902804353878805, 0.8792956964742084], [0.5068173111377137, 0.8569908645338183], [0.9760826060213718, 0.1837298984911584], [0.7905306496105827, 0.7568183251609969], [0.632598180138602, 0.8099657415934381], [0.8443144099591927, 0.019599647175010948], [0.6102820815623348, 0.7070503923319467], [0.9849421179708818, 0.3200829804525648], [0.12687270792431893, 0.01420749695139678], [0.9090088259996252, 0.619216722782369], [0.6056946981101445, 0.3080329352357398], [0.6158718593937529, 0.38058209791469155], [0.20945632886429078, 0.8868395090409932], [0.28668044762849554, 0.5404039153373976], [0.5732551118683166, 0.7852017132679184], [0.4643153973806663, 0.1517432033460453], [0.3720256372839299, 0.43049275230982875], [0.502814313687607, 0.9138238858456774], [0.3968658061140522, 0.3550475072389264], [0.5761020510480184, 0.9213321656879789], [0.8552688740763268, 0.9702859030258428], [0.3490637310190431, 0.4102607941386788], [0.2979296211645932, 0.8561649889533391], [0.25121718767669976, 0.015013608653586696], [0.6310943574529355, 0.7672657644873557], [0.010770977521992853, 0.9484012576393477], [0.0011472083272301425, 0.717665094897521], [0.8669199077616466, 0.6070924370577795], [0.479788364927223, 0.9632231935101613], [0.21931395627964456, 0.7599728203261057], [0.5702179376546214, 0.2586188450286272], [0.3268112729283511, 0.0012978596655744967], [0.7064017709057057, 0.1423457628259186], [0.2609056194305498, 0.16579088897692718], [0.5151619729886312, 0.2519797581609893], [0.5382832932493604, 0.03462725442206327], [0.019269748770510797, 0.881591045358371], [0.6628242310456701, 0.45919337405358307], [0.5982264351665091, 0.8181385599902122], [0.5401683717943425, 0.7412370269238457], [0.20935269504078902, 0.7403420429195603], [0.9690552261614731, 0.29639614400873404], [0.5960245824104973, 0.7921819621100787], [0.7862612417030383, 0.8960795989523542], [0.8445282119217835, 0.16915910426823144], [0.13791247072969237, 0.19143160211801802], [0.38886484032866186, 0.2928658627952465], [0.5345404370201752, 0.9399874495579784], [0.8509181143352514, 0.7732917805332701], [0.02236257348454984, 0.7732865488767479], [0.815874023462162, 0.5855022411242633], [0.9119812458262068, 0.16289582267831704], [0.9372892436674194, 0.22822711444159094], [0.421956653358066, 0.9658845122708053], [0.587751459784015, 0.17127708797213748], [0.4032261384561229, 0.6174943004033786], [0.2603807765160374, 0.29161184564647746], [0.6130338823543567, 0.6650271771055114], [0.6321001979509192, 0.13299164939317853], [0.6138196853521113, 0.9063316995031366], [0.5444202342702219, 0.5531439808842561], [0.09550836956021835, 0.9368633331017233], [0.8181398052542402, 0.03278317031015643], [0.02259793358398443, 0.5157265287375179], [0.6265513397947358, 0.3364672600894818], [0.26026160564568945, 0.014227547220926673], [0.756889930446475, 0.7179534023272244], [0.9830218766847735, 0.2956060653425976], [0.29125276076722695, 0.5659784373243245], [0.5868714229178549, 0.6081176691441388], [0.10429571031854035, 0.38694603464008914], [0.8311643844268397, 0.6546205538062981], [0.8370819981797226, 0.5914745693496146], [0.5945201021572817, 0.5927125016791123], [0.027507497594228547, 0.7357527249837809], [0.6585062864445281, 0.044197985421796204], [0.7314114267999793, 0.07716451109751332], [0.8857809211605789, 0.8421727658167905], [0.22973793003232168, 0.02737878444630959], [0.9513501603054088, 0.7346483823616798], [0.1858562735690359, 0.7996390888384001], [0.9542469446445272, 0.3398621838636072], [0.8846412135178298, 0.898057572641396], [0.15972950277828868, 0.6591295086543225], [0.38345924777774465, 0.4500060489415625], [0.6862245474464185, 0.7711125874448564], [0.5983121935335163, 0.4745235780874748], [0.42748647524200345, 0.02251688286132114], [0.5877627842736028, 0.8474855563548287], [0.27961324451776426, 0.15573471053718002], [0.5295424041098744, 0.5721912325037926], [0.5995204140205288, 0.9430825209147987], [0.6731941045931163, 0.3707725002427664], [0.5061288177659272, 0.9709655380244216], [0.9884140294510955, 0.12763925257767006], [0.44911627164456136, 0.6222511264661262], [0.4966982992064617, 0.3649912383104037], [0.9215870192779085, 0.7881163696142327], [0.3544533509118333, 0.5433439003226017], [0.3945110063917384, 0.8744023513824516], [0.36998045194656426, 0.9935295963143757], [0.640454014066266, 0.10802450652199602], [0.7841177973370373, 0.7829924370554968], [0.25817126745379604, 0.5061512789885818], [0.6859894805425395, 0.7381036157071151], [0.6336070704813596, 0.9810974477725132], [0.0950799825259363, 0.3601263442279349], [0.15439961659409662, 0.15618624065964337], [0.2663944511166061, 0.3062902526835162], [0.43070792145380465, 0.3426646134675587], [0.03395352021015108, 0.4552140854488552], [0.5157495974501629, 0.3318608000597192], [0.45739598603437726, 0.9680629962797355], [0.334283197656128, 0.10290488622365801], [0.12791617669812017, 0.6378072924981099], [0.07080859195993072, 0.14609992835132513], [0.6071104360766612, 0.8199136507134732], [0.3763523578235808, 0.3611407551597754], [0.314355618015398, 0.40862025902758037], [0.26557919240273553, 0.49496099297630736], [0.21729390246678315, 0.6588770716276849], [0.4288574574040229, 0.2589819008030373], [0.3097211599548023, 0.6876483632193436], [0.9839254106385782, 0.3328760723266393], [0.9157575900146775, 0.4930750198719759], [0.9588487436635232, 0.559389085029899], [0.6954111493561996, 0.14162307447280675], [0.15624062458773758, 0.5832254541455723], [0.45144654227682945, 0.4626366546655696], [0.02914521056586905, 0.5248599024913871], [0.7532163374676459, 0.660599784095012], [0.47179204422005483, 0.5250751332590335], [0.5940184649634032, 0.08825891250410745], [0.742054447778208, 0.21953174958333976], [0.23537599874619186, 0.7629503284962655], [0.4957027550551436, 0.8174374781910602], [0.26683489285831763, 0.009164854475712914], [0.7645376565913485, 0.7238480245691921], [0.6604198170295628, 0.0974498040605335], [0.4952222608707637, 0.30742598175140134], [0.24021169461366143, 0.8448768540384712], [0.8589912653230785, 0.08093433740039357], [0.1657297471972402, 0.05821894830262231], [0.10155671248242037, 0.24434845486587142], [0.5066416025337271, 0.45786872327077877], [0.5709766050066738, 0.8107885366322042], [0.10895324393454087, 0.9766578929944509], [0.86629401159545, 0.5824250793248674], [0.32875091950955326, 0.7603544211660982], [0.525614253380004, 0.42060877531935936], [0.31747386317632575, 0.7129342794423635], [0.8404776287754001, 0.14755599114450135], [0.5461353914642328, 0.549815909635866], [0.8130334082574965, 0.3411915501976086], [0.4603579387899701, 0.33848439949070963], [0.2258829748828045, 0.0024943123419817192], [0.6128725080943093, 0.365008859007496], [0.2226378983402637, 0.37659264089851685], [0.5878297829033737, 0.7891845907212636], [0.6900063201292848, 0.2614713708049269], [0.9129606606918997, 0.45097883941709627], [0.19710594401297665, 0.16601977551781077], [0.30077587278781237, 0.40719481117162204], [0.15503690864476516, 0.7036203124198376], [0.9781058730171244, 0.46425914966281023], [0.12409782005898462, 0.043512465458370286], [0.7221322022153698, 0.9228246180374448], [0.22495015548340747, 0.47563430364209136], [0.5267192113439005, 0.6690846481616873], [0.4770950024661119, 0.621133432929026], [0.09978558656718417, 0.32887500599651676], [0.35730931103668073, 0.5332778379551538], [0.6409803942533941, 0.7009097746827627], [0.40951823595127046, 0.9791023100443564], [0.638977717413204, 0.386082247403719], [0.9776933032681523, 0.8538832260422238], [0.8358968892419716, 0.14092158503329955], [0.647035419844778, 0.6345854387183417], [0.581320884236057, 0.7516095921982112], [0.47751299251300194, 0.492230968707288], [0.2777766221106913, 0.4871114441788955], [0.21068481703261988, 0.6371868490816311], [0.9752641790306414, 0.14624989669013655], [0.6459328744068169, 0.7259472802025375], [0.05967395718297119, 0.41096914582317556], [0.4724010846522929, 0.35282780986998885], [0.9300120240007569, 0.8941172098739839], [0.8854474514807472, 0.22386609545629255], [0.7203843351324859, 0.8812487017073347], [0.9562256308845378, 0.9636098332330442], [0.6233133192692968, 0.48844783503085], [0.0352170310104416, 0.6749575450891894], [0.1118006625322231, 0.5662119233789249], [0.6525224191978171, 0.09700318691978649], [0.4333898716589263, 0.5403220013770301], [0.8392384800277622, 0.15915828333001514], [0.9946608843010015, 0.4064583418518559], [0.2478801667513696, 0.5027627999849186], [0.7072597771492106, 0.1453312919977956], [0.49070557176883345, 0.5458631685079276], [0.7277758045213052, 0.16952107294900953], [0.09252942174707046, 0.14267936243318935], [0.9861940088291938, 0.5991797653321747], [0.2976604886147497, 0.7328657091643633], [0.6188990229979744, 0.6250305805042512], [0.6167127433472768, 0.5405879923862222], [0.9215269497038543, 0.9953855203504991], [0.15993839588165426, 0.19141668037493298], [0.4626767844818893, 0.2941086537088019], [0.8975248987346325, 0.2819622479393725], [0.8178060648211775, 0.9840973864714252], [0.09509686351761037, 0.2686350795518505], [0.1335880780814055, 0.36764749710127875], [0.32930799160752766, 0.37432876883939725], [0.83517980861575, 0.48953171996711997], [0.7865749594487528, 0.4204710167105724], [0.18764071692623452, 0.3563405343499356], [0.8025026963006159, 0.887100187746521], [0.004722201721554575, 0.1350176304879781], [0.6243834206061727, 0.2002808580433586], [0.31482992769010876, 0.11973298086243389], [0.5370357305745849, 0.6364593530491176], [0.558493288671733, 0.6995652164673481], [0.6309181182036254, 0.5778360402770546], [0.80723211906648, 0.34407450122014227], [0.45424976288685404, 0.42676133542183314], [0.4971278947562745, 0.9221400229795688], [0.4691646753356188, 0.17402419285325854], [0.35870241870236175, 0.4899006670099745], [0.9667289927664383, 0.7947310676394969], [0.43541622161888305, 0.25892575704882714], [0.15193761364802882, 0.5170381427109942], [0.4134434120631926, 0.24366880819803227], [0.4817606581953351, 0.27166427384814384], [0.04161356917747849, 0.15918318680838472], [0.9803854096446549, 0.5404032813020464], [0.14272434491992658, 0.8502806991697589], [0.22150997045003928, 0.4998084265960513], [0.3593705847406298, 0.29823194106736806], [0.4725895949255695, 0.7696389590572656], [0.3948923856054787, 0.6080967216165641], [0.2881219128317041, 0.5378757438584194], [0.5995227318800205, 0.6967345694199473], [0.4606662896560877, 0.7867772102362757], [0.3578441899033946, 0.49550665794577864], [0.5850999091686823, 0.299863924037002], [0.20137888979910035, 0.7430606771718942], [0.937809714257749, 0.6326874987385473], [0.40410318624173536, 0.5352214027638845], [0.18494488861393243, 0.7244828061992746], [0.2853744367134696, 0.582487553838541], [0.38440644544682534, 0.8664399422968768], [0.6746553638946612, 0.5451446953511843], [0.12179327146403984, 0.6872038202014119], [0.2927742568967878, 0.4175829759335654], [0.06538011612053085, 0.6798700030941222], [0.9156129087256397, 0.3738753373902053], [0.14603689261560637, 0.3214098407540307], [0.5463703829490067, 0.8391382252884185], [0.835353186583457, 0.9797203028259454], [0.6339904986973426, 0.955324891830382], [0.015566991649753281, 0.06502264094979326], [0.7602752696746602, 0.10761624776269563], [0.4753005325612977, 0.2346917451413425], [0.8068437000760242, 0.08798663722570632], [0.8705772475322316, 0.18623581264286837], [0.09635889965558075, 0.6732884252271416], [0.9963477422852577, 0.7594614548208517], [0.6535015832573915, 0.9675632655731644], [0.6000278370711922, 0.5620851430377931], [0.1030727080400784, 0.46558912604430946], [0.5737153403106349, 0.0008894064626729925], [0.08221116263052786, 0.6184623335838536], [0.17124748805958467, 0.5984023012244678], [0.4318384308897246, 0.6454842211633612], [0.6439448477547929, 0.5212099042683463], [0.29956294966446073, 0.12379416560813761], [0.28223722872881696, 0.4872760305648043], [0.9399807724490179, 0.8552277341980851], [0.9931889744296135, 0.6630602180950642], [0.2688034579799158, 0.2198784169095438], [0.7230829362406792, 0.7473613765154333], [0.9657710005865291, 0.7321462429001899], [0.5564089503963535, 0.9924253291945605], [0.44444188832457354, 0.03242455316680737], [0.7951026736501, 0.781810009703409], [0.1242534850501511, 0.7882385983341909], [0.1576549513476062, 0.5183184828959606], [0.6496709206649937, 0.7320218880439462], [0.6204546010152436, 0.3965165106975843], [0.670080469061272, 0.14616614163716501], [0.5317843160762198, 0.1216305917017152], [0.3076995753440649, 0.9714010781911582], [0.34437419276789505, 0.3130269440755221], [0.03365735191103292, 0.26868865657655827], [0.6517100745670648, 0.8866118457850848], [0.18975661856795867, 0.8301438901825029], [0.5325784900499366, 0.931596450832024], [0.5402958184078315, 0.12000795879550852], [0.9048590156305022, 0.055590237192844394], [0.43028851571055227, 0.08602585417646313], [0.24116308579041423, 0.5456002803122193], [0.45201281796243054, 0.3492629083350569], [0.18736611173847328, 0.7851269998943675], [0.18837167017563117, 0.6369065375421401], [0.8104612069194009, 0.0373021248954164], [0.276443136773699, 0.2078399341316003], [0.5346618025804102, 0.33128822438037675], [0.20963935258066158, 0.6308880891908762], [0.789049911684298, 0.8837457238893703], [0.6771075328531602, 0.6183046231099638], [0.5181350672517616, 0.45894324514291385], [0.051561314822131, 0.3843463468655205], [0.507424813531056, 0.7289183039444778], [0.9640484629820699, 0.7897145456022817], [0.9993394215583198, 0.6188141401216072], [0.40730348577416375, 0.6318991546737778], [0.7160077565880856, 0.16592507325790407], [0.57174451405537, 0.14472621686223708], [0.7533004044662005, 0.1806064951688886], [0.4705924677461525, 0.6061401012370788], [0.9053373187521465, 0.8526135669226567], [0.33328912410379485, 0.9759879276287722], [0.7178529624690521, 0.29199183427884945], [0.25642543713924604, 0.6843270627275745], [0.768647613412622, 0.19432642933379352], [0.4202927039135269, 0.6621816610233902], [0.35323555046579, 0.09696835889634181], [0.0701868671889212, 0.6077176072823836], [0.10103490371769963, 0.9155801388976279], [0.16739586417539964, 0.8994757397795881], [0.09458180135994088, 0.1492697035799212], [0.6088541944733786, 0.5073823098074004], [0.5027697100098368, 0.11588222644529877], [0.7262957426536688, 0.1930269608837396], [0.9459798293066134, 0.5902465320724326], [0.9933521458080943, 0.4148105265805585], [0.5730113189510891, 0.5803419865063432], [0.6912920169725059, 0.612141766882494], [0.4021559789464314, 0.2367518276770174], [0.5332744505742263, 0.5222279920310328], [0.6899198587846802, 0.5472106041718467], [0.9457346452717007, 0.12776252721595116], [0.8799662507305791, 0.16022534026241386], [0.4869739528851609, 0.8065672802794516], [0.06656510195185139, 0.16539120505069915], [0.509614023929219, 0.3774989828090125], [0.18532620081183637, 0.01896789836595425], [0.8946095692369032, 0.021275162216200627], [0.6003134737145825, 0.27980147914382214], [0.9703987370996922, 0.832565471227777], [0.8172530981849526, 0.6264191663806201], [0.2758291695063768, 0.07256657146462997], [0.3409929450599509, 0.7496874922703923], [0.10550695283719813, 0.39578747325830765], [0.7543774306875699, 0.5477982334320466], [0.03931493004294828, 0.7819405525840227], [0.7431427176327253, 0.7315632126456361], [0.10092196387648045, 0.7416753869591887], [0.9832848113893512, 0.7482923871941077], [0.2962609478240329, 0.1277822055790505], [0.165071947384272, 0.3754863098657606], [0.9045466771497503, 0.4318684811090331], [0.9388597621865118, 0.45971456919997356], [0.3616527261323408, 0.1665989075354224], [0.8916596414353505, 0.48238671286151225], [0.8332132640945492, 0.7865870144263443], [0.27389874513117307, 0.06258118282698155], [0.5353558587615141, 0.08982040185662976], [0.9897448529903798, 0.8765925481307164], [0.7152713466208188, 0.15307119936018565], [0.2673449430847161, 0.2150696232188274], [0.987409674675205, 0.6694517512466202], [0.9430677310480388, 0.44641304736052057], [0.7561479279982993, 0.7295224440323215], [0.5168426360162839, 0.013090858784890802], [0.24338322516123478, 0.19517117483406088], [0.07521235373061996, 0.5620490981506457], [0.5170098277951969, 0.9032705042778953], [0.5982763223324705, 0.6535706542544488], [0.7484096471718331, 0.5757248721460644], [0.6340209472342632, 0.2770822774898154], [0.2608552478095172, 0.4814378132669599], [0.9645630669616652, 0.5553481514718829], [0.14792506408810246, 0.549999613811674], [0.7138666342359323, 0.1746284634820856], [0.29467582721653396, 0.22326023139880324], [0.139789405909454, 0.7934326941418127], [0.659320297874236, 0.8790768903072247], [0.1834495131853664, 0.15508611220134427], [0.22943327039619776, 0.32721897180894], [0.34831846123402943, 0.7251789782770476], [0.16291960683993434, 0.3750137953857011], [0.8084953569300974, 0.6349308954146072], [0.5700269447669385, 0.16613436387046565], [0.2167218980728315, 0.7933128935107157], [0.7893374983817493, 0.9860234229375715], [0.8481554219273165, 0.5650854648245804], [0.3322746448347471, 0.18678670183344936], [0.40176613994245314, 0.46138256627048524], [0.06872315922849837, 0.10329759281487016], [0.4915501513193119, 0.014072189459987783], [0.0038554346650275795, 0.3449727733066965], [0.41809393343598455, 0.7884276831727705], [0.47398019177585604, 0.1856969179196799], [0.12060494037070646, 0.7878454350289964], [0.0001624022615808185, 0.7313770564365559], [0.9450275204615125, 0.9612441826995841], [0.23193104373154327, 0.7174065680169289], [0.8057982230391815, 0.8513085747463226], [0.2904134224285765, 0.7964661769708671], [0.12759199114914122, 0.6816067606293162], [0.9341827493414802, 0.7358662627839914], [0.685436740812114, 0.2373363049892171], [0.7431011608169609, 0.7405408260433811], [0.4687008265947884, 0.7077208692085688], [0.6247850275131273, 0.3978002828942083], [0.23939733289661036, 0.5730680301464144], [0.9115463000724664, 0.7626662249808354], [0.9130091889642511, 0.9172568534410747], [0.1947621422784096, 0.6817037572810547], [0.2321891075057677, 0.8474621694754904], [0.13318543474336775, 0.38968771683199566], [0.21237767293484777, 0.13471163224121285], [0.17952990104291666, 0.5326205712009857], [0.8605386439810282, 0.8894267954809968], [0.6560430834488188, 0.950321109609783], [0.12132093841116309, 0.9285703135779968], [0.08738227804547094, 0.0833836180747154], [0.736041032401157, 0.9728090351356783], [0.07566537442047705, 0.4424402477370877], [0.37631201687870275, 0.8078677598387701], [0.40678417879867534, 0.48964357642332323], [0.3946621030747238, 0.7647163985871739], [0.7982139822759604, 0.17746980227367626], [0.1041424671620318, 0.47009095305787774], [0.8615038710022477, 0.5586533086411622], [0.08076416849325285, 0.16848141747299583], [0.4671818312922853, 0.6366514758264037], [0.6384817493724225, 0.8207309077439108], [0.4183856456317724, 0.4899052654173869], [0.4645227270593739, 0.9946634574303583], [0.7188482732534444, 0.330419562176138], [0.3211481659694474, 0.7488973393259657], [0.39746689559671333, 0.8560598964146815], [0.4472929640470438, 0.3735635720874727], [0.012230846111211391, 0.22695819454857447], [0.4926959818200801, 0.6385042444578266], [0.16632855083286657, 0.40485642213169726], [0.77400895291835, 0.569917500278208], [0.5719412274159724, 0.16689065948766912], [0.16283025799106288, 0.12157100768518714], [0.23873612507547326, 0.20454585645750278], [0.6605712661263418, 0.1441894400889383], [0.6439497539293944, 0.42093377633333673], [0.836331760538673, 0.22430053107841796], [0.8794293764322635, 0.14357643811555676], [0.7379960571558006, 0.7043592839259566], [0.40218834233211886, 0.4279852399952405], [0.22296836196489678, 0.5705958959529556], [0.48475523632255435, 0.319341770931567], [0.7372847583757476, 0.04423468542893949], [0.06464630708405683, 0.4121502622637382], [0.8073577580088844, 0.9209882463741809], [0.9174796531982096, 0.23255732380602256], [0.7364440805683183, 0.7360934999166223], [0.6371719553935146, 0.716746693357249], [0.8431970616713048, 0.5407708036636145], [0.3222518215968714, 0.1190786470981926], [0.6497779089951438, 0.05397053392539297], [0.32209650257243416, 0.04905907272991217], [0.8207405092436878, 0.6171998492551], [0.7843234098454521, 0.46765536307344635], [0.19471206769047122, 0.14504966101848304], [0.862725208494447, 0.567895287299549], [0.6224500735490166, 0.1281382393627879], [0.12046569968546905, 0.8909702608620056], [0.08357852764469675, 0.5160871334060741], [0.39718236271727914, 0.09019768671220374], [0.8373948561879063, 0.33075089399789237], [0.7340738539256876, 0.7395725554745928], [0.38920548954141054, 0.18672746385559824], [0.019381257559176746, 0.5349744603476249], [0.07488736934773144, 0.9931604199259936], [0.797557745963123, 0.02498236161536227], [0.9722356420599708, 0.7685653556070469], [0.7077275718172016, 0.7180898080739602], [0.5559858238726604, 0.5317835083823114], [0.6368241898155128, 0.231176589494121], [0.8813674050057146, 0.8173629531446623], [0.21386156293715075, 0.33281075290579043], [0.9089905192001267, 0.9568266911400024], [0.49007977088571086, 0.6838478785353781], [0.12396164145732347, 0.7344694377597974], [0.6860713905278423, 0.040763052974270964], [0.972722792290689, 0.051743114743332264], [0.9703899788758881, 0.49275029229261635], [0.08281736912431237, 0.28365608727189173], [0.9353667953571081, 0.6781479791780272], [0.1743959703356336, 0.6664826646048038], [0.3779522725803015, 0.06488645151730932], [0.867693190973508, 0.8682127879193523], [0.03176102421996774, 0.3698955901545201], [0.0749421481024446, 0.5545844947001652], [0.5561141553755671, 0.5065448746516421], [0.9446837453505116, 0.41862346424820185], [0.008302296006025833, 0.5733693438697312], [0.7782732327670552, 0.29499701790546384], [0.20910088395636983, 0.8931260397319822], [0.4739254278975398, 0.7350346885563588], [0.47360151461858513, 0.37601705061194735], [0.36321106127980773, 0.40938956215666156], [0.1628030497314712, 0.71764924209344], [0.9164755478691798, 0.8268653796684757], [0.8572191168619412, 0.15003556579301858], [0.7835287795438276, 0.8840526844536327], [0.5218318376177896, 0.4708519368205444], [0.8661858340818346, 0.853697563045564], [0.24853472924986075, 0.6690166288230542], [0.7359816972184368, 0.8692766116322113], [0.15381415072200422, 0.46023105251143404], [0.17242432389186424, 0.25803226142366664], [0.0519866747909673, 0.0557657718497917], [0.17683699787139295, 0.3638973538528927], [0.5731190924974133, 0.8249403640648754], [0.7997443884866189, 0.343104746485108], [0.523652605919945, 0.24308425346243723], [0.770210475194783, 0.35743092095075235], [0.23332862117110575, 0.7448204744228314], [0.3593815043780374, 0.6605969847804123], [0.7692714604753159, 0.5682330831017538], [0.8593541811889643, 0.6166834873576215], [0.8904340747371592, 0.7493511504567522], [0.8437199501069355, 0.38915865355433465], [0.06796558023192689, 0.5661911347660218], [0.08856082878110372, 0.7935621653979194], [0.9257118646530023, 0.47602167094520986], [0.6659590177280253, 0.2128655518705065], [0.24712292076747155, 0.9348881836189399], [0.036982388181370784, 0.18022480220333736], [0.7340763632012323, 0.20606402220042064], [0.1674535945773188, 0.890672579752234], [0.24236856631430526, 0.7914618420243859], [0.7266600740117531, 0.9755017957494219], [0.5611630169530978, 0.24438603090457833], [0.1669791973608571, 0.19042317704258382], [0.47614385468027676, 0.49242300946777406], [0.6034602714247157, 0.877826138288282], [0.5878825108768096, 0.2460327031301337], [0.8627934462339488, 0.33132306892568586], [0.953404557427706, 0.36280929780917326], [0.7665653750173667, 0.2550864224035393], [0.6380237511664186, 0.43024047883082495], [0.8526372499989721, 0.258804752280835], [0.04882783994065654, 0.8571479760413215], [0.6907207018327953, 0.6835988448181819], [0.5989330231443091, 0.39933805027243274], [0.8012165240412116, 0.9181925492884857], [0.11854983101125749, 0.2117201692701236], [0.08500565767335155, 0.9288288362933923], [0.5319878988142187, 0.5478249238429558], [0.9768896926596754, 0.8356162129090863], [0.345071181736324, 0.5301229722291062], [0.4178118370081635, 0.7978879783264873], [0.3674507076709095, 0.720708923657002], [0.17406682629076342, 0.8146001308943205], [0.15957106239158614, 0.1838757726977811], [0.8822790846759665, 0.6741272945378003], [0.8473700481278078, 0.3276767487572775], [0.47523808913235344, 0.9758322650864906], [0.3384832796056464, 0.99277337088598], [0.5181399131179399, 0.46436807454134266], [0.40648846292248597, 0.7192129004794378], [0.1952649026085702, 0.8199509633788494], [0.5423275803145053, 0.7073203187098199], [0.23547779795672463, 0.12347345832703882], [0.9618237252718715, 0.5775788192807932], [0.19944861094853017, 0.158943050218335], [0.6933969342075844, 0.9690273341714717], [0.12204981023528405, 0.14668176651728393], [0.22495786571100795, 0.4206070508364832], [0.607033211811398, 0.7069134579176396], [0.6517277066284796, 0.16805493758722323], [0.6586642240428986, 0.42794955176962435], [0.1759681703332825, 0.7560194265772817], [0.5261708075259123, 0.11360842155362394], [0.8434250330946451, 0.9817043430830025], [0.5350625311124613, 0.9222573588185541], [0.13282893926190376, 0.00882306260050314], [0.035814380364111664, 0.2796812492370594], [0.24681101278310447, 0.9642405742260672], [0.47297593906599367, 0.970117297116115], [0.8833160141141502, 0.4709636838374478], [0.1511274655728151, 0.608398168721186], [0.7267276123321623, 0.4635544052835461], [0.849442657413078, 0.8376379740325222], [0.9409329517245996, 0.8489928823994104], [0.2141078623339726, 0.9617379995528534], [0.3637618775119813, 0.297294924603267], [0.89897634546018, 0.5417262694851896], [0.027457850405030793, 0.38400462540668157], [0.8583020107444432, 0.7370185068238536], [0.2754354107092447, 0.25883348085193136], [0.21891489333889036, 0.7265630784654359], [0.4232204673760863, 0.8332159555304702], [0.635528497420602, 0.9605071910031092], [0.8583953392829735, 0.7587626265830281], [0.3504742950858124, 0.4919668031474509], [0.7099046322387473, 0.7083679485494011], [0.053907089776903616, 0.9331330105077489], [0.46657255320914903, 0.7322136341477563], [0.6290363297208408, 0.2614828385993859], [0.64553695697434, 0.891715256509225], [0.03498447396984128, 0.04103669411701194], [0.6221018846670315, 0.7909154080440788], [0.23597035394242005, 0.219523860155308], [0.3402820862324669, 0.731782311630015], [0.03352319263581782, 0.4547837741455102], [0.8575304215751096, 0.4417918068153325], [0.6564079580608955, 0.9680636284544328], [0.9051394697253266, 0.28057606700077853], [0.28984824065763093, 0.5047820458273704], [0.8209173522032753, 0.8761752494821692], [0.13824567624572337, 0.8509196581951911], [0.0390905171781023, 0.9494313524571043], [0.4978652056992212, 0.16934286136271626], [0.6196476744152952, 0.5387503597945676], [0.45672114543778086, 0.24960754951712127], [0.24290321935588255, 0.1332738319907587], [0.5143854546024043, 0.281083252404537], [0.8586625825847666, 0.43340938488692227], [0.7968314541614209, 0.8057321340205675], [0.7669717547332541, 0.3504399600426096], [0.0013610702331029456, 0.6840504532940116], [0.4551383225948027, 0.729964561570884], [0.5226819204485936, 0.3741720012794748], [0.6777285753683863, 0.4831426039148229], [0.9715465074925751, 0.8995971636970043], [0.710806742982261, 0.6456826484848321], [0.418136780235728, 0.42332567830079215], [0.6088065910544378, 0.7392315288226426], [0.4040455021517382, 0.4403371493193109], [0.8780327948850448, 0.5238604175746793], [0.18527412745886818, 0.12429804950245948], [0.19269486892168708, 0.7805062078919984], [0.8064452092026321, 0.6620919824498452], [0.3294220344804859, 0.5398056205981496], [0.5223706684431146, 0.8459218615608486], [0.2750855021404439, 0.1945090466660745], [0.6301746744139188, 0.02234197827688833], [0.3094297511129005, 0.5086134103359913], [0.025951342981197834, 0.2920305053053809], [0.47802511246067025, 0.5278225340513639], [0.9002028153670535, 0.513810359224919], [0.5750192802437534, 0.22326115316532502], [0.4370439513787181, 0.8346207755862532], [0.7489072501471887, 0.442277607310139], [0.46286485705336566, 0.39694686948524593], [0.25480526295301154, 0.3688850577989836], [0.2990321460856086, 0.6964713215809756], [0.38312032280720487, 0.48073874460008104], [0.38211144064575275, 0.33404212345596573], [0.3248696602573118, 0.9063698866994109], [0.796203203792379, 0.4898270382733577], [0.4732127446656268, 0.8693843237939193], [0.03436929922120613, 0.9179745036045731], [0.16976803487099856, 0.8005199265401604], [0.19826415501800176, 0.39279195577452364], [0.06440929911933924, 0.1581765470825609], [0.8144829559946023, 0.35000022763725214], [0.7653538609415653, 0.6327004773904613], [0.12435546328286418, 0.676571338402961], [0.1889933291965239, 0.2257405829931325], [0.8104211232588547, 0.9651721244930955], [0.026665040156809372, 0.9879551170776457], [0.955018090698455, 0.4566469576342814], [0.6756118850897919, 0.10706853620532808], [0.26631420452054033, 0.3528773849977571], [0.29399005061263506, 0.3992575956765765], [0.5413845082990143, 0.11606506297075814], [0.46196220897475226, 0.8765257916021075], [0.19033409687672065, 0.03442853038445959], [0.5043495834253572, 0.8591265200722685], [0.3565584642788526, 0.11726605520763866], [0.013409734931088324, 0.08038729014948187], [0.19319318901253957, 0.6865522968041144], [0.19286057701225812, 0.687044857597104], [0.719690354261301, 0.7208476236276589], [0.01911012880843843, 0.4943203539289154], [0.6993372685124406, 0.8758914339471601], [0.3952204267885955, 0.41730748442416743], [0.17391179998797535, 0.35565527955057497], [0.6213573388482849, 0.1738922700876253], [0.5641852523394923, 0.7036237790966166], [0.20383597000377662, 0.9774197476075365], [0.34126883953657283, 0.2973252452852102], [0.30637790768116335, 0.15972079608798218], [0.2899756791072643, 0.6913116919344373], [0.8133440729230226, 0.9206989791105419], [0.3660118852894335, 0.7891981910155523], [0.9185290546933946, 0.6951287444314763], [0.19177251854993804, 0.41965580820189474], [0.8874393823516131, 0.14479272374050922], [0.9750634195986488, 0.5889155922347538], [0.5650488359553294, 0.9673071417221837], [0.7932075318090243, 0.4218423635787193], [0.8747225373943285, 0.15057769296043322], [0.0417848838121585, 0.9992116250005458], [0.19561873500703852, 0.03603855644936527], [0.8175608143513563, 0.682389902598129], [0.8857164737199769, 0.40377922075594963], [0.8876983048549578, 0.9576447611414289], [0.23960015357131403, 0.2746917890323791], [0.0858860330150345, 0.012323141421884176], [0.4261813292173283, 0.07369001507013939], [0.0766038312202777, 0.5292923016821772], [0.49520539811157405, 0.23738392675227804], [0.040274042284871525, 0.4345099581805977], [0.40936628428902266, 0.8336820510252262], [0.3501583211182536, 0.5869052232017915], [0.4828584465696877, 0.7632321031693295], [0.5850179398746849, 0.1492898130325797], [0.22429929539335913, 0.22877436563822562], [0.8819029101724688, 0.23657508031428887], [0.7141404911705019, 0.047966785050755134], [0.5161781282205842, 0.2023988326559122], [0.9013201122695276, 0.7857735984882134], [0.91774155939768, 0.998647797570488], [0.45105387521426976, 0.5112979394295781], [0.5379557824326007, 0.4653379413841733], [0.11171615805037582, 0.5678056460975026], [0.6522873531683917, 0.039949379646655236], [0.25990412284934816, 0.3631602999243515], [0.009523780501434098, 0.9658880231701146], [0.17331901947782768, 0.3167173008115527], [0.17993617033561948, 0.7281009861200498], [0.4709591681361479, 0.24487728019936894], [0.1951695649453571, 0.5385227582064798], [0.47143192062163375, 0.42215329644792665], [0.688827728799767, 0.5388005192295386], [0.2069969510412879, 0.03391635328631848], [0.9421141013600711, 0.1777693271282641], [0.6018315557969622, 0.3643849191051003], [0.33396240086675655, 0.5043911804222475], [0.9160388653333156, 0.009215202475781337], [0.5633338653294439, 0.8449589695167524], [0.19130756419927353, 0.34210023374258247], [0.005797858234470876, 0.38237834774595736], [0.6022964960825226, 0.17706629871780633], [0.028497388640233323, 0.5218092817271993], [0.8945381488204136, 0.7605092177956576], [0.5211168545107964, 0.8582751452790521], [0.9860102621082977, 0.36313591622285823], [0.9731977858131258, 0.48460882823865736], [0.19110372601004677, 0.03599787855674674], [0.12011520277921606, 0.5936826985810068], [0.8295723078955279, 0.8263046380053004], [0.13481605539888997, 0.3112756410508065], [0.7542946992928677, 0.26647207403773476], [0.250812290908501, 0.9415369660754473], [0.2988886868577503, 0.34782696617960185], [0.7941250947944748, 0.8090596134460795], [0.9482146869659298, 0.507467807631495], [0.038271203311341706, 0.2533940948691832], [0.1672991073167801, 0.6144452577030816], [0.8198288511124032, 0.4238466451202628], [0.4924775908628807, 0.580368921139002], [0.07994118696338381, 0.3456848972319486], [0.5641984030040145, 0.6384067841806599], [0.9378549707663691, 0.3662707505008366], [0.12600788940563634, 0.6082635779878678], [0.9510020454464057, 0.9105934002218984], [0.4578782144629844, 0.6728250056195286], [0.0840675443460378, 0.16377803630044385], [0.6133330807096724, 0.6291505517110401], [0.028094508635017945, 0.07903080898734494], [0.4551817373100364, 0.9927342683079211], [0.875089446378875, 0.15712532664338497], [0.4363503039082881, 0.22874635595781245], [0.9347281850396154, 0.8622941869139823], [0.21328462796068748, 0.7635038522962913], [0.1543316724550965, 0.10509285625266462], [0.013679606811050626, 0.4039809968808262], [0.26191162814299185, 0.22161533035266945], [0.35037706450114103, 0.36479909865301674], [0.5847196334768179, 0.907013412377559], [0.7227086917917145, 0.25015809291229396], [0.12810606698858185, 0.34834210039796343], [0.06555433696553992, 0.6537938641156003], [0.28310125615492265, 0.004347156550919884], [0.37692677863211166, 0.967505209806454], [0.5056084406820801, 0.8000501515616913], [0.20805535781155626, 0.4511170809315824], [0.9947284311693451, 0.601888284364168], [0.9920910659983656, 0.3054124642829761], [0.5823759425026316, 0.24776858821485037], [0.06967192704755276, 0.9237065408783259], [0.630241310391642, 0.8101502045788862], [0.051623666224102416, 0.3948036129310116], [0.9190724659924561, 0.28458999924772654], [0.05690858292976786, 0.27176286261314975], [0.4467073946509067, 0.5434979230311159], [0.35469447520481356, 0.19329079903419943], [0.7386260284596844, 0.29614062326000323], [0.8023671247139832, 0.3974120821934056], [0.4784871641538121, 0.7562498566313726], [0.2756411032214543, 0.31625439068090133], [0.7047525307681203, 0.8880385682972446], [0.2832069349078409, 0.6400517917529398], [0.9664586886755919, 0.3198318754403261], [0.9600804302546492, 0.6623333762633439], [0.20189799415732168, 0.26468109887135205], [0.6097514499135583, 0.7173429256924644], [0.13322554380572316, 0.9451045994520748], [0.9122540625674944, 0.669645791516165], [0.7295605897205535, 0.02347310923769219], [0.7861549379870435, 0.7724112857605507], [0.5629740493024638, 0.28848227310691155], [0.2863930832662448, 0.33052723419821484], [0.34547739981113523, 0.9445442432991046], [0.7040942802632142, 0.6913888548339696], [0.4700189489388338, 0.9070782739275544], [0.9894714602610645, 0.7013378249004849], [0.03626673920518353, 0.7506694229362355], [0.1702835433774148, 0.7634466019172206], [0.05458469630276308, 0.6501374187941078], [0.4963922854413305, 0.4122795321637234], [0.3129208242396352, 0.8154432060782248], [0.6250230853436894, 0.5828473166852527], [0.6546707303476241, 0.9743737927040335], [0.1489572325077324, 0.8918056002460084], [0.18397114358835964, 0.7319039710449624], [0.5430493411674432, 0.25849753878365267], [0.223229094623574, 0.9683580343874636], [0.47881303362510574, 0.7083233529156651], [0.9612982855434544, 0.10762491090701098], [0.08219809257612842, 0.3183709618657624], [0.979956419066069, 0.7600727668901154], [0.2598377643013201, 0.6576998014378191], [0.6893455708234597, 0.6319454861281874], [0.2765501765471341, 0.26487571835551393], [0.3484868422330959, 0.041136337893942554], [0.30067057782046747, 0.5623407609747636], [0.43212570812770457, 0.3973722389365303], [0.9053756439732367, 0.4628788718770057], [0.6845974455854328, 0.6042581130950094], [0.9783484246671554, 0.8758303482105567], [0.11899129775997652, 0.7538882094329967], [0.5050837655585682, 0.7775942457978435], [0.9596723240052355, 0.29055115971523093], [0.9588091201194767, 0.691225554785656], [0.22676487046287452, 0.3723565287567244], [0.042652986297449846, 0.7235350001985817], [0.7657942048765263, 0.0463368218511917], [0.019336510516288596, 0.7782461878039153], [0.8729507369972157, 0.2545474324686169], [0.7831758560308468, 0.5025092959816282], [0.011384626673832221, 0.48963316245292254], [0.31273646370649055, 0.14389553684359613], [0.0007059042611067268, 0.26994072249613255], [0.9101371130272955, 0.731942454641614], [0.5298012794317032, 0.708916878389963], [0.046804742683660416, 0.4885884558004312], [0.2194360125178989, 0.6423587312734831], [0.3327001942620581, 0.1485953072551912], [0.6267074471704007, 0.8973471848424994], [0.7376558600265468, 0.4545903153495927], [0.22701834594187986, 0.25445606007036725], [0.8842399913217164, 0.9754414394034706], [0.49165824556066695, 0.02076717254595628], [0.5857420229484136, 0.4955197446148598], [0.5349814195726601, 0.9888365532567083], [0.49575060022938877, 0.894597745436379], [0.3771875248800556, 0.6511873124913841], [0.4155462616998954, 0.8874268777515886], [0.05213122409703708, 0.09722976232997427], [0.20639944926351317, 0.12300547362870162], [0.9436438498364415, 0.41913445278445693], [0.18547766370055863, 0.14636858581999812], [0.977458096153315, 0.5403657969183355], [0.10944833102658302, 0.7303451632236134], [0.6846563344906548, 0.715997842080843], [0.5837970192420636, 0.20505598031355432], [0.24556045050469055, 0.5310560355232465], [0.28628631681685024, 0.4831706643999393], [0.7697359572353821, 0.40084057243311066], [0.25662394846597225, 0.02077022965011055], [0.026767322041098107, 0.6305422602334463], [0.2513227666890384, 0.8872464491334393], [0.0856133885986472, 0.4650966227206498], [0.4395827587466815, 0.0723192968225076], [0.5519722253477234, 0.8323656630341951], [0.13286126034510926, 0.05382643177880375], [0.2761902835103125, 0.896164235009228], [0.199301147997049, 0.6158544798317456], [0.7657690458184673, 0.23842275985436479], [0.41356374192470224, 0.35041800246658183], [0.4697169783707662, 0.9959075076619064], [0.5369666498780353, 0.7577799022304988], [0.28878234769590994, 0.6059525588898775], [0.13136395744451446, 0.8942830232295718], [0.43333332751669373, 0.2320653223582625], [0.09558764374555284, 0.43135342361430273], [0.7065923180852616, 0.35138520958105035], [0.30573689317589803, 0.2767900802435501], [0.808520590343282, 0.13760374835065536], [0.46585546567579694, 0.9199683490431678], [0.16928079537827256, 0.6105440432698962], [0.7053643812417693, 0.06310828972888083], [0.09507138523889735, 0.052488028622041494], [0.8209560944989264, 0.02313363941464075], [0.9224395103216557, 0.4314979326097631], [0.6819069244281837, 0.842550610127836], [0.9583742795589416, 0.9635856832025032], [0.5567399352149435, 0.588446604150657], [0.9424014295559939, 0.5641279418272247], [0.9249769865956096, 0.038739047217365874], [0.6120759728224825, 0.9559877141843167], [0.7727807659570799, 0.8665496156615278], [0.5641631000369819, 0.8440942560321915], [0.2821150222059523, 0.7385874357392519], [0.21289798566392515, 0.43820442235994683], [0.05655686315055819, 0.9350659572902331], [0.7215052981011125, 0.9008095362000426], [0.7235715224365417, 0.13038548398178862], [0.9511925995722544, 0.07672287674481992], [0.45811050027211675, 0.3828386818331265], [0.596642492459776, 0.949189625097164], [0.14376565351903792, 0.2796473601698394], [0.5440156602485775, 0.4494981515152705], [0.6584762215296864, 0.2342069759020724], [0.6415724827113872, 0.11963052328602619], [0.0993309643814837, 0.8022314084026488], [0.6549947124536475, 0.3591126009365564], [0.8113495633565149, 0.9623756501626128], [0.8474616411477754, 0.28113340359263383], [0.5043271544183537, 0.13206618945026305], [0.7901311603670633, 0.9256747049199318], [0.886708269240067, 0.8845292135110174], [0.8143111880954912, 0.8969086464908993], [0.786988640992517, 0.9810452974461357], [0.28027910749649465, 0.09499620455444169], [0.8326119118167359, 0.8386589837797728], [0.9985254617378814, 0.023128710809432018], [0.9655735247822834, 0.4285835326523737], [0.7719073078351953, 0.7531655142640038], [0.7438229199359172, 0.10325773878450284], [0.421692647445859, 0.4233682088119636], [0.04277475876505166, 0.8515457352304369], [0.8952306623992349, 0.9233907312214801], [0.0436528033268756, 0.14047349634374418], [0.7790486245002746, 0.020225672287247254], [0.6311089393684599, 0.769711603303564], [0.709915189264241, 0.6832258424804202], [0.8476204565019788, 0.23448811845865158], [0.9200047510041777, 0.9800465532194396], [0.06249137232304236, 0.6203944791313307], [0.20671105937502177, 0.4784600822836367], [0.7508010608869461, 0.45972821620197635], [0.9964012990406357, 0.5483362904125625], [0.5462329227691957, 0.31482160144449145], [0.8847212606486915, 0.2294577803725767], [0.6391130267601383, 0.15485766195399386], [0.5556955274194908, 0.8113089595472567], [0.27585407501531745, 0.43438155379957233], [0.8376033571668571, 0.0739904370027723], [0.0405814225169463, 0.09016244965141806], [0.37947553281541846, 0.5895555279629043], [0.4178848281283465, 0.0376634643478847], [0.06909623662322228, 0.012378269385614593], [0.5088461394573538, 0.1101658509185125], [0.9848950252362962, 0.5100444910684812], [0.2346722670453768, 0.509647364241311], [0.32403862666801964, 0.10683648061906148], [0.7494831865658945, 0.47594586138773154], [0.46113103169635095, 0.7045217724485282], [0.27301464080037763, 0.3417429606209478], [0.24879344802583392, 0.6221204328521511], [0.21066149960502678, 0.18944717465181604], [0.40803852718274025, 0.49455093038023934], [0.3300532092441596, 0.570019463522003], [0.7278405541159801, 0.322534783976144], [0.5337364859760452, 0.6746380745584384], [0.21972341215246471, 0.740537154204608], [0.006671371459591291, 0.6484557727853544], [0.26684482695238465, 0.9687973045749588], [0.36488520009026126, 0.054902473572770116], [0.056513566382531466, 0.9262296247867939], [0.20274196058405936, 0.3708790757006941], [0.09012307960484933, 0.2572773201026759], [0.7481388503678555, 0.6450145198549482], [0.9728933702781234, 0.856552498251259], [0.21204819173760125, 0.9402750842197823], [0.5016277093399047, 0.9003430885088136], [0.10093958178878903, 0.10944808976257236], [0.8050532439413366, 0.37452190891177584], [0.12169024138550333, 0.4801686877742072], [0.6505989438712036, 0.803572785112101], [0.9263904544187544, 0.812821823710508], [0.8887881208289153, 0.745718542932153], [0.46795810169804364, 0.7880539598721685], [0.09684528904072975, 0.3031119691208809], [0.9031826088368426, 0.2771536450241374], [0.22433161626942488, 0.201219747973732], [0.02386629239268756, 0.8624891409743672], [0.15059647361709627, 0.18942675466933478], [0.24054483822743034, 0.1695501093709051], [0.9454985824326622, 0.766180779039458], [0.03989567419565221, 0.8675770799949765], [0.7769586846413138, 0.19351644508865407], [0.9393445978524991, 0.2647841925242217], [0.35046887792463743, 0.041716046188495004], [0.3403562416035456, 0.4178224896423224], [0.6927279219905431, 0.8333194750051657], [0.32270477995641655, 0.7080374064823726], [0.7513472946558231, 0.42380096010238577], [0.4516925978836467, 0.9959652810100775], [0.47710505276757054, 0.9836061589789136], [0.7784693476111031, 0.16107325674748685], [0.945844505662867, 0.8361995501523], [0.202110868339325, 0.2368021334427458], [0.056956901859418596, 0.6078153645759822], [0.06590749619169933, 0.3950009283453533], [0.16882366346761857, 0.6420883869104608], [0.5389391770704448, 0.519828816328107], [0.5742758195830175, 0.23689710295918975], [0.2094428165746811, 0.8556115741230262], [0.7465657989563979, 0.7415958626286798], [0.27274783299496597, 0.8394190424336356], [0.7431784449242316, 0.11274641958707965], [0.6094354664819185, 0.20124154711897224], [0.28391161227186457, 0.7072115343139042], [0.20821854344396684, 0.5388836125187209], [0.8314776135788399, 0.6390300075315465], [0.9308807850741742, 0.4579689365645887], [0.5508135235438261, 0.6452803787925823], [0.30779869757280054, 0.07963930032842215], [0.5674006447888466, 0.607979169942189], [0.38449356745212393, 0.24331113600282606], [0.5146098557632587, 0.7040721184924293], [0.3130248491461618, 0.16344730803961116], [0.48951950955448886, 0.9837982207552065], [0.728713353371077, 0.11079359482109807], [0.5402324427226622, 0.40048754225145367], [0.5417490087152829, 0.8111615954973169], [0.69450240174196, 0.7101213566093756], [0.16308413200237593, 0.7934829563653153], [0.9867415532520457, 0.4607786093024512], [0.8475580164659786, 0.8609657382984856], [0.8988046678035951, 0.4309236401243032], [0.025216705853575494, 0.9323887441981871], [0.9546425008231554, 0.7226170380213872], [0.7646132394064823, 0.5855893468585865], [0.9415671924962907, 0.7096701623175442], [0.08232699296759727, 0.5757600079087332], [0.2987753478359939, 0.7669096595500707], [0.5637804134146656, 0.7958204904605317], [0.9605889587264411, 0.18173279271352316], [0.6214178155997792, 0.9703414231769857], [0.8057598630519061, 0.5892096168067373], [0.21310851611182302, 0.990071869788976], [0.7504180523587153, 0.8763646940695387], [0.9610760464915541, 0.3001226377088343], [0.7524019232990649, 0.7804559359150537], [0.7197567258733478, 0.9087354649295235], [0.48454301687068824, 0.959092980575136], [0.2682871821490609, 0.9966685312971486], [0.7936265198287618, 0.857404566100159], [0.04020410009041142, 0.6426846639084496], [0.47140661839259, 0.9291629367467863], [0.5598564298429973, 0.3709881565998141], [0.6526070863403369, 0.38666862658471013], [0.22217433303012002, 0.3657212401772363], [0.9120050006182302, 0.38064305145985267], [0.6144732175448367, 0.6332489416975486], [0.48083874967960194, 0.06252038518093117], [0.7060966152909557, 0.13026691727333395], [0.7384589596482821, 0.7072401474902941], [0.996982595706211, 0.22938924663947535], [0.871773715617567, 0.9002639696173688], [0.3470805500057603, 0.914599524968052], [0.6599873874279579, 0.8405983968907997], [0.13161475935963485, 0.46193605062766985], [0.9609217175778885, 0.3984128413364799], [0.4780860076967002, 0.6719593293074073], [0.2336990317181067, 0.05346983121197979], [0.3922660802091983, 0.9387638654612261], [0.6441004271300169, 0.17599722133239726], [0.2680311153533689, 0.5882372289691041], [0.39655180617350083, 0.6952477329241115], [0.8090248360324771, 0.34965795420405454], [0.9524278020064229, 0.6011273321279821], [0.779747993014928, 0.3120785576908711], [0.2914612614859947, 0.9782297277200124], [0.9698236813340734, 0.5802331421734104], [0.8911506570425517, 0.04125685614616159], [0.3238246073840121, 0.3990176797656597], [0.6162420195388547, 0.8219309285473434], [0.5734203822008186, 0.9378226061595047], [0.67943926453959, 0.3127869714362964], [0.3505794340463906, 0.9841401431028851], [0.5583992506771976, 0.7349097631635418], [0.91215534927532, 0.9397784860797361], [0.23457682979827932, 0.28805785818551555], [0.2864280100120651, 0.9755775306124311], [0.8111804315741442, 0.658864907737826], [0.6546587604684774, 0.081217935826153], [0.49209871112605796, 0.18443880471938567], [0.7380589222633963, 0.13226012372565243], [0.4141158574539958, 0.7486252794348053], [0.9381311932975932, 0.5387871331369033], [0.9678467092385219, 0.5892770595155682], [0.22479892826531267, 0.3476822675487431], [0.3777349393469921, 0.823836434962518], [0.6715219226047666, 0.33059540839245505], [0.8185104251588025, 0.16519833462584776], [0.46144704304906636, 0.0754091141570461], [0.06052878996781219, 0.8904907633345307], [0.3255182305807989, 0.8033397153451738], [0.6146880385185856, 0.6111481904144535], [0.2439671298634608, 0.9389169756568523], [0.1540373588087517, 0.7238517149146078], [0.5571885332888198, 0.34574974281860715], [0.21395214525505335, 0.4254286418977542], [0.26397511566594933, 0.9898900396321797], [0.037512945689116894, 0.5468932784898026], [0.16515152996713534, 0.9262167677360857], [0.22573857925905993, 0.3492707920019945], [0.001124049544166894, 0.28425132769561023], [0.6215501057248575, 0.9905290924860984], [0.35778375016856134, 0.30762160195886434], [0.3877313919705937, 0.9607678632700994], [0.9573902889626814, 0.32262996292515744], [0.45425487691397826, 0.07870622482237721], [0.5238952973529264, 0.8597029821943247], [0.08078181991949063, 0.4479477393731789], [0.9936619501263215, 0.9512021400488111], [0.49259639038114533, 0.08277393471106154], [0.6506235936129104, 0.6950123816594745], [0.5484700565221481, 0.8843743088340149], [0.4892765185252629, 0.5755325287882362], [0.14284372580454752, 0.5918263816944515], [0.26294084504362647, 0.5122305637435137], [0.10662776941468088, 0.21330831671867523], [0.938130082873547, 0.7673130531906999], [0.8289349885685099, 0.5519543557082376], [0.9269133431358906, 0.3198278094782325], [0.7738822344354679, 0.24779719982298098], [0.8570194432695046, 0.9286662273238985], [0.8668870886908344, 0.6621852428495602], [0.9461838136351914, 0.36932312687074687], [0.7002649065712095, 0.22449935769985707], [0.004166037926131572, 0.2581304157348657], [0.5431120487633204, 0.9247777123826413], [0.7744591393031767, 0.13805459791277586], [0.2758271695643527, 0.01827565386267893], [0.6483928028788304, 0.3292919479764528], [0.009458574507625439, 0.36972337111715736], [0.01028017832751238, 0.32688209055010875], [0.1465727881486244, 0.43494405006914016], [0.9530395117876147, 0.23832150558177845], [0.9549259631008729, 0.9681617262649267], [0.30901573855058817, 0.914422342139791], [0.9875644237068968, 0.33052089357071457], [0.35404763919097837, 0.8597972027254294], [0.29188443555989685, 0.47953058365969325], [0.7429676838991175, 0.16975479180640785], [0.18159655763548221, 0.7734000934379375], [0.5880096797998267, 0.34421206222732736], [0.3748356587710925, 0.7951461395799635], [0.6283331248655945, 0.6200321911877182], [0.743309511912714, 0.22578769392976117], [0.05905545738926821, 0.1931518449147811], [0.5364151971901966, 0.6982941447530925], [0.4150604836412346, 0.9188091686501195], [0.8389599985778918, 0.32724125928295855], [0.6303402517966022, 0.806427773056326], [0.16520587876502002, 0.501098456705621], [0.5438294414200526, 0.9369852662425084], [0.25059029747900174, 0.14744344094337059], [0.7705882972598489, 0.9231237041681626], [0.1077897946089541, 0.7487667525585282], [0.39438008780160716, 0.013930809959791457], [0.3444548600179129, 0.4643109415004222], [0.6657058447696732, 0.7604837862518371], [0.2682072219031667, 0.3277203435115179], [0.9287348472477048, 0.765277032406345], [0.6763295347627756, 0.7091125230801539], [0.34480629984850564, 0.07419708837978267], [0.35472504789272374, 0.8589624997046451], [0.9896405537027316, 0.127542731862353], [0.7879622309060931, 0.5275684867819941], [0.12117197017390835, 0.2343499285131585], [0.6658478299205035, 0.5226631763070276], [0.16295203605413655, 0.29744415932840185], [0.698065040667325, 0.18431645967248744], [0.6046567486435389, 0.8052860770420436], [0.7716982517760514, 0.5493759209748245], [0.23202455818261736, 0.8217784766816701], [0.5450607030390103, 0.7042902370949402], [0.7530390405850376, 0.26079583531977035], [0.8427907211337204, 0.37137598249449266], [0.8717173723844122, 0.19212695393103152], [0.9185621283817711, 0.9141901337112875], [0.5062320213569155, 0.8251051430593452], [0.055534659858974655, 0.15451305716401675], [0.37030508217574987, 0.5148557743190778], [0.7568592523745621, 0.5133723440980072], [0.339987552401818, 0.5774259697930698], [0.5316622810223056, 0.3937847206389965], [0.5360850438581178, 0.14639845138878194], [0.21915602264690492, 0.35897991843123656], [0.22836648190823317, 0.6716883598662667], [0.9213834646774599, 0.780864427374681], [0.3043652298066122, 0.7030798293391533], [0.5371972064073983, 0.7619704199186254], [0.7431900016760036, 0.3919519801798126], [0.6546587046180217, 0.8453474176875571], [0.9708925300311098, 0.8423026890001838], [0.4510922268481551, 0.31002246684033563], [0.9164533247875506, 0.039352609690924245], [0.5482963900603365, 0.740568687524885], [0.3256456041449719, 0.13575857110081735], [0.21901625125577262, 0.9108436564847894], [0.31334318010352835, 0.5390978436404062], [0.3656095896592133, 0.8459306650212286], [0.2975293636046161, 0.9143110805802435], [0.4585482084731395, 0.5598315165063497], [0.7070562645941011, 0.386933166434005], [0.5157609086259664, 0.770606598208645], [0.7932657950673481, 0.4453450760923775], [0.49871654834492474, 0.9786172113340983], [0.22407306684094408, 0.6981880517824726], [0.646441756381739, 0.8233485503209858], [0.1402035934185616, 0.5854363930443396], [0.9567192055449966, 0.3356512579857809], [0.015364693645071759, 0.18926414617328324], [0.6695649918347273, 0.10385858736748477], [0.8034749525124598, 0.9338940096636767], [0.4294633576269625, 0.705658033849443], [0.5998685223178557, 0.7077752244732892], [0.7991814873565091, 0.4371846437868171], [0.9354502848934966, 0.253743336955525], [0.13637742111997198, 0.7072370080770468], [0.3982254328591104, 0.4545656029616826], [0.8812159719445914, 0.317757117103179], [0.22638535817461491, 0.6959712303706882], [0.8825371990977275, 0.1744327362417234], [0.9957693258215125, 0.16289622290224992], [0.46973668624485077, 0.8110194694629296], [0.10420564230262086, 0.4857357235059442], [0.6426682949720288, 0.39161159646439303], [0.9815022883464707, 0.5862433168123262], [0.7632024195343051, 0.1459906063469858], [0.9972351919558777, 0.01718732344816054], [0.24800010223879598, 0.7919053177270337], [0.6375001927241711, 0.7683255477304318], [0.4229324754835322, 0.8236962031325196], [0.8277416800695884, 0.45863547239887215], [0.487269902842297, 0.42927954473266094], [0.8824156379115351, 0.7273498924268335], [0.8755239675257778, 0.08874803757915373], [0.08820979070115409, 0.012490586382999602], [0.9648324474436497, 0.854431159565129], [0.21810235124720112, 0.9864435062112874], [0.9790959869522368, 0.03859912347900396], [0.11750916709170023, 0.7169825056793765], [0.5691518932411171, 0.5919033982225236], [0.8900258028992029, 0.5108521314397523], [0.014120667682367416, 0.5397158182581278], [0.3453068677898916, 0.49719817543769773], [0.07793584281635335, 0.4994329682325691], [0.44161691418120486, 0.9698163052993909], [0.6506940249576051, 0.2502004393533682], [0.09280860118164214, 0.23102944682186866], [0.012138237922718065, 0.10583781534802095], [0.20972967995430114, 0.1150990914878477], [0.49578169922644055, 0.3835624223370747], [0.7545738623453571, 0.243362046769396], [0.3677368982697661, 0.8603979415637317], [0.4721612716705682, 0.7377573687124743], [0.2547451667679054, 0.4808780756783507], [0.3495581900949424, 0.9751969824176177], [0.4846018088933367, 0.033130927903865626], [0.8775699974113284, 0.4699655056182238], [0.5028455576083654, 0.5470150639887754], [0.6746120645349319, 0.4366051756899034], [0.41222963377122157, 0.4307238875465186], [0.6004728008835403, 0.41131686647421706], [0.5772768144715152, 0.7454462650042961], [0.7397985353866412, 0.907962886883664], [0.9021042507140351, 0.5275377367891112], [0.8733551475113873, 0.34375879823165456], [0.36281820669175124, 0.9040143080901887], [0.6976091314451867, 0.17594844749060345], [0.5001421449316588, 0.2625775997123375], [0.37203515833252065, 0.5436964560958387], [0.6679367847599561, 0.7383531093959514], [0.31051988070356795, 0.25398308467495556], [0.6472744534309868, 0.7613629240490312], [0.2741234859466263, 0.8412152432264698], [0.021642863448167016, 0.7952126747175653], [0.373431385841127, 0.6658825147410442], [0.4288649416071435, 0.9317806851262281], [0.6076344511750229, 0.418784762221055], [0.13608791668693432, 0.03720305575382754], [0.223448891656285, 0.4130453173989881], [0.6838440236979756, 0.9865892881467162], [0.6319185975151543, 0.4522386103196807], [0.3142227424033214, 0.6570269641092688], [0.40794153312933923, 0.17001742800026642], [0.09088188216092785, 0.5259795606122025], [0.6408338282577608, 0.8964798816285741], [0.5079296750450667, 0.06421095371164742], [0.9468093362046458, 0.6380515652381109], [0.7714352143355744, 0.23800852838984177], [0.024515574757407288, 0.34233969823548693], [0.4211941923176147, 0.7474197637350896], [0.9979511916573839, 0.8508246028528129], [0.49167469148191023, 0.2621604806567509], [0.37510048574858723, 0.6014050589248919], [0.1842406074190579, 0.9936852062024494], [0.6197407745495251, 0.5317352788321184], [0.22936609515733974, 0.7104637280201551], [0.4257705206696204, 0.8207905798015654], [0.6002563634301256, 0.013687905099505793], [0.3836899149822818, 0.9256680240669501], [0.39920064573731595, 0.9488343783308664], [0.5476552553943851, 0.1140301780241163], [0.568967556755302, 0.2901029801220225], [0.25732613461266274, 0.39408741188839425], [0.7814443599486415, 0.3498906025041002], [0.4514357321575597, 0.3129833682891522], [0.39454818510827117, 0.8160274640859546], [0.7006806440376345, 0.15470128973312014], [0.7786273464053257, 0.8412676839290273], [0.7564904448729642, 0.4359182790142727], [0.8927241942153528, 0.7052525206785025], [0.6711395790582196, 0.3526488930812224], [0.1427622958002912, 0.03869679723914898], [0.29720994348260654, 0.4554186008370533], [0.7609773174520038, 0.9630817242269388], [0.6798632098083693, 0.011761489709113837], [0.9967922676996026, 0.7466521385885112], [0.72263886741094, 0.21524234523086871], [0.28886093722238004, 0.4235397554042424], [0.7668070114049582, 0.2355089498709373], [0.5931196948042072, 0.4364790922008581], [0.539084299913943, 0.8409696493517175], [0.028424742593199936, 0.4890087880799735], [0.9329950685450328, 0.593805092024914], [0.7438245083876143, 0.8573244657993511], [0.15621842711262846, 0.856982894742824], [0.5867518760731005, 0.2099177064036437], [0.15516783132650003, 0.6039790791485325], [0.5012047037642138, 0.9265849516516924], [0.4427502331627262, 0.4398660977056674], [0.4322121219294247, 0.5825960647416187], [0.5376720669012105, 0.34842266156331436], [0.9074825551087022, 0.09764634605194067], [0.13889356738169034, 0.8483695373858572], [0.30400618774717747, 0.6360642652747583], [0.44813714808218974, 0.6639222583376809], [0.8812784695860879, 0.7055617779284676], [0.6402748449633161, 0.03779913703137705], [0.9933923732143619, 0.19122797310839346], [0.08925596364149113, 0.5522132120218022], [0.6483009683284917, 0.5943832060045763], [0.7372456262645052, 0.7088131388779777], [0.1579582967901868, 0.07077813599211047], [0.06513013344233876, 0.25582263555296114], [0.14736037907146093, 0.31209656669161645], [0.8279626892835209, 0.15861830959579526], [0.13646361361712578, 0.9980773158510187], [0.5540758562899293, 0.8523001433928192], [0.41758905985109795, 0.10637353015359818], [0.0379772554356449, 0.08554827459982361], [0.6110053015999294, 0.762671698888341], [0.87649891562688, 0.6512146555920516], [0.42986039331703674, 0.3705313467495658], [0.357444645123559, 0.07140081334600312], [0.11332177570868884, 0.9052659177615077], [0.6771193802187461, 0.041980582959737056], [0.3809944520385977, 0.9700147238662601], [0.7457570828850467, 0.04334413816435867], [0.30530162911643133, 0.1791077055597844], [0.5783617196970172, 0.6934300199060484], [0.12042888431214616, 0.19855081180911816], [0.976526243787468, 0.48681022806859253], [0.9928422022174914, 0.19394469726618357], [0.22811790727108083, 0.8840605108114574], [0.9453842811715412, 0.5138898178137516], [0.9536753431629096, 0.6736336639673742], [0.7709394276774797, 0.49180571748779756], [0.9698011201732385, 0.30452379773753313], [0.5715658384507314, 0.2985743995821214], [0.5226245830042022, 0.7691934274630399], [0.13051621523063628, 0.973225561534785], [0.22889729927076197, 0.3045647898897902], [0.8479523558227243, 0.4610616883958758], [0.8730638830101649, 0.5055773347056258], [0.5944965759607704, 0.06648499016078857], [0.5031808254488183, 0.8348296813930992], [0.3281538615297839, 0.2472822671388749], [0.07959630090276981, 0.2233489682022739], [0.20101215494448532, 0.8614110964336494], [0.41748922226824847, 0.49742422322052193], [0.9014223861987936, 0.8595315902551597], [0.5805781852520743, 0.8981871255315073], [0.7424224428478091, 0.11169951151744428], [0.6819787579887818, 0.32364953217022974], [0.913770348802405, 0.07521944328257746], [0.23053239138731496, 0.9219597432956577], [0.35910111559477964, 0.972359530656734], [0.6712980331684296, 0.02027327131016654], [0.6382767709565522, 0.9415744977356679], [0.08472712476639521, 0.46277841470731396], [0.40581304433681253, 0.14907712850200183], [0.2541476835617573, 0.03400237286290475], [0.49449398284312385, 0.7542347397737907], [0.2597111638197366, 0.3425414572330814], [0.5814776915440961, 0.89434003957319], [0.774656730815081, 0.3002185707576268], [0.19541796078095464, 0.5497163552952252], [0.8925378009912251, 0.2039577303755944], [0.4596559024318764, 0.30828717419120644], [0.5882645807806421, 0.9464648560637797], [0.603996573894121, 0.6187190335049597], [0.31867513822547244, 0.7014956577690938], [0.7933405216596867, 0.7841569292232243], [0.0364833096822017, 0.039508652382182374], [0.9663378986267703, 0.9036339481404886], [0.7158741180630365, 0.18020020443478746], [0.46302727573212166, 0.9993796979946457], [0.0040246291664787215, 0.030282175665908295], [0.9765372558271329, 0.9046810998254536], [0.37120375667056194, 0.9043439550323579], [0.9154353164500748, 0.6837871200495179], [0.026085772881881963, 0.4006286205301469], [0.6853616879720414, 0.021316310886332346], [0.06450736719490746, 0.9572959429083159], [0.013430601601392755, 0.8780528277694833], [0.19288819990086892, 0.6385657711887152], [0.33464060208692803, 0.22189739480478143], [0.6727592230107909, 0.7973119250399135], [0.3839483869291336, 0.7270644118024513], [0.7188687276223892, 0.6300340868713453], [0.38609164357240655, 0.5083299790729527], [0.7072577486115491, 0.2846454135331097], [0.4553687569330299, 0.6602683523396635], [0.672046145600054, 0.023645048734619256], [0.893056895708829, 0.3306271939514712], [0.6211053240584076, 0.20645154116948283], [0.23210339819179704, 0.06990740827150954], [0.9799888354238767, 0.003095965414876223], [0.5488862401193002, 0.11618401816664536], [0.9528249697398038, 0.5917488767731368], [0.8953130258653477, 0.7064448773700591], [0.8551662673752835, 0.4139410111634625], [0.5526470026002469, 0.47356673602282107], [0.9891388209990348, 0.31011285438090186], [0.44963830186398157, 0.24009007057675258], [0.7468398448324738, 0.22370838976757523], [0.5729782329352212, 0.8554512925048916], [0.8111988858292694, 0.07901261314983632], [0.44706238406802923, 0.4672589388451681], [0.6098185096119311, 0.1532366604653399], [0.4612695481842334, 0.6466975440599572], [0.19939363405832689, 0.7741670248649836], [0.23269345329400737, 0.6842347084392625], [0.015482258780816438, 0.15246284235903307], [0.23508739154956526, 0.023044615361015874], [0.2634786309672701, 0.12017768220558978], [0.8894832192491647, 0.3514921451032891], [0.3258649564658209, 0.8923514694054779], [0.7964869592737216, 0.06680943850425958], [0.42611850262306716, 0.6002817565611114], [0.41540876854301156, 0.46982838262460447], [0.053675426467965415, 0.04290136625727292], [0.7462938265622742, 0.38079552997365795], [0.8887138966786398, 0.028104844381539706], [0.9589468672984346, 0.40572380102125416], [0.24674568099625582, 0.6398262214490068], [0.9620574079146591, 0.4236342261406807], [0.11161929072414034, 0.8982416297308244], [0.3321351786293245, 0.9861151185830879], [0.7329152589300255, 0.11613923270609716], [0.7944780702706429, 0.9269644238297288], [0.6953469138975593, 0.7637634383431059], [0.33647809204917745, 0.6180344589745433], [0.572659456642183, 0.754676134275683], [0.7358246488340434, 0.784587307092628], [0.9197187900336902, 0.8673042549663366], [0.2427818343638365, 0.9187702509681925], [0.4861711494953904, 0.4268798626896654], [0.9330265882261255, 0.607946018710999], [0.06351461783178802, 0.1668256670728615], [0.6692501638036994, 0.5747544238415784], [0.8066398366356411, 0.7022360435435951], [0.9888022937500649, 0.3203693122768141], [0.8523844447445943, 0.5448276217575316], [0.5824452847469882, 0.2153235561347202], [0.7137001572982059, 0.3604922631851968], [0.8869071057336227, 0.5175024407468551], [0.9359225124233259, 0.9074090032509027], [0.6435822111783287, 0.8112200201008419], [0.26468215788092375, 0.8321387711435089], [0.3766768956662554, 0.3274789095428592], [0.9696883460040813, 0.3605544036564764], [0.12314960470112124, 0.5071645987349235], [0.5055522340994901, 0.4440625847643417], [0.49012281484028253, 0.6185101129428998], [0.14861328126570228, 0.8315654012001765], [0.33360278035743285, 0.5881878096502636], [0.010730639793966712, 0.1856453994068208], [0.9481398006092646, 0.681315715873933], [0.0038885455205684982, 0.1919520135494771], [0.035510427313473425, 0.5275345879637585], [0.06519318591399115, 0.5018276532421191], [0.43570066091211745, 0.06980317765354882], [0.9479599974052344, 0.7961658875091859], [0.9024178465144517, 0.049562253735104034], [0.3260835381015328, 0.998325960062343], [0.36309105853110757, 0.8759137926418792], [0.46148070325664603, 0.8699362974453473], [0.4719830276483664, 0.8566379906931249], [0.7169847833226516, 0.3934841248372287], [0.7202736281134166, 0.8111320315522307], [0.6131540381853149, 0.041175998502534505], [0.8760293134980958, 0.7255101108861921], [0.6694802122858649, 0.07028094222276593], [0.5846657096008403, 0.9996427281915852], [0.6880845631769198, 0.41736877742877276], [0.06418625672489009, 0.05434821714337379], [0.2190150558318672, 0.6899747193662727], [0.94603210324969, 0.6834333936248713], [0.7962666517665224, 0.508003150631172], [0.31128234976811386, 0.9078929211744733], [0.4983837330789156, 0.8134722572317789], [0.24229241490537035, 0.25799641877820145], [0.696705390044522, 0.3738789470879703], [0.15462460824953572, 0.8067255271935199], [0.9406614306437865, 0.13372926118513007], [0.0008711874851240475, 0.725770972007774], [0.5018740018547084, 0.15679330505500766], [0.4283261337768799, 0.8362507650769945], [0.42696442243668065, 0.019513261986129793], [0.12719634778015798, 0.19788578853659422], [0.10898187090756106, 0.27371609010247344], [0.5982916291031243, 0.30339153746384573], [0.5441770957891967, 0.9748304261963793], [0.07532237619679005, 0.8922627112106651], [0.31337289228872034, 0.3804497704247276], [0.3311456584850523, 0.3482852153874987], [0.7167168391449799, 0.12301668527722542], [0.6125426721368532, 0.028648873510007444], [0.5825591908297, 0.6788470564207669], [0.9313939091634846, 0.1517391019065748], [0.7099403168897175, 0.25860656877221], [0.8620736017097135, 0.3887257857830052], [0.24135118119909105, 0.6132309787270096], [0.027532741167773933, 0.7411856672515206], [0.6370849189997074, 0.6479578010823093], [0.23657280845109285, 0.2520633552524343], [0.05738863908569325, 0.5474072306303749], [0.1665204239898318, 0.0002289591950493941], [0.640135479128618, 0.9910430378983569], [0.6683973358799614, 0.11552341091660656], [0.5035916177034235, 0.4939139495164101], [0.507540387596887, 0.6683839146256866], [0.03886255681232986, 0.9286392442873376], [0.8794611524643874, 0.9684722884655929], [0.8885581468883859, 0.10955632153281769], [0.01962612441070155, 0.6901025408958258], [0.627739619442742, 0.7839517470008932], [0.9429424199656317, 0.6070901200736247], [0.7951984578482559, 0.47026237519617586], [0.21796983370964984, 0.6211234229968885], [0.6692014421414042, 0.08149876200709072], [0.24513560631848919, 0.4138147155404316], [0.48105762348086345, 0.030625064491370924], [0.05012475758106283, 0.3146581820393928], [0.13866406283852284, 0.5939980240999279], [0.45668897563402866, 0.16595465015177546], [0.3862152029189432, 0.9162890116668682], [0.0989119326099065, 0.7571135176429208], [0.10494701361369618, 0.3313486844121847], [0.32423014393515226, 0.9093686157254834], [0.9031215151585127, 0.1723335295623355], [0.8981830851364798, 0.0026854477932473086], [0.19004166642092146, 0.06760221320799698], [0.3369018622765947, 0.519381631984822], [0.8240142918556248, 0.18554827443575594], [0.9552996647908648, 0.9964324260757166], [0.38450771546197526, 0.6289806793993089], [0.5992160214803475, 0.11364995359915997], [0.15980409776217852, 0.5777586646174411], [0.8646956295340129, 0.8334033879025198], [0.30892995666731793, 0.7863175755903141], [0.9815553812336755, 0.4899271520388926], [0.6564552574676641, 0.9722273204138819], [0.8976997090599931, 0.21930992479376876], [0.2738669678493827, 0.8082748139967211], [0.7293771934431007, 0.3279723669474044], [0.10414468714150515, 0.2653204239108763], [0.4584513094357686, 0.9904179179639961], [0.24786642951771187, 0.33634503922087367], [0.020517949520315493, 0.23336950131108525], [0.12027144953924507, 0.10863878078130851], [0.17559926491127076, 0.3519583721698002], [0.6696846047205773, 0.10860790631206496], [0.7798795980263225, 0.14601885134511716], [0.9919753342131205, 0.5595807100534426], [0.41245548251156916, 0.07286672564774277], [0.4451824739831215, 0.9797841540365374], [0.6383685984631327, 0.6139177920730232], [0.3428066923216906, 0.1957785441880373], [0.03977024289174158, 0.4680766324261003], [0.21495476285207793, 0.638439837447349], [0.18157842035082172, 0.24818766117798774], [0.8793904080340776, 0.9851938673413827], [0.10393248195948745, 0.06775109027560644], [0.8911855203240237, 0.26402599274153715], [0.443199372741942, 0.06439990025595765], [0.7068912776678903, 0.40336758914778903], [0.7313649445156947, 0.29807686701848657], [0.19709420829958757, 0.8524420018047114], [0.41695801498450125, 0.2819644873841768], [0.2116781929775603, 0.38334137734011475], [0.3089599590783926, 0.29573727118500337], [0.6854023531069631, 0.05667474481669155], [0.15302682940707812, 0.8784221734068937], [0.626730738254236, 0.49060926861111553], [0.5650436984205405, 0.44005818044065104], [0.8440694432917226, 0.7905601405970981], [0.07354325014589036, 0.7680674424410414], [0.7972262768500866, 0.4862459719300869], [0.03909061924289692, 0.7188690764722095], [0.6230930936735184, 0.9341790511547583], [0.9115336952609793, 0.6890123898061165], [0.8862273052721181, 0.7678639870309223], [0.7370003564426103, 0.5671231824685471], [0.04920105024732602, 0.8136567406604958], [0.9735384649400347, 0.5215345495998955], [0.8319268217430387, 0.736052323654058], [0.735916963500025, 0.09495214700098464], [0.5572888707402214, 0.8460762832550106], [0.538787211836632, 0.522692784322471], [0.9146941287355889, 0.17881969891143779], [0.6453014644405931, 0.27567992897344407], [0.6559968359068832, 0.9980484897964839], [0.7713421573606288, 0.4974814323522997], [0.8321137693849029, 0.038645999801230735], [0.8457424448793266, 0.0928462793542375], [0.28597620520448297, 0.10437192275944707], [0.586501942084105, 0.07955058194618236], [0.6475892085579799, 0.48947830688138605], [0.01279190576014766, 0.9790158585484529], [0.4291615954031782, 0.06217858168817869], [0.4696767128068683, 0.9825208242469283], [0.6320842205317528, 0.4832537949344119], [0.8410986149363879, 0.8069604756724721], [0.30686390372184846, 0.3858240372529421], [0.580407567030677, 0.45803332357546944], [0.6474325819073388, 0.3539168263653676], [0.1149014367336143, 0.8237615056987595], [0.8383981113427523, 0.31270380013820664], [0.2739572417633339, 0.7494286020294072], [0.09535249977531024, 0.06946066546067065], [0.30176954629960784, 0.658675300182148], [0.8459434381045267, 0.3603336270043671], [0.40619052451940185, 0.8718649799579066], [0.6759457836258552, 0.5782166397555581], [0.27184807474224737, 0.4015539102208334], [0.09353598471885982, 0.7597631438820875], [0.2795717374571841, 0.20468549055923113], [0.5339870136738595, 0.741810700608864], [0.6128743044632933, 0.4807254929747584], [0.35418685710950126, 0.3859330200860174], [0.6618682722338318, 0.12549765102089527], [0.4563013475944355, 0.5130032535576319], [0.3495453311283562, 0.9555923422371758], [0.17374899593720428, 0.47274181903505363], [0.9438762213399843, 0.4720447875157737], [0.28138975088399565, 0.2334926489280219], [0.40377133354289607, 0.9831221911907093], [0.36290230909337184, 0.5863957560474863], [0.006045014920957881, 0.2823300712090552], [0.4049257978581561, 0.15536117434668684], [0.9756704853988952, 0.6530949211844254], [0.4086168207742613, 0.4761774740111808], [0.06115121095589737, 0.5039458644147325], [0.5302045575482661, 0.14284285924506768], [0.8011671503139777, 0.10377796203409229], [0.454979779849349, 0.28907897191061005], [0.901194055979222, 0.7479398582290607], [0.5994284477016417, 0.9339622006350707], [0.2781844443761722, 0.3381500678958238], [0.42497611583941564, 0.7854270055272694], [0.00838609709628868, 0.07261640107871337], [0.8839649300413439, 0.8826658884964738], [0.8095232911814891, 0.7997975426097218], [0.8452315440755279, 0.7683827143898112], [0.8617602862197945, 0.4112715437426232], [0.33282336041494964, 0.3216497792160389], [0.4435420312616407, 0.7264817969490778], [0.9394336717998802, 0.0424672630118903], [0.01873059278671385, 0.4690655584136989], [0.0369789555205835, 0.12445348246650056], [0.1622074800301454, 0.1624209837876993], [0.1945325917382772, 0.044258406884175594], [0.9619673805452286, 0.8562685089140837], [0.5818885910110674, 0.5033848411986596], [0.5313406152534309, 0.47422963424158104], [0.29937818996428944, 0.9189236490106104], [0.32475763248304934, 0.6060948524599878], [0.11315866117815276, 0.5227982582510913], [0.4805290468937319, 0.07641309018973252], [0.6972487053495455, 0.5941597701536605], [0.4195235475305815, 0.16104690226349683], [0.23811787313536548, 0.6837659459290755], [0.5718062933555494, 0.15666241424462146], [0.5343718458475124, 0.07068087820011348], [0.008893689554619222, 0.2945565290015336], [0.27746286944693144, 0.9245857545603291], [0.42091908090423147, 0.24779342321508457], [0.7611007910552104, 0.2896993714933893], [0.6552522737310641, 0.7006780555089008], [0.17052392407039474, 0.9170306510760602], [0.9615188675585267, 0.6255602689609112], [0.07364052681530275, 0.5001045455160585], [0.24278926199987283, 0.9837225994631305], [0.07415421906778763, 0.14857289051618783], [0.782197388641683, 0.24239279316091955], [0.23999554510966836, 0.019427905110254273], [0.43516492838349596, 0.801936941165896], [0.9929948366011725, 0.3378945041233061], [0.7512530406679908, 0.9471846093080496], [0.3706113582651489, 0.9949302853942733], [0.6986499878499648, 0.27573376257838944], [0.9520718260370072, 0.23665771193384], [0.7635470789385111, 0.6861773275378809], [0.3927943019598119, 0.6832267174308744], [0.1613482437033562, 0.5421980156657049], [0.3331389326168197, 0.9328206719478019], [0.2156066034936438, 0.5859305755491295], [0.006956653384693423, 0.8153250371448738], [0.9742592019000793, 0.8114224779041558], [0.028882941396733863, 0.11950788487266739], [0.9040699963928637, 0.5080067880033962], [0.7911609466130709, 0.6610197979944773], [0.42239104511791636, 0.9781478903323076], [0.15769069961818127, 0.9577599812454651], [0.9676676543059977, 0.4538001209994662], [0.9243114152433531, 0.06958733152437269], [0.05488273186159642, 0.4495666321973245], [0.8740232060579866, 0.8325119813940398], [0.2432684615628803, 0.411104544949798], [0.04294802879063675, 0.306615234010582], [0.7241940692862309, 0.47068343826170467], [0.6015297733412396, 0.45755914017909705], [0.6351661227461988, 0.8941036880825851], [0.7722267249541789, 0.24498094629115086], [0.8565125718018697, 0.05362138584395004], [0.011404638111534249, 0.7191800155380922], [0.7497576274809611, 0.9209834743469286], [0.5139867154999501, 0.10172433519524593], [0.4236694872898963, 0.5227940787202867], [0.18629648164921042, 0.6356491375043138], [0.6352794255314672, 0.6601201920233583], [0.7695938178042374, 0.022092527827608177], [0.026405517805041967, 0.3832910833242217], [0.02433956273390303, 0.8991906935181803], [0.28410565741427507, 0.04291257274305127], [0.9598694001320183, 0.21924481850211108], [0.7927411045445762, 0.7877270352593032], [0.5539615919273252, 0.8756586967325126], [0.029707428775578637, 0.1341593806269531], [0.4535479618699555, 0.5153539451416651], [0.4379655742629781, 0.46462132417656477], [0.6353119849865898, 0.7654740937940565], [0.9717764831031076, 0.5566416076227496], [0.5449321583760047, 0.352374128179039], [0.35246012281325867, 0.7848838674628137], [0.4870667960361441, 0.27148529766584306], [0.5442278017048996, 0.7678253936993197], [0.36679657043940495, 0.3176601094026006], [0.6185044019515681, 0.6324288338431588], [0.991414495904512, 0.17652299551393513], [0.5538449823994124, 0.6373626582163705], [0.7161558465023153, 0.36468730217877476], [0.16660894719505726, 0.35189979924101633], [0.09618747021611351, 0.9632310977553432], [0.2814321045698146, 0.6648928945571005], [0.5078171914996684, 0.7747068731539433], [0.36586839108178437, 0.8538474067935996], [0.9508652033187094, 0.1491513943444175], [0.6503334516722992, 0.9852156522109137], [0.034902987443873656, 0.12467451531685392], [0.783509983485092, 0.42367773730197145], [0.3556965482563462, 0.2928802515905222], [0.5978706810116243, 0.8602366646500513], [0.27688176743045856, 0.2215453226408074], [0.4269636507715785, 0.1768825803950047], [0.44416745028029014, 0.6523629197078677], [0.09356877486863213, 0.7820864031251886], [0.08210946667297492, 0.8018752666450734], [0.9856886301578436, 0.5155254691167126], [0.0010121308628839865, 0.9090249762036263], [0.9038450960808799, 0.12346618457934055], [0.4942625956474276, 0.08504202018626483], [0.08199261200626007, 0.6012936479644921], [0.5827343890751107, 0.710494662871296], [0.40332715238630557, 0.6124393432319772], [0.27781468400933096, 0.14254942579665852], [0.9660542495268377, 0.9049975183033474], [0.953248038428535, 0.4352614432194579], [0.9336266159439999, 0.3426163756946038], [0.16905855499908895, 0.6602888143126691], [0.5603039651291215, 0.3748825049700333], [0.31086979234789924, 0.028013760219570805], [0.40650301942978073, 0.4808443264436436], [0.818314775577205, 0.23659674759511784], [0.29328200652785374, 0.1414034988294398], [0.048660399148048095, 0.8035663908184196], [0.7991201087704892, 0.19072417700193445], [0.6865020268701292, 0.07975043986555552], [0.10395635114893131, 0.4150534621143811], [0.32078998603159636, 0.15803221908355558], [0.1852883274992735, 0.11992353485619911], [0.21128587612479854, 0.3359669724106782], [0.06692754353948971, 0.10477646615298697], [0.8656652608001733, 0.31792476397225833], [0.5186869484436858, 0.8434850334306624], [0.6420991413274891, 0.18155951501903989], [0.9155350330212181, 0.3386167418046653], [0.39642955893809095, 0.9859513793570224], [0.00027675746549160607, 0.8186933396357945], [0.32703868089464416, 0.027063990132459304], [0.18457664163694087, 0.2787287021424698], [0.42881912186796567, 0.6506016349281037], [0.6958720209902666, 0.8714497642977814], [0.7858570777142058, 0.06300870734770392], [0.4496178991875478, 0.41822096397278075], [0.5263081298463805, 0.8176609322275331], [0.595593368144201, 0.07280019172714347], [0.3008467395600636, 0.9318818109192357], [0.8144920118213897, 0.8810188245656626], [0.13163232033928018, 0.024288022979984336], [0.2815808184446321, 0.2886969746113357], [0.9625285497554413, 0.11655613900087136], [0.41121329026655196, 0.8828773863461253], [0.4173814215683085, 0.8355787881788477], [0.05150263704572211, 0.908201695137721], [0.9519800917739611, 0.023254217345987316], [0.02602335457509175, 0.5370351698608231], [0.5226063422916051, 0.3456647020523862], [0.09276547459971718, 0.3454550138469894], [0.33327192061400857, 0.7179942290017836], [0.8990928296319891, 0.9242602653090983], [0.7641017656955786, 0.5524199647057035], [0.9105635758493069, 0.21306239092873658], [0.22385133774282184, 0.8574444817225209], [0.862990973572672, 0.2892820071516312], [0.10206048050426908, 0.6279221065121007], [0.19663689229643821, 0.7848419112402318], [0.49063845138197026, 0.6080614356667661], [0.4091232736933622, 0.1116369606487897], [0.2569896033800503, 0.5959562663435681], [0.12193808292855068, 0.4816661660485214], [0.06717648676948862, 0.4573929252035679], [0.3880548312189833, 0.3763495832637971], [0.36954760758205085, 0.32501438438107955], [0.29114021385730715, 0.019039564690559563], [0.23742499112235416, 0.0051132949934082905], [0.5812061338487448, 0.4451490095570755], [0.4624962643477367, 0.23568800368983778], [0.7784175869307124, 0.38849336065019846], [0.6074272403854526, 0.002375833094916402], [0.3172964360165129, 0.45750447386263526], [0.3470732303158749, 0.865672555438703], [0.9580125147788275, 0.14471957408181158], [0.06448128502149253, 0.15420239284146786], [0.4472450214674636, 0.4097676509918995], [0.3671551999688262, 0.8320378781662131], [0.6220560707141762, 0.7798276023796985], [0.22964317888527164, 0.019859813367418155], [0.08894748273413666, 0.6492671808028339], [0.2297929077773352, 0.5209692817194287], [0.9771553398906676, 0.14640805175992921], [0.0432904982989919, 0.8607654317785226], [0.9764079309890553, 0.9391812166297152], [0.9595241826628345, 0.3200867731417867], [0.42690641505625326, 0.9777537079035721], [0.288801844749369, 0.8525153903946334], [0.2026633588285225, 0.5326742850929822], [0.09491114345576901, 0.351914962068693], [0.21762630378333636, 0.20382743481784593], [0.7426679860212623, 0.42409324601888143], [0.22937040887901383, 0.2192208850654337], [0.618954301677631, 0.4617075113374822], [0.1255383459556424, 0.9572283312121033], [0.21841565667859641, 0.9491367173006332], [0.1833511076595168, 0.7597507124857226], [0.5633662076292398, 0.06313072182833757], [0.7542297717159779, 0.2847810272675665], [0.2585120191845449, 0.6816415856865639], [0.6136379426893042, 0.2810216651641093], [0.1410323891322165, 0.8347785897705077], [0.784123855230405, 0.9664075269176858], [0.2706123380757254, 0.8109521215213207], [0.5935996343439991, 0.8524897788225853], [0.5679764407202307, 0.45797041131593275], [0.6656209987080445, 0.7699702003982177], [0.3243285599586464, 0.8815158324801984], [0.742456142752487, 0.7299096885622908], [0.5146569435457121, 0.1383623138091601], [0.015227064805318546, 0.6185504239125871], [0.3409730705359999, 0.9795159103690017], [0.0642850010760262, 0.42457135951969294], [0.04642363362833157, 0.41624663084866753], [0.9274222887754068, 0.11042577900270956], [0.1873856600131637, 0.5190606446036388], [0.5512707261848294, 0.16923354570095261], [0.44940480348727785, 0.3931025919337071], [0.9269598479591049, 0.9782612833383529], [0.8457410866012937, 0.7030912705596233], [0.4337741800596159, 0.44381432369840756], [0.39222683245207046, 0.7478262984564791], [0.8673324600389934, 0.1273912146281918], [0.6073342763687135, 0.8652208222889117], [0.542237980967772, 0.4504137591194478], [0.04085827345678472, 0.557045164963975], [0.8839934235347754, 0.1852080698557651], [0.7385414940261769, 0.5533412022545688], [0.41927655627742666, 0.8780663647621076], [0.004811641419819157, 0.10992242454832835], [0.6095705436001526, 0.42356856747128413], [0.38917716808223235, 0.5576830690232637], [0.8832636221368134, 0.7495681991016417], [0.7481207031362064, 0.006497056828353331], [0.9027219574066907, 0.9314625355551892], [0.400956329198631, 0.8125128564055422], [0.9116728235314284, 0.6383165693315256], [0.02479184100267595, 0.5845978353144622], [0.5761098242251, 0.7836354929250097], [0.5084871365741228, 0.208057359748677], [0.7831593732056743, 0.93492227224973], [0.7243117157855197, 0.037175618716359105], [0.8200691419970925, 0.11831512140776046], [0.2258670149159484, 0.15864074367027658], [0.427495566551394, 0.48387078797934246], [0.2628677439519199, 0.5001150177669588], [0.3249650768772525, 0.873099391382424], [0.8829328626633934, 0.05522917641818259], [0.03093160314166532, 0.5417018315160815], [0.9765629194181715, 0.5148669808989533], [0.5078788373321079, 0.060676578726284514], [0.27733756352699246, 0.7799486122824355], [0.6485859956310085, 0.7851473197879478], [0.1251247991733233, 0.9599383883339456], [0.7012522408664333, 0.39215082225789477], [0.602369187168968, 0.9213390843435719], [0.7706227876783124, 0.9625062994701481], [0.17768736480126135, 0.6394122251833972], [0.5714139614050032, 0.11124617367444078], [0.8277735086248145, 0.6168760571474076], [0.3489271432518859, 0.8253129212177224], [0.1722736888816645, 0.3050943392109604], [0.5533000377247349, 0.4087310338293443], [0.5206471871962665, 0.1379336769442775], [0.9817394159918678, 0.34095127826082483], [0.9672746458979828, 0.32864946765724834], [0.22895059080825153, 0.20692420582167503], [0.3302116468382539, 0.3317412517836269], [0.8449211937666986, 0.963554051017866], [0.9050824630473956, 0.13518608813214628], [0.1132921533733503, 0.4722733690985643], [0.8687225502872493, 0.22563329447013958], [0.5530146738801346, 0.7386111486416495], [0.3133180404772862, 0.8680047459676924], [0.9627913075274834, 0.937410112949033], [0.8479456589524729, 0.9946628427010251], [0.7157363736385954, 0.996349044944891], [0.3163058333562273, 0.598667276350836], [0.5846538510523921, 0.640173003264335], [0.9579189096578019, 0.23047633026954528], [0.2391412142258197, 0.5115055399657085], [0.5120006778017181, 0.03600704928581666], [0.6295485225511471, 0.6398581561339824], [0.11039947561340402, 0.7906151685572311], [0.9178934668805959, 0.531571512719308], [0.11343201521814539, 0.37932907364291524], [0.16384393754503845, 0.39002222059892344], [0.06914762993555046, 0.6502144766606612], [0.6211476579124166, 0.4380662234034153], [0.44340251761322325, 0.4807442122069254], [0.06320460006770934, 0.5114671800779096], [0.6875868804373738, 0.6117293898974138], [0.6440756606997359, 0.9070485643480035], [0.6233914601471483, 0.5052762621691581], [0.149443979176758, 0.13074474511327705], [0.9635786610742887, 0.5621979950038474], [0.3619163483617306, 0.8770848691418911], [0.5808424429583552, 0.36207067836512496], [0.2361340652448526, 0.11196390182769855], [0.6898819459135729, 0.7505324239000462], [0.6184982082010785, 0.5537568660458272], [0.09962893097212511, 0.921215298801673], [0.3719924722859643, 0.704177241192045], [0.28309123112610113, 0.6236623086411456], [0.939648281492234, 0.8821150537545194], [0.04398034887721147, 0.03703179286661584], [0.3867822654088061, 0.1461594448445257], [0.13915333987963752, 0.06181489099418069], [0.10705253448078189, 0.41486659520859415], [0.9224427882804608, 0.4501526514028412], [0.613208348221605, 0.04436118825019586], [0.4953620353053424, 0.5721594770610053], [0.2434972462297159, 0.7987401635758606], [0.4031783283479664, 0.3515707447572549], [0.47307695796949256, 0.2928675510228034], [0.4267746776064737, 0.5936129764525784], [0.5511765436736424, 0.6732649403973368], [0.394062213350443, 0.5062535015056642], [0.11388338137740062, 0.2957967065000203], [0.2214578554109633, 0.9765801016929303], [0.41622160454263324, 0.9828056884887929], [0.8815195895330786, 0.9943640250257519], [0.23023360547196892, 0.6521832626175409], [0.39175933827057197, 0.7786202813070299], [0.4976446945246559, 0.9986683467062922], [0.12572835244612446, 0.7246128653433247], [0.041557063640192626, 0.904742280593229], [0.12837172896698257, 0.9516549814222336], [0.638525912424063, 0.6746675841976036], [0.004206632707471569, 0.47203009261158824], [0.4466496763012142, 0.7678100251888977], [0.8666733289684736, 0.04723726509639403], [0.31791489145366303, 0.5127901880375629], [0.8636536414727177, 0.32197651483965084], [0.6693237431200528, 0.3454613607782979], [0.21110662799357893, 0.6849637541147721], [0.39522549480210456, 0.5506007686887174], [0.6740405933838368, 0.05253588003156939], [0.35696092850545547, 0.31733937018171376], [0.9780100845677157, 0.7698073014599641], [0.7336365066367015, 0.2534006398311617], [0.8590475829577454, 0.6159837079789874], [0.2621076680610317, 0.8929136066468564], [0.511458848177363, 0.7910037389585292], [0.9926949542553491, 0.6342131372443457], [0.41822127728856473, 0.7275916780569978], [0.9670287156078861, 0.4445190245988522], [0.7553078309303937, 0.356444292665557], [0.4679062249760908, 0.15593540922528515], [0.4279207600527819, 0.027868726477251915], [0.3784358833046485, 0.3910587618069622], [0.9226642298377129, 0.4217649392053576], [0.7963188877123221, 0.41253986510582874], [0.6451815291778374, 0.27077209397497204], [0.4395007131524914, 0.15222495513651013], [0.7849318008193081, 0.5487463720422467], [0.20767364592728266, 0.18083006897405696], [0.31522108120115777, 0.08325593589086255], [0.9967707550658782, 0.05812426395319148], [0.36111715086556284, 0.21317002735262225], [0.2739627927557412, 0.6864511233094419], [0.7181650371801696, 0.4567915168109731], [0.5419072272999176, 0.7553166695991765], [0.1338111339211172, 0.7954176485100729], [0.8263056325364826, 0.09381842830562093], [0.30277846967608313, 0.4932650180969287], [0.37312574702786694, 0.05761488702416484], [0.9348536861913842, 0.4778132389425501], [0.7386437515405381, 0.3165318481206102], [0.8835826186664039, 0.6870389364396442], [0.25617671894247296, 0.601069614051298], [0.41082054507382515, 0.9543686374698495], [0.6955516605565611, 0.7822560496041886], [0.6585373063525215, 0.7738969076873682], [0.5310480165996266, 0.44399484622575824], [0.43140487928079896, 0.3230672927446311], [0.835520839238831, 0.4843445940223723], [0.35890721785722746, 0.491526053887689], [0.7539206194084509, 0.17663077513662195], [0.03069783504699053, 0.6599712490692795], [0.5056236851431458, 0.7003807392540675], [0.3894139481024277, 0.8737636350725595], [0.2961278376991483, 0.3991493902478084], [0.9268716141329275, 0.7356714477344355], [0.47197553408596904, 0.12948279467258528], [0.39825939325467685, 0.6759315458996857], [0.16061593929217255, 0.5502971072836975], [0.8090745131210932, 0.3473765112913124], [0.27257468512910255, 0.050851682383510455], [0.14105791272060186, 0.08824144204935813], [0.5341491277915174, 0.381327569144694], [0.22338352634493408, 0.6504252630633186], [0.9475567129209916, 0.9091704110559997], [0.28785807209775216, 0.8078959722494014], [0.6829311564155652, 0.351550663660391], [0.48769825817901646, 0.3604930437468239], [0.2885142903396475, 0.494264188643764], [0.23963922476232846, 0.28028174310347453], [0.7063420256777726, 0.3845813039174475], [0.8120273204546512, 0.022069384840843087], [0.01977639247882801, 0.2062962344458662], [0.4507475468937544, 0.21453356982378957], [0.24681948758277839, 0.7775405862851911], [0.865567446718318, 0.8331388152835414], [0.4336313590264932, 0.029529170743884392], [0.909935099234333, 0.7338091935979385], [0.6565716488383095, 0.3049895342217426], [0.5197620257686648, 0.16425137309052606], [0.22058340510177177, 0.5973390782236012], [0.2773951979491752, 0.5101508419182968], [0.9506960289730142, 0.980096082733886], [0.812574634864324, 0.798898985808803], [0.1921482796568158, 0.20886164853999145], [0.8511367126645782, 0.7152388018639773], [0.21380463036245123, 0.977826206616678], [0.383974776997266, 0.9468349013188275], [0.7697628908030194, 0.16740280661530982], [0.3331277706975272, 0.16573238431172954], [0.8144177653998734, 0.22128607703140246], [0.17244978627061336, 0.345362758616819], [0.34119484135182787, 0.3140496890577479], [0.5552173731653736, 0.7013269621805626], [0.7977052625457616, 0.9837105107709684], [0.9135310995134448, 0.9987927239072502], [0.4252029811172996, 0.8562387086957736], [0.2876408086597009, 0.1484259491981612], [0.6007773845120147, 0.7461206631706507], [0.43043327477083393, 0.8257947467940318], [0.8546247066220521, 0.17978465994785497], [0.2718631868933419, 0.8336977785050548], [0.049505457855154145, 0.7792407694300997], [0.9480168936457298, 0.5823581262368931], [0.9756127861327379, 0.7952898878365108], [0.8612682208209711, 0.33465443440203035], [0.1131782612780372, 0.43031745102287566], [0.21898633301484127, 0.1389137368228165], [0.6567881944678104, 0.5036306124808613], [0.43262077735974414, 0.4345794675999629], [0.1999730054189719, 0.3503232264005892], [0.497805446694633, 0.17134154186932782], [0.811733290155472, 0.14027622969811793], [0.6035114613608227, 0.07938052146245045], [0.4453368901244412, 0.8235887342035416], [0.4683081282360295, 0.9226474110258677], [0.6653308650004945, 0.6259744959551995], [0.10021637942246908, 0.5681280994426691], [0.5942190237978703, 0.9695142816310058], [0.004911160681087323, 0.20439748718728123], [0.052964676389581467, 0.8228298430721669], [0.5670869949038114, 0.20608209704083003], [0.7642543164985969, 0.846823234306293], [0.6893369772800354, 0.814423198544662], [0.45023636634041164, 0.07066511013695542], [0.9952191879141845, 0.22902055459873094], [0.9686802044906423, 0.9846773563871392], [0.6008834035738349, 0.6850527156799735], [0.48776276680886776, 0.5219249023892514], [0.41547778943463987, 0.12165051117074643], [0.11405228823619007, 0.3758453303400703], [0.040198801003411444, 0.9604855867482426], [0.08600148380429073, 0.9111821077004953], [0.20070551304599482, 0.7419909087546765], [0.3838896300343335, 0.29022462059860366], [0.5658508922204679, 0.4848710597703275], [0.23907808918088358, 0.7219771942139119], [0.3770538624813047, 0.14694363363579888], [0.5600788293469338, 0.24096642183781325], [0.27131794476604654, 0.9866600874187123], [0.3058164897006671, 0.8971938692514019], [0.9204304610950169, 0.5891992162395091], [0.38280851584096054, 0.15383316843984807], [0.4835497312472715, 0.06498570255226266], [0.502732867791061, 0.1810324245542706], [0.8438347109816072, 0.8864027565814278], [0.13168146573360873, 0.9607581507853963], [0.28301071385331145, 0.1488865534554924], [0.20221005818523297, 0.3190315861259254], [0.4868259123890608, 0.21908063411627166], [0.08188018214678017, 0.00011106973575558676], [0.6292478450727896, 0.9204477098396038], [0.23460779588084824, 0.4810354393927838], [0.40019143111039, 0.9774555600657912], [0.4948410781561031, 0.8506686500637809], [0.8128123654468353, 0.7443257215464166], [0.4017536050390409, 0.0996968125358626], [0.6191895531290156, 0.6235691863171287], [0.03451980458397663, 0.5476646649538823], [0.6431070038937903, 0.7889403921528426], [0.5134757596208577, 0.35102707263219923], [0.2790657945555707, 0.8597716370600267], [0.6590365275384867, 0.8675285607037159], [0.1064076299058846, 0.9556534359884398], [0.6110463284486869, 0.494556098141968], [0.30351752877455684, 0.15292527189876437], [0.9476298384428786, 0.3289741604563412], [0.8304313230887413, 0.9271133215162359], [0.2979719739458757, 0.44008280340680517], [0.8756430430659367, 0.49224958685136233], [0.07935864032732431, 0.9680295778842537], [0.850621559588142, 0.30238802478497273], [0.22218639024350695, 0.04721001215503684], [0.4205466900028455, 0.27146099268365553], [0.24003713681571992, 0.3719596931814866], [0.3209518972594273, 0.7059313200237192], [0.47633395967815073, 0.6521702575289724], [0.28766471725757947, 0.6137321585889816], [0.19120003337217362, 0.20309246179659945], [0.032232071323022526, 0.9657288373623266], [0.8414015560022108, 0.9019706453567391], [0.5233534192180191, 0.3995186478948639], [0.14879637873225504, 0.924673167322813], [0.5209955590854838, 0.5022818103359062], [0.5019429951755486, 0.6609444824092696], [0.6314759233529902, 0.43183542584284884], [0.8821288078316994, 0.07384655228886228], [0.1624341108887054, 0.3416344811727188], [0.14612908770442312, 0.3321436688586281], [0.15131507774877062, 0.3322660259565986], [0.6930109688160869, 0.29333821044078423], [0.9550304717225149, 0.11054697991673412], [0.39151107585831346, 0.9684560702570107], [0.2824799575329454, 0.6175824035956573], [0.4233601657479191, 0.06655894874037216], [0.2799823981257237, 0.9846257355741482], [0.22213929112361663, 0.7154577639638549], [0.46646537134743493, 0.36168833026192626], [0.6709136435580173, 0.263771721933974], [0.3271119410503377, 0.25273406317308045], [0.2512937272423469, 0.3438665096832809], [0.5170459690275356, 0.39576008723795875], [0.7222532105604332, 0.5060686817374717], [0.4779520739922616, 0.9290852447112604], [0.06651327068991819, 0.7647245561890773], [0.8942783045580383, 0.6779534155894815], [0.24037110710322762, 0.20633338642271404], [0.20224387823061252, 0.3814591377055685], [0.059644552946150564, 0.7201585500043206], [0.08656185567045704, 0.9688559575767632], [0.42632595819499963, 0.05795335626514886], [0.3678742517147955, 0.2544069164112772], [0.6073665650046629, 0.43999028015454344], [0.4300739639249146, 0.8049102557882943], [0.7126015526466787, 0.43545990147666336], [0.48533712435291343, 0.13351986311470854], [0.8917373227565485, 0.46105080463709736], [0.7631625815188913, 0.6209182439275066], [0.9051102385224472, 0.12132582463949626], [0.8384589085251992, 0.5470580368690056], [0.47753783043967524, 0.8910019651578522], [0.6388740278446008, 0.7019755134810122], [0.5998561248520455, 0.6889587842484809], [0.8069404108965613, 0.5499732347314944], [0.6528422439575537, 0.015475497138112027], [0.5486705595333026, 0.0648953412193336], [0.8542551983880821, 0.7970807173898413], [0.2803799665337664, 0.5266260890974928], [0.5280549470988959, 0.5438306026211337], [0.24443129460118462, 0.4590805169089075], [0.2049025650239391, 0.0874884455917797], [0.589291161138977, 0.5142044229264379], [0.12329649044121593, 0.028245297093271504], [0.5712206794874769, 0.9657856698897598], [0.21634626343692342, 0.3238233614042708], [0.8479891645677234, 0.41086829162597427], [0.2927221858984408, 0.7677568273142334], [0.7622410568655781, 0.59493681604351], [0.34300111680403556, 0.48053616541824307], [0.5609826803113903, 0.4693101609371023], [0.9947431710455691, 0.7005822346046275], [0.5247446904209369, 0.05251085309238701], [0.3444152334395776, 0.7144512579364689], [0.6789168863015096, 0.6446761456913315], [0.08033388090159677, 0.12442211409053094], [0.6688431137962372, 0.05753209244899238], [0.14224234822249637, 0.5585709333123622], [0.18372830715797517, 0.7547983341713274], [0.043046492781137924, 0.6417673385398645], [0.2872432242559233, 0.2272576015827379], [0.5610632409264281, 0.3964947505732953], [0.6050721133750174, 0.5813471914109948], [0.035949622123540026, 0.6901196481942672], [0.8585268376123006, 0.10763984863348519], [0.4092326096276008, 0.38174621719007795], [0.928703465670671, 0.8362924592970195], [0.4913888086454462, 0.48781655701594695], [0.9029880443281572, 0.30256981971560326], [0.06873978781139034, 0.07548905674353812], [0.11926861821228607, 0.20806111997146393], [0.5404098304757393, 0.42812169055984073], [0.4491070124015294, 0.3529155306273777], [0.6296993615846567, 0.9504390831887212], [0.7038956328152388, 0.7100027235246], [0.7671572299450502, 0.9475361300603194], [0.9821488254910783, 0.5738783276112036], [0.03557341194296515, 0.626354738990052], [0.5481299585301715, 0.9769109348244912], [0.7811425011406691, 0.8507661758052882], [0.4086913809393745, 0.0732725979062343], [0.8863911095612617, 0.9446414711935784], [0.32641279274449464, 0.384393729925691], [0.3279705717589212, 0.5012328070018086], [0.8402886686513571, 0.5926352818646442], [0.2875383572411009, 0.7380880034326105], [0.47000214870990986, 0.28874428205866254], [0.8721710733470542, 0.30266096118691266], [0.3602242906631048, 0.6721682628562585], [0.6686761801040478, 0.5543924936499995], [0.5399207023955104, 0.22324482410729085], [0.1973121682267348, 0.029248998918324998], [0.2919177703985263, 0.8509608307108438], [0.06761372465896942, 0.49764764097610015], [0.08978118310100369, 0.3081236101042759], [0.7911417478492239, 0.664281485179344], [0.6910947598421548, 0.24918161423576513], [0.5691641078321015, 0.9599179880777766], [0.5214437060362779, 0.8763481493208246], [0.917564354520095, 0.4631142886692874], [0.21527089625290308, 0.9170414487909334], [0.5564936975202923, 0.34051288453389794], [0.006446275086517628, 0.19660702320636503], [0.41139883091915996, 0.23387216954296375], [0.3757317354992855, 0.21590294782622366], [0.2888622413389407, 0.605254361771557], [0.9184401897415022, 0.6953857914820386], [0.6274744562374849, 0.06511246327762066], [0.18360166003835865, 0.9513815978450627], [0.5914898870207921, 0.8077147920059499], [0.09932757544476012, 0.362548233116769], [0.9491114197813787, 0.039182336343689506], [0.6802948983430066, 0.5472572345608573], [0.4237405364945802, 0.006920684571795732], [0.9685758319005974, 0.664119139122874], [0.7339981115966266, 0.20766913682705268], [0.6092920513598689, 0.6285037400177559], [0.3017862718099463, 0.13372599221286074], [0.5212035857760703, 0.8695839234064273], [0.26656301645426617, 0.8647567052123819], [0.06486678727770523, 0.2702489830980218], [0.8009282699963958, 0.539658231614986], [0.8531284231447783, 0.0685210615965759], [0.9524907487227058, 0.15507465874617188], [0.02544511620046075, 0.7086074734569544], [0.851750222953416, 0.7502944301924765], [0.8634082121238646, 0.9707783039314648], [0.7765682472124334, 0.6520181202207842], [0.7683001178361257, 0.612905210509801], [0.2377053007428459, 0.27224510876142216], [0.6721898609002125, 0.6260464079790706], [0.025169504855122815, 0.016551736914408033], [0.3122661156489711, 0.48200433324361347], [0.9817744249510084, 0.22753912432236145], [0.9397571849538308, 0.7599515745350036], [0.608186625854329, 0.6197521333147131], [0.7607448446469763, 0.8428838467668472], [0.49967722184893404, 0.5482375605033943], [0.1957662393833458, 0.8013548612419532], [0.9718334379567771, 0.07015140016453703], [0.49562204790060194, 0.6613648433720916], [0.8752973086511613, 0.10809365081096867], [0.018095693241424238, 0.9123717969284695], [0.6987650499523284, 0.5101503285260129], [0.7026250904424952, 0.21276029582834388], [0.37433281609073865, 0.9337477041727156], [0.37429416052378506, 0.1667556534847623], [0.15091523587066202, 0.618177398679689], [0.6322496620770345, 0.58329265223442], [0.6289338744327426, 0.6300451152132165], [0.27376186294211435, 0.8958693490728102], [0.7854550973521278, 0.7661939077577135], [0.18317568840601794, 0.12416766900838327], [0.5990397444871005, 0.08614078243080803], [0.04011311222593117, 0.58044122376796], [0.8934334382385865, 0.44446282855083996], [0.3416371490152982, 0.1801662007161149], [0.06667892117571672, 0.22974300385457436], [0.6049826175544649, 0.7953560804542953], [0.8134947198083313, 0.2745029593816861], [0.06514362077771563, 0.8778792550336789], [0.03800457928903345, 0.020388574672178028], [0.4478269850663258, 0.26489345356253047], [0.004870071940542453, 0.14932980810905838], [0.9560618661586215, 0.5532806662712729], [0.6598085253374045, 0.5274215830876685], [0.08725605636247913, 0.46095884103826135], [0.8301377638576796, 0.19795825287854518], [0.327847610754482, 0.17597541824147167], [0.5906132436533181, 0.9796140774691725], [0.32780904867558347, 0.4358687454388961], [0.3967467933760722, 0.20990417633818348], [0.09295486141123366, 0.7338870300514885], [0.9942086572831977, 0.7266896262261086], [0.749925445640951, 0.9515223015403275], [0.5208867007488301, 0.5698689352514393], [0.4392275643092197, 0.11353978637263185], [0.09686571626903506, 0.44973401779373], [0.46206647313281923, 0.8864535332967604], [0.693475407531463, 0.236994381152975], [0.021168439449721688, 0.08019606801128876], [0.6555464761657993, 0.1538733969485745], [0.8710403358732224, 0.5376140551808205], [0.5731284306336806, 0.918861820869073], [0.08740292158852692, 0.12856703300146655], [0.6311369582145758, 0.1698115849414269], [0.19278534934545866, 0.48173942387371893], [0.7703236602753026, 0.7723850888278984], [0.042465445789864664, 0.6241229862512073], [0.03976528302046434, 0.08400123844882024], [0.3951721862254599, 0.21305987281100325], [0.3858472314934339, 0.760128405742016], [0.06194829257615908, 0.8464859700183878], [0.6948569728859402, 0.2406760583135561], [0.7308617007470195, 0.2746237051313757], [0.5031198164395851, 0.7253220660499966], [0.4966139380492156, 0.5704978192358877], [0.46981967169340333, 0.07205402502261538], [0.19576142350872672, 0.3609251611091979], [0.5226562915165355, 0.9142956897079245], [0.932413744847109, 0.3385537070639404], [0.11941569173194155, 0.44292769253329434], [0.11087048497396101, 0.642137210965539], [0.6050821195484644, 0.822965646276471], [0.5411359218140095, 0.16360089749781148], [0.12572315363444042, 0.1687803297523447], [0.16095774116652828, 0.981455458370105], [0.419336387998816, 0.5154995326651465], [0.16931240764472644, 0.4748886291461454], [0.5744356334113737, 0.16868135701122], [0.9217842974901799, 0.16527322986280368], [0.17465417518193926, 0.43228961991109394], [0.5593812739159432, 0.09254700315206155], [0.4470473929459605, 0.928191790185382], [0.34731142340703314, 0.27220222699159835], [0.20899062143449743, 0.9094566654699896], [0.8544762652740509, 0.9044235548547521], [0.9352371912497934, 0.4118491132933514], [0.13719571323923285, 0.11059462426727162], [0.607230681362824, 0.7509859797110218], [0.16669756938705427, 0.8000883873566452], [0.0696656656601955, 0.8804148765826391], [0.18747851716595376, 0.17172602857421915], [0.48619260801597486, 0.7103693973972468], [0.07414170897449246, 0.20047059111852328], [0.10416507732030034, 0.7180142132799054], [0.9934578032167452, 0.7702904699235964], [0.9105666310388018, 0.803730266211793], [0.4501670927659216, 0.34080486264099386], [0.7301213063090665, 0.6308404921630797], [0.6371229848911167, 0.6609641337773526], [0.284862049560511, 0.8561098750712018], [0.764559160457543, 0.6097756982639203], [0.18879179422804537, 0.6093596796647897], [0.09867897446464391, 0.6351335224234183], [0.6310732864031041, 0.7915671585250106], [0.4439853250036726, 0.11423447088823524], [0.8201368377459978, 0.4515735096061195], [0.8516718387680973, 0.9590548054625065], [0.9556574441006934, 0.7397717260470652], [0.7267929187862097, 0.6269687629304275], [0.46509243611008055, 0.3742798884279146], [0.5079629512944354, 0.7260657061263414], [0.611337427827095, 0.16092582672562983], [0.5750257505775596, 0.6758137099699296], [0.7902680546313254, 0.7248383974380312], [0.1331013166864623, 0.36888558074500966], [0.9504949997357409, 0.5394408740885235], [0.10404268057450017, 0.5795336054553987], [0.44202460069786287, 0.16295718239004042], [0.5659034660162713, 0.6309356657077777], [0.21194222847000022, 0.45034942980641623], [0.8977826246128218, 0.2310151989878252], [0.6648651796663542, 0.8571156045390427], [0.2637605065928057, 0.41020693069045944], [0.5951459898186237, 0.4412069156055156], [0.568750503853286, 0.8299400690763289], [0.10904369079742826, 0.19286267946097002], [0.24310490525569783, 0.7048667021967803], [0.7032868735865078, 0.1406022569665729], [0.5701797322587953, 0.7321867501992172], [0.9862538246848227, 0.44658951433420235], [0.44632678827484984, 0.09893157543939357], [0.07663066707679245, 0.08951973854349371], [0.8920748646440768, 0.05730141943129197], [0.21515450181172135, 0.4435068443889105], [0.7901991301593081, 0.07435787229964663], [0.31964523538505085, 0.27715177018982384], [0.6662949111304837, 0.18353685398255448], [0.6621652727222598, 0.9239647512494165], [0.8697650574621445, 0.5670685186660287], [0.8872238873338009, 0.10782146670396264], [0.22169822461963462, 0.6141271984577996], [0.07587886749834016, 0.570159776048442], [0.8470493306763915, 0.0658098901485592], [0.2735583172043242, 0.05438946436844794], [0.7991951406488506, 0.12054122655262711], [0.8083436229302627, 0.21046189174550545], [0.9797412327314396, 0.6359174805690871], [0.17947414905899284, 0.7897499337554732], [0.6649070371868323, 0.41402196052064166], [0.7988007312085547, 0.7266584223531374], [0.02133946520860386, 0.28814714514283546], [0.7838593802433975, 0.06597759712526696], [0.3790549377850886, 0.21693079045677066], [0.8896126602972353, 0.5895267182531763], [0.28461550800043656, 0.29024343933920094], [0.06643651816122809, 0.5196922425260103], [0.6131971406136468, 0.6775843336711931], [0.8099183782709309, 0.4991364817087488], [0.1381448332513664, 0.6336512935717951], [0.25383814421002404, 0.8061951392568165], [0.5116740819846561, 0.3126106625189534], [0.4721423726421061, 0.5919523192701936], [0.04184584692219162, 0.12505061330918232], [0.7937314461517497, 0.12170375000196276], [0.37689052213396, 0.5669342029232535], [0.2874572288232268, 0.828236185987244], [0.5002676420527399, 0.8603350930360333], [0.4772605533865739, 0.8832556295304964], [0.9091303803867501, 0.7826485211219881], [0.6849432434633265, 0.7705290652750123], [0.28591391020116674, 0.9088922092645491], [0.5139406092275621, 0.22798549806274582], [0.5091334347304349, 0.5357114148243971], [0.0841589754843225, 0.9376185794528481], [0.2717256278649237, 0.7474743428346893], [0.3934063253974561, 0.8580181339684502], [0.13210792629067025, 0.7476308034040388], [0.4771487919852141, 0.38538764006907866], [0.12488946455800176, 0.6605111221357242], [0.5780574344923146, 0.9700148617890821], [0.33089897360472664, 0.7181175848115292], [0.6213168506562802, 0.7092673355049841], [0.07816060612942721, 0.3212714989465869], [0.31773419148757687, 0.7290080415235606], [0.8444928502130514, 0.5609733142365947], [0.41631026063583665, 0.7868209870342197], [0.07084522920859326, 0.2786282986142814], [0.1704400895829571, 0.23115313795921644], [0.31213372551018614, 0.456894423096592], [0.16654638403166422, 0.28805861477754624], [0.2588323514694809, 0.3405288254076436], [0.12781945952775497, 0.8244185827402859], [0.36163686047621346, 0.5607337805862012], [0.2872573202749118, 0.11046921641678298], [0.4600034272347311, 0.817696823821842], [0.2835103981441831, 0.6974239040477218], [0.26169336122409625, 0.7146181244143217], [0.29847401875150636, 0.2152103895896582], [0.08489095049264073, 0.4172315143647679], [0.8200168064023786, 0.7378546161516927], [0.5846087448221579, 0.32656756248396446], [0.2633386474455207, 0.3647642445447973], [0.6875099914339816, 0.5426579784138548], [0.4408065148780541, 0.7147328382299692], [0.2440914608377488, 0.8517981497982638], [0.05948124993249082, 0.6534211351338612], [0.7958355294572889, 0.6955389940630364], [0.2683970689703309, 0.0919169255098442], [0.45689977615391353, 0.8836690233464357], [0.9156609311471312, 0.18314616705186426], [0.6371379608524873, 0.06413230013665971], [0.6238473160807353, 0.7914424898756134], [0.9052597234252074, 0.9801256404096335], [0.28163619269698126, 0.30240573407560356], [0.06692352064759799, 0.3719997050178432], [0.9561225827604724, 0.3153790869981151], [0.069306652792405, 0.3123991195498772], [0.63814498114943, 0.4958601292816751], [0.08856719378309252, 0.8969272118186972], [0.8289410837840085, 0.71634965678458], [0.6186580404914127, 0.5634038463265543], [0.5411762005834516, 0.7193827970563622], [0.003055996109114112, 0.8865584207026223], [0.5418879748408121, 0.043884345195040586], [0.2752222341256336, 0.23632726038288543], [0.5492136827351498, 0.011489720468803477], [0.13399394029791722, 0.5751830166778462], [0.76103501617443, 0.0489798059069565], [0.30813408410849763, 0.06127365400266138], [0.32499601649068877, 0.6076546280545702], [0.36177469587634237, 0.30093903410746725], [0.5513867900202898, 0.2810990148514697], [0.10872319071376646, 0.864998101120938], [0.5857685080278187, 0.07094032152047702], [0.8184918217096367, 0.06605570560549467], [0.8226585381069388, 0.9248683261012165], [0.14251340827453474, 0.6660515551610742], [0.4436038901530941, 0.4754581574036444], [0.18672599982414717, 0.9322813127353161], [0.7439213810268949, 0.5797462920814269], [0.1265099307892924, 0.8542846836575145], [0.16581992850785265, 0.4990409747471203], [0.4817721428505777, 0.49731688615945524], [0.7282979415384931, 0.7046298627284194], [0.7033101370714675, 0.42913128512834264], [0.20781805062272973, 0.4997573766158595], [0.5810155612013188, 0.8051492963254723], [0.5800282325900665, 0.9980416868214768], [0.5559412076933323, 0.28390404752310183], [0.11967281374723537, 0.05987836462228813], [0.9972489606594316, 0.07360528416430101], [0.5585844881861399, 0.7962577098183151], [0.5618936799933824, 0.35071193812698664], [0.05976893009758388, 0.2352459176535644], [0.7364939431910752, 0.44786228931957683], [0.9048767525454902, 0.06443876077847399], [0.13358775822629787, 0.8351186255044445], [0.7109982884166325, 0.508431329554849], [0.528710215542438, 0.9653192180695381], [0.21682609901041994, 0.5199619776600104], [0.22056444369512518, 0.6263935510352177], [0.9140330322299448, 0.5394691584589696], [0.092745473885401, 0.7081642156127801], [0.05732416974234189, 0.20489303592929764], [0.9504677989636224, 0.1537621426189203], [0.2979428236837889, 0.5519919534755141], [0.7154501758813404, 0.4389024077663274], [0.3800964692091352, 0.6914233733174947], [0.8220118200662828, 0.9967539939468466], [0.44891038039939835, 0.834574374448203], [0.882588144156084, 0.826012630842599], [0.33290621404680154, 0.8774114697996671], [0.13804501099671562, 0.1777778668643436], [0.3429382634386896, 0.6816476687255165], [0.11705490045081868, 0.5614305629395691], [0.6729682694968132, 0.05622520811686238], [0.5519238888451633, 0.7239318380037538], [0.16928840366636022, 0.15220951495366075], [0.10110416164933167, 0.4067575535692808], [0.9408101485682382, 0.24108245935646022], [0.5373297575801369, 0.38664995220056153], [0.9937002865155483, 0.3085249264632567], [0.9461407416797042, 0.6866443722105915], [0.8983563074742117, 0.7306435432945753], [0.8345946875616828, 0.7697904736949672], [0.19198805331411684, 0.3217975733522145], [0.01722549480833957, 0.41234154171822446], [0.0995970631655847, 0.556839370494077], [0.650219351680122, 0.5312463986853891], [0.813268485249705, 0.3758578074244374], [0.16993245105145982, 0.3199132910649224], [0.0679999975380633, 0.7384841258102774], [0.16777266677731528, 0.731777966028776], [0.6619006290111016, 0.13433313164685368], [0.2575468100035996, 0.9675226274218757], [0.3935941907200472, 0.20430232312645646], [0.279311348095151, 0.7442831753942615], [0.31564059790603327, 0.8937652603776459], [0.2390956846777067, 0.7648841621986476], [0.69763416885028, 0.6033912766367124], [0.757282626141684, 0.3167432588399991], [0.6380293048558175, 0.33585804416731935], [0.6100319411289732, 0.04175955665832809], [0.331936020883704, 0.35532705164849876], [0.8062112090247776, 0.5691410669309959], [0.48729273072599155, 0.380926143372206], [0.3931146873162633, 0.7028887874287277], [0.052650990702231004, 0.9305531202326522], [0.9336284776726828, 0.13506541472335698], [0.7788795077896252, 0.2909419908223605], [0.4935671884686935, 0.31861311850748564], [0.5819970159969226, 0.07008386158561342], [0.5777731525220943, 0.12180061067560255], [0.7206996172357518, 0.6245157813462046], [0.11593952390832762, 0.6470310270093269], [0.40378093782288293, 0.8657207538462315], [0.6084044580684634, 0.08746347151977163], [0.3227402051783981, 0.5916452390931554], [0.6933289983881514, 0.9162419662763623], [0.9070410270677275, 0.06022432275520995], [0.6114351156412566, 0.857330782040482], [0.7671647621932141, 0.9394451754777787], [0.6107779825646508, 0.46506497061457186], [0.8053361871994159, 0.6644806867147226], [0.852070758675314, 0.9040449547199909], [0.4975631153473177, 0.6089658403827324], [0.5511749164820643, 0.44474045652319494], [0.5735954277555122, 0.7990233364800752], [0.10049389866239344, 0.2404247853345719], [0.03758240419567971, 0.3847011066974181], [0.5046716302436071, 0.7462324444284182], [0.5709699501786565, 0.2819122752357782], [0.5159504780096321, 0.5937621460444567], [0.7642437254950945, 0.09172991429739052], [0.27001949489566757, 0.5350690790743389], [0.9174448497905356, 0.7840211903685314], [0.7396035622931701, 0.2948858600599068], [0.7861706858999292, 0.03914929673181289], [0.0955076929861175, 0.4005996369104975], [0.7748717138377174, 0.023158739079683466], [0.5564729452263598, 0.29696156090700776], [0.9897620454215474, 0.7663418482211349], [0.8716830895044183, 0.3116059663874575], [0.7816935182140303, 0.4069520638424172], [0.4558781679848011, 0.14317449854180664], [0.7787279480337918, 0.7899996389626343], [0.9713642884410649, 0.5130620749292856], [0.7610141505355764, 0.5016756123027886], [0.5095757207846374, 0.6932781278611755], [0.1460861541826468, 0.9151870731533691], [0.2470359458888176, 0.22394657548033703], [0.6909039340707549, 0.1552490597560473], [0.2565211589894789, 0.7404358379876274], [0.8929033132428331, 0.01247246612073738], [0.23496520139386978, 0.9679901330943331], [0.16318205863003066, 0.062224396719822384], [0.24020446912888738, 0.16737929963156106], [0.8988976802966091, 0.651161721275891], [0.5620617954070665, 0.33258282215350476], [0.5242516914549225, 0.4864314263347239], [0.3419696653478924, 0.5113119966889826], [0.7176659994623539, 0.09945363945962216], [0.9569855521081481, 0.49903664663361924], [0.35321864165520045, 0.4471100371323915], [0.4978633787859005, 0.37260448091223475], [0.1676790175360673, 0.027690308090361215], [0.24539188566984615, 0.7383783590483444], [0.8523505628544651, 0.5586757033421063], [0.1223280939123752, 0.5063988640651866], [0.7261616165159344, 0.5068691303996412], [0.7162760361269287, 0.7083517920276643], [0.15244033630109632, 0.8294483289469353], [0.561553066396581, 0.9791260087230033], [0.030787178806007898, 0.624052844150504], [0.854731189386306, 0.17706948793224286], [0.5339241958016628, 0.8961385667882718], [0.5752681120775077, 0.5304245425151852], [0.06345857688832002, 0.8016560683391395], [0.34310950105089955, 0.5012422091118823], [0.021612829061272376, 0.3978215042442744], [0.8677490350917874, 0.6452013873080653], [0.9234386407006688, 0.07570847789308666], [0.13433830060907537, 0.879532771546075], [0.7174693556666005, 0.07990365331746108], [0.6960055182737741, 0.4353799408924709], [0.48268790851112153, 0.19747630558571472], [0.009287639496032285, 0.5406999103679484], [0.8439872047083047, 0.23636036392401505], [0.5381384534200426, 0.963718037877274], [0.2307959862947666, 0.25345409567284916], [0.12684997854250013, 0.43185270028064804], [0.3679370489606445, 0.5642163650285403], [0.0500277768702152, 0.3218371980051995], [0.5454791881951138, 0.957334946283448], [0.6709833683462402, 0.2682002162298608], [0.22426850822594024, 0.3899775413104336], [0.6811127884763752, 0.8573458022541849], [0.22931632081000852, 0.6577947736127622], [0.21806537568996198, 0.830254433630922], [0.7347464542484381, 0.4500019534760341], [0.3595282775923385, 0.1658249911810098], [0.6010425287209842, 0.8645273518237421], [0.6770449171641238, 0.955724197449579], [0.8714291923424295, 0.15034106255766955], [0.6061995871565888, 0.25539873125882306], [0.4744011693957182, 0.015433478621258767], [0.8059369228749275, 0.7907591693951294], [0.7245333796195058, 0.47902804644375074], [0.5035504923346058, 0.5313566037429328], [0.179260483430021, 0.029754340810417723], [0.48480632058047357, 0.8169336212640839], [0.49839625170567514, 0.801546751219794], [0.85494160800294, 0.21210065300843384], [0.9458454292940783, 0.44478080185091096], [0.15334501115500432, 0.3210386112173107], [0.8187085776872153, 0.3007683250447656], [0.748324613278196, 0.9514767844688233], [0.39882650238816997, 0.9540144794289543], [0.6049311189870783, 0.7728530342664652], [0.22384268846465838, 0.6220819297940224], [0.4410309923951874, 0.42111629119996774], [0.22103826910700664, 0.945654157896996], [0.48524382717340664, 0.9369554518882347], [0.03176741341436329, 0.930945518094562], [0.2593482804721574, 0.6326498593740658], [0.06269084607407793, 0.7592208102128385], [0.4632078714984179, 0.04063889043271707], [0.10948663592650765, 0.7698931173595087], [0.8520174525483722, 0.4163564893380287], [0.30184541121154795, 0.5920481871812774], [0.3482619426718945, 0.21646022615605598], [0.788456764579604, 0.8006479374130971], [0.8749603589259927, 0.9156789134435692], [0.31762921425930046, 0.3426557177274149], [0.25232222491280876, 0.13144098747145638], [0.3800342993400725, 0.4843206706378782], [0.43486586436137775, 0.6478549133083791], [0.503393529591604, 0.2826710441864838], [0.9845730017588897, 0.3312358974157752], [0.9386876236294066, 0.8908669131808384], [0.8479899826438695, 0.1372306666200095], [0.8071093725559162, 0.29938845214734944], [0.23399042781602464, 0.22305853630114003], [0.4201234781659786, 0.9203400489573627], [0.9378861523248083, 0.6144004602198496], [0.7922500708768481, 0.6546337832922138], [0.8068784071860313, 0.8852911236149594], [0.9441562690695596, 0.09249112241827384], [0.2035364621357355, 0.5282291499331705], [0.22384070187961425, 0.2023010234897724], [0.3548649383257827, 0.06700545205608821], [0.5883028105050669, 0.8943756084077648], [0.8720294116535572, 0.4519612020986077], [0.6567107018233433, 0.27249129936036875], [0.9574350151744342, 0.4656410597854448], [0.16112621319245468, 0.2839122815198729], [0.7538708063207691, 0.41140783013540083], [0.7032103646298238, 0.34708782885664624], [0.29351508225473477, 0.7048323427169705], [0.0006460510313930357, 0.41534757655902066], [0.25509876049381286, 0.5411736338916971], [0.19868310645436604, 0.5004414962868082], [0.03714487898908014, 0.9714476377789324], [0.7778054110625647, 0.48312563273744613], [0.12377004698170146, 0.25357211764369103], [0.051836325152922136, 0.3810601475605574], [0.1105390635492779, 0.9500615181581878], [0.9676199182000325, 0.5939604039971929], [0.29220231646799677, 0.9770895752475589], [0.6364103614705812, 0.58391441836246], [0.6912739837839864, 0.4465850799905483], [0.1772969774486759, 0.31218920915448656], [0.1728127761480125, 0.3180152533294113], [0.08723942083817171, 0.3996562912775983], [0.3923900881624752, 0.2742534535910377], [0.9286975354405809, 0.4178176875806795], [0.21671115586369705, 0.3121205201029744], [0.008595785273983969, 0.9134516356746764], [0.9472254365582177, 0.8835190069199319], [0.08565511563007555, 0.2059694420698993], [0.6179046037725325, 0.18843884951146506], [0.8325049433958295, 0.3326734606900993], [0.6144573834966537, 0.8752487019023004], [0.043461801907366926, 0.36431622131248886], [0.05128816329421915, 0.3398832971531296], [0.17603277803928186, 0.21755906496189448], [0.4580480038210557, 0.3290162778455542], [0.07759926226267777, 0.3006054509869115], [0.7866859242769145, 0.8911525249143061], [0.663699365387004, 0.3980197380138666], [0.9259406340559244, 0.1598571296098007], [0.01642345574284587, 0.5358522492083613], [0.988610456850414, 0.7499915012931279], [0.21017189903397238, 0.14342409406347711], [0.6205952534200245, 0.13414902493235614], [0.5548335498776668, 0.19212019815744252], [0.7400278344499164, 0.012983926515936384], [0.20159585658146972, 0.716454151925396], [0.7239827864344295, 0.029618871912273748], [0.9780619210862058, 0.049786544486606354], [0.27798775164774037, 0.07181219095339963], [0.8540249611060972, 0.6611829109835569], [0.8003671413781013, 0.0307198812022611], [0.9189253051509632, 0.5343951863013362], [0.2646026141027038, 0.9522830629786923], [0.7787629799006032, 0.48177928465514486], [0.7600009853635463, 0.103216948317023], [0.9551692939600849, 0.5349051110643513], [0.7811657295393698, 0.9107778936022536], [0.7312075189716548, 0.8311719174980344], [0.5824582791429759, 0.30264049976889684], [0.040956431979473185, 0.6567936520986153], [0.9060042657014156, 0.40388442520499035], [0.5396337538083993, 0.6140648833472515], [0.781646839608759, 0.07852042747944632], [0.03325982474900213, 0.5420570067942077], [0.20280387030439173, 0.35350852932181587], [0.21591856195402825, 0.17147432916412375], [0.17501689454657987, 0.8848845024900434], [0.0012979854345013253, 0.8895359160417827], [0.27400598114085495, 0.5942571765972796], [0.3364734685064895, 0.15674241347513906], [0.2434065260624929, 0.8328429845641084], [0.9917546626807009, 0.29745571938757676], [0.6572404815040193, 0.017225421871670754], [0.404351841858828, 0.45801031443795304], [0.04370344323616604, 0.04804368898738376], [0.32405248218696037, 0.27601750972831807], [0.6218905673940132, 0.023045945352651587], [0.39775266895909034, 0.39270811721847076], [0.6658657978445119, 0.7408501017593657], [0.691934836187247, 0.5675025515403389], [0.40272545969706175, 0.5517889104908347], [0.8650631847611527, 0.7362372802204121], [0.6248611681888433, 0.9010519079369411], [0.9392233563085496, 0.09762381432180589], [0.5164985508914012, 0.8520704543331905], [0.1683108372703609, 0.750252931875039], [0.8417749204586251, 0.631380204109106], [0.3856701926909305, 0.06633263229424358], [0.9811066923372636, 0.5912480454600043], [0.032303496074329696, 0.5631103984415857], [0.3450475034393097, 0.6035301487456671], [0.5524620970125217, 0.9480533003721098], [0.5899000797406259, 0.1437425748964304], [0.08270259593082818, 0.5787904407201493], [0.1430445573541944, 0.4107072567032668], [0.2779354090282512, 0.8886934792554294], [0.3959391489995291, 0.9598290535010584], [0.48740109531665166, 0.47812067163737326], [0.29627235662901363, 0.5626808147822039], [0.3879088799351168, 0.3041749904008866], [0.08173591712793671, 0.04400902598307144], [0.8707671359796706, 0.32899832211838964], [0.8478227086959115, 0.6799128699704992], [0.3839388635328873, 0.4028781616895525], [0.6360408501244025, 0.8725573603360467], [0.14873581203947717, 0.45994483331261793], [0.5908094196733652, 0.07733503201686642], [0.44545775152648803, 0.8488544487687504], [0.9668099942261668, 0.40022120574313425], [0.6340044794546593, 0.7559493394471912], [0.4849100911409502, 0.9550473963820083], [0.7666876191551434, 0.27356204359558733], [0.2229818407627, 0.25568286021489073], [0.37400679056479724, 0.34917968686898926], [0.7846314573482128, 0.6813650223843492], [0.9819117216124734, 0.5797282081692484], [0.6611476713497917, 0.8061915355628999], [0.6828064342301753, 0.7988444621102918], [0.5042528816974589, 0.14627865945779783], [0.2938535506167932, 0.5550045584855887], [0.4306768175222755, 0.6147533292121474], [0.49260885251273956, 0.6491593057704859], [0.47752371807960237, 0.30766718168392504], [0.41453000164061815, 0.130568382844517], [0.1449102585700559, 0.8377711411721326], [0.12623691274470172, 0.13053667179940576], [0.7800691774843428, 0.6891455462415725], [0.7208529053948041, 0.2920008903166589], [0.8715129939313131, 0.5448815105281456], [0.06540435141090084, 0.07968230229635576], [0.3658038287192067, 0.1821164986703222], [0.40341587843231574, 0.989626926741355], [0.4144570443294079, 0.4051016921241605], [0.8268665664737889, 0.7899670913698866], [0.9329549263014281, 0.33261065669663903], [0.5220350317422583, 0.07997982026785244], [0.8684570067813197, 0.8914605930264589], [0.5986968415263996, 0.4854214714126791], [0.22842009264437801, 0.8916245672036862], [0.9156878134035042, 0.43786908258664425], [0.06340313199407754, 0.6237464677531522], [0.06524993668683798, 0.4148454919859391], [0.9901624582524665, 0.43735145576338585], [0.5209446791772442, 0.5931160134737258], [0.7418043765942427, 0.9232323720336595], [0.344951644861922, 0.6517356804276814], [0.17501593714283514, 0.8193669397200352], [0.7226655249981072, 0.0332114379305708], [0.3697787038405641, 0.9311710488547102], [0.8310143311813147, 0.38234610782501854], [0.861605893285027, 0.41367520308005656], [0.7635873242832385, 0.41640559764374363], [0.6456283220274132, 0.9861933503616198], [0.715533129876803, 0.5162419581593115], [0.3580967090471776, 0.6376893358302774], [0.6840451980962617, 0.6418030646757055], [0.8829640338714649, 0.8221767643406378], [0.9687732002888528, 0.7743178319195765], [0.936276941971607, 0.9542613108830582], [0.8927563850300648, 0.5535957573042201], [0.0547036861479363, 0.43532209788678344], [0.055545564546516046, 0.9222310162777125], [0.16990978470019713, 0.5853809723584351], [0.9185355572941323, 0.25969875303339074], [0.23801521553222238, 0.7402516204005105], [0.352537198606206, 0.8819053858380486], [0.07219786181673826, 0.373062432309351], [0.5271909362639587, 0.20063031501986373], [0.6058417244419158, 0.9901203526504757], [0.21078017736604138, 0.27060748094433507], [0.21037552008977944, 0.6520386568518183], [0.5593663920637102, 0.7409517344203599], [0.863109358865181, 0.5400408439016918], [0.06620791275070248, 0.39116721705226065], [0.0657782508096223, 0.747935982780315], [0.2352389943625235, 0.16772749115322383], [0.2251697626353868, 0.1095450835974795], [0.6247174858627135, 0.18711737459234756], [0.15075502746412794, 0.564299430397062], [0.6748568289158566, 0.14195563276636647], [0.5413821242946735, 0.04406222841394769], [0.984664283879365, 0.044311431765432285], [0.6742965821252112, 0.26421530088047085], [0.7018850253598193, 0.7044009104304745], [0.9123982621363148, 0.5554454269604316], [0.05577642171704633, 0.6327558071583852], [0.4776779736746254, 0.04241696055447364], [0.2607919505602393, 0.802135444549036], [0.4374700896404047, 0.9747466839079483], [0.5616664219970243, 0.5617820552997345], [0.47718854422844137, 0.0495383544713871], [0.7366406901397378, 0.6901048798522895], [0.04694523840786857, 0.7226366337709309], [0.3710072372980917, 0.8550189485400351], [0.34321502548917016, 0.10899771162388894], [0.3704769908372847, 0.7167715901626102], [0.631580145922332, 0.623731759941739], [0.40496005741276275, 0.15473677731128554], [0.9614287137691161, 0.26332164333827446], [0.07804903881606184, 0.557793168841745], [0.159521236903851, 0.3474626750028519], [0.9500795887934556, 0.8181255645000471], [0.46529581697292377, 0.7988883476879368], [0.11625927810616044, 0.49037603265933083], [0.09603895799017259, 0.07789197239708678], [0.09875323752618748, 0.6366219738118291], [0.9228169928515334, 0.1853642723529546], [0.3398746595788593, 0.9534203019482499], [0.21110441591053475, 0.6878441513687384], [0.48748665713372064, 0.8344883096996535], [0.48191189173396676, 0.778433951723383], [0.03400045695214171, 0.0951357693074949], [0.26099640660598056, 0.7486206965152233], [0.9645617486987025, 0.5140868275973359], [0.9353612350589291, 0.731416590245294], [0.8994093704038392, 0.8429587444807801], [0.8538597285891475, 0.33826970095532105], [0.5129410126224052, 0.4767218689697249], [0.14941555927251038, 0.14193774714220309], [0.6925030406441492, 0.9712418659697422], [0.005896538114300132, 0.5697147817690819], [0.18724847153638624, 0.06479900221741308], [0.43296059161611855, 0.29040236909803085], [0.5893444943590809, 0.9309784896829963], [0.44232297028411194, 0.8129067491511535], [0.952728123001968, 0.13463014484765545], [0.16979471527776369, 0.4369674123966385], [0.4361195434033449, 0.730299492631125], [0.790107241062634, 0.7763436896560612], [0.8922247589820229, 0.9797520843001394], [0.11703955194363613, 0.022091859711770523], [0.3173653483034725, 0.7349510788079944], [0.4197464185750327, 0.31692165884528867], [0.3021662278948979, 0.5213859061384157], [0.5980144776310001, 0.06090302727360186], [0.40565863800371493, 0.8818849501829333], [0.19361483405569302, 0.40057757888787804], [0.43504248117192446, 0.09008967000476653], [0.06103524838239993, 0.08473737319099783], [0.09021960174163768, 0.6877898020629795], [0.840625010995627, 0.34911999039871144], [0.9421745591265974, 0.4417821799681888], [0.7752002647091257, 0.555483397472192], [0.9658977165466474, 0.06152107083156233], [0.4097545247740467, 0.7866383684878766], [0.18470584702899895, 0.15700413863421137], [0.6710030029182872, 0.19633289598757797], [0.2995366383281324, 0.8786423888993247], [0.017982119799842544, 0.7433863829490226], [0.6331275061201901, 0.19996711432157144], [0.8868063253531462, 0.6258048571056378], [0.5667071291786723, 0.4683854761178877], [0.2667512433965771, 0.39343018877333813], [0.26856644347612135, 0.4669740583147216], [0.32271617486031223, 0.589899690575695], [0.6246262085550045, 0.0076659098833101735], [0.49059717226731636, 0.8970259007367645], [0.8785276741133364, 0.9203586583169018], [0.6718487555905229, 0.15348946518190176], [0.4080180973408678, 0.17595733648514011], [0.5583030991457026, 0.3144345626848519], [0.7940069201911405, 0.448863931675465], [0.009372928917915857, 0.3111917701111673], [0.3290880650643684, 0.8418048140540684], [0.36675101116554276, 0.000499890639366396], [0.8150694547780524, 0.42218756464849283], [0.6266122106966058, 0.4741287765398915], [0.6104182847770424, 0.9874150929714214], [0.7743131543712831, 0.5818269224152535], [0.5559198595651584, 0.4214532253807731], [0.4180783975737761, 0.8824118334836094], [0.9365537510258601, 0.9166533103990978], [0.9461690827306134, 0.4382629254414032], [0.05227386470779127, 0.35092042586902095], [0.3903578912201503, 0.16585605738011966], [0.11962426729661702, 0.92683915821052], [0.7289223556373703, 0.9615925972833003], [0.4823455834811382, 0.2795849780461437], [0.6956879246206019, 0.6531368786530173], [0.16783568358787182, 0.20078423108857146], [0.4054994922483479, 0.8839838446200541], [0.8719122116059946, 0.041537279370316926], [0.4003134013723142, 0.9345968678663193], [0.29788976690630464, 0.8186301076832453], [0.7700045905977893, 0.3655149028025211], [0.3222349684819362, 0.5314571425843407], [0.615246375501962, 0.0581102503179699], [0.5989076129090545, 0.20405812904000264], [0.5338541785781509, 0.9769940056153932], [0.1052892437274685, 0.3443126275254432], [0.21207578090659596, 0.7418555750053618], [0.9016968709233019, 0.019972843763410575], [0.4129015025566616, 0.686056402603604], [0.9240536258708161, 0.19843192477757687], [0.31936545565135044, 0.0027952134949317253], [0.6705864586014483, 0.4220018486240842], [0.8417521342578465, 0.9449652052709223], [0.2601887129618907, 0.20890656498702698], [0.15292197658545137, 0.4823514079013027], [0.810812238129747, 0.6931322612513289], [0.15688201606983654, 0.20421862193734563], [0.5118105935663075, 0.7621134454535204], [0.14712693660346632, 0.5767611433769767], [0.6744724557349572, 0.7875092133952551], [0.6536979584929037, 0.6176574158280044], [0.04785689272085092, 0.5912487613634109], [0.22178303002108302, 0.32517253759906184], [0.4142291998238491, 0.3394358114648659], [0.9082709688787212, 0.3096296293249736], [0.65451712121368, 0.9891122207341903], [0.28529087432159594, 0.11707891560261152], [0.5319902776763363, 0.40593463281383235], [0.5986449622113207, 0.8317831239082352], [0.9612721355692322, 0.40560882352775396], [0.4509861471808718, 0.5060327468369467], [0.30825157718002016, 0.27391463392071236], [0.8872366081537014, 0.43249649408059665], [0.9451689738591436, 0.8144580683467538], [0.28900581460033614, 0.1669947130810009], [0.878104978657643, 0.9841496055383875], [0.8651763204927772, 0.7128492637655577], [0.07318216581778714, 0.2253912128324822], [0.7480262193196464, 0.28060145626021515], [0.8659563971087674, 0.3889047247124362], [0.5840325455383613, 0.011879643608843304], [0.8338807723626417, 0.7462740322589854], [0.5151825344432436, 0.45454532439747786], [0.4671918801227636, 0.32285311221094115], [0.20694845802876471, 0.4144088133053522], [0.302193792388776, 0.5033610778195644], [0.20181699728945013, 0.5767306539665658], [0.6213255803281392, 0.6951288036077099], [0.829970212591541, 0.579825468596762], [0.025994194851694963, 0.3850099633588244], [0.18506839782952045, 0.8510283835814116], [0.6436199025728342, 0.7146703457753705], [0.29778818398131035, 0.0917661989414329], [0.8309852833476878, 0.2821133973564057], [0.5685386049132906, 0.9993764362662425], [0.80996185876198, 0.3341270000337512], [0.8914872677694721, 0.1360330232581144], [0.2816621908355583, 0.812076023016123], [0.6653937961024586, 0.4409896399487985], [0.7612782241427363, 0.47197103112906713], [0.0364336677648579, 0.9348511090893554], [0.7531499854844402, 0.37538868472133446], [0.7372659560607594, 0.42714901526770777], [0.05526204366836596, 0.10925823407607727], [0.42399457160089016, 0.9096198725255336], [0.0843230018040605, 0.6301005568027426], [0.45015816311511214, 0.2686261398690373], [0.9481065466492524, 0.2590251423352764], [0.9295379947299922, 0.7008803463769654], [0.18203380905880406, 0.10370427059278087], [0.9240675894152902, 0.24515703189639793], [0.200215713057443, 0.8794911069824835], [0.6485035952654623, 0.6414825946562442], [0.3886704791967216, 0.72885492463906], [0.9694313976560279, 0.820001185035771], [0.6081961990296675, 0.3154216135425165], [0.7332032792079771, 0.19857249706812163], [0.9209621714754705, 0.7088224209128478], [0.6400420638928431, 0.8666124308365709], [0.03019120273900955, 0.03648360015486651], [0.9581424333642365, 0.2571464430924554], [0.8067793578431811, 0.7343354479975599], [0.57651825963167, 0.1878114940123351], [0.8084692598920288, 0.7330610137393518], [0.30343990908222096, 0.8588271146309594], [0.86782032977981, 0.3766705479275536], [0.20083552362254453, 0.09339696252416685], [0.01171771514021569, 0.9525144388673555], [0.017382623283325294, 0.763362605981015], [0.0765354772362965, 0.9918277366926491], [0.15830444128949595, 0.8603894038506998], [0.29077733043042164, 0.6870659002903573], [0.6360452346886003, 0.7873786492570531], [0.3673976142936216, 0.8075695701796216], [0.3078289301993611, 0.6786451728212376], [0.7504612373206913, 0.5822630065933473], [0.9588232800227596, 0.08397154149459896], [0.9059512294408363, 0.691501907530913], [0.49813802393177686, 0.09320915893625448], [0.3807566617008027, 0.9794109072520892], [0.10296909201536897, 0.6933596925465274], [0.9503875437166297, 0.5223408783094106], [0.29353071747202963, 0.9331651079252045], [0.2908499059690133, 0.8592766287097928], [0.3283090004366157, 0.1563170395019191], [0.9251319662605131, 0.8387854812803184], [0.9709078377173146, 0.027217763843097154], [0.09019961410202026, 0.06151956338061004], [0.6070581455262778, 0.8283659553679538], [0.14296866653375717, 0.49942624459509055], [0.5741809725771246, 0.16322972730042273], [0.7707746640783726, 0.6723841760067503], [0.18604700760194548, 0.09500631090422718], [0.09963091998736329, 0.291225919134975], [0.9826510409148405, 0.18727306020309675], [0.7577479897863736, 0.3010376052304712], [0.2792666274281054, 0.3538805419462806], [0.8836335869885823, 0.45700142388991694], [0.07294879104207774, 0.7593438701810445], [0.8608375943156594, 0.8179254957149691], [0.21954017934196057, 0.5711667367140358], [0.8982007650669043, 0.598856263504867], [0.06229935118567265, 0.5644216384669968], [0.8221870744102735, 0.49332304543097805], [0.2037570483294372, 0.8263448492935747], [0.43552512210729555, 0.45299700048655245], [0.5309264624731008, 0.25403722850068355], [0.20686916315246395, 0.4201944479576911], [0.19005171944957477, 0.659012726896234], [0.17976295051418645, 0.4723146991185143], [0.7807262336786447, 0.24384708173089664], [0.0021767417871175754, 0.9845244335705328], [0.03746941923883462, 0.9054499468582516], [0.14187580242962372, 0.04744811206085464], [0.7760058842821599, 0.995877723011328], [0.610002578173496, 0.4024390126398385], [0.7923405783326913, 0.8615889903028346], [0.962953491468585, 0.8400329781436437], [0.7249973956438672, 0.34619104589733474], [0.8539428229102332, 0.34131380682429], [0.5830967087558301, 0.44982288589160646], [0.3460265041477011, 0.18983561696000917], [0.8542220280006662, 0.7096521363689008], [0.20347497413695348, 0.938047167374934], [0.5468280495431914, 0.18001641213081354], [0.920516163652249, 0.7163132120670159], [0.8753750849623841, 0.36588766874877876], [0.574828538434339, 0.9559937399245129], [0.9826601643379356, 0.6032383753047927], [0.17387408565000984, 0.6953020817798363], [0.6607170400954263, 0.14859690136347714], [0.1878321800851257, 0.030097139235967907], [0.6828284075847785, 0.849092350692038], [0.3087866962076228, 0.5554279042492456], [0.8092288533904805, 0.9111033159919234], [0.287133514449497, 0.4459566291247796], [0.8629399065948489, 0.32124577190851356], [0.255608755553714, 0.7718383471992747], [0.19771856231503204, 0.9559776605775446], [0.03890824658110781, 0.7591944126313254], [0.11495725070176344, 0.7050720237913406], [0.6022785773669309, 0.8045757789994766], [0.09198988278145348, 0.6156411580301767], [0.8736497920010139, 0.5301864857131998], [0.5657099633540693, 0.9339954236494791], [0.5753953586768844, 0.1462734390822874], [0.8563573104177917, 0.1412155875599257], [0.5534129427475057, 0.048683394601216734], [0.687546617207246, 0.9749786468808053], [0.5048560683349497, 0.7932853862752534], [0.15386343080571496, 0.42621221241927965], [0.09533019669460674, 0.9056098172648127], [0.08722014962894797, 0.3262710158295349], [0.15892116524477595, 0.7296137388090845], [0.14946749174799068, 0.389624144015283], [0.9249790355069857, 0.010260294278900184], [0.020396157670932058, 0.5676781594095466], [0.7950812036552367, 0.721864657463303], [0.3741921284378762, 0.7993660749360361], [0.3439615632384527, 0.8160099848814643], [0.32205394433963497, 0.6215595738195365], [0.5185787734255518, 0.5065568686017023], [0.02771244259686456, 0.9608470018556795], [0.6388276765502334, 0.8259218724707154], [0.8643756552201163, 0.07609541256449259], [0.7638282127951891, 0.4825033449711579], [0.8739618731714467, 0.2254460739553258], [0.9916794795061692, 0.6031860469255124], [0.07012163368731339, 0.6305185452319111], [0.4154722314629298, 0.7782233437062411], [0.34912581468182324, 0.30256049768367377], [0.17491062826169024, 0.7255774379306714], [0.5257164594110867, 0.9919216555109183], [0.6632724639135732, 0.9502363657591814], [0.4598673834573117, 0.7758014358114363], [0.6197026965341221, 0.3177239745496102], [0.8165548043973888, 0.7927240563448749], [0.2790966789634626, 0.9295431974383658], [0.14872292712237167, 0.6031848497999934], [0.8708284274167326, 0.3951657937338917], [0.07136952775165994, 0.47235018566563514], [0.15148815016059514, 0.925413823267912], [0.9510546572940898, 0.6805500760440375], [0.01870917864822086, 0.6029188432878932], [0.8250876404855981, 0.6604812811353654], [0.48511505257482324, 0.17560763228402565], [0.655442027714972, 0.8198580587813173], [0.2605301791515727, 0.7571413960766323], [0.11367391366677515, 0.9508558342325316], [0.272998518707252, 0.8872278598454933], [0.22181336327716183, 0.07845913516993253], [0.17728046782840656, 0.3098578928080876], [0.5145269655252828, 0.48455818505858717], [0.6264440881302177, 0.8381968252353338], [0.63500809363911, 0.10837449734703475], [0.24317364873334046, 0.6733115376927726], [0.9104387698938853, 0.6037692168312739], [0.5989975256715633, 0.927248579958606], [0.7398714767178454, 0.508227520056891], [0.9512563249939487, 0.748062424432933], [0.32922516493984844, 0.32849925848454953], [0.1266075416973702, 0.9214646004659462], [0.03047062723109839, 0.6203246597074908], [0.4844739196071437, 0.6348089504021713], [0.4685335389804006, 0.5551104922825144], [0.13142960213960486, 0.24733507749306027], [0.9265163019702234, 0.5936324349005522], [0.6522149293090217, 0.2923265265753522], [0.3607618403786401, 0.6585085977130827], [0.7978494611318904, 0.7066740424756023], [0.15047136236731895, 0.010188236295044839], [0.7387691365524841, 0.7391072505277508], [0.499497090514163, 0.47646503646468275], [0.8586375658666713, 0.3928778895428854], [0.06079650893287891, 0.6453887851904632], [0.7027843767852693, 0.8111274292515666], [0.44798514373743026, 0.7255728803854138], [0.49038576829650427, 0.015941757745327245], [0.9963502808005196, 0.9329639372781259], [0.6211292351950726, 0.11960681915408555], [0.6123826076632509, 0.7042415649329776], [0.8423902464437473, 0.48508893464294756], [0.9253131630359974, 0.19695685549935693], [0.10617574628440196, 0.04397114941073843], [0.7172626007480964, 0.6392266234298087], [0.32333961285176116, 0.7325501103485662], [0.20599591121357574, 0.996416757879313], [0.19253277116108525, 0.6558124949711784], [0.6978061860349966, 0.8617747214684165], [0.34000516403170156, 0.2887119127749026], [0.7831375124386464, 0.6625719580743825], [0.10860822817916638, 0.388580421823315], [0.9783810804950331, 0.4830839668529293], [0.8250755582275705, 0.5169585794836737], [0.7252947331531189, 0.5271946824605025], [0.4730859475440433, 0.06389860481562926], [0.571991087184535, 0.8616131093650305], [0.7771882850461476, 0.2692337394401718], [0.6005037354695595, 0.606587500699626], [0.6936939894988121, 0.29784021848515274], [0.29895753787263646, 0.41490775256340384], [0.7591269793642561, 0.6288649121639638], [0.9884846692301604, 0.00752001296413829], [0.18967301417931992, 0.12203989223128875], [0.9829718230486836, 0.3340629873693195], [0.49761559997065163, 0.2223578526106752], [0.06455503777558025, 0.02428930134855245], [0.41959562837941355, 0.3047625940557208], [0.8051172296241564, 0.21828909193433865], [0.4505548038289173, 0.41706440168545833], [0.5257776047480125, 0.6217417905705351], [0.7771998543379025, 0.5196178173982761], [0.9666130988648575, 0.7674976393601698], [0.5639692497166477, 0.17330464829704872], [0.2789630306547044, 0.14678606550850348], [0.09023599639475643, 0.7141054764911353], [0.5567857621630753, 0.7516387455469303], [0.6904771279122227, 0.23095344075919344], [0.8718251860195024, 0.01529027927986737], [0.4706418063735256, 0.28355394230372255], [0.2728206649107272, 0.20790443907144862], [0.7267051549236672, 0.6345171233955441], [0.3484479988975925, 0.7712522239592216], [0.8888378036032176, 0.010513291658276636], [0.14145880149382495, 0.6673305902495913], [0.17967670741900166, 0.8214666855188346], [0.2969237657309659, 0.566410749264105], [0.5603727630919759, 0.6955547192352276], [0.12221221629043166, 0.5991387933316557], [0.18972038282132242, 0.9893532552141506], [0.4111404163870046, 0.7944548317033179], [0.504370030985509, 0.5479277954874955], [0.5411633150313151, 0.4863677333014951], [0.3774361634181812, 0.4739778152070335], [0.04657418122456536, 0.7929650764234889], [0.19907021011051795, 0.013445581463463974], [0.42689223985486, 0.8776484472476646], [0.11726665638946954, 0.2986125082199401], [0.6023238788646694, 0.25779990093669225], [0.12695688693012874, 0.10063555308467831], [0.9196639111039635, 0.2928837379053877], [0.9942475530030217, 0.6717990930660707], [0.6676371403280672, 0.8017341207191592], [0.3233351113255192, 0.8685380286014491], [0.30677382195992153, 0.9211851163473693], [0.45314278350114723, 0.9901076674209415], [0.8554563390801286, 0.4682889536231982], [0.21029567874926813, 0.8183917981178255], [0.9065258938568991, 0.6474143709783193], [0.053303388881085545, 0.9302640439050243], [0.5390376511012505, 0.4607784602899322], [0.6285961118252452, 0.45504279419697835], [0.8142096442778094, 0.0013814325769030411], [0.6378222629634034, 0.03953122263037234], [0.8550805077744751, 0.08216094689502595], [0.3848724801885961, 0.7360760774867436], [0.289178966583155, 0.0437052752591085], [0.32520175366619253, 0.41926767686014643], [0.10214078119752834, 0.5277222807962522], [0.8654982727489238, 0.7358456268403094], [0.7999299974526862, 0.38387270870992407], [0.8379563601239541, 0.8287423458789441], [0.6397211046368787, 0.372677664114236], [0.1972421628122939, 0.9572938362438472], [0.8743911864100335, 0.5778964559897948], [0.8696605645589826, 0.41003081057705215], [0.63389183801349, 0.8989129665644789], [0.9296574760033369, 0.7767595610699065], [0.8467275778136875, 0.36980677423158803], [0.24394048078202035, 0.7572908109073071], [0.8268948427719937, 0.4250227644015797], [0.8240877013358063, 0.3310874558542779], [0.6981371778807003, 0.6344532147543149], [0.2974083678004925, 0.5416796278383162], [0.10027929725373552, 0.7905938627743877], [0.7218870684412818, 0.20019376495063146], [0.13307215582191256, 0.6721919050338343], [0.24970595911886473, 0.13751412162200616], [0.928169988859011, 0.6766365399793601], [0.8269373113035343, 0.44000998649493506], [0.1862262224494512, 0.31302296165532806], [0.4671832565316669, 0.9455968174211555], [0.18113608116169466, 0.5206433745381802], [0.4616308780518582, 0.7591300176926904], [0.15599783316173987, 0.9427193916517281], [0.9546653002470341, 0.3718617692061611], [0.860949642947875, 0.6998324522738983], [0.6256301932443683, 0.009003098830651646], [0.7711509299619208, 0.26521690245091056], [0.7597733487276749, 0.5421811218168334], [0.49891364239957514, 0.6967392326562357], [0.4483087669702248, 0.7332476742089269], [0.5143206000184297, 0.9267933456271141], [0.20507263595605552, 0.8763702072963003], [0.7256603952488326, 0.6174242053504957], [0.3978791654152475, 0.8365436008717781], [0.6999861451419043, 0.46082879365824336], [0.19759662322888716, 0.5861414129700983], [0.3651509084473583, 0.09665242502220317], [0.9726464143453145, 0.45050971400384354], [0.8389842937985447, 0.07341321618690977], [0.08138102969924699, 0.5290912480144516], [0.9430260249556751, 0.46274365832819175], [0.14663984310753575, 0.16496175611302322], [0.7501903255178962, 0.9558303496353818], [0.9677103534154545, 0.7869617102441117], [0.009325322636615008, 0.8367401258504769], [0.8467671494267472, 0.25846688302481424], [0.9462997672423764, 0.7622765588197257], [0.1684875411285306, 0.8339654148487715], [0.3276163864479339, 0.9292344819373866], [0.610423442489758, 0.15536615861070957], [0.5168350656130943, 0.6292266319186091], [0.15505982163418952, 0.483382513793837], [0.8062205452037485, 0.13662160441229254], [0.11577465901828143, 0.4954000695462023], [0.8821076037352111, 0.7769028983737224], [0.41622189071220983, 0.31696860804337956], [0.30845656377343866, 0.5955132651052073], [0.8546375270242863, 0.6094564294060363], [0.2859327985768836, 0.7013145465524008], [0.27865515056293466, 0.7394499687506211], [0.03615925927770991, 0.3951917312444029], [0.5766986138813301, 0.871907561834371], [0.7298032713704765, 0.47731109084559853], [0.13513270857924098, 0.5205964026728308], [0.2989302735545458, 0.21485190729623582], [0.009893418185758729, 0.06639120104982044], [0.2840330513905788, 0.19594901292229683], [0.0712610287538693, 0.7410348567941011], [0.6280804083779046, 0.6875101898125866], [0.2846440309368792, 0.7750365244866472], [0.3839009367971594, 0.7485214539719023], [0.5465136927279138, 0.6217475880000709], [0.39357345475589045, 0.8077201403033866], [0.44809183682476894, 0.1544560116923691], [0.5174412802062501, 0.40448593497058205], [0.6358236644778126, 0.5458640284662755], [0.9586043876219007, 0.4895577916900755], [0.9116973964538005, 0.21510509334907846], [0.6411246140336244, 0.98433944750418], [0.6035551004156766, 0.1620399320320557], [0.8590575345255052, 0.5013344210702391], [0.17229902131096586, 0.5133228870045821], [0.36482486706493045, 0.3192397423751808], [0.19026800038429914, 0.8416529955648185], [0.804192298512096, 0.6611413695337068], [0.05398984636533155, 0.7351903458223688], [0.6548618151877553, 0.6078221841805196], [0.10050408021267099, 0.233211083151889], [0.9640605515320204, 0.728927775192154], [0.1147568590293665, 0.08955460134526494], [0.40666903926705755, 0.02370180668961752], [0.34678826895390613, 0.0017633632323947879], [0.8261214886781911, 0.9121646349426511], [0.7211606001313206, 0.7496647481448667], [0.1951143355842314, 0.5577722517953184], [0.022652221616958235, 0.4091758654814951], [0.6339145605971824, 0.9570814681790777], [0.6696872596340049, 0.4950834262958651], [0.7038356511494627, 0.8199078472287175], [0.44271007235432247, 0.5569022686582014], [0.32632919252854475, 0.9486717373964959], [0.6491595424324555, 0.821623045830813], [0.9077602978024966, 0.024526591652174745], [0.7059286829009251, 0.7484134190459488], [0.6300689449071079, 0.12817136292345077], [0.1984341614682713, 0.5439726818441133], [0.5535926316288486, 0.2592487984802758], [0.577715741425097, 0.6035560124196058], [0.8955255010659772, 0.583048854694313], [0.41687072116846247, 0.07185877132088847], [0.10806392997748404, 0.07028046729269166], [0.0634726838482832, 0.12033813088299838], [0.37095321218362165, 0.7909431393382477], [0.5434760297426282, 0.8816340219451193], [0.6774404577151865, 0.24358448529597665], [0.2234102952443926, 0.1746336680588031], [0.2738353360632598, 0.3093548173704159], [0.2872160611909377, 0.7011670093752111], [0.7821487254090211, 0.714129979868332], [0.07683879566387308, 0.8373697015580441], [0.8709514387020749, 0.5108144323097894], [0.06457205225726936, 0.27168940073777814], [0.41630116032129694, 0.38923914606517196], [0.8670454602646891, 0.5809416869300881], [0.5759879317312153, 0.6855742994289518], [0.9445690118581533, 0.740382150910681], [0.30280133116766117, 0.5156566344137808], [0.44705166391299656, 0.5244658164127638], [0.9812391239415771, 0.2170760414570997], [0.17930062397730206, 0.6905211994369823], [0.4589743943223267, 0.5090479407770093], [0.5008321624376199, 0.958258960967773], [0.7609951651361291, 0.12702174076203165], [0.2619470130142685, 0.07875487117193436], [0.37310242643370783, 0.9495575885075332], [0.06749545899015796, 0.39435200374671986], [0.2993715359508635, 0.4974775842708177], [0.9593727383888204, 0.1974850548106224], [0.9222727040144898, 0.6463677752437959], [0.2532282931900638, 0.7712752420054101], [0.9101621691122265, 0.9113041214880253], [0.3559802116501338, 0.27537016829314764], [0.4091940185870405, 0.8620949865937765], [0.1712614197021407, 0.9260741026106638], [0.25067851338227987, 0.28966700925772026], [0.779309824970468, 0.7358899958803696], [0.48541579634358645, 0.9887918657386492], [0.7111047610518735, 0.38195172737149397], [0.404988097108977, 0.7266757272630969], [0.2400897255644313, 0.47932405563807146], [0.13751683252949176, 0.39377750680844315], [0.15113694739599137, 0.9596443286845036], [0.6654050156888914, 0.29297410816939684], [0.0248856593503316, 0.1809546980081026], [0.7485231326929933, 0.26972959250634243], [0.7829072877034815, 0.021569308473023963], [0.7265268484648912, 0.5420700153846078], [0.22110880017891144, 0.43788747369550707], [0.9340066402216093, 0.9377781180989183], [0.061451873807661594, 0.3791717558578108], [0.9167188174539455, 0.6066243690621312], [0.4104340729919247, 0.9570251341930811], [0.9189773377081852, 0.44110126859116294], [0.5131302730421194, 0.3222325361285999], [0.36208403961963953, 0.12342573371451993], [0.4609674587794127, 0.2319852742009032], [0.47044624655832223, 0.2596653293674187], [0.8438785788071207, 0.8241733471544436], [0.6455997873144251, 0.6555416252287549], [0.2560507556386342, 0.45672993734027234], [0.02068097282517578, 0.6133836765485838], [0.24189764649661916, 0.5574207014888712], [0.902173263578443, 0.8054779950715005], [0.3535815569157139, 0.7806158861677991], [0.47300940982223827, 0.7841319362436092], [0.562099886070353, 0.486086675105875], [0.2581128127451445, 0.307051983898482], [0.7899794238929451, 0.7895860198208913], [0.023275882300106798, 0.6798713638848856], [0.8972601461663262, 0.9735426531211024], [0.4034653896094821, 0.8332046847884031], [0.9352985660362996, 0.6500853253109372], [0.44372159675828937, 0.5427172054166299], [0.6361260874369212, 0.30092181171059273], [0.9314911719276646, 0.2006811335663521], [0.9898154181799543, 0.36848609538203536], [0.8295522190875669, 0.8186327044622485], [0.5513646635245117, 0.6697266285089554], [0.4502286718811297, 0.15761355287743717], [0.5683187091246853, 0.6623653396028563], [0.12173530599563753, 0.8748914579866941], [0.15802828629844745, 0.44281431613979205], [0.38518131670687894, 0.21071901101063395], [0.12429204445083897, 0.7014589165804883], [0.5147627433574032, 0.41572056828507886], [0.3869781399506008, 0.0846772831188145], [0.3703192864163889, 0.6680922836710327], [0.7892655259426996, 0.9424658506435605], [0.28848903611623855, 0.5006174089912729], [0.13656267650793208, 0.531268950419354], [0.39071865200041456, 0.5135314514821119], [0.8645385265705524, 0.46390594135448615], [0.7522788998884548, 0.9099601314340467], [0.865630520233112, 0.06075399008234683], [0.6040944626609659, 0.7555010477830318], [0.7712041452877383, 0.26132789141149515], [0.21705688113538457, 0.4242615590722062], [0.505516972340639, 0.10339061768153102], [0.5499451949534075, 0.2646251421539413], [0.3654430513596203, 0.33660294459668794], [0.5776470588136423, 0.5446297316857468], [0.3472524384946254, 0.5181336274511362], [0.5645800733746671, 0.15402828654699618], [0.8614121731247767, 0.27674423700866946], [0.6997003678409676, 0.2866617343486433], [0.3135758610936207, 0.3916071853110319], [0.009446277889089805, 0.34698440635678907], [0.3804641178186604, 0.3247716987465742], [0.8106675951576938, 0.058452363826205334], [0.5409949953536078, 0.36824126757313014], [0.8376753342124384, 0.4327186967062394], [0.8720273688185449, 0.43262116652948324], [0.21865773840673797, 0.022150780137696335], [0.7187121630568492, 0.6740439749251512], [0.5185971786765351, 0.21800238641139968], [0.2512302760441081, 0.3998495919795342], [0.755145079572837, 0.776410835804273], [0.6404609641093888, 0.6193848619796936], [0.9699565313084542, 0.6760614138685985], [0.7275124956553131, 0.025238159024693063], [0.549381570201415, 0.16911884343092698], [0.4177470730525201, 0.5911471571497493], [0.038908629947479456, 0.9482621445828169], [0.2890931891973818, 0.04500045265876329], [0.24081811727602465, 0.3656253451327036], [0.7355130640866656, 0.38701169027908167], [0.9482090902366457, 0.17156499416481785], [0.7672396021123981, 0.6605679039993355], [0.34160125031721233, 0.5869666626538622], [0.6768834068224461, 0.5392707303460759], [0.7930956091655813, 0.7170631407300142], [0.9971534461546422, 0.1898744245998587], [0.5439371898290871, 0.7490747927887246], [0.8390910760100659, 0.7520992563971536], [0.0553248858751314, 0.41287828345649646], [0.5238014210166706, 0.611038673260729], [0.9354323855708321, 0.48912998050685397], [0.06564289313824734, 0.2873042402714996], [0.9675353511913738, 0.36635291610361487], [0.3649636833268557, 0.17090410018506952], [0.2232958981460469, 0.21825590800358918], [0.39431700241348466, 0.6948209126537244], [0.11733379745002959, 0.2849208920818944], [0.7448349223531994, 0.511915922806537], [0.3299079877158848, 0.7435966626440008], [0.20274717901771266, 0.17063554255188185], [0.7494614730577631, 0.5063249700494078], [0.9580706500226754, 0.705628277890577], [0.15256022279143555, 0.39001857867828904], [0.6235190744531447, 0.662278304265427], [0.9889707486435912, 0.44893988877110225], [0.6174335178401549, 0.20837700321640007], [0.7248387508508469, 0.6954600807201831], [0.8881408425365243, 0.4122173288992983], [0.24182049574314424, 0.12742794926348933], [0.9446406243275752, 0.09414897512967091], [0.06372523344376502, 0.8089912221585509], [0.8880433522385157, 0.31033194602951353], [0.6825956841160725, 0.9847441341348517], [0.21247729067815857, 0.23964922743156658], [0.46158962347549104, 0.06281028046840031], [0.27122196396922515, 0.35640756361831716], [0.4977949891665442, 0.1487106789028203], [0.965780543031422, 0.04817988586027855], [0.33893659857459035, 0.7305506731300434], [0.05774441430584076, 0.28383834442607414], [0.6470521791101985, 0.6946706298577288], [0.2309441903528341, 0.7795280777542852], [0.6009473786900047, 0.2561875749993583], [0.33799620995051294, 0.7179682135214057], [0.44171853098265357, 0.5337889532148149], [0.3053641740810843, 0.7888476551830146], [0.8583966615978066, 0.12080638239158215], [0.2054315599179074, 0.7411751913445909], [0.5897488080596637, 0.6266767955483343], [0.27506942604202766, 0.9930605834781964], [0.6816824098519846, 0.2340704886666234], [0.4288329335633294, 0.47594964283175933], [0.1655226794835063, 0.8626261755140545], [0.1490541762771005, 0.47495197807880174], [0.8429574925644501, 0.602584976307238], [0.21746404924678675, 0.4624359729001676], [0.38472639880924653, 0.8133521547819591], [0.9270932698873325, 0.3739458446276982], [0.9352660208464653, 0.24049078964997161], [0.8273980075152004, 0.6981866849833467], [0.6698822388844119, 0.43912698043953435], [0.7950902107195921, 0.9982090943260508], [0.7573856219456013, 0.24968642364476334], [0.2664448194501309, 0.36301311400643643], [0.6653264671373523, 0.7298792777845083], [0.17588778991240994, 0.40500545535497723], [0.5049859598898366, 0.38138091804993657], [0.08656803688980697, 0.3397860793932326], [0.07477643989454674, 0.6066769880681275], [0.4238205715375434, 0.6807321035060738], [0.05870801110332524, 0.5404111771904976], [0.9363264606954915, 0.8790377298339139], [0.5376846239035419, 0.8903938576767642], [0.2867619359649002, 0.874142398544173], [0.22212522396895706, 0.7447408547233805], [0.5197409525456792, 0.929732306250305], [0.30505278453401663, 0.342960880142978], [0.8219058100654805, 0.6600547773169316], [0.34029222318123786, 0.8243058800126947], [0.30377556232622005, 0.26046089626657465], [0.871745440604398, 0.21466526884550496], [0.893952441239364, 0.2727832757529327], [0.3070225886448874, 0.45000808059511355], [0.7555527449610944, 0.43660459727758905], [0.5523418992633004, 0.5874447355314798], [0.872493014048128, 0.3694579779034427], [0.30123551907616064, 0.444325061903567], [0.2263972880204277, 0.6057931363815128], [0.1394462207424476, 0.19015031402899762], [0.8368921334141901, 0.08918259859201105], [0.09528520584656353, 0.5614492579799126], [0.7468270092813376, 0.5045584982623595], [0.8679820159139917, 0.6392155724557219], [0.8983176728969401, 0.6774713105094469], [0.20718656422126802, 0.9264625759449645], [0.565325361652115, 0.04963947287937309], [0.28082659895825723, 0.9056813832532411], [0.4505697097087873, 0.31836440184543724], [0.8286875373392312, 0.08690159058996205], [0.3024305782123422, 0.2771948236624159], [0.606674393090401, 0.549160279885333], [0.6235756105079766, 0.5568900717999257], [0.22590794050309393, 0.6408913614301938], [0.9642206680269912, 0.22545580167655987], [0.33532388827523196, 0.13087865729738446], [0.8899846117574053, 0.8383467845138387], [0.33521980966902565, 0.992293270414276], [0.39569699521867163, 0.12858258640168763], [0.29347950407380174, 0.33282778913447053], [0.3891253335966113, 0.6517068714794648], [0.9313540585880344, 0.9000141526754022], [0.7412125692269742, 0.27726645660755855], [0.7700798710617739, 0.4172733031764595], [0.6196056682316737, 0.7722236905583688], [0.569646435664909, 0.8749970671508945], [0.5851489986322655, 0.6633454451436601], [0.40038358119541784, 0.37858383559350794], [0.5549700922818486, 0.41427908509966116], [0.6984464965866627, 0.7514780643579692], [0.7717320490067388, 0.23677856648800677], [0.9698395285088403, 0.764713625287634], [0.998934655513197, 0.6461449868994427], [0.8922144755986656, 0.20265234508352414], [0.0013133548569144171, 0.04145428874344592], [0.7970882891224123, 0.026590100490690216], [0.15011670579691083, 0.7119020321069177], [0.323312985847077, 0.504468958492563], [0.40950369293122335, 0.7723241984435381], [0.35036034979485997, 0.008113195220330716], [0.5206868502419445, 0.4143635973475732], [0.3980839001829135, 0.6029951228047915], [0.305453727321904, 0.6282026053870486], [0.33226052076223944, 0.7444799416180562], [0.4907464115413158, 0.271976203606042], [0.711160439256044, 0.5050385941323849], [0.7069238625310895, 0.019646227746936362], [0.27058522540600916, 0.8989276765912165], [0.6912392347058317, 0.3104861583289218], [0.09210960129151535, 0.7280465770840261], [0.1503641264494977, 0.09689743001451656], [0.38280356178222874, 0.8579390603084407], [0.2087603027568672, 0.372211147345634], [0.511849879802677, 0.25924370203299574], [0.8426717320076639, 0.8613179237079532], [0.6230693312851319, 0.5466238908208071], [0.6649692541394172, 0.7673770790063249], [0.26411999037810585, 0.6249170731755049], [0.16984594940697062, 0.45447748793475684], [0.98692106138301, 0.6196970882319709], [0.7402639575935606, 0.2571736056262087], [0.5680885913728991, 0.1344688534877181], [0.7023598445256303, 0.10750714771631875], [0.4015811629467746, 0.530276648187792], [0.5522207432062269, 0.701112316031586], [0.314967222402584, 0.7046606746383212], [0.3347477997927579, 0.757898517581353], [0.09220523416239124, 0.2636012807180895], [0.6407475802532684, 0.5251811394795077], [0.375262957199365, 0.2511368911987212], [0.5163324213918037, 0.7051636251236457], [0.5432272912246587, 0.5314148351951682], [0.3071942963472728, 0.7017610825671188], [0.26388620932217743, 0.555914412368], [0.798530799264039, 0.2780453428618549], [0.5239551943651575, 0.06874100436906982], [0.9582509574891653, 0.2186841328665835], [0.49213610475051295, 0.5795992336592304], [0.027360006813573756, 0.6117934930318794], [0.08214301243437871, 0.6865564653692574], [0.5519486665382276, 0.9783366741998906], [0.938466838790624, 0.7575086429847546], [0.2728243875130656, 0.6465393631593744], [0.7635365179918644, 0.714080213059108], [0.8355773587295228, 0.808258613920433], [0.2126302684459861, 0.18303903891642437], [0.811248231933654, 0.9866374326867905], [0.4015343512218742, 0.16014317027203984], [0.940719550055521, 0.852126384975677], [0.46826527228708337, 0.8322329035138141], [0.3817514004975413, 0.286231405469794], [0.21130007451413735, 0.40968552351035625], [0.5445463075170052, 0.38937459656662177], [0.6376568042068859, 0.7544967292818614], [0.758260429784197, 0.9906017426167699], [0.31469334987825326, 0.421488440923926], [0.38252886048397017, 0.06882648891035703], [0.1198279674256355, 0.21236095098040175], [0.5808123650989996, 0.13922213198937106], [0.7818696806799685, 0.2235071241729757], [0.6896381375829936, 0.5160253523304774], [0.3492277606084848, 0.8206206751651678], [0.1154611922972878, 0.4446100333050014], [0.9711546740666793, 0.48985716296262516], [0.6512683361057129, 0.7704478664878914], [0.936857933900195, 0.6517849859866398], [0.2832100170373917, 0.8297009310404622], [0.7137751249982814, 0.08411218778892948], [0.10944412351537325, 0.4038788314459375], [0.3847074338962988, 0.6305962943448298], [0.5545853482630388, 0.5946128361392627], [0.27504184556442146, 0.7187504783541881], [0.30485554103644297, 0.7477728721273086], [0.1619283293843201, 0.02462059076787293], [0.3615378764155672, 0.5216207671113399], [0.5607627415574833, 0.7600889017508436], [0.8081488242642192, 0.4190311674254268], [0.12942011430566602, 0.1350514954409866], [0.4614852829640955, 0.11473477536541321], [0.9979541169557448, 0.24957213665511313], [0.15671101450838298, 0.30948984436546145], [0.13770839012859137, 0.5155976297164233], [0.040276882106016654, 0.25112231843523547], [0.8470898258772837, 0.8149561078634723], [0.27496946750531137, 0.5481950002911856], [0.8832130833809434, 0.5283057949213029], [0.6672912143274545, 0.4613841219148016], [0.2977501540327816, 0.6651203819471541], [0.3646102862400752, 0.02650432483023668], [0.32519603899376937, 0.9071910530891207], [0.5595312574436757, 0.9737985766755081], [0.4260203052234045, 0.22652500522458707], [0.5096417684958798, 0.5635316695741562], [0.2972589750396203, 0.9010563736283416], [0.5054229508604093, 0.5908767087397084], [0.9864634257391921, 0.4241035988561137], [0.5949924195795122, 0.3943826521793463], [0.43621564799045476, 0.38855606594197567], [0.6485348589303781, 0.3104223677483371], [0.3844144849057092, 0.1965080102647394], [0.059160593237580494, 0.3652161344036676], [0.2183325814494409, 0.9482710910619132], [0.9077398326953703, 0.315226468888968], [0.3297344747315857, 0.9663126836969319], [0.06835599232501954, 0.8424638455811391], [0.3642789455189672, 0.6363856205002312], [0.12721512246922828, 0.7433080299821253], [0.2426255666711623, 0.9684173585252402], [0.36350263808506766, 0.5965568956916388], [0.44806437876343896, 0.368113910613021], [0.9716886096014017, 0.6963600091520924], [0.5290109340896119, 0.3196572226769694], [0.2691024368080599, 0.815194586790147], [0.4996144456368219, 0.9882376237736182], [0.46839903331158483, 0.8560352864634699], [0.791722676284526, 0.40707526059106935], [0.4867706640712077, 0.23481101286055206], [0.3484287554644352, 0.06188644797244891], [0.4201766101707204, 0.6478650529921615], [0.8858608215218088, 0.6192043291390862], [0.2234764929095837, 0.2868618344907141], [0.11749428143197727, 0.6763100592641071], [0.9976563393230735, 0.2737662141797894], [0.5271177182461756, 0.4313660202316205], [0.7185088782080442, 0.7419019196406909], [0.48366656180375867, 0.9324191352662605], [0.1609912810436246, 0.8857294047812153], [0.46383198020723715, 0.8262821629709773], [0.5779418669090796, 0.5811162907478203], [0.8073728457762833, 0.9903165565827817], [0.009588823766633503, 0.6121024746630978], [0.1584439819177882, 0.33819156519438853], [0.031165173744312158, 0.5451498356898429], [0.8096124967338857, 0.44136147160990713], [0.42945364907503536, 0.9558114598644265], [0.1801759239424724, 0.5231639716513741], [0.2863954134178671, 0.10341015099743378], [0.5618859379776714, 0.9432554459404895], [0.1943921857626657, 0.9116783559274009], [0.27723949301552586, 0.2704458538493595], [0.7360055873296989, 0.3913707033314996], [0.818585863041539, 0.7561058836353957], [0.7009708285402219, 0.7340015769110884], [0.2964527874916173, 0.11843706547917754], [0.6946074026815385, 0.2904932528081138], [0.45063307196413194, 0.530382113236355], [0.8272981181666739, 0.7266727788301907], [0.40443414637221586, 0.9041830013001069], [0.31520167135680177, 0.6374388812314885], [0.19936760510141815, 0.19104668443114425], [0.5160659740385596, 0.5961302396693535], [0.15203150023522505, 0.032142287180097595], [0.40479341904528665, 0.8003798089853847], [0.8099894387769577, 0.8762733584585257], [0.09517827178548588, 0.3151954419542339], [0.36995557277508506, 0.697719738827587], [0.4910862532528646, 0.03149027077694866], [0.8258608008798808, 0.7288300876933106], [0.6617249045227919, 0.3785888107818999], [0.4448087747289139, 0.5930268677399009], [0.6549298539993422, 0.1850719190762028], [0.7687705215065346, 0.6302617048138138], [0.49405046041113987, 0.21303823145852396], [0.7139169606619683, 0.9853335598192535], [0.8439232999415855, 0.6608588259495962], [0.3580327532640353, 0.7197814824309546], [0.08562928104461753, 0.16904264726181017], [0.7679448541859156, 0.8043791399436784], [0.7063905091701139, 0.3049066296895344], [0.8947823669259517, 0.5587369893450027], [0.08512604144697089, 0.08391417967948289], [0.6829480325863504, 0.5518108757432652], [0.5833971856022138, 0.07713988854682807], [0.15109894598052542, 0.3264880219181848], [0.542117684597886, 0.3340740757372691], [0.6800028882163678, 0.2750987432788652], [0.22315895774903072, 0.9338924356785876], [0.8884079774956141, 0.3476366992491663], [0.9412613628746291, 0.014853176305951288], [0.7741086607900786, 0.47662705411467865], [0.4143902000655755, 0.617477044049533], [0.3771953087621558, 0.26380538191958725], [0.13807418948946526, 0.4906126068711789], [0.15504138103481924, 0.7220365281862008], [0.14477988892340277, 0.6005289713890529], [0.178285676170159, 0.28345905532837], [0.1331826990335433, 0.6633314883588017], [0.7944622363377752, 0.23085342115349716], [0.5581405978456931, 0.27188248580003316], [0.18148468052375433, 0.19381346656581833], [0.638181890711225, 0.30321227112681093], [0.9410898322917846, 0.36896687305536147], [0.8573947932430361, 0.6371263977907498], [0.29919607451385755, 0.4246063502530554], [0.9479515571028985, 0.9641679349175786], [0.36448038491579104, 0.7998874172342811], [0.43318238234092166, 0.7276191784274726], [0.14876448411313214, 0.8507443679456214], [0.38372579857495237, 0.19576690924438456], [0.20400753673284777, 0.028313400535198707], [0.3187776507111353, 0.04040359943716165], [0.9440051660260695, 0.2960566180039659], [0.7038685275185705, 0.24764553800516276], [0.13249789068780737, 0.30878890487075483], [0.29433340374738326, 0.23123122380944505], [0.0799637773204317, 0.12628085994907534], [0.805698701442635, 0.6040587846283021], [0.08196592434310968, 0.9272028198376346], [0.22236717256373462, 0.13976488614271265], [0.01996159899713279, 0.16409460454273783], [0.7568740560395225, 0.8190211749869816], [0.26081338365293827, 0.28133690155714863], [0.7133862669222373, 0.036433208354476276], [0.5011017725532648, 0.3298239644292188], [0.4518650970935749, 0.4666519307337891], [0.8081810235416476, 0.2962073916708412], [0.030385763650746522, 0.5508254542811852], [0.5768741040965203, 0.8452340614720995], [0.07625019220474716, 0.6755377669146994], [0.664754692040777, 0.039854798944278014], [0.6734126604109589, 0.9648685776705013], [0.8157447529727581, 0.9074658895364838], [0.37293172401723296, 0.24791077165550568], [0.19810210621178626, 0.9586351672875877], [0.22354245637836268, 0.46534759572974416], [0.6360905199117944, 0.5088080095295805], [0.5603403036088214, 0.8286677418963191], [0.11375586118044179, 0.16586636506676344], [0.9961032694678847, 0.16119123791662548], [0.48776708416530445, 0.8087942840962103], [0.6046155665355448, 0.8729168380742545], [0.5268226147854808, 0.6688062481677853], [0.7220214828194148, 0.6272035543112724], [0.8126829907443128, 0.5712019856429341], [0.7309167908201185, 0.3822401534608538], [0.5720475809941209, 0.30550454218232703], [0.42907787365212313, 0.9584261174736258], [0.6720576475628216, 0.4085944284261427], [0.045766926335322866, 0.09867618371202813], [0.37847163215628543, 0.4726719447982365], [0.415102904491625, 0.09334306257578417], [0.9457222476659718, 0.37167758818234553], [0.6808358992919393, 0.8408805325431463], [0.1392931821403104, 0.5716295218567685], [0.6133354241762728, 0.6055588269497626], [0.5778061227582814, 0.3319444048969531], [0.14589497378948912, 0.06509195354996333], [0.30299145102598846, 0.6723969924010558], [0.4989530246987518, 0.1193341159649024], [0.550001096317973, 0.22197318646484043], [0.32434486628377135, 0.09332831421417365], [0.37643440197979183, 0.6694674964951597], [0.5565271376553845, 0.31291456857293365], [0.6941759586734202, 0.7614420912278079], [0.2923761281623076, 0.3621143468749659], [0.7565504522534219, 0.9806727953039128], [0.9776900950623599, 0.4635747761433774], [0.655538180953382, 0.6807403094931898], [0.1298248172618962, 0.5702438105139773], [0.35729437800318753, 0.6727381513982278], [0.4270837633649768, 0.8414154587187892], [0.447686637189751, 0.08439788788605385], [0.7850397460443448, 0.5565224896696405], [0.014140281360221052, 0.47245050293994484], [0.24298556120861514, 0.3765879579772471], [0.649408386197216, 0.17857322342004045], [0.31544184295891586, 0.8519439629956713], [0.5450328259186373, 0.8130575569520679], [0.6355778659885012, 0.6175488347000758], [0.6480226665789139, 0.8271009547049109], [0.9991810618881797, 0.8589729487151193], [0.8716997694678137, 0.6967260318006255], [0.0669713100916488, 0.9564579382920431], [0.8298458235718291, 0.6621155218845165], [0.34323876088224436, 0.334995853247975], [0.13742085689257588, 0.0653124546690752], [0.21973510463612778, 0.32664789851567844], [0.9142485313358124, 0.17743223961568355], [0.04936892431452444, 0.09828343226504332], [0.46497790674064443, 0.6826784810267963], [0.4206142562896742, 0.4618769137918063], [0.6473472853411498, 0.5847400903702484], [0.5470197876734187, 0.9087400763296101], [0.5872310040392698, 0.01037482361042319], [0.29839268278716347, 0.7437967904984111], [0.8529086675377822, 0.6889818560365634], [0.8828666021041188, 0.26416502718699875], [0.5336887619488285, 0.0010041116382207838], [0.5680376481181402, 0.1915348757132992], [0.47428871961174424, 0.4837562570292271], [0.6602958845450573, 0.16062570674579246], [0.48609734171863916, 0.003940639411513014], [0.7576614901619345, 0.421959673334524], [0.9344676610964773, 0.8472344508480144], [0.46306536185720837, 0.6867834300366555], [0.08329739320643892, 0.6923509763823331], [0.6989237619139654, 0.5537208721823476], [0.7100338392346933, 0.21895649183545607], [0.4361151782895548, 0.9396805420795441], [0.7934725163115358, 0.8977402956200746], [0.23603716206599212, 0.6673875587336158], [0.5429669326709159, 0.9475979000525778], [0.5886009252825581, 0.717634250142066], [0.6981764617786049, 0.42919175543517407], [0.9077927312938805, 0.6356408912822551], [0.10061264334046238, 0.04323223265830911], [0.9123286427735027, 0.8528372045018824], [0.022537090152384476, 0.7929951565073522], [0.3906720847451699, 0.9402052988766479], [0.9594168472512101, 0.28313870429595656], [0.07905951040669223, 0.0725507932372913], [0.9366623362894305, 0.6769463754642405], [0.5675783442485363, 0.6610123239795189], [0.5101399276694344, 0.29738605973209764], [0.6211072482165624, 0.4690349681572291], [0.5255534239824072, 0.3205283606646506], [0.9131447620210372, 0.47662445064444714], [0.7567707104264356, 0.597403880108056], [0.43816407398359136, 0.3172235603318483], [0.40284571084826526, 0.3789327957077494], [0.3353482634375736, 0.5368627167174937], [0.563841057511407, 0.9477985527287556], [0.1571832556562046, 0.5255210004540336], [0.5141002066662494, 0.5174020019880173], [0.2529867112321835, 0.7735404554393779], [0.28528310041088667, 0.8327481521857354], [0.696381431306556, 0.1362882788270332], [0.8465854581538367, 0.9933146663128183], [0.6375520085159507, 0.14821016331971082], [0.6728309974212195, 0.43521914810101314], [0.5860265051837846, 0.9820580958721421], [0.918023808994691, 0.5897657336702788], [0.09150186716335762, 0.0387517244924126], [0.2761310962151884, 0.5345979282595811], [0.16503508837403824, 0.6814600865237541], [0.04598804822437008, 0.7899678924329795], [0.6119415365808741, 0.7141777022290002], [0.18977066315116398, 0.2909135651898531], [0.1683567845810996, 0.7858428593578294], [0.695338693802865, 0.1322862499516776], [0.7134372133124182, 0.8767911574076771], [0.8815183504554384, 0.03009021214005103], [0.6659248733169953, 0.653324130634873], [0.4083774478776454, 0.3077083106642], [0.8327904804392371, 0.0863949097372132], [0.2307524179381356, 0.9964691745286229], [0.6936582466556691, 0.09038411039806205], [0.7147154174540205, 0.6183543721360375], [0.04771198570535806, 0.045847232508104296], [0.49305222890078804, 0.8450415744136749], [0.7019077051775974, 0.42337988393724657], [0.8511393268794638, 0.8602293640169826], [0.7598104517278035, 0.782825166657609], [0.5809587543524666, 0.3605928798897432], [0.7802023696329905, 0.5692041622370723], [0.6446460017183094, 0.9337939786347589], [0.4571427404986227, 0.5764614159159909], [0.3947456447687596, 0.8933253009542135], [0.20121439989604273, 0.1563721967291325], [0.9629574047785532, 0.9857721094722032], [0.000990210524916657, 0.4062805183793545], [0.8997794282745404, 0.1601822793461486], [0.01636370870193582, 0.776393727627471], [0.4523985286884006, 0.2549489751150613], [0.3078396686769582, 0.8921847661404537], [0.7616081916712064, 0.4807724240097353], [0.7376595498171953, 0.7660928390863052], [0.5416133853018688, 0.6459198275375897], [0.9115616383027015, 0.6628840104701686], [0.4004004308644291, 0.16812962706873869], [0.36822152247981743, 0.44803290257782613], [0.990616796868055, 0.8715180071368106], [0.0657470793337771, 0.09192420986716687], [0.2889099059383863, 0.046702415470767256], [0.4262707798774601, 0.9455035909277666], [0.010853981287773151, 0.7805240929962578], [0.2163911484369656, 0.6580716285064322], [0.34486493816026775, 0.9799066058930708], [0.7968585057266121, 0.5005128926942612], [0.32579279983122245, 0.43802912972230046], [0.40132822026133064, 0.5363856513860369], [0.5032041167619052, 0.5577455403135935], [0.4516866926491301, 0.2526153008799439], [0.6357570346404291, 0.12112663956432823], [0.1741611370843097, 0.08694200564688392], [0.3726445972388174, 0.011829212773918352], [0.6478966134712206, 0.719273728815607], [0.3732760882435575, 0.22920286096525477], [0.977055468670146, 0.8052761212678026], [0.40720651054480683, 0.17409077466957668], [0.18038395270912955, 0.5675024045918804], [0.31847936703990043, 0.5894325355106353], [0.01252944287136959, 0.12829806062127813], [0.4205727228694015, 0.7732533963825481], [0.6684686390827269, 0.31825432170506607], [0.1767593311367459, 0.2861562587881801], [0.984971880947151, 0.8021325224168869], [0.4891848655416392, 0.5359635694504564], [0.3024943630545668, 0.1997953126950588], [0.39099327707618525, 0.21344364164157148], [0.3674802933988587, 0.8637086647406307], [0.32256624839923254, 0.5025631734308695], [0.6100831058874011, 0.9192418609001033], [0.7128865546259932, 0.24582970120915104], [0.3621666631180751, 0.758988285587259], [0.18479121333861492, 0.04689763370414135], [0.9526230581279345, 0.7355333289269376], [0.7614569614458219, 0.6180321066710543], [0.939244277139428, 0.5865578885029458], [0.5192484555391085, 0.8231985426668158], [0.715596167454176, 0.5848302209889369], [0.2712250591884472, 0.6828581732005217], [0.5442367992964191, 0.8699024290887164], [0.1881040563368518, 0.9448916943307024], [0.9328972704232962, 0.4381992631679261], [0.7830505427165947, 0.5950722286517423], [0.11206050334161544, 0.28913286527896], [0.3753854854276816, 0.5574733642990527], [0.5329836489579538, 0.0014944691892225803], [0.486821095702323, 0.481031198672614], [0.9691616116055177, 0.3062436751390373], [0.49570454428343125, 0.5647825796987814], [0.2126319469156378, 0.911729079966251], [0.22107416451672457, 0.6478686300495238], [0.9032504253278015, 0.9306435189026625], [0.5975237626692047, 0.144474371564563], [0.5039367870936478, 0.839765465856677], [0.6570604484763283, 0.6901433004125358], [0.12220038982056824, 0.21902061447835708], [0.34505628248893305, 0.5001321132594226], [0.24544551193396913, 0.4887648147276513], [0.9834055357718011, 0.2243599284066281], [0.2866238658085881, 0.9066632050471651], [0.6621701134297707, 0.7602582777047253], [0.6192540577631653, 0.2080005070826133], [0.333313120809543, 0.562851796911522], [0.3012753328966037, 0.13150150916225545], [0.35238804490733544, 0.550021811805048], [0.7251533823564353, 0.8725565416390553], [0.09471561858223965, 0.07147407271090722], [0.6635620827004698, 0.001645646064395656], [0.9067358712176065, 0.3663710450860216], [0.6414761198337098, 0.9384015335320082], [0.28516222703144656, 0.885373805942398], [0.40418194751949255, 0.02174557595527371], [0.27888889590310006, 0.24338274549666317], [0.11357098524555242, 0.4576997978269519], [0.9290579122298528, 0.9340685704802627], [0.5635026661296381, 0.8496286931159008], [0.6399209364014119, 0.12896298221071323], [0.11115721640174026, 0.7097199965419607], [0.5623829265168224, 0.4966364825605186], [0.1032736105401354, 0.5069782801351087], [0.6081495536764704, 0.2591860598012219], [0.0010436571194273325, 0.7255423664007903], [0.6506455895400138, 0.15837554165115564], [0.735793944936698, 0.2614453995856246], [0.9992119075307205, 0.8122322671621705], [0.18502424891223512, 0.3290081118006013], [0.4903919750427095, 0.11788759974900997], [0.8304300683122384, 0.9635308131762619], [0.1417977203911669, 0.8130657125355537], [0.30207579648504157, 0.8421168412141072], [0.49168118001674577, 0.6413009365816678], [0.9568800690597812, 0.007659538092224749], [0.607664357303167, 0.48192045902195146], [0.7476358658223335, 0.10505321010504831], [0.7174269059751552, 0.6668038239850288], [0.0781184895734991, 0.3198363495023656], [0.8361091167793143, 0.644433275591804], [0.9129810452109509, 0.3798733674274213], [0.5460283025643783, 0.5825024910549095], [0.743126415704199, 0.8679836022167021], [0.34578400678919596, 0.40124421044277137], [0.263838718377263, 0.10683560495988242], [0.16113023568443718, 0.7365541885752322], [0.3875586539161976, 0.9341101119461557], [0.6168136796449156, 0.23003350539491485], [0.7280834336565709, 0.8871238019428349], [0.2744499619538835, 0.745197818367107], [0.4303218992659147, 0.958243894176402], [0.8101888880605623, 0.048715051235952656], [0.8428778954368985, 0.28231059520172164], [0.1695110089631947, 0.5139512023162006], [0.6273952433155372, 0.3721685599392034], [0.4939590631621633, 0.5734965645758263], [0.3566959456336145, 0.5102482853248856], [0.4399686204822937, 0.1595871576740343], [0.4292505016398641, 0.7212916964260024], [0.8663001057213521, 0.9172172343856214], [0.3126238293387297, 0.0003657334732276585], [0.6523115532966467, 0.5095808481427022], [0.582545226410719, 0.2557802770847284], [0.04274060489135234, 0.5693837520533993], [0.23444467120067036, 0.4925490236258785], [0.2854516993314804, 0.2611301180993285], [0.6894952025553955, 0.26065623692999074], [0.44574423232052063, 0.3648806988226643], [0.9776325524894658, 0.6902154916833003], [0.2462461985102644, 0.28382449717918556], [0.11931953560016328, 0.2963701114031867], [0.9339333616070271, 0.813498390048653], [0.8443575043601272, 0.27474877639959105], [0.9158241593855193, 0.5258377449028392], [0.033330463751385486, 0.703821598370157], [0.5649164768285978, 0.7880809436587084], [0.8213382317085383, 0.460900978964084], [0.011197171462073219, 0.4320280507790828], [0.7534435422996889, 0.8460874863574556], [0.6372031652176688, 0.4630935329234881], [0.5942673477478406, 0.3535671208808612], [0.7783433632684658, 0.5710023737162273], [0.9775047405323326, 0.6325385215880734], [0.6789904725004153, 0.18383433320154863], [0.493244425604601, 0.13051429193646447], [0.10726473781745471, 0.9874185758636447], [0.49317820684471236, 0.7670878053840842], [0.9020298715111141, 0.6652879469934267], [0.9925153029707618, 0.5616600448966329], [0.5835319368044455, 0.3710783799340426], [0.08950789041798246, 0.438540759839972], [0.31877839836951993, 0.8776897759624208], [0.36370599735989084, 0.7076043099854443], [0.9283451305098067, 0.3636927138715704], [0.3062689372974251, 0.9774359330480529], [0.6236929836065604, 0.7965783622399032], [0.743852384213284, 0.18806700550640942], [0.47778380973185297, 0.6369327872804391], [0.44485801832187444, 0.3960361508106828], [0.7579720749853649, 0.8600788053264279], [0.3681118319382112, 0.052205237433991525], [0.12088515742695405, 0.3368694661368469], [0.6133409732584337, 0.10509796865166476], [0.1762040521086291, 0.7382613696686752], [0.5177464311384179, 0.382462359374791], [0.2431471051278653, 0.22708187536607627], [0.9700861467060177, 0.9064726638160289], [0.8600686197923437, 0.19665588626914787], [0.47201137133336957, 0.26867643397886576], [0.05942247038993953, 0.4549499514266806], [0.8734052842284186, 0.8924332524648784], [0.6323537815111847, 0.9427175638093847], [0.8878524880539403, 0.11033462365870095], [0.48940885785275645, 0.2954259527366624], [0.3783064272364578, 0.10911928015316419], [0.023856271694218556, 0.39812665714729356], [0.9623915261194778, 0.4041932263973804], [0.23678253009464034, 0.9198369600786447], [0.8084253312721575, 0.9808749787965455], [0.2521832410184355, 0.07649579304590948], [0.4045210353634574, 0.5606128553333256], [0.22106203569605398, 0.41246478736937453], [0.7986388466584471, 0.3691898354321772], [0.4256562307674462, 0.37122831178345106], [0.9203052385326453, 0.19523369309721073], [0.636525641487581, 0.8285673868346339], [0.24239815127805697, 0.47240426690197945], [0.9424944780631446, 0.2553854069426781], [0.5311944788641733, 0.8234227853580383], [0.24006714341573887, 0.47821325088063826], [0.94115919332617, 0.6005025567143139], [0.7473072148061443, 0.33110480722564173], [0.7156581822734612, 0.021685468726004742], [0.024202375324464342, 0.4768171742536117], [0.423034825183919, 0.2669306884584024], [0.7897722934362603, 0.583142876238307], [0.695837613944229, 0.6202385605805032], [0.02208083442184028, 0.34065034837227715], [0.6365397906876514, 0.8337200036577479], [0.3254189168395588, 0.7797846308554353], [0.5185805945982662, 0.46559265636122693], [0.46700568634669737, 0.2792081758831789], [0.23685010622203062, 0.728451076465969], [0.10312186473348828, 0.32255164547153214], [0.14023217182865333, 0.8455331448709583], [0.1182261875806424, 0.9529289226768038], [0.8572726440210552, 0.049555057069976316], [0.5013348954350297, 0.16624607647345968], [0.9175643693211604, 0.41519248703370915], [0.7460655990883844, 0.7254417417144117], [0.6956839557633012, 0.27484230939018617], [0.8568764870856, 0.5341443879348868], [0.4537268035034395, 0.4744142050531309], [0.05888554105192767, 0.5535871882788019], [0.5981425042385558, 0.09718101624590558], [0.10431339474087287, 0.6437349185328946], [0.1456233215138295, 0.4483456677167156], [0.6263778778268638, 0.516989018845213], [0.6874197207267067, 0.4446346979383724], [0.8537600740112468, 0.20646444427141852], [0.4239418405593782, 0.9843541731241363], [0.5599910551376714, 0.2808777445817504], [0.7375831117655681, 0.04690898167579405], [0.3752449430476458, 0.7146604327835472], [0.04705920726816881, 0.48754530457595147], [0.03250050959120787, 0.5960704165445088], [0.8442343073023582, 0.8401788807201701], [0.9527974123490007, 0.40148458160182565], [0.061686762626120384, 0.649613599331207], [0.8338374203841976, 0.8602286090732748], [0.716875995639267, 0.04846539088622148], [0.16996962818128225, 0.31546058046177095], [0.3976562998453579, 0.968299203203186], [0.14053763004221498, 0.10887713471795935], [0.5871308868850259, 0.1460962962361706], [0.5301961016606239, 0.3889202197144416], [0.3326701105968263, 0.6063477634229115], [0.052743920996310534, 0.7775612476311795], [0.551562616063036, 0.8260778554522029], [0.014813556101757275, 0.5577830032696504], [0.5585112577501138, 0.8122353535117564], [0.34987259183271824, 0.7400975926093721], [0.7992987945464473, 0.7641131657298376], [0.41043101138290783, 0.44221911386804713], [0.704898597083647, 0.40574702060142254], [0.8461957759326373, 0.40059988069936836], [0.8476532096995589, 0.6043479115917045], [0.8884777752296525, 0.9192564072329487], [0.09041158239480218, 0.5601759220044469], [0.9266483273097804, 0.13561660009588827], [0.43753913944817635, 0.8970290546238605], [0.7997123931631523, 0.15850582333808672], [0.07779957904056689, 0.026871349204306116], [0.7228032936013372, 0.6415723271977586], [0.01759816135938963, 0.3282783453120174], [0.7075560405933277, 0.5463443561093325], [0.2712879093272984, 0.1417089019702037], [0.31023127581351606, 0.5216408680518898], [0.6109585719415951, 0.9570719181870446], [0.13120047002420776, 0.02492600405547496], [0.3497479683028981, 0.4568081512902088], [0.5722151431174249, 0.13254264624162482], [0.8014034257622441, 0.478859520785766], [0.11832830713873466, 0.43474872976187773], [0.013284098477215012, 0.44429253188573314], [0.08244145980713569, 0.6983615004718596], [0.5294369927499374, 0.5183769683655899], [0.041500341750961844, 0.3937102885915591], [0.06775094184568697, 0.7733224440261195], [0.8897316322278627, 0.41985005709318257], [0.2931506604579346, 0.6478854564618352], [0.3963972449752229, 0.9079773872229284], [0.841660037568849, 0.5136377596152766], [0.8683765997270051, 0.6599470597988787], [0.8621330464692293, 0.10392997511686974], [0.7233684525492245, 0.6146128883749199], [0.6988769998512743, 0.14412057748296947], [0.11228958822595492, 0.46115713219312526], [0.7146223581531927, 0.5174482953228061], [0.7185630529703971, 0.025282088653034163], [0.7538678449466409, 0.48562450394504797], [0.5098544158569648, 0.09173660943862227], [0.14487808365192834, 0.89087145068799], [0.9102638651239615, 0.8605229605314443], [0.015349344436057621, 0.15018561690422683], [0.37404981953358885, 0.07396082826852934], [0.7150219753980249, 0.6136150738394719], [0.9246257012379567, 0.16599014316751848], [0.9800037203264266, 0.6820942570674497], [0.7681972946452464, 0.7832106219412194], [0.9859498033279339, 0.8193135969964379], [0.32624653694172934, 0.21136859397134888], [0.43515901802498147, 0.185444890274723], [0.7463107819113357, 0.00657725796532127], [0.027618304117827508, 0.9730547507932971], [0.7697109763841907, 0.08225221884723255], [0.8610233280648, 0.0829564937205437], [0.5934980480120889, 0.42042451103096323], [0.6133883061517512, 0.9886455460807684], [0.2754051538758704, 0.3312292999631937], [0.9669002466936264, 0.9804737433211477], [0.8216884477224246, 0.6611615769071598], [0.4132537549431051, 0.37823459220245426], [0.1771826398645674, 0.08653542913577972], [0.7976379045379597, 0.6747516660629092], [0.5545151801428005, 0.8497656865181206], [0.09272381406011476, 0.0067768045212459604], [0.07452476271528008, 0.08422126167063171], [0.8501374769746881, 0.2621066057779269], [0.865357808647826, 0.42105182778085504], [0.4080490491951493, 0.6996247576619824], [0.7090189778525668, 0.16606700221466741], [0.8827586845113292, 0.16363116190460758], [0.6113560124965741, 0.7790309937291862], [0.7514287622493123, 0.325264331923941], [0.8117009044914623, 0.3701165807398443], [0.22369556875192376, 0.44608926652649683], [0.5839171600717681, 0.5450468818877012], [0.14585747983913544, 0.900156035541136], [0.4276666668974488, 0.1260565722005309], [0.5628039218658429, 0.8284640909867865], [0.9096533728278177, 0.2584686731995376], [0.5415551534052995, 0.5669341293111566], [0.9345026114576002, 0.7026709188116711], [0.4078799708358557, 0.48500172953331533], [0.06743313009991014, 0.7413127458175068], [0.20510550058350252, 0.31988897419757933], [0.318363394000009, 0.01694285970333098], [0.6408523593184163, 0.7588456549691823], [0.6694765027602825, 0.2684303549140633], [0.47153045738439936, 0.18111513395495082], [0.14115530984173186, 0.6196832556902861], [0.15730883617825475, 0.25247225487378344], [0.3993312261005043, 0.19623886966472948], [0.0722368606295174, 0.5499915721249136], [0.2739443914265194, 0.09774745686587294], [0.7641072702004258, 0.36559033087260084], [0.4088886475987362, 0.901958129684967], [0.3018111627140332, 0.2533939416358889], [0.2692269240694046, 0.747362458686313], [0.9465263786454292, 0.305697634553752], [0.6404965391139368, 0.264983055257649], [0.6692583834902409, 0.5328015395995819], [0.9338534398059105, 0.7313066122468194], [0.3962091457357513, 0.4052901926641441], [0.8386504258554371, 0.35624243627465424], [0.2651528558821338, 0.2584466778389779], [0.4343726318954263, 0.5547589840063756], [0.874687481167476, 0.8144200323764819], [0.4971712090272321, 0.008221349977521553], [0.2834830719027899, 0.5441362499709318], [0.7058006606287837, 0.06295965334170783], [0.6498955124524279, 0.2555667155852195], [0.7545690509189695, 0.05599154297704356], [0.06224034980756288, 0.8696566365177743], [0.9868368883690086, 0.24434201337788253], [0.3233984762781905, 0.7062221399392212], [0.40127078065342736, 0.9098473995281923], [0.5165067871036589, 0.7174572000049702], [0.43762687036002323, 0.40207057656001166], [0.1635220258290906, 0.06598557025157847], [0.6567741533842708, 0.7377988705169843], [0.23883653958524498, 0.28620796601552134], [0.31426121823055164, 0.16022536888806882], [0.2906885493528667, 0.22956588180735094], [0.47329621220788043, 0.27000328383434513], [0.27828581596126667, 0.08150188116602597], [0.4774538765876928, 0.9813905570983337], [0.142248450118851, 0.17490899047754926], [0.8886284655787294, 0.3503069299186352], [0.26354860386412704, 0.10813751623610846], [0.3064288950896932, 0.27267189413832194], [0.6322607711797072, 0.2574289050834142], [0.6347619565015078, 0.45507238958273855], [0.9267514972247886, 0.30309592156055654], [0.2736678424585762, 0.7852685331115383], [0.7282608002821458, 0.1808437096338742], [0.036159256052590405, 0.33322554723939357], [0.36173916670663975, 0.5770271562556551], [0.31030488167222725, 0.7335638795467425], [0.6753759442895483, 0.8117864737909146], [0.47015635313252613, 0.6417012786901239], [0.6777610921182089, 0.9255335904190316], [0.5845211709349921, 0.045227943409343774], [0.4572444692079187, 0.09212230348217765], [0.9825801143718702, 0.11761363880219589], [0.24920631227080803, 0.693640651924151], [0.9985629030745389, 0.04225334126561986], [0.5942608658967686, 0.80405540856119], [0.012203022400038677, 0.8420331796823222], [0.6524420213430777, 0.28924441219894337], [0.3241631285855924, 0.3396823841788571], [0.8016798577156972, 0.18268233426243752], [0.32535557250608516, 0.11439941363476824], [0.3743687679157881, 0.5506887095881273], [0.20156940459915096, 0.6866272489371492], [0.2962012759258468, 0.973571360311213], [0.7957604602322088, 0.4967846764686169], [0.3929374713042352, 0.23126538731231627], [0.124317585304355, 0.4899772906425771], [0.04663292105211847, 0.6563725659790965], [0.5278326383474522, 0.35716508203265984], [0.8657685098651636, 0.3029750151987468], [0.9495342765577429, 0.46131810336772316], [0.27275191757178285, 0.11204245694830683], [0.708578900587646, 0.8559058333878496], [0.6393509533145804, 0.32944395517172986], [0.6084390450467291, 0.9024180644000585], [0.7549466861320245, 0.12128678019641315], [0.548937200008912, 0.32114037346631374], [0.9397349010085922, 0.5827094000159629], [0.404347114182669, 0.18685885440801664], [0.38020628321361616, 0.7997012386714861], [0.3243575967779654, 0.9619096612020265], [0.28240140745823283, 0.6386209717176216], [0.27610987640183404, 0.980204234228779], [0.9592380697942705, 0.1012332962630702], [0.2467926971344654, 0.06631999249696163], [0.685672557702734, 0.3040158371915235], [0.26866211711354626, 0.11081354243955943], [0.6230209668548612, 0.0357788238347545], [0.9495695740353457, 0.6093209043162812], [0.5408640992406405, 0.03775047155550415], [0.44471175007001984, 0.8704833041713004], [0.24574009910173333, 0.3426815926900736], [0.5838382046224384, 0.6974145470329283], [0.8303418582570585, 0.5375303112091022], [0.39859904663006096, 0.34789809563256047], [0.6019721879013469, 0.4964938981953311], [0.26941784037219174, 0.5797492282106055], [0.6929952962523973, 0.8998168380834646], [0.4631152284841962, 0.7813001040029596], [0.20010369706784503, 0.1822425367235332], [0.8316954440246886, 0.6245288222404571], [0.3003828243246389, 0.6131790477976216], [0.8538665513271293, 0.8045609118925134], [0.313827672693033, 0.038962760455103385], [0.7046108938488536, 0.4025863086242223], [0.6865376537241635, 0.2001314401431037], [0.23601772090130602, 0.9907598526709375], [0.8943474193236134, 0.93230540434972], [0.895958153622468, 0.27851009465803156], [0.5960584449499443, 0.553681298598027], [0.5136673393243969, 0.38143587255373856], [0.3518507296450093, 0.3687568040104463], [0.1291753574181721, 0.6327786338959303], [0.7432760157065985, 0.4651531940971766], [0.774791158009808, 0.8303715927956344], [0.3911844726638467, 0.5631580982257188], [0.19304208719530513, 0.5573729722679208], [0.5826754929476263, 0.9404317429112508], [0.21479039204077055, 0.5082396617132489], [0.9519739924358788, 0.24098575017545643], [0.4069978825220487, 0.5730196245776759], [0.08218356071922783, 0.516251513126919], [0.7323598709611392, 0.23301655386111808], [0.5864599997840136, 0.7390624101632283], [0.273214326348336, 0.9383656251160184], [0.7293854358922256, 0.8380511193899084], [0.556228796406055, 0.49371391568073497], [0.2870007472510234, 0.7809980706292646], [0.9583415125654181, 0.7522841422375142], [0.039367453594985835, 0.48438683853801734], [0.8795727586173181, 0.6141017263187201], [0.26516743114668406, 0.028224506770098245], [0.5548452395257912, 0.5441168905970873], [0.3018729059724037, 0.9655249505735791], [0.6973820997146252, 0.16433261504255803], [0.6058279460225628, 0.23376738033560807], [0.7149024896737363, 0.6113864849683999], [0.1221152159098915, 0.45397132392049877], [0.6622594401520151, 0.6483784048173217], [0.11068275410381612, 0.30759836911704197], [0.17032047478405077, 0.7111602277200121], [0.7387312931392022, 0.43256052512500975], [0.8227544757954393, 0.10569260275369352], [0.2918623719542075, 0.823820208585204], [0.8429279429323863, 0.4048678090992911], [0.5890212999037254, 0.3309540584588919], [0.06350212446030123, 0.8906280265532822], [0.43842973292963605, 0.14753172195534103], [0.5798613089400311, 0.3400214973093534], [0.04636682201702036, 0.99413363860424], [0.9979661380101513, 0.07435573302503795], [0.6167245325835137, 0.7738616494322089], [0.2308437737630621, 0.8945865743708455], [0.06985152075359591, 0.8672918178519534], [0.3632374643258035, 0.43429425245912545], [0.3256019812031088, 0.49143129747094905], [0.39112704676602916, 0.2707795448936253], [0.9935608749075528, 0.8707123858636082], [0.18964412622433602, 0.5692626162903717], [0.44264901343696195, 0.9839355376743962], [0.8946534017106307, 0.8353021952519694], [0.17461911649648143, 0.5456270255005787], [0.02851967272698619, 0.7038467565575721], [0.9270932893257077, 0.5411746980946677], [0.38677839845185813, 0.17786079661005572], [0.19437807432365506, 0.37655531788214136], [0.9660022871198334, 0.45994062464125574], [0.11051796648695167, 0.5458726849037583], [0.641372365396672, 0.763219789722573], [0.9719462387687876, 0.4773371339687026], [0.9862282568066209, 0.42591502942708204], [0.6738671145701833, 0.7878368241354409], [0.7711633241096865, 0.6350398386640745], [0.925789651398897, 0.39957375111840543], [0.592587739496763, 0.7596868042243894], [0.02221616039309382, 0.37976522965715664], [0.3087811731091702, 0.19673226702267566], [0.3044572308849064, 0.8681530627420968], [0.8541266587188846, 0.29650448154972253], [0.1846464120429332, 0.2912215140477491], [0.5130546114215718, 0.5638739987444163], [0.7274319287975461, 0.11367990462418198], [0.42783813065420295, 0.20775849977284377], [0.3590083012172688, 0.2533434573877569], [0.6335267100738212, 0.9549201660716629], [0.07453368050972842, 0.8989551841797595], [0.5888556199009852, 0.9392909569193136], [0.06080447045796089, 0.5585622206997167], [0.09732240435798933, 0.9814781640308743], [0.41474049759154963, 0.6458459896095216], [0.5637211068110412, 0.570051999116357], [0.898825223606406, 0.41644039686590406], [0.40345921528008255, 0.9642104322206944], [0.43308877857706385, 0.18957315303826594], [0.22847357630845389, 0.9565543733033905], [0.48373287749442817, 0.45153766222150016], [0.24575972562420534, 0.3868551122713755], [0.9374649209858322, 0.6119306088093311], [0.42163776682337395, 0.03796892643216909], [0.23491681561020872, 0.16189030494897727], [0.7952058386919533, 0.8299955222461045], [0.8579242835554528, 0.22200493094098195], [0.6419420218639331, 0.9710508708204082], [0.34663277087387856, 0.7876960485855373], [0.9329780718970283, 0.9378327965276173], [0.39529451480959343, 0.08273914147016448], [0.14937726222448644, 0.6394176681369267], [0.4462195694381347, 0.37518446891687596], [0.3468809281067947, 0.5617044319431908], [0.25586524584891446, 0.360836613729944], [0.637797188473418, 0.17536409310564083], [0.5471646139698813, 0.922879502822335], [0.07406212064283713, 0.0013729665346633446], [0.8695633211962456, 0.25900957474241826], [0.5556146324819233, 0.13657931922040445], [0.31271796182415146, 0.6620456819379174], [0.8130940974918461, 0.5405793143244468], [0.8991268976044994, 0.43542753543712676], [0.1620031883540375, 0.6177266771659263], [0.048988022216818194, 0.4849804554416113], [0.47491232759342294, 0.6789476056668023], [0.07561249499635292, 0.49446379871060586], [0.3517908692662254, 0.31489471458734863], [0.7777330829402069, 0.06569780170419215], [0.2989336059851292, 0.9419894462744552], [0.1340935345746579, 0.23619775978232282], [0.452162763118127, 0.6861881753697123], [0.18562526050074435, 0.5428164784231332], [0.017111842292322987, 0.37455469101812133], [0.5150996644586833, 0.4644241595854731], [0.026076051748107454, 0.18162458118472957], [0.9410726869702849, 0.10436090383320284], [0.6176052679763739, 0.9292991808617715], [0.5434494900421072, 0.15513696931659948], [0.1738942903999171, 0.5979740816151828], [0.40605372182183197, 0.7182915045848256], [0.23549590836841594, 0.1413489262700679], [0.6307263798331819, 0.30169331293453394], [0.009688516074629838, 0.7124718655830992], [0.7043457096775316, 0.9623401530386052], [0.7250324270007956, 0.2473756830783358], [0.6866318144432626, 0.03915890632818242], [0.8103461816322646, 0.016320641974491346], [0.9167964976892037, 0.9907002189701074], [0.5735463884390394, 0.8833532971564892], [0.37630309567503517, 0.21994204520622618], [0.7016849913102691, 0.15016191217980035], [0.8127210325761905, 0.10077027188757914], [0.026141479884242425, 0.531729935767077], [0.16172150752941217, 0.08198383342221982], [0.6304185973255724, 0.9002311681682839], [0.0008129074641025635, 0.7748013139009288], [0.3356645955841784, 0.2629095447551204], [0.18748942618821585, 0.6542749566859338], [0.10621900698640796, 0.45444694290444776], [0.7907713297976758, 0.7273602600597484], [0.16287512440618923, 0.13369598197917398], [0.8055839026887898, 0.2897481023332027], [0.5466650919208005, 0.8695424083869239], [0.6668801724315108, 0.743613692221885], [0.25100082375654886, 0.44972774894601575], [0.7591937383493936, 0.6314905644015353], [0.643151812931279, 0.7672527008580162], [0.36428482975233756, 0.06251364651582314], [0.6654825475712415, 0.48482762925586775], [0.5411862115691629, 0.9515936706679656], [0.9526313745573164, 0.06378435368165525], [0.5099791650335719, 0.6250108352038775], [0.7902048432786796, 0.7597935944042354], [0.7719252194684639, 0.2898348536054438], [0.0006843564176564065, 0.17730470823197364], [0.3199940644311733, 0.8368093708811439], [0.35762488360414635, 0.022861872858078502], [0.26669331702620225, 0.6475099420126882], [0.31123232267043044, 0.01474100402263101], [0.406092806780309, 0.0685050941397718], [0.4327393215456733, 0.24592737790193597], [0.4419021263830767, 0.5909151963869846], [0.8231641297710465, 0.06010032891599326], [0.5678385266360916, 0.7889860554456453], [0.2912762738353566, 0.8036368065553327], [0.4102639372870053, 0.06244539185549225], [0.59988529064826, 0.11503962530661371], [0.8487936268540459, 0.6625878893734543], [0.8181379447773134, 0.1523094790583459], [0.2615630420089258, 0.6659765152188177], [0.21227882315139823, 0.7448187859303564], [0.9085890311493685, 0.03725246213051436], [0.23861250261213818, 0.32015031667091876], [0.16888313194799442, 0.916849355978303], [0.8670258230568687, 0.5009477715318005], [0.2886364551341696, 0.4442193883043306], [0.8183088253894987, 0.9282556610890982], [0.052810970479147956, 0.310593473396918], [0.12677035147139126, 0.3177470696072746], [0.6342265400071035, 0.9061524073319386], [0.2661880817815916, 0.8615865061001842], [0.7440189178365587, 0.6617962238673942], [0.6918966052467822, 0.03878925453416726], [0.3355753177012051, 0.6354430479371311], [0.004867419799966632, 0.841953596011425], [0.3941754697163138, 0.802543725192168], [0.502669463223641, 0.6722939414188391], [0.3503434345000759, 0.8662813601629119], [0.9732666035053564, 0.5404281840463183], [0.9764927868619586, 0.6723582228112066], [0.5474198340012085, 0.7242615596507721], [0.5207378691396806, 0.6404293813771734], [0.0924442250156774, 0.3275556997515172], [0.866515919758642, 0.011886214207059709], [0.6407921985218065, 0.9470234574377608], [0.019962661409815063, 0.6370461816467458], [0.7208786953860811, 0.5436203112822271], [0.577187429251083, 0.2612369630010257], [0.971831765392713, 0.9123086163101096], [0.5443034194037943, 0.1799898570721321], [0.6861946348837291, 0.11357044455791998], [0.9152511552261565, 0.7149690463458568], [0.2751383289918117, 0.6663754828525535], [0.9739585995889043, 0.8775220026791628], [0.9113548816487744, 0.29522015058098583], [0.6726466772640787, 0.9178980415643974], [0.050621228545168484, 0.1860359752381432], [0.7083808599799862, 0.8873107467521651], [0.25074166039244483, 0.38237940363889733], [0.7746761404437683, 0.030341889199207883], [0.7422211874326646, 0.3190344294138393], [0.7677108539336421, 0.27533524352812344], [0.1991943611152278, 0.7370968055917528], [0.04278994843495365, 0.38946645871007146], [0.0688250591575742, 0.3609573425862772], [0.4982924779836154, 0.6059110470689689], [0.18130347862397078, 0.3628201464647528], [0.40281357494171877, 0.3682751939865948], [0.1126163620155366, 0.1783489164298786], [0.4810233518153596, 0.4320731213592688], [0.3489815917776484, 0.4894760008381466], [0.7927842741034614, 0.4857210960859759], [0.3747142522418613, 0.5309215683100162], [0.4988165007450822, 0.3920547773390404], [0.9724364403861594, 0.9323939064883487], [0.32430661547427975, 0.12059645158975896], [0.5309529307929172, 0.843508449270912], [0.8658642142343503, 0.39090022492889565], [0.8015893483395995, 0.9784060671760767], [0.4900659636011322, 0.3443070027322982], [0.5385437503821899, 0.947747982519835], [0.8429729717094129, 0.6874568378026249], [0.13048209316388637, 0.8624100823410795], [0.6383783263295989, 0.5024239733880084], [0.3454645170209819, 0.6285015077210374], [0.9434867405261759, 0.5103286197356549], [0.5973014621491269, 0.4116037019871446], [0.7035257079264642, 0.8660120992169884], [0.19392790594455078, 0.44887750822211925], [0.5104955743544414, 0.1638535289951195], [0.1091505248379474, 0.7951853573883807], [0.4460328715828167, 0.20239370058408934], [0.9450689393345387, 0.3641879292180804], [0.1002395785756679, 0.9357740441549227], [0.31200324438329563, 0.05532379304022106], [0.2883444315042144, 0.6473700965457111], [0.10102936459657563, 0.6209190356839877], [0.6560685733308248, 0.2900503388793282], [0.6262999010411436, 0.1305960653537972], [0.05159144749411704, 0.6902281502740368], [0.7609170843211949, 0.8524691049550632], [0.6311673238018001, 0.7120814362252464], [0.11917339640575086, 0.16187854172749294], [0.9236242099226546, 0.8872389649962296], [0.2592577538086871, 0.9934466451355709], [0.8410619733636505, 0.3484914014018462], [0.27603463625255886, 0.08602000639329754], [0.05459051979336138, 0.6351919168643343], [0.8333630977517071, 0.2728538750613101], [0.7392952276583484, 0.5927912820277005], [0.5038855585091543, 0.25010173696610816], [0.35801211788508414, 0.4710957489567591], [0.7999933301589308, 0.21666006446634212], [0.8984412071065694, 0.041653868701828856], [0.48401865826438817, 0.37431812509776485], [0.0476630221067228, 0.5797452635925513], [0.3958744948870726, 0.40032316368827436], [0.3108237891762542, 0.22658642980788468], [0.31767926965784254, 0.01930032467552012], [0.6124522245092572, 0.6611682486559316], [0.9909669322650924, 0.9836600890860001], [0.7808803248134057, 0.9152040199408039], [0.46298357851904903, 0.7190407210343601], [0.9410853590773325, 0.42464459315928116], [0.05228401133943772, 0.3295695116880456], [0.22498036348119055, 0.6448967157116158], [0.14022849057856168, 0.2290985780936824], [0.16905436927659523, 0.7230330027160078], [0.16180740843956953, 0.11220504153734323], [0.36060563591038, 0.8564677229865357], [0.5783138107177033, 0.34142247037144446], [0.43385700893930734, 0.9077975964693394], [0.21753006913079775, 0.3457389620953115], [0.6795887386225986, 0.03591318392124376], [0.45876458067879977, 0.5433169564435579], [0.5130006925684688, 0.8806782203930507], [0.43139548439109177, 0.46941842869569395], [0.932595149135341, 0.7323712557403534], [0.0021571310867375404, 0.5873182862445829], [0.6691863290208121, 0.39120826477758996], [0.6183030848793868, 0.24874706017725678], [0.23191996901525558, 0.6302310009106582], [0.8247016569055171, 0.7449788012915753], [0.47148391551810165, 0.6208447967648582], [0.11558625696714986, 0.0034001568436751173], [0.5399925903853208, 0.48623243119661097], [0.3453826978195279, 0.5250250281018501], [0.8528286895901548, 0.7709526099047269], [0.37231995471727564, 0.82387727600195], [0.8606760389743892, 0.3683549075496845], [0.9064140512715531, 0.1808232158266162], [0.7057251503868783, 0.7546187478089523], [0.19087971171077256, 0.47039662720113573], [0.5028727787326901, 0.18398204605781798], [0.1159113768665393, 0.9819313439310137], [0.5682448508260296, 0.7216015164406344], [0.04028426222706838, 0.28357303824046864], [0.40149871660499825, 0.9107643697988372], [0.7849357574403214, 0.857672577816649], [0.9847253010772448, 0.6376022469158176], [0.2522065028573526, 0.04345749342192873], [0.4459171625351096, 0.5698567159794224], [0.3943796020244005, 0.6988515911761871], [0.6879614087850684, 0.35140504472813483], [0.6843668076473597, 0.09043103200385227], [0.38670868503086775, 0.9608733054937584], [0.9372840540507843, 0.94799339017393], [0.6059498890526188, 0.9100364705499082], [0.6103595505530118, 0.5651817671665548], [0.1706306650730971, 0.30798504104444324], [0.03218691765367265, 0.6869498756948397], [0.7201229358750463, 0.6080305865101389], [0.8758990930352605, 0.8212483571363061], [0.013289782259588212, 0.25754421429119645], [0.2692121918204705, 0.3442337257542861], [0.944978564985033, 0.9842325936584009], [0.5546730338923473, 0.4819152012391297], [0.6430486180951659, 0.07894972091355557], [0.2185700790045163, 0.09192195735887465], [0.23749533357363328, 0.318417806359373], [0.459676790781105, 0.020354074942631306], [0.002041067076173797, 0.05275038225593787], [0.681762831640164, 0.07269590783496982], [0.537265493664487, 0.6941534925315057], [0.7183517645248728, 0.6347696927765436], [0.8146044805241638, 0.48226604159179853], [0.21024986280162494, 0.8658005417266814], [0.2666276670224972, 0.5909425756830463], [0.9294803498603529, 0.10826986448727338], [0.7856201913584882, 0.2868790979094237], [0.05934681241459261, 0.8716205869808876], [0.3073314077876024, 0.09610997561576595], [0.7457099532576894, 0.6724495950742625], [0.20564911294563493, 0.7366200690508554], [0.4336409119729664, 0.9296171814334179], [0.12779522857311076, 0.46660459164167], [0.004821490109936821, 0.5800922058062199], [0.8575279201810839, 0.44531118879243836], [0.10010443170284034, 0.6338296498035], [0.02840662592848231, 0.18882387685350155], [0.37168452906061855, 0.14629773338342555], [0.35173054812786164, 0.6196687197929418], [0.8749185896341148, 0.8677184688502546], [0.7803403670053567, 0.7166457283755766], [0.7707230292433711, 0.8928801361773707], [0.4256709401469395, 0.33806823891207893], [0.8409891787765476, 0.32385475374598993], [0.3168802395807879, 0.45220909850296476], [0.13588542420599048, 0.6139935717831876], [0.4253905187036392, 0.6715399411706063], [0.5014510701675577, 0.08353135221574493], [0.16013076232556755, 0.07774711548669955], [0.502325941631632, 0.02025918413782024], [0.4594608638028925, 0.37361440337723606], [0.7686864434802424, 0.7642164291996053], [0.051310476848361986, 0.3574027217152945], [0.04843023218172071, 0.070563302553457], [0.7399964260117088, 0.8483341417168493], [0.5607144157831271, 0.2428182191504359], [0.6482752094348313, 0.5550868851603926], [0.554041647541263, 0.7883331309707229], [0.15799859346701106, 0.7513174729535538], [0.462998289841271, 0.38608073278374566], [0.7065722279858768, 0.9766109503590732], [0.7913089261470172, 0.6159739567313685], [0.8380552845223348, 0.4767458159139156], [0.8530382920899598, 0.9956143358029721], [0.5056221642172177, 0.7603365394441438], [0.09632471654285268, 0.22553815491855145], [0.8620978860307585, 0.06309091944885614], [0.3258277709213454, 0.8044498889500928], [0.7314265519069536, 0.9858520248919705], [0.27362520865070383, 0.22280332230241806], [0.5779209574025038, 0.8122835771603713], [0.05830821737558767, 0.4718578999335239], [0.6470454045149352, 0.9425314537689569], [0.5889378646438745, 0.6253199388112536], [0.026762440780833008, 0.35232140752229135], [0.7234619743197538, 0.7132492360233019], [0.307451876020737, 0.9693483710148134], [0.6891665918266309, 0.625640198628157], [0.4707288690205226, 0.5944981705101747], [0.37545554878185383, 0.8929581999028157], [0.8438372682245464, 0.6321913325109817], [0.9172486940036336, 0.11738083911978392], [0.7909852766976334, 0.567838353133607], [0.5156025363800592, 0.8882466734860743], [0.6907992407141793, 0.3825580862156559], [0.5912658066569261, 0.742747338851272], [0.8120863318526027, 0.5700603752411655], [0.35045133418453867, 0.7934697463249971], [0.061921647794345724, 0.6898881244010374], [0.33108370795189956, 0.38538670684574916], [0.8073047280524001, 0.41526774158438307], [0.2669450119048783, 0.6219701165111502], [0.14391896669391957, 0.0005783550306174279], [0.27577868983356457, 0.06405436757749983], [0.4998851161675336, 0.6196023416859179], [0.05382391501841355, 0.8749084602898587], [0.31150633662409055, 0.8608591279034267], [0.6079592427480325, 0.10981046097522007], [0.6284424979341117, 0.5649918327736151], [0.701337381904331, 0.1011685543972205], [0.18917235526415366, 0.32781182932480646], [0.035394886785702684, 0.4948888856471969], [0.6114215260869351, 0.1427198786558136], [0.2794922225720383, 0.7989090862455789], [0.009642453864649014, 0.15521908923700933], [0.249502118401991, 0.7838865479129614], [0.8242724573076512, 0.08156083724483965], [0.06072190437839653, 0.886510248887593], [0.4546110105569938, 0.9331351892146101], [0.03469949367113856, 0.5597783894602555], [0.22371706034085037, 0.8015120428441727], [0.6080324839280218, 0.07004683000001632], [0.008215850116624734, 0.37170732244634297], [0.836869046047811, 0.6577146640492426], [0.8325240841096625, 0.3965190177887503], [0.23205315126262072, 0.0410688612999327], [0.7824792864326333, 0.0018456348635043085], [0.6553728453702604, 0.5769778811187537], [0.19804288173534856, 0.8403822368998919], [0.47094576033623714, 0.006499823285435968], [0.8844837085340517, 0.499387521118943], [0.8506017647807086, 0.6912405573412512], [0.8262069564619661, 0.6890070594635451], [0.1220190739716932, 0.5863043001634956], [0.9779254685860308, 0.8464860917500422], [0.44344503527494683, 0.6501862817629799], [0.934799362524043, 0.7110092294240347], [0.5207550392233153, 0.07095186312630553], [0.7652420902687107, 0.8549036863725891], [0.8560417287862602, 0.837307173259595], [0.11170650530587578, 0.318552629832376], [0.09491565768271948, 0.7728426416561615], [0.21141404587654522, 0.09951721419780557], [0.7705637484460903, 0.2925696668372926], [0.27774623423759337, 0.8568189457266944], [0.9106181921220964, 0.06862370490305103], [0.6685808461384138, 0.9661179039453821], [0.34693911494427565, 0.037053817173674064], [0.46174575048374145, 0.2509316034147221], [0.9230093150694889, 0.7539676141026864], [0.9692338355039416, 0.5041377290483123], [0.7907616059984397, 0.7735447764966368], [0.2785743284249561, 0.8867024226274547], [0.6048465913300896, 0.9010683698108082], [0.24029188485187591, 0.6298832567476179], [0.33114894281982765, 0.6647146320765007], [0.31207759499037924, 0.17431621642722706], [0.5808679893203827, 0.511668311972783], [0.6687161100963745, 0.9043531705082842], [0.3312000210189854, 0.15188288882260392], [0.7895444996950136, 0.462227903788032], [0.9621943478917476, 0.46985225082254933], [0.33382829589425667, 0.16000640983557657], [0.7879394292971003, 0.4526750152731578], [0.8560071116799943, 0.30020723562933116], [0.15458940232367913, 0.0803110689015849], [0.21377933461794285, 0.5182378210108624], [0.2840377399257693, 0.05315222252856899], [0.8907991164091237, 0.552789125677139], [0.8878881872844839, 0.8738498156268406], [0.5091494146602478, 0.3570571352447305], [0.03199646363585429, 0.19201630450708373], [0.7574185877979045, 0.9780614624725116], [0.5623834894457285, 0.6362310002676446], [0.09385956132456086, 0.47802092413713726], [0.5360104559600732, 0.7380100997238358], [0.34733513595886933, 0.4889595643218255], [0.5980414217381776, 0.7179920448809868], [0.28155915634602957, 0.5152828700793138], [0.9779684698740031, 0.5493097736898979], [0.6657820069506935, 0.3097684921288655], [0.6794460207021195, 0.7917225462771978], [0.5933940147505791, 0.17914729862634415], [0.6759576843877155, 0.8518325063772378], [0.5114588520228801, 0.13837737644025394], [0.6273255096281587, 0.8689007540398855], [0.22327877372204052, 0.7460194392315248], [0.12168938943695995, 0.7751216687874751], [0.8721552799150464, 0.269337508806735], [0.7933708443172259, 0.14832869927519354], [0.9461677435761194, 0.8034021664726807], [0.05853046229588765, 0.7314154727427857], [0.10142351928036608, 0.6993446689663009], [0.6838162190381787, 0.520618824985425], [0.5133392972050801, 0.5616206714387356], [0.9265332067707825, 0.6906677145891431], [0.31180395132902905, 0.21514995931458536], [0.06828595870838827, 0.36211252222857115], [0.00955305093053882, 0.9610425269901661], [0.5956657127712952, 0.07965076708426333], [0.6113087606780929, 0.06038428334363699], [0.1432181217842281, 0.5953658852809076], [0.27367141961245156, 0.25791092195478416], [0.8085653976727517, 0.6608729879874371], [0.30153913803521804, 0.9011795394408294], [0.8347815910141403, 0.8356838306116096], [0.5124790931163863, 0.10833160599124969], [0.7457341817966509, 0.31640002831092595], [0.09374902264621487, 0.538527992111514], [0.23990208188300643, 0.24311681076696157], [0.7523065599286693, 0.8418503303937453], [0.10588930467369695, 0.009044724408722726], [0.5975845927764933, 0.7033920106239158], [0.8573303093457015, 0.43819109202273865], [0.5216189061287603, 0.40872882581836123], [0.8807741491582353, 0.6062263682487564], [0.7436733827774432, 0.42585789846677025], [0.8487709057308674, 0.8064541763256203], [0.49344487118973, 0.954663403702233], [0.22535559593067944, 0.9865742081882047], [0.3038006061823084, 0.05254467888941938], [0.8196778485663369, 0.6906249537474458], [0.3522286318866512, 0.8859426620457826], [0.4476908064277323, 0.9500768900061228], [0.030494853354865348, 0.7469476601596329], [0.7115874864320016, 0.5625519397057072], [0.6518959780804341, 0.1057411500019304], [0.14014048629070042, 0.8834734756116125], [0.17223641966696046, 0.41984520032269734], [0.5113461199575897, 0.5388327375186777], [0.4224241354781283, 0.8537185326063558], [0.5052346795912579, 0.998574157186628], [0.6442805209860498, 0.5990796072466925], [0.7784830555878384, 0.5808502164891197], [0.6459716812409404, 0.8324042639868201], [0.9513994924657172, 0.8996966996442468], [0.2868760545295119, 0.26707209393738485], [0.2746763347164921, 0.33971943438244], [0.6718680257577075, 0.7040777930874561], [0.5559749760684066, 0.6451851236968719], [0.04533742834954757, 0.23690991129604622], [0.09689893235841185, 0.8931877562811648], [0.8244624269530104, 0.9258052265992714], [0.9097602971709351, 0.11536357111315565], [0.3847833499279554, 0.5658709883607905], [0.5664562688654738, 0.647450027264728], [0.5674041651349631, 0.5302629977985579], [0.6156913492762366, 0.10738073455570207], [0.8220605298712468, 0.9921520335809699], [0.3885109667199278, 0.7604308139778555], [0.10324160423666506, 0.8749342458175067], [0.9416325710519357, 0.14172457190343746], [0.9475863833703331, 0.40636754099916705], [0.03518678785906304, 0.8266993193556602], [0.7202957845886254, 0.458383959859619], [0.02382359382346222, 0.7258923986232416], [0.3325463296612753, 0.3062408357913342], [0.12756699858979859, 0.24422794669962955], [0.012640434099648434, 0.05113504343961883], [0.08625482982099497, 0.27708299215015897], [0.006589787004402603, 0.31420687412436543], [0.9116639649209979, 0.4345055784640113], [0.034608152919973656, 0.631675389411494], [0.2950672205521572, 0.33618076506617234], [0.2784116790695774, 0.10324311554102306], [0.5167901162869599, 0.5382071386895394], [0.5098811743039094, 0.21948747564220672], [0.9276927088752791, 0.6987749198324021], [0.31196839253424347, 0.036603301996005366], [0.4917250265882923, 0.36343739578201806], [0.39645796291189317, 0.34731657067240895], [0.41872206950820645, 0.7925755327437678], [0.44485668400533096, 0.4136300853028405], [0.842020072104964, 0.9867881375508056], [0.44723184117088544, 0.9081958343338498], [0.8902187830299979, 0.5465345834514203], [0.8344493058561493, 0.4301268728735519], [0.045192590073016126, 0.30481743610109124], [0.2746732285656386, 0.6480490984660716], [0.35162525492842533, 0.935199101325256], [0.5519916163019886, 0.9967355933118752], [0.7054905216022899, 0.19514360424241672], [0.6194072790377447, 0.024593889179405193], [0.4674390125866523, 0.7429621836846014], [0.7450540002347166, 0.0368028942791957], [0.40263182751764326, 0.46318172684057024], [0.41746372734205106, 0.06860667766662087], [0.22637536058640007, 0.7001646030140741], [0.6939037472304562, 0.6208909234043929], [0.8129445812302923, 0.8084841185772034], [0.439013319933667, 0.907332855857223], [0.005102918420130442, 0.9230806119710525], [0.8862633789035224, 0.9613428397835537], [0.4274991813360952, 0.9716752191615354], [0.18743409711135361, 0.4693208564162117], [0.6042629297624772, 0.9475445370838405], [0.637681417212946, 0.4549738316126192], [0.3055923258345161, 0.2441775973835334], [0.051902723218455016, 0.9506796448703798], [0.22470645553068935, 0.6456712799179433], [0.16604127012279912, 0.5887161101068039], [0.9613452678294931, 0.9054991102076269], [0.7418291932542361, 0.5491235584333795], [0.627832223195328, 0.8063463639138211], [0.6668610158906463, 0.5822216543059651], [0.791402694378581, 0.7977176703297139], [0.3650687432192079, 0.5784991340169328], [0.106344133534232, 0.5384023526451848], [0.14347129884748233, 0.7619654704595801], [0.1917980846488696, 0.5897106439742039], [0.7088550181013097, 0.9690910095097551], [0.15234061567503399, 0.3767252137855309], [0.5794441546833389, 0.25589184586384184], [0.5988640428225707, 0.49897518332742463], [0.7059485875385876, 0.23679654160945407], [0.36201887254497356, 0.09985296812940325], [0.6454115477178509, 0.22933905414943478], [0.7457182735160955, 0.37215918127731373], [0.7643093846375094, 0.44321012523480885], [0.5288684407390896, 0.2908985475650203], [0.21438353569931634, 0.4386955733865008], [0.5280076961851284, 0.2841515402742675], [0.06236233872624941, 0.2507176304086184], [0.5399636401252138, 0.23035466326586918], [0.9893902166851982, 0.9889030509107085], [0.9216743914972167, 0.8820340129572943], [0.9547219716974988, 0.056079310996163256], [0.8835222295902992, 0.559235815418083], [0.2729298805395708, 0.07356027453001879], [0.5238241379501846, 0.18202119444525144], [0.9761179552497423, 0.6566383723552079], [0.5177624736016901, 0.9233161410916019], [0.1844552736714622, 0.06319697452430306], [0.38056495378770416, 0.06500080301082589], [0.09444688301078286, 0.17303262046629864], [0.08862719950061293, 0.15531651972079152], [0.383366965883424, 0.054085991972241065], [0.2161423643343705, 0.6749527464576761], [0.9335146714878255, 0.11096778745242009], [0.6441135219258444, 0.8258791447654998], [0.8118192122574427, 0.504819864861663], [0.9376693523331633, 0.9174171305421304], [0.25078919616582906, 0.09275597517151912], [0.1167082692033008, 0.21318107834379207], [0.4394725578078522, 0.6106489425376769], [0.3920881018869412, 0.2545219633029946], [0.6328557592629529, 0.892965445397357], [0.8294366265828031, 0.9461965990009301], [0.3047979019612541, 0.5626783375618223], [0.18779795329434512, 0.5244261673416909], [0.7641417637913314, 0.6909243847697847], [0.7788245486877027, 0.8722508267163032], [0.7357131412329303, 0.3608487225536321], [0.31117211945500567, 0.7072770166730875], [0.4226911338136292, 0.5223622551236236], [0.6654603921374417, 0.7244841594252731], [0.4955716180936306, 0.362460158240807], [0.9624387536503951, 0.6014242981053294], [0.9364679077245575, 0.4518821410275953], [0.3093796979832085, 0.3932963346547499], [0.3813327236868813, 0.4862206096717431], [0.8743374503167737, 0.5548490396639029], [0.6337385009922163, 0.6521124309124291], [0.266033557344694, 0.5571076343680356], [0.5403681958633589, 0.9984827102189706], [0.2927640440768148, 0.47909844953771075], [0.6959332606592117, 0.8791270455056737], [0.6344511247294343, 0.48706748073788564], [0.11360884291234619, 0.8589842123566196], [0.8873996251611844, 0.9816881328223805], [0.10744548354019412, 0.7274793866102838], [0.5385773239514294, 0.899563044899577], [0.5646069701962889, 0.8792461472968389], [0.13136337209711857, 0.91936567725447], [0.6122363584955782, 0.023869903742586573], [0.2609638086288839, 0.8560293917435432], [0.850798062077434, 0.2354572966394317], [0.34623565062884454, 0.8097928535445235], [0.9181648934091003, 0.6379125666402775], [0.45404939162444624, 0.8762624129718759], [0.6451705623377517, 0.9047253595635348], [0.6477162388176557, 0.17682736122976084], [0.2863624999312224, 0.2644944525722014], [0.3505925172540797, 0.25222657304899765], [0.32227288299245527, 0.3179765174495026], [0.5875483320929553, 0.005420504679126026], [0.8713054561074765, 0.02706790531408565], [0.06281580531644992, 0.8837203066175492], [0.10250257052705469, 0.0034799096339004354], [0.3197140453757964, 0.5462318540834488], [0.15037082301482507, 0.6997355833613896], [0.6323629435147191, 0.672449508095678], [0.18960276692883182, 0.2727171020513248], [0.6175129219758163, 0.028885180053624837], [0.3450445223386819, 0.008125648505568295], [0.7875778546302449, 0.24167882496788462], [0.5669527537184612, 0.7136501134195131], [0.8393384236735695, 0.6920945620951383], [0.9842612951733337, 0.5443577043643909], [0.40448351841903185, 0.21232705466586443], [0.07935554156356728, 0.7503913570505697], [0.3110118647668294, 0.07732237226394223], [0.24375634825033765, 0.9029329348009429], [0.1509680073866605, 0.1766617982117572], [0.7669457378454446, 0.3374754329852664], [0.541313745759407, 0.4602972778411948], [0.5640573158315939, 0.11765813305782136], [0.8241922048833313, 0.18011941162958234], [0.4976793203093419, 0.6359668541220563], [0.6764666663494309, 0.18420315980460522], [0.49990997894802836, 0.43910506531982896], [0.18752725598379638, 0.3707790097941315], [0.795818787155164, 0.9757847637962994], [0.4591342721985, 0.023075695325559642], [0.5766521726114414, 0.018395926652960415], [0.38624232592803776, 0.1721287247580967], [0.0036275393804243716, 0.37691321971953484], [0.8763122513643997, 0.6978115493585936], [0.778884041742906, 0.5510837758103372], [0.18395896672680523, 0.3678173184097624], [0.6192632711996133, 0.5760551525788319], [0.9785028332869239, 0.8804645519288139], [0.7326312059773323, 0.002895792739919578], [0.6073188916946514, 0.7630894428193498], [0.9346619675144063, 0.6089827918455294], [0.7176038092835915, 0.3984219498277054], [0.25816335460256923, 0.5254016764097118], [0.3098740653008666, 0.7180582232900852], [0.4091792075650582, 0.24316409299048958], [0.055495485210099504, 0.19502357142694515], [0.03075590951422813, 0.17888300989205064], [0.33082447436227513, 0.6051505456793885], [0.6931979421266571, 0.34843133430656326], [0.20424632230829598, 0.6964755301470218], [0.6033274971098357, 0.6214641236168803], [0.5444972582734366, 0.044746397251792414], [0.6583810943480854, 0.5892936517436891], [0.3198944353432147, 0.6884506606757892], [0.9543562493370045, 0.18466209921191046], [0.7637457228167309, 0.5327189018984544], [0.014780649990718153, 0.6715045172461492], [0.8604117268905924, 0.7992427656520776], [0.38135349067050994, 0.3348950471263431], [0.5957736648131077, 0.8832904909113392], [0.7591862133579091, 0.910101181473892], [0.1717386994274761, 0.37983238593699653], [0.5433863108057491, 0.8217457979743259], [0.8444698069702083, 0.01912623409968106], [0.613622144853103, 0.43615788404927736], [0.321852992339542, 0.4198972441943436], [0.22833861621290263, 0.9167149484470762], [0.4394135933322587, 0.24787276188919627], [0.4101573453583168, 0.1895703998907482], [0.18094913324746864, 0.5760335170388933], [0.23013465078733042, 0.17752176662355834], [0.5104482960881481, 0.4855687961393452], [0.7075183769763714, 0.9943923744668696], [0.6744634026393582, 0.9747986255865321], [0.4417074024501698, 0.32358166946494604], [0.41593617185686027, 0.6641292634981502], [0.4156893571195024, 0.22683801549527205], [0.47911495074418786, 0.5905334561466361], [0.092477651737914, 0.5134651113289086], [0.3395643613393432, 0.9288624988447991], [0.8128253445722593, 0.8301905851519195], [0.8887985607132923, 0.9150742850721421], [0.05359754653110782, 0.36530143068547904], [0.578670031415691, 0.7899112427053468], [0.31607587156142325, 0.3794449712891179], [0.8504468900168666, 0.8842026705155605], [0.7229529944592723, 0.6251872764548376], [0.14339015816603817, 0.5678887012728077], [0.47175916187355527, 0.13127918899502833], [0.3736776045763013, 0.6656991638440737], [0.4616996079356732, 0.6224409172225877], [0.8980024496311788, 0.13806194360526058], [0.2811380742434272, 0.8680297562190439], [0.18953200423970362, 0.30185973476524197], [0.3883120638949731, 0.532624747197385], [0.3561970471613214, 0.0686230105097646], [0.8770919985449824, 0.5337449591751604], [0.0073715409357162365, 0.3404558344363112], [0.24951246092805557, 0.3198665046828527], [0.34346246317611606, 0.9001606996019447], [0.8759003804008304, 0.14005031003556945], [0.5937474883581667, 0.9523103314064562], [0.19933486139157608, 0.995567891505829], [0.14093364548740128, 0.9169307527812371], [0.3212980586834808, 0.15596171193223562], [0.794214640678436, 0.5232350886010266], [0.39891452180462106, 0.8572172224517548], [0.6567681294775752, 0.7710110641964945], [0.13835813851342993, 0.8446996363012149], [0.8153644897124328, 0.32242869547950126], [0.7686107603842615, 0.5796902874349241], [0.7261173654947431, 0.683144456409204], [0.06413442942617964, 0.12446856770264914], [0.2772326829873316, 0.9457886360693302], [0.33722152976536457, 0.013872373326195286], [0.010394324678403177, 0.058617407158543355], [0.6204883189835567, 0.5377400966217017], [0.6518982598147394, 0.2457205464556853], [0.005602245217425805, 0.9927948980074985], [0.8716205208160279, 0.831522138559661], [0.5057543481318149, 0.862482805518611], [0.4382330331233758, 0.8183966214108981], [0.6598468217027581, 0.08243392745555467], [0.33867879096654596, 0.07284683990121521], [0.8970052523174682, 0.51032150586199], [0.08752689243005629, 0.6810050259191124], [0.23565322902416663, 0.66767642240927], [0.4906776403201507, 0.13793227981681], [0.12299631985486281, 0.5677861914008886], [0.5366714733767665, 0.7107509316209636], [0.9135812136768406, 0.857418189313746], [0.3767369151679819, 0.2517995143541689], [0.15363316253950965, 0.266610136788867], [0.06348699348223907, 0.005181108102128462], [0.963918563743762, 0.3186793087612171], [0.21216011492322417, 0.7289450512091481], [0.7830849111377546, 0.7033241073399483], [0.8919879027857246, 0.6322151216068272], [0.8514041654087278, 0.8225341718387369], [0.8250191094444778, 0.8524313470673484], [0.785816655975173, 0.4464949866741801], [0.7066190839654107, 0.5694615521247147], [0.43948994190839885, 0.8462468766226282], [0.8054592914730361, 0.2526401149143095], [0.9079615111783143, 0.6929687471247128], [0.8739388788318055, 0.8997852929453858], [0.562590080290655, 0.3099818292183377], [0.4021677908199399, 0.4619439383465873], [0.3049589632931088, 0.24442974669616913], [0.3926337553911834, 0.5759339952854099], [0.567990508169456, 0.34385589939888117], [0.5105035610012055, 0.9017258450401877], [0.7719727452134697, 0.7138633628221039], [0.07604845810640037, 0.19112787364941142], [0.7767167492668059, 0.4809268161583412], [0.6255351312252407, 0.9484311122704978], [0.8430451757845615, 0.9324411551592922], [0.7929956434616197, 0.4840285136996525], [0.18132917370994384, 0.5554587917470354], [0.7868245074568948, 0.5995193570560423], [0.7810121505464647, 0.2673578634102528], [0.06967786548847954, 0.5251147918909066], [0.35829165384338, 0.922416578329101], [0.04309728160183324, 0.191049838838675], [0.5158259402263181, 0.7843349766255977], [0.08742570457547971, 0.6566811672089664], [0.2643411809592078, 0.01681325340988571], [0.15594249029107676, 0.6657216752836543], [0.17912362407344762, 0.7215669234211772], [0.9735857805984439, 0.2913180326315514], [0.9415530140068281, 0.32825915711757836], [0.8267511904468711, 0.9317908983127067], [0.8664199565914822, 0.34305012983469585], [0.604825713224496, 0.9597442796703075], [0.2904292932904188, 0.04729799496586562], [0.9728869176106214, 0.7229790142852602], [0.6422844841564809, 0.15287508561626006], [0.5147391296653822, 0.4488632943986738], [0.8993655068543351, 0.4543544366195488], [0.7380335206374814, 0.5367030049892906], [0.6457281099527433, 0.3416082607664488], [0.449766967211056, 0.07585989082145805], [0.5439715077311378, 0.7165230821674985], [0.6249295657181326, 0.9063346559482699], [0.5870867276042249, 0.5591727477933647], [0.5156588741979599, 0.5803977609338963], [0.4522408293450402, 0.2476075565615402], [0.6729215179778073, 0.16808754406190385], [0.07791327260899406, 0.8884407456200673], [0.7638486049274753, 0.9225725832253728], [0.24290981314761917, 0.6041879211655213], [0.25215029312310966, 0.0846548711203956], [0.8707539172243641, 0.37655954733648833], [0.78822128038965, 0.6883772734484065], [0.9308941093898225, 0.4201156311652342], [0.3744211749722609, 0.6968443825862216], [0.987413609447156, 0.021243693378501294], [0.6669289935041225, 0.6283590918949683], [0.4434770107203937, 0.35896481088266186], [0.44912202705733806, 0.8077649464806962], [0.24141699024930963, 0.6473648396308093], [0.18714147362911404, 0.26172714595201363], [0.5279890095997198, 0.8922421489789277], [0.24571749330996284, 0.10810371488019499], [0.7702964374434244, 0.06994576505850703], [0.6173263235908873, 0.6809005339040275], [0.6735005995401965, 0.7244417696560996], [0.6605240036552008, 0.2910066390314634], [0.9362341444232231, 0.5088015885112764], [0.8263639760899566, 0.4363041593350362], [0.878253042248387, 0.22963334634225352], [0.5996339025698485, 0.342036347123826], [0.4339743730129564, 0.31532818224800097], [0.2143754773580303, 0.5908535676271957], [0.10798416024532109, 0.4624673144600492], [0.8382940263212824, 0.9573936667576586], [0.0065388517925663026, 0.5004212387913968], [0.11316939962061856, 0.0765577488667003], [0.31375830686645834, 0.3069591484156369], [0.9599934713692935, 0.07925934430003612], [0.4670982629782682, 0.6544762333859451], [0.5542270649132467, 0.23212848860256485], [0.8042938560222922, 0.8783775040057519], [0.6288159775743992, 0.20554087003948396], [0.42785514484215625, 0.7934808096835955], [0.961617866413775, 0.2283146024521956], [0.8215356657429989, 0.17125898829687292], [0.8927512672261876, 0.8346703268101989], [0.011869626034608616, 0.1196366871714366], [0.4750478262678457, 0.499745223001383], [0.35761886568394663, 0.6453153561962964], [0.9736444735156873, 0.3576540671827352], [0.9356744866804823, 0.5639130324160379], [0.07797274906947316, 0.139613596602712], [0.16377908037224664, 0.6512015030374781], [0.33463993145414117, 0.8543552404359319], [0.10166527146128623, 0.04619358462446266], [0.27995050060050297, 0.877382147416454], [0.8342850474726303, 0.6389957528062061], [0.13513885987808272, 0.9792706860189372], [0.46946928851742586, 0.7647726032855313], [0.14924504305145736, 0.4505340368829952], [0.6220443797718053, 0.5932520201060115], [0.6468878073441018, 0.058905619186542135], [0.7823823904391644, 0.34415620803171765], [0.9941546805295662, 0.3506917463704263], [0.3426909923976761, 0.1682476867680207], [0.5927684930176834, 0.7737882623103844], [0.10236324480453884, 0.7064842962538127], [0.9921755534385679, 0.61504999738334], [0.9015393434927215, 0.5047226459191628], [0.8340210549463725, 0.2719318669113382], [0.8218566176543283, 0.707046939871123], [0.9922953215164904, 0.4450506163178384], [0.7932527618687695, 0.2708576658084447], [0.6910273818093489, 0.7353424650530549], [0.21275662404075202, 0.4691160937687445], [0.09968886788714437, 0.611966786255206], [0.6302403203475623, 0.8374745510342494], [0.8853419034106473, 0.23549752840163474], [0.28952510631288186, 0.009000601120974339], [0.14658824034986406, 0.37145156088518017], [0.37031272754903477, 0.532528041330776], [0.010337573832379099, 0.6232270553103496], [0.0007644059433623562, 0.3035422677065699], [0.8079854905358705, 0.10945210300713348], [0.8982112239526576, 0.25752443064095465], [0.991116104607803, 0.8280520801997396], [0.1712453123925205, 0.9491898234050659], [0.47854063489820975, 0.2358987814725696], [0.4778853935434977, 0.8004288619331396], [0.5822707444913385, 0.846460878469566], [0.8897400379412267, 0.32276615562213584], [0.7948200019409172, 0.20464548797666626], [0.9813871658872347, 0.356602717421191], [0.9642080683162323, 0.18286289568119996], [0.15064602172946717, 0.11415167361870127], [0.7658610414500827, 0.7077078231391303], [0.35630934503822587, 0.41987698734649714], [0.1728414676739667, 0.029268770620136664], [0.7135668299928785, 0.08510481579140661], [0.49897873087686084, 0.7486034320455199], [0.20812991088221888, 0.5352722619426133], [0.04507796096346095, 0.23745733643218303], [0.8326176953106964, 0.3388610511954162], [0.8363211145196212, 0.9620202561401622], [0.9921032116860241, 0.030796078875278132], [0.7963494764063977, 0.5789433781044171], [0.6379492391038626, 0.15226456050815795], [0.5923044637002609, 0.9535313280457108], [0.9672136144268196, 0.45869415884703935], [0.7426173334865502, 0.31862448662239573], [0.6921015355539812, 0.9209056760837279], [0.042468544611500625, 0.013091310621065722], [0.6934093627068652, 0.3482570968363847], [0.5659100623435437, 0.37636601983779927], [0.7178205454279243, 0.9215020118410145], [0.37485597265724546, 0.7401105449028308], [0.9736055764666426, 0.24940548953662867], [0.30549889647734463, 0.823763953871036], [0.3364547951490132, 0.7114756470658755], [0.18951307553676244, 0.1230916682679194], [0.6701285825025611, 0.20084074430163967], [0.8492479116438615, 0.4233431096869298], [0.7700520202704431, 0.05297918496220877], [0.2726022080200292, 0.4354968507432956], [0.4995937552203713, 0.1213886568035949], [0.7082105778845632, 0.24342056900268183], [0.7096417318067965, 0.4011639531461658], [0.9031351254789853, 0.39352126221162687], [0.2866708304527942, 0.4788039637892221], [0.18721360612512883, 0.24840404068870392], [0.8542368111997353, 0.4907614733865161], [0.8187280742973406, 0.35798455938717433], [0.5672549018604732, 0.7187549066885502], [0.05676661229516522, 0.02655920049607141], [0.032682079987230384, 0.9717032821866224], [0.5248215720825562, 0.5923479544273488], [0.3163161661096239, 0.6382926632994492], [0.44638045898371437, 0.7816501464546999], [0.04130744555451604, 0.04817137057218246], [0.8006000296184458, 0.21983725765444462], [0.2488066122080107, 0.6462158902696387], [0.026123712771733865, 0.7243171099525514], [0.7173049823843848, 0.3792461188744738], [0.15454676647701515, 0.28179192389238306], [0.8443591463843358, 0.21286945447568828], [0.007096112072170535, 0.3954456496638704], [0.7822080130473384, 0.11819629362756678], [0.12835213916740784, 0.2350188843598412], [0.7235296501890143, 0.9795142596799207], [0.33069442640605806, 0.7892287056595468], [0.9954699846931331, 0.7313430815809252], [0.19222772777123442, 0.18715075733269582], [0.7849713818944092, 0.09830702718543904], [0.9606233066476304, 0.11261648258235768], [0.7632862368979063, 0.6042658033121447], [0.07129137462653179, 0.41204694764784555], [0.07541203186145673, 0.6026671656762916], [0.7963476532641316, 0.7994212053144785], [0.6812263424045375, 0.8570204694464979], [0.22784476920540908, 0.26485351361826537], [0.4457269061560326, 0.4082729175809199], [0.7333458474515658, 0.2847717221343562], [0.36751182749935973, 0.7197216504460091], [0.43691782261723755, 0.5281971218751783], [0.9063245707071899, 0.3612882350094595], [0.4992176736209595, 0.9952250954028756], [0.7251228139147792, 0.8496213110001775], [0.5343446331540679, 0.5060486467991208], [0.8630419804943945, 0.7764576045803829], [0.7586162278393526, 0.4010323867464658], [0.8250305162556764, 0.1900878236682142], [0.8004468181244802, 0.9671840811909059], [0.041976350232664106, 0.8226197036081577], [0.6874763079196573, 0.3545459455379355], [0.9792642921073668, 0.5795211862923442], [0.5381738983582866, 0.6765078072516174], [0.45113411616521204, 0.6037484644636028], [0.7280667538196172, 0.17716690060812457], [0.4527001139417257, 0.306579953623055], [0.4354597014930338, 0.03265482893163085], [0.7074966013756518, 0.8588088327388993], [0.10429927726575483, 0.16965941511303928], [0.7427464809281443, 0.28700463529246734], [0.9843275807506551, 0.6618398267445696], [0.9467519474607728, 0.45925927866412497], [0.3538836793221458, 0.8103174211142479], [0.8115226206225876, 0.12238221618098977], [0.6304434678609876, 0.7589195602608907], [0.2977988545439161, 0.5435547630831101], [0.9823815784890224, 0.6561184938069019], [0.28777346642867496, 0.1642675832922199], [0.42117629932246714, 0.603307844855814], [0.17916462823763546, 0.2977793837262561], [0.872845438594497, 0.4923786944498564], [0.6942005018243224, 0.5725006352012029], [0.32915427505542016, 0.9527306641674704], [0.592157828836837, 0.5682741876824609], [0.22009993334489342, 0.8765144162334225], [0.06925940392945829, 0.7586233606355813], [0.5358446018349704, 0.8659516657815213], [0.46644570505371197, 0.21974945660838596], [0.16241097574274088, 0.09789436926888229], [0.35721394753057767, 0.1711333415283881], [0.8890559418276067, 0.966601890911549], [0.7028794459099925, 0.1832445576077616], [0.03175243391937543, 0.0406719661759557], [0.12154774749611974, 0.7455730384882913], [0.012406629065707109, 0.4746361805527092], [0.18759177049777143, 0.2145421235491144], [0.8913647912663544, 0.553180451511619], [0.9075565694496907, 0.8609384834605053], [0.9315734122022221, 0.14178131413581951], [0.9270211357943405, 0.8796352394791243], [0.6902698603600682, 0.17426433201654], [0.9355012197113998, 0.08193634166343056], [0.17230758795650103, 0.541205970149636], [0.8503903237103903, 0.49400769490143503], [0.305970868065761, 0.7954849842797581], [0.8643010387780965, 0.6775683072017837], [0.9527927733916253, 0.9381115353520291], [0.1714834373545283, 0.9638601894563472], [0.439629459778355, 0.7104064770822219], [0.31351722507713475, 0.04883590865163112], [0.9622245250549877, 0.3487696066891679], [0.1153773209826292, 0.07485657484782249], [0.48303461682345106, 0.12377841640708731], [0.8972885010936718, 0.19019062046381163], [0.7194505299527072, 0.760991974706783], [0.23788223963207533, 0.42656479807827696], [0.1128722713337591, 0.74565002418272], [0.018025061012426957, 0.6427107899177346], [0.7054379658020318, 0.15183824244855693], [0.9002035965268084, 0.8061731848912679], [0.0011419789846300876, 0.8628954907210542], [0.1640638533542298, 0.1708985830989761], [0.9259030997639763, 0.048477732401657425], [0.9267389141154249, 0.7832961861136469], [0.21901430994270388, 0.5472806073838299], [0.6872695667847362, 0.3828257110056178], [0.5059180385363002, 0.32931200583648135], [0.1208056507013231, 0.23477264039215773], [0.23179867493100292, 0.06959598117273291], [0.14163920230462246, 0.269002157075237], [0.30288972350982124, 0.7238592774016296], [0.5942555275609189, 0.9408831589705909], [0.9755965470446334, 0.0943088674860908], [0.5893419329967938, 0.16679683408039392], [0.4307423679477529, 0.506975851894116], [0.06234470614714427, 0.12372133738264557], [0.8135786853143889, 0.012178054765652369], [0.8361555484236775, 0.6759231826205461], [0.6407915699125597, 0.6419459561036308], [0.8853996744963308, 0.837038890252838], [0.08542326664995037, 0.9451929001740016], [0.7191458030201197, 0.18376657415372766], [0.8932081954646823, 0.13943868218501942], [0.05405367216949186, 0.42365473667447906], [0.662858625580573, 0.6227115010306417], [0.4800845171711777, 0.8703100140628469], [0.2957935160322751, 0.7717413245995787], [0.879833759774025, 0.9586066413919889], [0.5029248391968532, 0.3556960157160013], [0.5062884873863999, 0.8489824193847649], [0.15567699462948748, 0.6231517544717433], [0.420185845213252, 0.8194725063264262], [0.7008839248232734, 0.5278431412285431], [0.39117343013883266, 0.19412685633634985], [0.8884881919264961, 0.4019682337414944], [0.4174105987161282, 0.9334008987687248], [0.5777504330594495, 0.4000623506424643], [0.8145314878340388, 0.6950767308708591], [0.4926853203563194, 0.9838530791772779], [0.24612236402627197, 0.30898503478816886], [0.10426149278260122, 0.6009827305672952], [0.16192309796916704, 0.16041087093872186], [0.01142308901279776, 0.49950760014490014], [0.6752710575852019, 0.45106996807986144], [0.16984790279481543, 0.18566041340304085], [0.49909358301396556, 0.6558222928631922], [0.5368174794640772, 0.8134004190976178], [0.4662186778982188, 0.2576020650318479], [0.10845452224813124, 0.4730752601617457], [0.7848788043032501, 0.2266524782602023], [0.6322990736188919, 0.5096476364812409], [0.08192153455326023, 0.727448145564332], [0.5147807276665023, 0.7386396503584366], [0.31455712361872246, 0.33452137245729574], [0.2634216079827856, 0.11583036193640583], [0.9707362117503762, 0.3746976594457515], [0.2738150824836798, 0.2747121170342356], [0.8221816213368615, 0.3029165783977852], [0.08757390732431913, 0.2550413161245678], [0.11734466375103181, 0.6411764053580766], [0.9068567193343949, 0.3115700346617527], [0.8572758533510869, 0.5299685432016673], [0.7499072373525492, 0.3008534164556106], [0.3601308919097541, 0.19476257665691243], [0.9270123004797066, 0.06135859401078503], [0.3864514251580381, 0.11968441208274483], [0.08467087625582015, 0.5238349284577923], [0.026073478962732155, 0.8229845528626478], [0.5661770408257071, 0.5649501970208398], [0.7369484726089935, 0.8903119166619329], [0.7200090024810699, 0.2708000307276127], [0.8662294700287319, 0.4661321088305076], [0.21973069915069476, 0.8314781179783108], [0.9667941181210589, 0.40041473264096517], [0.4891735406752542, 0.7841634083255369], [0.049440416176489976, 0.2315571617133858], [0.13886400629323659, 0.8733581548478896], [0.25188444492098083, 0.004170005301241786], [0.9503378698118753, 0.9641417036570817], [0.03353976905624889, 0.033839492912895786], [0.15748629384443924, 0.20373372497151154], [0.43610581721240427, 0.26484438400995447], [0.7263112981432833, 0.949125923141841], [0.8573304371904599, 0.09400153062731265], [0.2104907483302909, 0.7784537214906737], [0.8549511844853019, 0.12033210793223792], [0.21341471495702313, 0.7842886029609895], [0.6900681739528934, 0.6692787157447071], [0.8488287650185482, 0.6286517746566218], [0.9367387961183293, 0.051813882040037784], [0.7233423647235299, 0.10518766251151024], [0.8505374280780181, 0.7130100920001252], [0.003263270938302698, 0.9558112714754105], [0.6034669704188889, 0.03258257597687497], [0.5158874921859863, 0.8143830429730726], [0.80135188021731, 0.7645881826446462], [0.9943321749541254, 0.762673468043961], [0.4756463964890524, 0.014064709781867246], [0.9209986074862089, 0.11581259685619705], [0.7867040445031674, 0.462873044559987], [0.08158617364777088, 0.44326436962066196], [0.7054893212638075, 0.8564250012966902], [0.39704921898700585, 0.14932280027871048], [0.3219496591502783, 0.25839575714805707], [0.47089217116859017, 0.808550340611723], [0.7789957678360041, 0.29411772712813555], [0.06099327381608832, 0.33068912639669945], [0.5608246071258457, 0.5947625546660017], [0.28585582175697744, 0.2042271494649307], [0.7303718097241247, 0.7007425697745968], [0.42432083323545244, 0.547474982584963], [0.7842621643547663, 0.0706320994200903], [0.023517548805814692, 0.3692880317107786], [0.19961950511388749, 0.6638922306333644], [0.8778443919244204, 0.8448325729804349], [0.7562449783522543, 0.1289684527699423], [0.26735006537961525, 0.039246398536166294], [0.46842194980326657, 0.4222286374808236], [0.5464919696147261, 0.8001936149842311], [0.5673787023128632, 0.9057359077441272], [0.723235250380285, 0.5810662913577734], [0.13250263608322643, 0.26412626380729487], [0.6171474209258695, 0.9059335490631155], [0.8887728914148832, 0.2352168220393135], [0.5278205204449231, 0.31584849346340105], [0.5953218399507259, 0.23481242467554797], [0.6244438093940917, 0.22767674575592423], [0.9957710934166519, 0.45367577057902564], [0.7178606008196898, 0.07951476447430283], [0.8435436669778577, 0.23275434026951736], [0.9411015991952398, 0.41967265930068465], [0.08022580817012315, 0.9931113327776464], [0.3367146247977413, 0.5260381357637383], [0.5206204351717081, 0.36672911116634266], [0.8446691687692544, 0.6043412433823439], [0.016804206218693496, 0.7950594819811708], [0.7317652456351489, 0.16660948829826216], [0.5946328633606405, 0.08431788343565616], [0.2134849404283944, 0.9206499951073708], [0.8242178262164885, 0.11834432042063514], [0.8506598406773183, 0.14108603922581175], [0.49692081584475845, 0.7341621934352539], [0.039562310424071545, 0.22267558177637425], [0.6046737089925996, 0.7181303427580299], [0.8249879828107264, 0.1489426581109382], [0.1913507977131309, 0.8557035436653453], [0.8440830389818594, 0.6531115233936131], [0.706841169110184, 0.2414056140850186], [0.7991029119310686, 0.09895134353756085], [0.616430182952249, 0.6361499405672697], [0.3392870322471362, 0.9334951660170865], [0.34308345340466684, 0.42569982030710996], [0.07809267839596212, 0.23920709089059955], [0.3865254429803128, 0.9586875730444905], [0.4876372051035557, 0.32205244362988605], [0.03694716432110756, 0.1794011636282632], [0.5634344829795455, 0.7569084874846919], [0.9279069443715701, 0.1278038345747765], [0.6794375218460263, 0.2907625326032376], [0.23666250418792945, 0.45101083205761316], [0.52713719161365, 0.47135570395939697], [0.9816044005645865, 0.8938309910307172], [0.17311380189312675, 0.13385712494397983], [0.37575895326651443, 0.5044162749044605], [0.8398326678363721, 0.24988929641629165], [0.7207186047423265, 0.3230118196920765], [0.5877320206777954, 0.5257470083368269], [0.8515534989566251, 0.012221269896069753], [0.8589790692617139, 0.9750671089025231], [0.02080552450308415, 0.12545322734344333], [0.2450790246682587, 0.03028224255489842], [0.7827348478624627, 0.4697606717249142], [0.3254959901775445, 0.22735441461765105], [0.6067159010800182, 0.9083029926758557], [0.6372100414725432, 0.6877233827068049], [0.28471355363160633, 0.9427243407234224], [0.7307028645792539, 0.060128636798025825], [0.12782206292641796, 0.24475236269082423], [0.9042178596502068, 0.20004588014409175], [0.8245950431511182, 0.3479569460353237], [0.6668522543170685, 0.061466994792319096], [0.3385434673746156, 0.36544567469288236], [0.4378739935134799, 0.6678807799314321]], 'n_circle_points': 7776}\n", - "Loading results {'coordinates': [[0.9534825030724863, 0.9736849411975227], [0.4931813940740759, 0.9829880634823199], [0.905733423691089, 0.08003728031596613], [0.6458820678585072, 0.8594859899943744], [0.1543061583646207, 0.3991143444118941], [0.8944992953214292, 0.7524198230690267], [0.3482861699497045, 0.1838983304913301], [0.3484124166686169, 0.22228920010969255], [0.8666813514949976, 0.3479442485755808], [0.5753924613900492, 0.48369122618736793], [0.3416939509578981, 0.7833704143111562], [0.7992174072370316, 0.9349655951431536], [0.5499628017442535, 0.9555993037176029], [0.19513334907248558, 0.781183165205529], [0.000191201202975666, 0.7974948754175745], [0.19048097679365183, 0.5142736769759063], [0.981139913053156, 0.8874601212132418], [0.8312099217972992, 0.3631622979645498], [0.26901852293646433, 0.6974588613431282], [0.13070999325288635, 0.23289296597494924], [0.5362344445301506, 0.5979895080388822], [0.03865489328276617, 0.969133111256937], [0.1296573955994711, 0.5776197742162015], [0.44187948802425536, 0.9165371404901477], [0.2967300034054675, 0.7419809000314078], [0.8449087827276188, 0.5012967710729612], [0.5064769302771286, 0.5883727403000253], [0.9965523012062087, 0.4415345841925795], [0.42064941221040897, 0.32302531573822313], [0.35388898265467006, 0.09345144519742676], [0.3233929728028626, 0.01794246666331878], [0.20620478414183285, 0.2494004000256116], [0.15178321972207187, 0.4612600887406816], [0.9108140077429374, 0.3486812889167362], [0.7857948611113917, 0.31348059308066345], [0.12094914864432971, 0.882381365776829], [0.5158728389981939, 0.16880202789854026], [0.0766434823569665, 0.6969145322811312], [0.5442839877350729, 0.6045742800504259], [0.2924619719309898, 0.31839049134051145], [0.687304768944149, 0.9570956920769683], [0.41265083965607874, 0.2443580081070721], [0.9105553265265399, 0.1575956438995172], [0.9423519367023827, 0.580031200746985], [0.6056483542662063, 0.9806424786797231], [0.06301829385212665, 0.792045443120102], [0.5745962466690301, 0.18140230473747732], [0.20260682607510827, 0.9774357145132733], [0.9881886173429201, 0.9323431134296616], [0.3571566229433437, 0.1742246658772777], [0.6087388705375484, 0.0765805260402127], [0.005946145645956302, 0.7529838853310163], [0.3181534145264451, 0.1417347858550423], [0.9024568305991955, 0.20160926508138988], [0.17018435181613012, 0.006730367599160569], [0.14893880954542005, 0.09821511800510307], [0.756874103503509, 0.8733807477754296], [0.2907187063128799, 0.526367300965871], [0.028008634707720526, 0.8274252997048054], [0.6011625072722845, 0.4610139904366215], [0.07053698591793423, 0.05404144973164404], [0.5061597214400217, 0.027214677837750778], [0.033282821108212346, 0.5107634761692337], [0.9180487104036831, 0.5596307121642792], [0.6846375551468432, 0.5608884005965863], [0.14707200422668765, 0.5495542479130052], [0.7712165020784607, 0.9297706252389195], [0.5353977778412093, 0.9611016313574424], [0.34012686228636013, 0.8720509746815127], [0.3755910888305801, 0.41427351475162366], [0.27871050842209966, 0.5341921016327335], [0.7355119521368076, 0.9878528619015241], [0.1889283504205348, 0.20576380077257794], [0.8068358103548794, 0.22196079458295004], [0.8145353228536437, 0.33960942467313693], [0.7608594397528948, 0.6320440232506755], [0.7056475013341371, 0.7372453422979015], [0.18613647574518022, 0.16013321586749096], [0.8509631764270676, 0.11296344000344571], [0.509721196276065, 0.0002376833923873889], [0.684335468686908, 0.046196542159102516], [0.07214662465966848, 0.9309881161759169], [0.8673646575278102, 0.35700383003020875], [0.8169214136135059, 0.20414165995492284], [0.6039012591322177, 0.6552245029015513], [0.06988913409383957, 0.9473997839582206], [0.833564971744217, 0.4298465844281043], [0.5169113147246039, 0.3910661253781267], [0.9653656127006968, 0.4550217005173942], [0.5418364203581418, 0.6209718092363998], [0.3181881863582511, 0.7049818775833007], [0.3886229084504831, 0.0916642538950262], [0.1556395965038465, 0.17277419103731728], [0.008134795562770969, 0.9850111270915116], [0.7123634931733855, 0.6091089136508031], [0.25923147427911064, 0.15518832379326364], [0.06948625921673302, 0.9442385938488217], [0.8789345529757715, 0.25511037936957637], [0.8206072089162005, 0.9543533264658001], [0.41266719764765514, 0.8948776532749075], [0.672609171408911, 0.07036209534851856], [0.7830814150849613, 0.9228991958002578], [0.6978518759653207, 0.8432112201399231], [0.14692899744288934, 0.4110623567706002], [0.40539233145911147, 0.3106456962142402], [0.3459643748919682, 0.07326269290505938], [0.6619336039989796, 0.18047098276576445], [0.058650302400318766, 0.3744457531404233], [0.7835023591925423, 0.4766389823819088], [0.13681807359523046, 0.4219260043704869], [0.14435388273289085, 0.9104235640835965], [0.7083976497283331, 0.9433504861977877], [0.5865104183200779, 0.031296656406244794], [0.7979258815510978, 0.3134445335172573], [0.04750172615849424, 0.591358122172952], [0.04143401589105267, 0.17189279971648075], [0.65549679803224, 0.17742001732761825], [0.6880925331739817, 0.6786016556230314], [0.3269122553248244, 0.9222479277864324], [0.8182069135601223, 0.38462655206293783], [0.20410828375061896, 0.9001865408431894], [0.7988109753271526, 0.6267438871362861], [0.6990386916053692, 0.1734523656025947], [0.5683463900001233, 0.32100743806407983], [0.8385632238278506, 0.8460196644326445], [0.40858538861041604, 0.013009771710692286], [0.715640905949905, 0.9011561733831057], [0.8472999861630112, 0.0760643796134931], [0.4675317723211597, 0.9838625341065862], [0.27394570826046993, 0.817056684240993], [0.8508868442038853, 0.5735386577537653], [0.9845463948594794, 0.40862128031229894], [0.18024355360819544, 0.9229489325725261], [0.7109733926898271, 0.08427996524113812], [0.8184121678794462, 0.49482872434313097], [0.5760125255241969, 0.6342035450510985], [0.25010804641594864, 0.46945054092102767], [0.3002781122783468, 0.4835509849922731], [0.8578611383471136, 0.9980152896185556], [0.8365404764672393, 0.10630037033014961], [0.3117299777690159, 0.711972677084602], [0.9570634974073006, 0.6458385262198338], [0.6313731871360271, 0.08979685369273616], [0.9439329411754024, 0.2517752612725669], [0.9041967425043121, 0.06959238440012916], [0.03677206159126967, 0.44128216422867217], [0.6775194932055553, 0.22535540931713893], [0.9053233092118345, 0.9403231509816448], [0.5316782309515039, 0.18446780541710706], [0.46872927017419097, 0.07992220975573616], [0.8386489663129244, 0.4691480924189223], [0.05449207803128364, 0.33712583947306585], [0.41290688492401684, 0.41307051630662484], [0.8864036227027204, 0.08915132736463582], [0.7258190667068687, 0.9639737861280797], [0.8720073536004552, 0.02347198232346992], [0.4123194234813281, 0.7038807617821947], [0.2160191974974479, 0.2644268814239269], [0.7345719386819649, 0.7926921282058502], [0.5119151564369452, 0.10292481251194974], [0.7597828343988826, 0.20051454355106735], [0.36424603386074417, 0.9416947393127229], [0.41847096301477404, 0.18256946291769693], [0.0250527674165667, 0.4056221489742773], [0.3947924028500056, 0.2644125775848929], [0.9743587487613179, 0.6238918702249582], [0.40868749873596366, 0.13212034695943176], [0.583388091444783, 0.5112637265927928], [0.748449254121454, 0.9051915857355118], [0.5100582882319803, 0.9914000106004733], [0.18897208084495698, 0.6789505844004372], [0.10832924419510981, 0.6551530194803182], [0.6366334170323251, 0.5622942052547155], [0.6048344948228727, 0.7897618116882082], [0.4182812523385985, 0.26043348150207646], [0.30807782369622017, 0.7094332328545138], [0.9942677905361761, 0.396281842750993], [0.17722864356158508, 0.8394922904313498], [0.3304089232913995, 0.04149096058983848], [0.9596854951292745, 0.4715445485996598], [0.5325066455229402, 0.7509651155607517], [0.6410074970061891, 0.07962764736727856], [0.553492535695566, 0.06035826642812292], [0.7534473543610751, 0.04551629722100459], [0.139420075899508, 0.6825097507794046], [0.29767414476582155, 0.31344126873978884], [0.4525887779953952, 0.8702321545579199], [0.3867255292557754, 0.2170655941864108], [0.3087459509384267, 0.16307923900530896], [0.5515436695542975, 0.3106942029755505], [0.35339026683070607, 0.46214063082969137], [0.07544850160161565, 0.8387756585484342], [0.5008267977183753, 0.1360378676052385], [0.7340864876598332, 0.7547155490551898], [0.9158620347168184, 0.35792453101166233], [0.13575895026256535, 0.7229934538515049], [0.5401342982503906, 0.5099087907233552], [0.942770944673373, 0.4111223081804736], [0.4317895055931493, 0.6224534490945651], [0.5643960113618671, 0.647912685371949], [0.5451152093446495, 0.19548396025413028], [0.03184686810825288, 0.9602139317267044], [0.3013562212966149, 0.38792996453219064], [0.7794263525364129, 0.5756003110579309], [0.21700168413181276, 0.028957627060660074], [0.9875262055324174, 0.0928153758882343], [0.9311346826210315, 0.6803193459454645], [0.3278985130552392, 0.07616570461249816], [0.8285039559446752, 0.06951103427944905], [0.7553666245203974, 0.508677286524099], [0.7509328219650664, 0.8023298878152458], [0.4414148460343361, 0.4893391960545638], [0.6617580507980101, 0.6017922192207242], [0.30851764531798564, 0.8337819003641677], [0.07992190699764323, 0.7830248302275029], [0.03957291642534655, 0.47750254848601015], [0.04069090961540878, 0.01081840387846833], [0.9643672518941809, 0.6581183853904538], [0.18922524536426366, 0.6523010373537276], [0.8592042029512106, 0.3645461215540464], [0.619087434883207, 0.2656292076520643], [0.6336268495437122, 0.876253295251701], [0.6307032451716882, 0.9882903713055722], [0.3389773776868962, 0.5082428659411041], [0.005961921794625957, 0.6981490766412454], [0.9333228780658012, 0.39351145904725016], [0.838607495520613, 0.9438164609541093], [0.5371081221080418, 0.08041468891395631], [0.45499609925109563, 0.6193912343767716], [0.7595920236959074, 0.4873999823404058], [0.6696863722515654, 0.04016920971458848], [0.5430048187529025, 0.793908905387541], [0.08715656989888776, 0.1083291832587534], [0.3500189218729147, 0.9704870021266548], [0.9296170946206499, 0.9809497238090872], [0.7314191238496429, 0.34148029303735417], [0.4344981003261543, 0.8127508478413618], [0.15471870455131642, 0.29991746285845644], [0.5919108930059123, 0.6630772401584829], [0.2977828288528126, 0.9083484932407435], [0.33590853309981406, 0.021548528159735958], [0.3807312620427239, 0.5498367447755802], [0.4609511191490686, 0.60225503168495], [0.2724379464437352, 0.9324258114472237], [0.37237018903037145, 0.652866444272268], [0.994900829782663, 0.9142042962353052], [0.9239965639740845, 0.4185555875677017], [0.013318245253465255, 0.6460695345947839], [0.5085764827156655, 0.6386760003518646], [0.7364806386319905, 0.22015194289099027], [0.6534734961278553, 0.5185881045120208], [0.3342607741303314, 0.9190784442177349], [0.6487657641563218, 0.5479473599578752], [0.08497310332873875, 0.34585085035870566], [0.07483106130522488, 0.6268930156691774], [0.8613696187099193, 0.056611953270897186], [0.13471460766411059, 0.5329622268005474], [0.9959911040703596, 0.020437291747695152], [0.5104337030587344, 0.11213189219690023], [0.6355887352384085, 0.698140644258142], [0.5198120554728451, 0.26392526925582027], [0.4234433798689633, 0.9966419767934941], [0.33678660020106255, 0.9770508837962409], [0.679021371944901, 0.7320544678962968], [0.9848575450905042, 0.1043492542309774], [0.2228160695721193, 0.46235661050709154], [0.4605670547952474, 0.44824401210434994], [0.6427788557615405, 0.8858126960163271], [0.029868560682202783, 0.11041055041607672], [0.4063430914692443, 0.253701807961216], [0.3388187014951045, 0.36339370002289906], [0.8646058282207049, 0.3843986566730754], [0.38295178457271417, 0.38134748799606377], [0.038045357507587085, 0.07682032925664606], [0.8049394300420589, 0.9926049929588314], [0.4484384830931827, 0.1844275236620233], [0.7214185320678907, 0.7574161267371423], [0.8679233758334499, 0.1083984401893916], [0.5608631974917488, 0.5676720090142124], [0.22340257745248793, 0.7478471134743985], [0.6881885304833656, 0.578234053371108], [0.25734917819386927, 0.17878329606371846], [0.35596094392972844, 0.5304706734032604], [0.6470500378141801, 0.5546578369876327], [0.580835638330111, 0.6187166644969453], [0.1394584622140873, 0.5950709675945004], [0.683746284585696, 0.7095714753031839], [0.6200570479856778, 0.5670858906582158], [0.17835432037482823, 0.09804130437093772], [0.7584630869603167, 0.09006964517593574], [0.6677994725849907, 0.8184957015368468], [0.4858190274070795, 0.9989064190555078], [0.1830839230326654, 0.9690788233312491], [0.080581440211282, 0.974748905638956], [0.1048441402805309, 0.364464105705699], [0.37991647954563457, 0.17013393830979995], [0.32973722272352235, 0.9548481212971259], [0.7199320392638013, 0.6724117207789184], [0.24506921582159813, 0.46970949272688267], [0.35286366399521296, 0.1916397571386208], [0.5881166560178375, 0.2576856633139015], [0.45399213671699756, 0.7486952573165754], [0.001972866505530302, 0.8813196384720695], [0.3447545745528957, 0.9876370793008373], [0.11753129700853648, 0.393525262589023], [0.7017638743793602, 0.21487240878054858], [0.2791743623217874, 0.21135891596890588], [0.21698846712106667, 0.2861956190371804], [0.44438355527093887, 0.9199329386320058], [0.372683506478213, 0.019879545134719345], [0.5990322986877266, 0.7987884418567064], [0.5798200839681548, 0.7618323673494015], [0.7324301858809582, 0.3413428273274143], [0.20238393763934315, 0.6239623345973756], [0.9979605404464337, 0.9705623118910518], [0.910747611803054, 0.8752155692854654], [0.6477789728653148, 0.34930364602354835], [0.5121452649598497, 0.1471061141860358], [0.8847505720304374, 0.260667414069341], [0.45309526081224827, 0.48857306390321664], [0.33912883779813274, 0.6478950477837526], [0.12091174843094121, 0.11482858239962335], [0.1929753888833835, 0.18556153082926907], [0.9754262432967007, 0.2634409161213972], [0.9226519393897021, 0.009534686326343023], [0.6577319294807832, 0.6212998521867116], [0.04649816655250849, 0.7330918517858359], [0.3696801479845139, 0.8016974547655498], [0.3202368715292837, 0.9462590843886669], [0.5996093182607175, 0.4092864236203373], [0.12533206360345583, 0.30184025139259785], [0.9331514776394436, 0.6293602011769327], [0.7753537898520884, 0.9350550259593504], [0.7382862788394216, 0.6882456142166987], [0.25357030606558106, 0.9802681276287156], [0.0005085222071854467, 0.44169539702184824], [0.749943283548769, 0.2992486866420767], [0.5272721625415638, 0.7642141928269561], [0.6246422177150329, 0.3714794320444418], [0.03887125343040898, 0.14442322389192697], [0.5195242089410657, 0.38478898126577044], [0.6484294684816789, 0.11400426709414524], [9.403928844575749e-05, 0.8433372999795067], [0.2570589978400959, 0.35014705680384417], [0.9458270965982416, 0.8966913109767747], [0.7680828046501155, 0.4449351048581701], [0.25455819266499047, 0.6702617196622352], [0.99919085544337, 0.6319713840089038], [0.9447397041963042, 0.914355315229451], [0.7182205308985831, 0.08456484285380617], [0.7016164246902151, 0.18177143623449188], [0.5760995788888407, 0.7848204179068284], [0.8047977978453479, 0.5944064920659313], [0.6238378316140993, 0.8656234381166366], [0.3565745501193385, 0.09343286978068044], [0.8315230608694623, 0.02364479786485818], [0.503993048217703, 0.9137674296704211], [0.36167976149870606, 0.4329034460711536], [0.6556320318506116, 0.12730629168504282], [0.9924672971492825, 0.31895898362390795], [0.5019724335913135, 0.5956009547041115], [0.07015383620394067, 0.16511875418514244], [0.9265426224014648, 0.6197782693458777], [0.19189546607677688, 0.37187000085751176], [0.7035152423518398, 0.3757288617376534], [0.8266760366363942, 0.9182322417823737], [0.9687427304194886, 0.8653726628955793], [0.8284598324317904, 0.3286754195029058], [0.3851855539315052, 0.04835364868736691], [0.967806380998203, 0.6109612043325753], [0.11613230321813572, 0.12489377805746593], [0.8070603477078084, 0.12700277466131282], [0.06356618301132222, 0.8231598450602735], [0.6582679229252157, 0.6002461730764055], [0.6513052229847507, 0.866137683026474], [0.925381019091501, 0.7170234499047314], [0.41707176698211224, 0.9860223822284161], [0.5371556885469624, 0.09055666344156987], [0.941239005770953, 0.16466915867214593], [0.007460590217189478, 0.19677824863320414], [0.3385800412877883, 0.4797123331253592], [0.26605398914509826, 0.8051018903121708], [0.6637322449179557, 0.6343613926308728], [0.9374178034876901, 0.6097200582532905], [0.7234819552891838, 0.6435582036866494], [0.21669992180628994, 0.30355701665047863], [0.17989746955767272, 0.0747945161842305], [0.00972003787492337, 0.33434245962936626], [0.46121505155266196, 0.03066865599300339], [0.028582236775466452, 0.43418335552363396], [0.6650207680622308, 0.8171146676806099], [0.9273198785903356, 0.29849496049626867], [0.26848830929964074, 0.11274311506488932], [0.8676786570867443, 0.4596948790116001], [0.5714420084447066, 0.9330441475998792], [0.7555684168042192, 0.12836180903266725], [0.24522348463375165, 0.9125753345245667], [0.31811697706219266, 0.6811991127234895], [0.28996761287716977, 0.19478329386328808], [0.6916795811660544, 0.3795701084446498], [0.53060880305159, 0.6276807757005597], [0.4154959506522561, 0.6323110658269718], [0.8314993899241646, 0.33628452740546566], [0.423240714839915, 0.8778769827070626], [0.6054851612389407, 0.9915515799816529], [0.6027547610626847, 0.41997938415948344], [0.0960661530477458, 0.4482578610197717], [0.3751115566802333, 0.9375887890395829], [0.45333013117501286, 0.4967784633505654], [0.7518686183923244, 0.5609935213415003], [0.5835028618052037, 0.21050110136120836], [0.30548027212598394, 0.7122982904973076], [0.33078971206595253, 0.5146864464385492], [0.6012035496259536, 0.8787928194521986], [0.3052760703899192, 0.09849271457041475], [0.6451141274000765, 0.6031922798866511], [0.1399131436615323, 0.29986253045649036], [0.7163087668984149, 0.9452590423403199], [0.47601086473974885, 0.7045993927187404], [0.5940199390017483, 0.7000187720527983], [0.453228518745873, 0.984444166185974], [0.2551195076091749, 0.46283516468400443], [0.5788363571603595, 0.4048098712454564], [0.14710400998131934, 0.8413964034029195], [0.9735741480271949, 0.48771291479205914], [0.08804257605441657, 0.10600910088124527], [0.9434794626942897, 0.7435616124574757], [0.6981111476946269, 0.4465879963987691], [0.3254921913245369, 0.8751639922783238], [0.4437405302977847, 0.2251487009174259], [0.4866244905588639, 0.9860035225963302], [0.22133359544260012, 0.6184998262758268], [0.6358843183130112, 0.8183383826701607], [0.2786837219823386, 0.22501723967622145], [0.8174890118976325, 0.917833490852923], [0.9771489248813607, 0.5510926460358354], [0.9282562161757126, 0.35417427529341927], [0.6577928018737016, 0.9922853554039297], [0.4498220230209047, 0.3549861244432131], [0.6274328258980274, 0.4945149935716673], [0.9630344597274443, 0.9138100623467801], [0.8384933467054183, 0.9613008374330659], [0.39869564840987737, 0.29600201188113073], [0.2051305237052865, 0.9914816985822252], [0.20227701332024062, 0.7303515605824284], [0.6767923821382277, 0.12357967697210248], [0.8847515562244502, 0.9743000589974214], [0.9030425535376246, 0.4721520408692259], [0.004368060600074886, 0.6895672004553228], [0.1276632123605126, 0.2565592103523675], [0.955460948869093, 0.7532652461756066], [0.126621587172565, 0.7818106486112764], [0.38411997150401245, 0.45794888540669965], [0.6505423620805356, 0.42955115768478924], [0.48316090203172246, 0.6906708159826066], [0.14100526995439422, 0.19469665299448968], [0.403852831103405, 0.9138580389891376], [0.6874800859383227, 0.10764191757539832], [0.8397855751315428, 0.3201209192769041], [0.19579316743161357, 0.5913975561920933], [0.7527620288157951, 0.44496439775758456], [0.5625845257146448, 0.4250485907396484], [0.7437590601767445, 0.9189884919347637], [0.8084724994485774, 0.023572585620994402], [0.4856936060945234, 0.6704037937081944], [0.8149076993099263, 0.6988054707281184], [0.8078944883714587, 0.855280265063642], [0.16093925275593846, 0.8576924161457025], [0.25581852572323727, 0.770617909580809], [0.2731135151976536, 0.04407457733115361], [0.454469918400339, 0.6938865689257487], [0.3419704269258388, 0.15407930762940503], [0.09713544594170453, 0.8752181837460392], [0.0012915220568627817, 0.3972178185197316], [0.9899783920251907, 0.8264700982071477], [0.6289240243716938, 0.17401895001691703], [0.8274447494481594, 0.7746927090093582], [0.14375711466320706, 0.054459487536243856], [0.9937864020138397, 0.012815194531249019], [0.14897814379384156, 0.6252328287629951], [0.5330303958407867, 0.5601385932743922], [0.11623923311615258, 0.4090775582191112], [0.966402491456435, 0.8945425640010034], [0.9847788712100706, 0.22419429673863955], [0.3806029537205389, 0.9256714622488335], [0.2578768745418256, 0.8245716164373875], [0.09876745636597406, 0.09887478802353045], [0.35329832878215883, 0.6069136823716953], [0.20687376044674122, 0.47260034252450045], [0.6111864635486585, 0.42107470079539566], [0.08978376094910612, 0.16040850396280681], [0.9087695323355716, 0.0926839124076646], [0.4839860650841149, 0.9195061702418938], [0.4395155347520783, 0.003034071315077269], [0.526731527835592, 0.824071560937617], [0.19597241597864223, 0.21450805198042555], [0.43117692406449637, 0.48282152671074485], [0.2201012750344542, 0.5027077657389578], [0.1829098154392087, 0.3679504166018961], [0.7664166706859313, 0.16380274265597483], [0.11547162516554432, 0.1729648104327688], [0.008084254356368725, 0.7508506641399131], [0.1929334197096344, 0.1602495869222189], [0.5615630807655102, 0.11468703619404164], [0.3885285143782824, 0.45372316011261626], [0.4728531131379473, 0.9029873361963628], [0.16138991551601467, 0.21784282632939778], [0.5328211864106626, 0.5384882036980021], [0.04031059668281556, 0.704909411742823], [0.26975052840802227, 0.47829242324483867], [0.2498800953603223, 0.23940724609956998], [0.422337964326603, 0.40249961289940794], [0.7746571904275941, 0.9579650650178314], [0.694176228662461, 0.6700025042625652], [0.9598425916722879, 0.21535764084800835], [0.10759206560163881, 0.3135494286508034], [0.696654639619643, 0.1804068968745942], [0.04839740174689511, 0.10297447688499195], [0.2812380564860284, 0.27568904410434925], [0.2791631651663926, 0.21459024312991937], [0.035065856398297846, 0.10181715556846538], [0.7803686537035779, 0.7754975237224527], [0.44614427526189526, 0.3219512562947049], [0.6532332021169134, 0.37078364516149986], [0.2701910698352771, 0.07963475410406717], [0.6395800250851732, 0.6840617779226817], [0.4076657699324725, 0.8506732614540716], [0.44206379402882623, 0.489351871735377], [0.0801190996311254, 0.20798419549403313], [0.6305428545398237, 0.03201055153512633], [0.553477302013216, 0.4605446962935732], [0.13460363082480442, 0.35539939438613377], [0.11263828558025635, 0.34126307099430375], [0.21245382594367634, 0.41772016694189307], [0.4624419594016206, 0.11654309574849964], [0.5971891359222671, 0.18212576386014412], [0.23835721106385777, 0.9021674723231554], [0.10799695992577141, 0.39064324969348774], [0.7036031321412425, 0.9048343354991205], [0.06122929160459223, 0.6439208424580914], [0.8981898019403188, 0.1051390640016151], [0.7972747462382849, 0.13476587176857457], [0.06553552090048342, 0.667584456394935], [0.7432841002661738, 0.566595981156262], [0.36929340651365516, 0.778137772488858], [0.8564635346432284, 0.8692628192566806], [0.8744925908575811, 0.5651618912548121], [0.932122180278856, 0.561237003053716], [0.5466917543478238, 0.008803677667063137], [0.42804736131236065, 0.15632373438906522], [0.23611400751249556, 0.602265969056736], [0.19695234659309413, 0.9090336019825699], [0.2680337240430981, 0.2090221885975132], [0.6987554480340497, 0.3993295073943808], [0.8300269340633527, 0.3714606100839316], [0.4630240394106381, 0.8996847816785616], [0.42114785683174416, 0.6856039848417864], [0.1498651334164215, 0.6865969261432174], [0.936726100048471, 0.4627546374904875], [0.24496872473824172, 0.3077946229644083], [0.48876715716095476, 0.3352098523250159], [0.39293012070424105, 0.2696815614337065], [0.18539946153104947, 0.9725868033239959], [0.08918258068342622, 0.4754453899159601], [0.1950696272306235, 0.11421923220484853], [0.14728141408030127, 0.7582483092504921], [0.939615046273549, 0.9965067792972322], [0.3317261546136492, 0.7286830049165055], [0.5148784410627585, 0.11755636514245837], [0.07022071626141901, 0.917968600668543], [0.5651577185790946, 0.34686239182897294], [0.6585250739743228, 0.33244742484385037], [0.8962732765539098, 0.04588640157108459], [0.3653498105726023, 0.013588316000274214], [0.869809222873603, 0.41943965414203443], [0.2898042840967633, 0.624763894278086], [0.8531596207405211, 0.955446154400838], [0.9795944978218859, 0.9554478585429209], [0.9602441147426715, 0.7501344046221292], [0.9756511716212101, 0.5860160528058037], [0.837575823944522, 0.3347437348634139], [0.13199229111161925, 0.5136576266283366], [0.7937849246787128, 0.1703867839994725], [0.8036269114429485, 0.9468780222532209], [0.6311591761384584, 0.5738559787954386], [0.6947142516869247, 0.94643063205815], [0.9953006301362739, 0.422669858119734], [0.5045256723661279, 0.3761555777105253], [0.012969200594019403, 0.4189427800768404], [0.10516051447761332, 0.003299067852972626], [0.14299151076761285, 0.6617868850347958], [0.907436733377001, 0.20717957889844507], [0.7101359653229726, 0.4123554057675599], [0.5648411031118383, 0.5467281909061547], [0.05911969403383688, 0.6835010502641177], [0.8959984596310453, 0.8276939767051638], [0.3893701752776253, 0.17208049310856333], [0.7466366796823305, 0.17649611245888563], [0.8604786482711951, 0.35785565389498963], [0.02474194561709997, 0.8311861871564573], [0.13896698748223701, 0.010397516681696306], [0.058988919104425275, 0.4843193338807542], [0.11712620655250006, 0.48009390725887635], [0.4640971160646524, 0.859650371877014], [0.656792095042439, 0.6365072748378827], [0.8291062447096427, 0.03012236716759409], [0.24576740884293125, 0.7853804518453702], [0.14302689943113545, 0.4677454437038394], [0.318886666616623, 0.6066138762818092], [0.4948689019028639, 0.31592042866205416], [0.19283013148948036, 0.7066936921438303], [0.5451990228750143, 0.6629217493000928], [0.8548198980265019, 0.35636416012177996], [0.058883656507981885, 0.7752646909178157], [0.25591871146375667, 0.6694885765716282], [0.3389845351392159, 0.8735199940531027], [0.04827893429438046, 0.6891169955831838], [0.4180994372976522, 0.4046353194770409], [0.962324972598671, 0.4493801511056944], [0.977419291861515, 0.49378607300954536], [0.8444297810321726, 0.8280201458062544], [0.02066588517639778, 0.26381831928193544], [0.9006804331241915, 0.4532336215470456], [0.7385850747645089, 0.912677383595712], [0.1489150281776963, 0.3726017604377495], [0.0505951764394964, 0.5930233826361517], [0.9221959306575278, 0.8051516164457202], [0.5225382640280952, 0.23329029843478255], [0.9409636643736562, 0.4752323495973071], [0.5266695472528168, 0.7421247794827525], [0.1404178129488426, 0.6955255622935541], [0.5823082483533297, 0.7006803187142063], [0.7070691652355845, 0.4451123563649678], [0.169730252477597, 0.3938711986180853], [0.668532775851048, 0.15893010779707017], [0.5612978474164646, 0.9034130429821295], [0.7904301790507676, 0.3384354885805805], [0.45306033182946837, 0.9348186094682703], [0.7161437858736353, 0.8779224606133385], [0.26905944392669323, 0.1959472826255908], [0.7332943552387793, 0.34614093493820997], [0.8878048312982828, 0.396420442090213], [0.3314649983292395, 0.6391423228918754], [0.08721412842451526, 0.14569070467578749], [0.03863346836892556, 0.02500118562234177], [0.2088933601343671, 0.9730723911066874], [0.45820578448097493, 0.7085226751272915], [0.9311177109366766, 0.8546057733058492], [0.12491492107866164, 0.5745083155741182], [0.6426020989843896, 0.8768379057819489], [0.724245398010308, 0.9093518089930975], [0.29504547670908865, 0.1792004855687216], [0.9302410699409991, 0.4025722499971449], [0.2814184567580409, 0.13282254657610948], [0.9971001156978904, 0.43091894285852694], [0.29819227538692916, 0.5042481818799415], [0.4828729969751777, 0.11972663209882284], [0.8067851971038807, 0.9907431474215772], [0.4450518758628882, 0.26079096945913016], [0.6066968266129, 0.009076379931276302], [0.4137662157762133, 0.9294103747357916], [0.15324120130900054, 0.09929053203162086], [0.5972241279317813, 0.7469858860753119], [0.06918716366220246, 0.662439182234386], [0.35999262998648995, 0.3325930261212048], [0.8045228991209283, 0.7833818434949106], [0.7434807121656083, 0.8862343235549192], [0.8279059405158846, 0.14253836511172757], [0.458789667895667, 0.9513335315438656], [0.9034087033615199, 0.5813268343633203], [0.8913062038851219, 0.47644176558751306], [0.5751577154553411, 0.21881363686976207], [0.9042078304034096, 0.2898775834226026], [0.9359371185507779, 0.9893276851690715], [0.5921721544342021, 0.8109314468945272], [0.46099391046828386, 0.5415361262602756], [0.6812265448368665, 0.9766788409591854], [0.5077926785334389, 0.9784365143185715], [0.664331240164256, 0.6879690422164902], [0.18970467616544784, 0.5515052600156553], [0.07142682457784977, 0.7339693708226234], [0.789613628480858, 0.2483525357119417], [0.720680719025383, 0.12529022877300622], [0.22673437942741603, 0.20769034284530896], [0.1684577533966103, 0.5307134358336111], [0.706906206422751, 0.8203554699102885], [0.2138857884559464, 0.45814051225112906], [0.008010525622975329, 0.8685845200353062], [0.844022927682562, 0.28802954091827404], [0.7525855870778377, 0.9759362128010421], [0.8903795754879305, 0.5597239601369092], [0.663421061296447, 0.8211763916052575], [0.9811786445909969, 0.29399746575717856], [0.766744662445999, 0.9186990253909296], [0.40916042965238275, 0.0158710302010443], [0.45013048354243546, 0.033738107214584034], [0.39005870350429794, 0.9482194954142283], [0.06049114199201411, 0.6855058582717787], [0.9266185740120306, 0.905652966055626], [0.2637924296525992, 0.9372958994196456], [0.7827119946505137, 0.5910461925995031], [0.43215258288581837, 0.26518028362189083], [0.9414320663369266, 0.08253036550113113], [0.9426390900337891, 0.8993268666125752], [0.5493375800996798, 0.4688557003621383], [0.40413289734581404, 0.16844577427909158], [0.9201636535831719, 0.04653477128743544], [0.8541939656288371, 0.8558337496589066], [0.4579335231016316, 0.08266570558237762], [0.8940407880792214, 0.3084771069786022], [0.30786709049730754, 0.6156686474436366], [0.9030128607775461, 0.6351036172546329], [0.5440464435323535, 0.12011491503726246], [0.9504899877486468, 0.5803284237930111], [0.26513858363151654, 0.9481146731869865], [0.24084325811614882, 0.1160642923032078], [0.8710254972088048, 0.5103016611343495], [0.3605428371130036, 0.10889519810356385], [0.23964756376329643, 0.5553779819753117], [0.42523523146064246, 0.31804375335937796], [0.9896904936153553, 0.6415836899235665], [0.5833972086363423, 0.4439440567941192], [0.8780672935736451, 0.5639605246900379], [0.6912807765826428, 0.9167332298751729], [0.8670872896302445, 0.950358713052438], [0.7157483101968595, 0.33851898241201506], [0.9089504377419059, 0.010089577544211581], [0.1410406184188573, 0.3323669011325402], [0.8517248717906409, 0.5963916662577293], [0.5376108418234742, 0.6622772437649008], [0.790131761239085, 0.21818893947332396], [0.8781488238400929, 0.3985466602736817], [0.09074695734370142, 0.1499245994351266], [0.7883858383069837, 0.6802396910437218], [0.39601726164899786, 0.6218075947228586], [0.7250608117269405, 0.9892564940657226], [0.7746898728340272, 0.8185966290022016], [0.3590898450279366, 0.21797492738833635], [0.6068682255307428, 0.21981847411744715], [0.33936675667698435, 0.34134278923275385], [0.967701324918783, 0.7817791036178564], [0.1258770099245886, 0.30092311516259673], [0.29245748778124414, 0.13199932277113358], [0.2633059010354094, 0.424261609541143], [0.8789264713748441, 0.9574599540315961], [0.2869805597511039, 0.1323266245804241], [0.2042035227688117, 0.9336448023807211], [0.2925558712450258, 0.48325814444841897], [0.7635242631028846, 0.29599045580511874], [0.8506629414692305, 0.12412190168148851], [0.4035452281456905, 0.4241224055197603], [0.6522586265939408, 0.40910509588165045], [0.70858904031122, 0.6276662840955834], [0.8618853692636521, 0.2646288925206879], [0.7992815800157622, 0.5004802627957137], [0.5881084617312969, 0.026427890928654718], [0.970639370636989, 0.5960665320783154], [0.2854506544862351, 0.19398043079164817], [0.07305638679656667, 0.8657082125554231], [0.6327309669309604, 0.6649148720555387], [0.9206535559317984, 0.1764625263379196], [0.6262255261441657, 0.16216527687997528], [0.05619384843798991, 0.7607124290545263], [0.02921164566444623, 0.8286135554386564], [0.29862116212763934, 0.22244643026779498], [0.43486502552935424, 0.6014524190185585], [0.03145346881741429, 0.49654385208239127], [0.02418315545384897, 0.2367319288225177], [0.024183214346577886, 0.535755330053136], [0.3998876251799597, 0.5810616670875199], [0.8241386651127764, 0.35047128680794126], [0.7055607521533727, 0.47097704711944266], [0.3726651028570459, 0.05945903137117037], [0.6440510265022847, 0.02400800449800533], [0.38737193886794785, 0.4413418396890604], [0.4423511377657553, 0.5674734214140149], [0.8191880187299355, 0.4028208958881052], [0.7461607902159614, 0.34061684109492874], [0.3446338426340957, 0.302890826670823], [0.4879703831155323, 0.8428423538251254], [0.6286219432024749, 0.1046367994117503], [0.18777012582116048, 0.8145002826196], [0.21820980118078093, 0.012716432626163288], [0.2381976625174399, 0.7111251201546037], [0.9521406717255146, 0.9068105723720036], [0.9659006306251043, 0.4420026480384691], [0.0020270078939569336, 0.6380438954883096], [0.7318532865812871, 0.007273833968377663], [0.9955201249481751, 0.33872855226149523], [0.81871589136262, 0.10389351803736158], [0.48154893441481295, 0.08501562295966181], [0.9681631571948077, 0.5768877875385738], [0.48588990974175994, 0.39012563237992803], [0.6639547301593336, 0.31284749736499573], [0.5166326039480728, 0.7548982540454605], [0.33978160127977897, 0.16559902075090538], [0.11800719864654985, 0.09879052902061813], [0.2958480602972329, 0.5248812371899918], [0.98395825343004, 0.31736908005395603], [0.4934162377628324, 0.4845810831235292], [0.5601545881613545, 0.37704953651442896], [0.19221229229014114, 0.3514530620519577], [0.5838181638554353, 0.4865508917238327], [0.44983697039068105, 0.31441082720342584], [0.6335403340336278, 0.5583373827695244], [0.8186057945208554, 0.12886198378548208], [0.14772338366654691, 0.7263093429239778], [0.17116240904368663, 0.0716262148856085], [0.681559700257203, 0.0561125869419733], [0.4675488044531593, 0.47887313081072636], [0.8431731004340597, 0.2775031138732106], [0.9412178867340045, 0.35722036960800296], [0.41015461337620274, 0.46589350845756605], [0.08414241359966446, 0.3048931650932395], [0.6235370045602756, 0.575116235471994], [0.061424391561842095, 0.9651690169086211], [0.9496165332694264, 0.17654890581136984], [0.770653267716861, 0.21644160906058496], [0.8691164342040688, 0.14054405894559463], [0.8965017531027896, 0.9692707949337719], [0.6111545629618714, 0.46129700432637255], [0.44708319075560876, 0.8847658092746237], [0.2791391658488439, 0.11223111153406684], [0.22222924125136811, 0.811789491180959], [0.5203131833361756, 0.49925389616562077], [0.024624078869853294, 0.4567455844260049], [0.7800311653041472, 0.2786277538322889], [0.8595581574647957, 0.08688606203488569], [0.930471875137801, 0.5788908022133257], [0.011883947691138319, 0.9375094891641582], [0.6289719481579299, 0.07203740574064732], [0.6279782074923219, 0.5457563178842916], [0.9123189230130456, 0.04832408846365366], [0.5254843751052845, 0.4613893807224372], [0.09026206162837913, 0.6835223932550895], [0.2347965960995645, 0.8490844506508765], [0.03274103439501508, 0.7875593330113926], [0.2924355084229524, 0.6946769268066711], [0.7396867841846538, 0.4620724610169391], [0.1887432248167853, 0.2840519345336908], [0.6300056763881123, 0.5148291624689383], [0.3991857389139719, 0.8328637277682669], [0.568504961510254, 0.6525084973415711], [0.7880936812492275, 0.13210413155372325], [0.08332373033508333, 0.24240785596933156], [0.837313425116616, 0.36162701598160774], [0.8238507788457979, 0.510829919414299], [0.43751104124787477, 0.056165541371887895], [0.17856908949993255, 0.1580822290901185], [0.07023782709384274, 0.020095687000823426], [0.5596512277963804, 0.4214842209715015], [0.567198913184683, 0.5037629442460823], [0.2261166934085127, 0.24691007267641396], [0.7626115866212204, 0.9013592436740634], [0.9301697581086303, 0.9079815144751412], [0.5292964112510067, 0.39769604554994686], [0.2539437706970823, 0.5729808887973972], [0.21598356963717968, 0.293217972766067], [0.420059163536022, 0.6340497461370829], [0.18534793163913565, 0.0864565677960405], [0.3173312683504951, 0.9276076764300254], [0.7896897349939134, 0.733347510446466], [0.622202490652791, 0.18961658236660728], [0.4706259587710424, 0.6378236116346325], [0.9766296220750125, 0.35632209014116956], [0.8953962696572781, 0.0015837139162739877], [0.977927883690933, 0.35971964321640637], [0.7298575738630427, 0.5380962255119516], [0.6984717431551971, 0.0037308689590966893], [0.8047695634557, 0.4718165988124239], [0.8759004776123275, 0.47567451484272105], [0.7565220586424308, 0.9344385551077149], [0.007948527219666435, 0.9695993118968692], [0.5280187624675963, 0.6474666669951348], [0.4982938028205548, 0.6360225694468624], [0.9552068984304464, 0.45074028234037067], [0.14774555391695443, 0.7849515506682204], [0.2784660308407052, 0.6360765301715593], [0.0892091221667548, 0.7363084438938702], [0.37318492781483015, 0.0853288402336152], [0.16635854298335284, 0.05384780088421637], [0.6948050713228917, 0.49037248549645895], [0.15182219666447982, 0.6933821857841447], [0.33859697329728333, 0.5654615189794847], [0.126608676608152, 0.5075699083184426], [0.9305333193236015, 0.5012500568355557], [0.42934677879971483, 0.3474199187808845], [0.006490631466298913, 0.5646948239437366], [0.7248830947484263, 0.3320628581409232], [0.8551122161648356, 0.9842287428160204], [0.9142167444599082, 0.47649061717733765], [0.42731728275938163, 0.042464113613247756], [0.5745164097789215, 0.739084126289826], [0.7390681915742631, 0.07682361927182002], [0.4130358172258537, 0.49925459794431815], [0.9122492574959618, 0.2500760933799353], [0.939115008091213, 0.5682945517233874], [0.24819118229834236, 0.4369814029684216], [0.9856281973464253, 0.8460035922014191], [0.7452697979455717, 0.13936576057457628], [0.9837721328023111, 0.9575847084752552], [0.5833635129784657, 0.7547412339372388], [0.4870951577336826, 0.20134371549940933], [0.7302072868702743, 0.6250059803740923], [0.6264110998044568, 0.4356796504199144], [0.07824397203808464, 0.2461292123335046], [0.7866183977949219, 0.31056394674503585], [0.8383607153333636, 0.7030662062475092], [0.8443497552991467, 0.4890828885141427], [0.5600263385628261, 0.33157973708754307], [0.7824096485765601, 0.9363567687266624], [0.20679217849874143, 0.5293606259941614], [0.7797042143384464, 0.1860191183734815], [0.545362643792244, 0.2078178720004874], [0.995676718933066, 0.3080216803953614], [0.24743723715358945, 0.9033840159258291], [0.09598254517613036, 0.8389617645854486], [0.3102247363260692, 0.693272717822972], [0.48747149357832986, 0.8049693598810839], [0.8252974552510756, 0.19182254943654087], [0.8590337291329646, 0.3004072418660444], [0.8120800588786502, 0.9982170162999918], [0.5922189375958832, 0.343556205574983], [0.9077697874150499, 0.9510528353361382], [0.5694579128738877, 0.37834776733806386], [0.5141726400635952, 0.39718251330393806], [0.9495132960176866, 0.6383253278263308], [0.7950262142628955, 0.47121686652560757], [0.454785480881023, 0.5209748499856207], [0.6256075987356474, 0.6669158027728679], [0.07859239515605787, 0.259660788028084], [0.9569349445471753, 0.1929968167634436], [0.4253411277979968, 0.633848767687266], [0.6602600710390023, 0.14841341613516001], [0.47730395090677624, 0.8179034907991438], [0.18796823205801372, 0.7174459191797338], [0.3126997987141652, 0.9992650242424117], [0.5259815170869435, 0.08749406858325215], [0.7295249469759421, 0.998316777648906], [0.9652644381373724, 0.6053869394432418], [0.1181266734671782, 0.01502338318344354], [0.7730555903201657, 0.08783841544667581], [0.2992887847349589, 0.5000336083902562], [0.24726238937125777, 0.22088079681029704], [0.6417060536718704, 0.7602499195956198], [0.5489443737168483, 0.7126121952028447], [0.2034076646705707, 0.5006132105116539], [0.759443284111707, 0.6798765494217152], [0.6565735869595152, 0.21574539847457164], [0.4525906034035633, 0.017719032998334105], [0.6479052247260196, 0.0321700063534196], [0.865690678716941, 0.294119667954603], [0.5920250283636554, 0.025012831242447353], [0.9426602201632082, 0.9065007676758514], [0.28324599185588584, 0.9834904951157774], [0.04150060974742953, 0.618418832248997], [0.45218635863467027, 0.693512474168693], [0.122403596988228, 0.45811981150881265], [0.757884027162257, 0.6544733167452254], [0.27702336911127123, 0.11793193895318732], [0.7405016730308778, 0.19609552806192676], [0.5645170567349177, 0.4990827130064275], [0.2167864404138794, 0.5977624902150636], [0.8255547114184489, 0.5088580058992409], [0.11664252031502853, 0.48886501884612044], [0.24154318148538745, 0.22242637488691885], [0.8488651858927451, 0.2897630416755841], [0.0475589710787222, 0.07274284309316115], [0.3733336999919007, 0.25714879558160486], [0.5942917850619828, 0.2538462995794095], [0.5370898333191296, 0.6918993328275683], [0.4013708416671351, 0.9228081528061992], [0.20230139535863212, 0.8791914378908532], [0.190552425770375, 0.14199733490855637], [0.37074070151050764, 0.14789513253931807], [0.7610106495144671, 0.03073276813827963], [0.9301552573334114, 0.6467060014010795], [0.29328011152016364, 0.3429364788495123], [0.5228091082073593, 0.647739953435449], [0.11879852613663033, 0.783296889306757], [0.9686281433435806, 0.4402992022114778], [0.0663220572095039, 0.7199192100687118], [0.8775006691421059, 0.5164872383534277], [0.1834089861957816, 0.9344880835662349], [0.08672509103725423, 0.4167361442472506], [0.5096073982050896, 0.6358220121752448], [0.26771962439429486, 0.30228345901958364], [0.15992138962097047, 0.5262866149772905], [0.36273901409885234, 0.5554935297017818], [0.8362006565736239, 0.38733765120241737], [0.028111979986705893, 0.6154212211637865], [0.34883134967507745, 0.4056925179714903], [0.6808848822091992, 0.005246205470594512], [0.8199914973595509, 0.6021750229772282], [0.967458490186372, 0.3114325372966843], [0.7206298278921025, 0.6430802391736261], [0.9818426906429762, 0.8589380194393992], [0.3103155745223338, 0.21130673302707415], [0.6873658997622367, 0.8025826981004296], [0.5681399536954674, 0.517375828745419], [0.7507316985511507, 0.46485704497316294], [0.9611921711358392, 0.39194784143860895], [0.8825490646245698, 0.8709423738540321], [0.4488361208211227, 0.9464363236261348], [0.8655648426891033, 0.09274243087245859], [0.1823167984528331, 0.6524808782167725], [0.3026421060755503, 0.10317745917129684], [0.7793476760712451, 0.8609535069163776], [0.5260692259049349, 0.7965490710807811], [0.8581175303453162, 0.5649097383283445], [0.31314117166065814, 0.33199481689889665], [0.22761386356168944, 0.039446449569766395], [0.8760036932104768, 0.15911261681743338], [0.24652938582513684, 0.7359353045040723], [0.4129265144339018, 0.7057026294606245], [0.17554924111299552, 0.9590565802584295], [0.4489818673735855, 0.2609860742725735], [0.665709979999663, 0.4679558965078424], [0.43875907843047246, 0.9262263955516095], [0.6709938477915737, 0.3982830985255966], [0.6917468829257555, 0.007038338789163268], [0.5734900724611972, 0.9839333573645723], [0.5059529528840792, 0.48486633902758147], [0.5460719874913924, 0.9686018951973763], [0.08227284836069204, 0.7854419407522155], [0.9552950865026034, 0.2117818860426135], [0.8162757080058236, 0.603230477944937], [0.4616780935397121, 0.5343216558629053], [0.09546303034010073, 0.3171222353646136], [0.14708319039825446, 0.6937678373151852], [0.7012046847248599, 0.8194442159765816], [0.018328942509133084, 0.3234240057751223], [0.10702745211821785, 0.9203949349857782], [0.05201841486665071, 0.30205180448424895], [0.8197432233133853, 0.7318659858830439], [0.7129930157597024, 0.7787734056140474], [0.16584266974903894, 0.1265357644889058], [0.03965155222112282, 0.9423226319304745], [0.08475320275327225, 0.9602715037529522], [0.4914728519725833, 0.7194538836567846], [0.4085229860700106, 0.6138937496468185], [0.28031477778757097, 0.5482245159761664], [0.9895557688450655, 0.48292831186654284], [0.23005766245012904, 0.9941414529561566], [0.5802057866881338, 0.9361131488978092], [0.8609588438820103, 0.3868093361549372], [0.42849550907918177, 0.10091541753176703], [0.11850010577792525, 0.19582144006998414], [0.632445131229846, 0.6936429740541097], [0.7664274019275209, 0.4329209103249393], [0.9740385767415767, 0.838993341408568], [0.2913668181419812, 0.5500629033550362], [0.43001393525583054, 0.12335412668373946], [0.3901614253824819, 0.10394040207939781], [0.9497161601383726, 0.16040845842342488], [0.7599853963357405, 0.7557423003487155], [0.6888995833549769, 0.016577306181089657], [0.21600541690857666, 0.7868029276484241], [0.40700272529562087, 0.4593667775873703], [0.7194707237999839, 0.3436205604964292], [0.1238946542425724, 0.29573080961506215], [0.3201752584130445, 0.3909863090319211], [0.7565408532890582, 0.7514766498231613], [0.13275045727224177, 0.015689494425723094], [0.8236092187316864, 0.5688523212491906], [0.16459322665232712, 0.5636981952151302], [0.32821122436447536, 0.6846460236789662], [0.4890473867966757, 0.03466021381041029], [0.19565609734808664, 0.4314822701183728], [0.667023749725484, 0.5846505690777778], [0.09562996446283445, 0.11343281810123862], [0.5228013672561392, 0.4676624160958167], [0.20407531547879576, 0.4278039878855837], [0.5921261545561486, 0.6250019459856488], [0.9365729701899796, 0.40445800570244783], [0.4287322266620406, 0.22237928388284178], [0.9430271277698704, 0.1406741105381374], [0.35301264607491445, 0.5122510436705309], [0.6765854807539693, 0.4615842817927973], [0.13471035776010842, 0.2634764576459593], [0.12126077184903483, 0.07771737140229895], [0.06442676201574749, 0.4610322023467929], [0.6198003177496996, 0.4109388936122982], [0.2288114767098698, 0.9467967436938236], [0.9470210415280462, 0.2631229987348701], [0.007364127476697568, 0.10793121943909079], [0.09855915401058146, 0.6628040805325481], [0.7777126732363119, 0.7610312182191935], [0.7007525012247295, 0.9720515396176233], [0.26254194141950926, 0.7924199678120621], [0.3766355199927779, 0.5038297116140669], [0.5748277900074474, 0.5614550047560243], [0.8362088737232435, 0.13685581888639764], [0.6507108076266558, 0.7711167531889451], [0.5697069873248891, 0.7192182996957892], [0.04477463987811259, 0.27278209420039046], [0.49013950949945395, 0.9768035744114965], [0.817781215847152, 0.935059792344169], [0.4375130587136641, 0.9065563575671295], [0.38150628317681223, 0.4878352198830507], [0.015386384587406932, 0.22879822696232177], [0.8241785418627545, 0.7156888717470526], [0.48759871063913984, 0.5994873150414571], [0.1259938953551728, 0.3897438426542641], [0.6736284901579659, 0.2483672741744155], [0.14383418949822857, 0.8542011294538476], [0.6763562328779342, 0.5941710240447907], [0.29821247987578103, 0.2702260675401098], [0.9817809728893377, 0.1745971885077927], [0.753594000969611, 0.8713062333554806], [0.41959230473846476, 0.49867861449471296], [0.3136992079643617, 0.05798825295750343], [0.653233764338858, 0.5070643569588854], [0.2518385905503635, 0.7042116539607366], [0.5514184250275201, 0.17331631517507218], [0.4766256965051102, 0.6312152384050771], [0.3064229253071309, 0.9410410708040211], [0.9301901771988623, 0.06491862669101356], [0.711541730885279, 0.7293342341110003], [0.7516360702207198, 0.12636661078072298], [0.2252628672240009, 0.9834534350448667], [0.5220129216676819, 0.3975068327541287], [0.3953555945070001, 0.08308430223857799], [0.6313026813802178, 0.3254426569614919], [0.9665039690424718, 0.29554630642884816], [0.8723499748685399, 0.3709433491768236], [0.7770159638345813, 0.34508477406575055], [0.81837210063972, 0.9047415653358749], [0.35994370759374383, 0.4304868066186812], [0.7426993002773608, 0.08883174016496187], [0.4098681637651329, 0.4424518233335216], [0.02713351344015691, 0.13808413682921827], [0.6676116732441117, 0.271677378062281], [0.5684363042942603, 0.8449661196523816], [0.9916107685641152, 0.134979591369781], [0.28726169058440176, 0.4828735940111184], [0.6515049057064319, 0.8522755743449115], [0.03403414113291248, 0.27295473218855426], [0.688999173045171, 0.8591879640008201], [0.927474233501849, 0.9630656350482938], [0.7867942066767192, 0.9067968587191334], [0.08406982424779019, 0.9568920345437735], [0.6369407008240718, 0.8319016458645795], [0.02047844332008375, 0.8320215891607474], [0.12008833185133072, 0.6448061666621712], [0.5446534360021704, 0.006705876844701919], [0.3162711490562826, 0.9299017708239449], [0.9344755735123258, 0.24226597594751076], [0.9448321847979222, 0.8356893973337601], [0.8858897385203864, 0.40934570323439123], [0.5097354072112593, 0.9389682574524234], [0.17481704889311278, 0.24245393393384618], [0.08299288763254142, 0.9166037370093368], [0.22628230754599954, 0.2716534496794565], [0.5975650506396588, 0.8539452831027076], [0.6719333148578146, 0.07299139967370072], [0.3747926314241863, 0.2590714235488202], [0.03240004542706232, 0.6294783860272182], [0.8256829121449926, 0.5031272841096966], [0.43545281111390244, 0.4189797273209579], [0.5038560521691668, 0.03981896048986677], [0.06313296715031502, 0.6804760180360186], [0.3838042442584767, 0.6459377772504556], [0.845167512322572, 0.28272415481131086], [0.24368099806945898, 0.9400448362438628], [0.8427493060501825, 0.6617918999099893], [0.678292465512596, 0.5011449998994465], [0.062237723459900196, 0.5345312267909338], [0.5049784540394352, 0.2699201749960197], [0.9687234254820468, 0.4231663967602789], [0.17767687468340965, 0.49824662473422365], [0.5988272404195966, 0.27295992820841386], [0.2341567216580821, 0.53664272235706], [0.5788270969301245, 0.019751642103642664], [0.013000380316092408, 0.7714977088361052], [0.6465959314979667, 0.17879920883640488], [0.4955217402345722, 0.05396748960061337], [0.8646681908220565, 0.47690907715264086], [0.6305041880629136, 0.6379284577199152], [0.6752723677302829, 0.2358582245479096], [0.9890038415441283, 0.8698888761320441], [0.28516165355038003, 0.2072416372547421], [0.40609730183886406, 0.156321218737986], [0.6282652157182465, 0.48041551083933265], [0.3951843351721299, 0.16713233756870038], [0.8370797428213094, 0.952830212527418], [0.33839131885146045, 0.45762927526288866], [0.6513523083551411, 0.7873882567831568], [0.4019811830381578, 0.796499578757159], [0.4901461472306239, 0.772132512293432], [0.8512377009683472, 0.8824292060870039], [0.2826470835665432, 0.7886877757162669], [0.9260808809378552, 0.9128444354984441], [0.4226874201542181, 0.8893463952500574], [0.13416737565501713, 0.10213134422880987], [0.8307155136349285, 0.5433080852098712], [0.9148353345033301, 0.2660941593551135], [0.4469697431271671, 0.19615858429257937], [0.19315642644354147, 0.010366239811754885], [0.18723353430646172, 0.834898569070911], [0.5524113822179287, 0.9589808700397499], [0.30750310849296725, 0.38989521007845096], [0.9887857525102207, 0.3312965836741123], [0.7021969806748386, 0.6358899650451578], [0.4484556586740627, 0.5347455292534936], [0.241582317764795, 0.5024830496150168], [0.11181987018546635, 0.6058297086955615], [0.34189959562239935, 0.2519777854408667], [0.13634767305813222, 0.2611556406689981], [0.29713545581234624, 0.2142840348455195], [0.020780387812947554, 0.016829957116944794], [0.9414459767073474, 0.35361606277302393], [0.3158436302020877, 0.7248554000359148], [0.6608469951166195, 0.03752179607418438], [0.6444723866382138, 0.5889279879307986], [0.10494615470504642, 0.24612067224191048], [0.6094816949661638, 0.8931691244824095], [0.24171086092810123, 0.466860960594625], [0.37397309200241713, 0.26503702575058974], [0.48954180669551284, 0.005795849478236859], [0.1852771201518595, 0.4926307512105855], [0.3155715434316191, 0.6771369969266998], [0.8754656554980145, 0.2832438388944287], [0.669016362687193, 0.2712640097124306], [0.38786722921919725, 0.19300056189707226], [0.5416950116073032, 0.2754456377950799], [0.9812744517713309, 0.8932240279391594], [0.2954536590873865, 0.6222358607620567], [0.558964320252144, 0.025670117130978554], [0.11218531288106304, 0.7568076284514437], [0.03932448384273879, 0.6627778147785992], [0.47835609086488695, 0.9827823975443628], [0.9169499980110324, 0.77060551554613], [0.1621035706510211, 0.9652915336081266], [0.36918885404682844, 0.39540327302683387], [0.547500109897137, 0.32221479339355774], [0.5774152525598142, 0.13359631599998623], [0.4518628436971568, 0.8471999443223848], [0.12134126615791219, 0.9479060059154376], [0.44176489192724555, 0.21672939038512629], [0.4572377426206631, 0.9598805404122935], [0.49064610747574033, 0.24141649805965892], [0.9684161244890651, 0.7420264426832669], [0.4872430682023584, 0.34598268022927614], [0.2907594418450452, 0.858812335107953], [0.7623070199412886, 0.9803919530122394], [0.6411490217655575, 0.179231234654477], [0.11421074650152141, 0.32579861818397204], [0.14000954240626517, 0.8039268598857037], [0.09990009603513039, 0.6084573473235316], [0.6214948177349036, 0.40616023925219413], [0.4359357283843326, 0.3135604742842141], [0.9208122627873234, 0.5338378964548539], [0.9582332030488518, 0.20992545778660843], [0.7093929345731043, 0.5926873851110372], [0.9474345875510545, 0.8437261834338469], [0.10714404798418231, 0.7015544543285002], [0.05752607906127716, 0.060248488258885735], [0.5992360561058538, 0.20342238124810996], [0.7962152684190289, 0.16842910517098586], [0.4267071283426389, 0.7040290335045488], [0.2663976662837171, 0.44313049251695924], [0.8523999766661116, 0.9970016936854083], [0.8088315366970208, 0.8604154765462007], [0.1379370575667458, 0.8572300024097523], [0.9516302876930421, 0.46823040196500665], [0.12750512771292188, 0.2586036447901505], [0.2705637227560459, 0.2964958867481008], [0.43371336837631036, 0.7936960994761746], [0.8488181440837365, 0.5473510967862111], [0.1609554801883739, 0.9397277239704809], [0.7032671560740991, 0.2763883967285492], [0.8425967373609262, 0.20180315713451724], [0.35781845769570797, 0.9678215686859561], [0.9745918288001935, 0.7958317847997982], [0.928041182579609, 0.9725001623230087], [0.41538720830224407, 0.5751696374631163], [0.6367617319802256, 0.658792424599455], [0.8175162259615608, 0.7310268441818367], [0.07067615984703202, 0.8536827925963633], [0.3233872440145962, 0.6482017600040306], [0.6117249699821202, 0.5946387951591536], [0.6028826039494651, 0.8804436452306806], [0.8870932739792287, 0.4337918793876735], [0.11425718112772565, 0.36373979026097336], [0.3763936841746436, 0.7948022647678394], [0.36073382296511824, 0.7229145096622002], [0.8857468777321266, 0.4580738452893457], [0.474174599985136, 0.9813586011735427], [0.9858409230239159, 0.8104976613563967], [0.5168747272624888, 0.55204789142254], [0.463877033933244, 0.8865889488155388], [0.6449869704658446, 0.7209725886662363], [0.6825972965010333, 0.10775140492888591], [0.27248564924493746, 0.4159277067146302], [0.8944981158951929, 0.8303712523696591], [0.18864352075313784, 0.015593488725393123], [0.17347896394479378, 0.03744268823911523], [0.8373722164506502, 0.7917080003303297], [0.7139028293442822, 0.3902743476864826], [0.31897541984667765, 0.23984884358324132], [0.154278569225907, 0.9556286997474917], [0.7513576268387752, 0.07882542612208043], [0.693640827353666, 0.5458705721618093], [0.4684968661566101, 0.6815730517744214], [0.5135366327628158, 0.011124421276995533], [0.4741071343416231, 0.2819276973926026], [0.6088996386344968, 0.5724893826672988], [0.16703204725389498, 0.30856355649030476], [0.4427312998822809, 0.7399172828453099], [0.23803262590119856, 0.733773250728548], [0.6129133850447095, 0.7172040284108725], [0.7188614042389129, 0.43764483596888415], [0.8578774881818214, 0.6363364061891135], [0.9804916891054878, 0.27240696484312243], [0.7585125420240386, 0.778159550616692], [0.07686899847700235, 0.5425259030070541], [0.8047158107634824, 0.7997052984568317], [0.3427550843592818, 0.6042740030780994], [0.762279167325032, 0.14745299143442347], [0.3124920813206671, 0.48632597349901874], [0.8088502557842919, 0.22551938066162658], [0.8919073189555213, 0.9782504397340178], [0.7236432292045226, 0.9562357482502206], [0.8693533056911518, 0.7383186530214154], [0.3190129734180589, 0.6402921428426613], [0.3061680276916051, 0.7662843744428426], [0.7941260920917543, 0.7182804861314661], [0.10917130177538492, 0.9932403736795907], [0.4043606262808517, 0.47402471714101135], [0.9686497517553319, 0.5600007430489702], [0.28430575003219727, 0.3461980306450916], [0.6134927677906091, 0.112599242233555], [0.6901416880137833, 0.8478642736703825], [0.002427763184913445, 0.10180853494357978], [0.10113522360469629, 0.29505670242548254], [0.637674588769031, 0.571006704104499], [0.6954420231305358, 0.07822914147783122], [0.3025962234956385, 0.9454070677194296], [0.11944739318851638, 0.4306127146147216], [0.6324802069742526, 0.8670233525019255], [0.3464442313487164, 0.005232132391747912], [0.47171889406862677, 0.03361053560284677], [0.6928081209083793, 0.7283594541892469], [0.2701947119381186, 0.2264792457122805], [0.92413168674892, 0.12189432742282025], [0.9814769148784984, 0.645886936497134], [0.02373173823835306, 0.6378934627965688], [0.5859665727020066, 0.9772575573235658], [0.6579757442766939, 0.8658016879076559], [0.9399709765886815, 0.13906597797207176], [0.15104280530802439, 0.11674633072727536], [0.019627330995800496, 0.33928563098187203], [0.7309745825967531, 0.6720628926845197], [0.0009919675883962586, 0.9476129282407192], [0.07036817379271187, 0.16534747023501317], [0.56721476186546, 0.02693679740918653], [0.3688337694897791, 0.7529511118040089], [0.3075620628076695, 0.04389549503699852], [0.5534315885835509, 0.21415416514182384], [0.22246535151703173, 0.2903036078131256], [0.9055290333045369, 0.7531237163638604], [0.1711094459529312, 0.5603657267571016], [0.24082622041864254, 0.7146418427444117], [0.6537435491231655, 0.021916718233670363], [0.682574867520031, 0.1188672651787589], [0.8771420004124205, 0.9232915607772001], [0.32055942044283403, 0.21199041562685472], [0.828572173718397, 0.9283801847615237], [0.33431094760608415, 0.05708497910765287], [0.6649530519017969, 0.7781509787430966], [0.7975500581991983, 0.9331914914367981], [0.5042657239543892, 0.18537775019332903], [0.7813324622205498, 0.1963207425533574], [0.5267030435272406, 0.6979293653277212], [0.38130892577858033, 0.7279467778914513], [0.831253515409197, 0.26270411635542945], [0.12685383296406572, 0.48283661529959454], [0.3101530163623444, 0.8896945900249157], [0.2165639643015742, 0.7282205589527716], [0.5467541044772319, 0.010016867943991037], [0.9258724503731344, 0.30538273985221487], [0.2513835139683006, 0.7233419764336028], [0.7665729417082421, 0.31345703782870293], [0.636830698446509, 0.7908496938681072], [0.8624355323588897, 0.47161105966189576], [0.8457082030908574, 0.26014614382711787], [0.5028503963891132, 0.5583159667495478], [0.7083114718483858, 0.6722459085397223], [0.246571283315834, 0.4402069430104152], [0.9045262564545136, 0.608624541938814], [0.5410923334606906, 0.23189373677436675], [0.12034484129645995, 0.8925548102187004], [0.32241476377585876, 0.37954829182420635], [0.816459939560138, 0.20357379043076784], [0.7961308173055238, 0.7290264776885891], [0.3645743496756646, 0.5353376222476959], [0.7509010449348119, 0.11454390594562391], [0.4027853753460151, 0.2156846540301629], [0.5540171449255854, 0.3717752147273572], [0.9322389614644961, 0.1457498091274081], [0.6127699007905018, 0.6141541782755932], [0.15949689156998959, 0.3604670592610433], [0.45467888213928354, 0.17499386620855795], [0.382591564720026, 0.8850818964445093], [0.6177723489187993, 0.704914751294662], [0.671944337165819, 0.5483165019310813], [0.8524624705178213, 0.061267280253268], [0.8697681900343136, 0.49479249644572], [0.016826966698539225, 0.714621792519897], [0.2191923034767912, 0.05843142023782788], [0.48541110632623585, 0.15883148935979519], [0.1460942908899313, 0.10780968544733938], [0.3633882107776871, 0.342583139705525], [0.18020826559486225, 0.044915480953734765], [0.20593141280062532, 0.4528418178523378], [0.056203079017630664, 0.27943811873476543], [0.6382158664023886, 0.06873000318485412], [0.40491196381868244, 0.45546189011054217], [0.11681326955404936, 0.5213891495866887], [0.44879409000217396, 0.8220328217306944], [0.6270649106593128, 0.63397155840013], [0.5653413708993789, 0.4455829332808786], [0.9264661355110526, 0.9631310808470428], [0.9465245573707972, 0.651221355820227], [0.07245784792039445, 0.2496383466321649], [0.42977450245753557, 0.5863542811301103], [0.34444525003680526, 0.03778077558294812], [0.4325810494127309, 0.7813078247333044], [0.02762854255224001, 0.6375268233953653], [0.450755900229563, 0.10360270914284686], [0.6557595984753478, 0.4929908710987333], [0.038130060375119235, 0.9571915522327743], [0.6605189608618783, 0.3589967704452851], [0.059022118230377396, 0.6459926042208152], [0.6633965010398316, 0.6204412828573134], [0.10550012047387503, 0.74513067931878], [0.42707772530265287, 0.07546127857709806], [0.09879692551958397, 0.2632329571748959], [0.22529725414508173, 0.2373817029102745], [0.8772146233354459, 0.6289734928635844], [0.13934914546968336, 0.2097957277703726], [0.5991125300329418, 0.5756998891499119], [0.850792858262804, 0.5488146548901207], [0.8341461004479563, 0.4351967670281145], [0.5251880265912322, 0.8262001611351459], [0.9190657803099338, 0.30349985017954495], [0.5196698360691985, 0.6034259900581201], [0.5034881850468013, 0.9259242040283077], [0.10405402362205274, 0.8956397447875111], [0.9887548443961213, 0.6551098167185456], [0.8672713266494141, 0.03892452267155444], [0.4598414468866928, 0.30012126431271113], [0.047528223437997785, 0.047015708421030644], [0.08205315863446772, 0.890761650980378], [0.011199916462732107, 0.34161432691125193], [0.701951414704554, 0.9672525142874757], [0.437357335694304, 0.7332925824825471], [0.42638575252398514, 0.3328732910434543], [0.9805570863649907, 0.9683327443700039], [0.06161161435695495, 0.335684666664121], [0.3910094181758491, 0.7569599486502472], [0.8680093645757414, 0.43470918251251467], [0.548685549423908, 0.5050235475757026], [0.3485508756683502, 0.7945158164544924], [0.8778601687676321, 0.37700423049553156], [0.743275170181035, 0.18258525322145813], [0.8801673106160552, 0.112561733530124], [0.9806239230039132, 0.3094244043255858], [0.16429868014387716, 0.7451442064686897], [0.5000809260449411, 0.6290165665504017], [0.8294406599155445, 0.7400623349190759], [0.47457609941987633, 0.277321466129805], [0.7375642804387689, 0.23779326416832103], [0.6409978260434273, 0.32596736694310546], [0.5398310815430449, 0.5879186324132398], [0.48831839385205256, 0.9685930246756242], [0.9493425926801876, 0.6629420638743598], [0.685214636593447, 0.1416841952962219], [0.7733444844914952, 0.8684522539687577], [0.6407939947788545, 0.1750820190211081], [0.47479926382514015, 0.29681260093787065], [0.5812302879777114, 0.15843682940911386], [0.5075607431710231, 0.7280912342219], [0.3978364883125689, 0.46769426492305644], [0.3643741234006511, 0.658797104050151], [0.44873228751169436, 0.6010005198591762], [0.2970184793031223, 0.7545681040022968], [0.07831457201737446, 0.3415642783886239], [0.8024178228698026, 0.2182472624774433], [0.20164229543975054, 0.6672468974376766], [0.8271258766846306, 0.5793132738286921], [0.3494668475697815, 0.32309534503194903], [0.057536094237708224, 0.35797982604798007], [0.6859380132164459, 0.642311775738863], [0.7430851451283459, 0.1804210567358363], [0.5535007273428129, 0.6606787499639342], [0.7007509784136846, 0.5441998537078556], [0.9121240777636979, 0.12759307338488557], [0.18239626609789883, 0.5837182668653813], [0.31384233135601625, 0.6161079949524861], [0.4894666684492863, 0.13514671104283893], [0.9074426632922994, 0.026111140865512583], [0.0561743662216585, 0.07407060688147915], [0.8425068787879089, 0.026004282110577703], [0.5538177645540598, 0.08514044025976097], [0.591193117097404, 0.5408338767486489], [0.8882403589472341, 0.567828354401784], [0.9097325434901307, 0.6233495828014805], [0.31417122043387713, 0.8718215140492309], [0.8905584167554941, 0.292267627848496], [0.4004911819581658, 0.010675035446824688], [0.5669489118128042, 0.23332733582051568], [0.03936232453167776, 0.49349351027539956], [0.4270919622130822, 0.4795694718141579], [0.9826637109721426, 0.4976111687272866], [0.05194136836233809, 0.9855724744687672], [0.6040264707905184, 0.1496850909427495], [0.8875886085495963, 0.28010273950207243], [0.48690048517914475, 0.6249943701165912], [0.901122634778058, 0.15099523198692755], [0.6165103455353316, 0.6235357530702407], [0.4402361438758573, 0.4766869480626684], [0.5092289629414872, 0.35878242721348363], [0.43981568525970904, 0.6193941311647785], [0.1985472263490794, 0.027243003898279272], [0.07002698697153664, 0.36056425648481105], [0.576321729065497, 0.19814868048856438], [0.83778159099544, 0.7859446491968575], [0.9476944213272568, 0.4253872110167065], [0.05857260778815898, 0.007650114758777193], [0.07842161494786948, 0.3478825439066162], [0.27847641123198497, 0.8024751105109634], [0.6372585938620575, 0.6488226580127898], [0.9548622252613956, 0.8938898751585901], [0.8346495148228295, 0.03894602354767729], [0.4075236250625208, 0.9913002879757834], [0.5895612109022325, 0.3894074151941851], [0.869498250093951, 0.8064127348385985], [0.5494746064994308, 0.2635151469601399], [0.5475465052201579, 0.32077111240621714], [0.24483553607431618, 0.05115489448782351], [0.30857147293713094, 0.2478996299977413], [0.5212296439156977, 0.8361825391102774], [0.6133968846219469, 0.4997872872513853], [0.8313225780524872, 0.009551094968826779], [0.7533010635803586, 0.9138593007263196], [0.03191892589651457, 0.38339335432102684], [0.24168749249842258, 0.3541677684824406], [0.3174343007076271, 0.9161360320637968], [0.21731864786736732, 0.2819570670684266], [0.126491809813834, 0.7303581531408289], [0.13378193926175708, 0.9270684477012118], [0.5477587332512033, 0.9701108911653855], [0.9760925327687624, 0.3343440912709761], [0.8137592867547812, 0.6772137869446316], [0.8414080640192337, 0.29889866223828065], [0.20061952567302022, 0.31475303381418085], [0.6392015931017134, 0.013492290349718772], [0.33545403193262735, 0.9802364282357855], [0.14471789296553672, 0.6181072886481612], [0.7211160524554269, 0.8134970526492251], [0.6722771336862564, 0.21632550201855472], [0.9829052298309964, 0.7776806082907461], [0.7762603649658969, 0.3789861129926898], [0.26990277668221574, 0.31507948951833475], [0.15004541350236666, 0.37549775417711884], [0.7732061254211415, 0.08031198000225659], [0.8520877638837662, 0.8580060694020608], [0.8667252847412464, 0.4977838246443257], [0.09990883521330962, 0.350528884295506], [0.45392061739885936, 0.6997805541561306], [0.995862584727542, 0.6395949239831275], [0.5479890467340289, 0.5657235874900437], [0.7973961652279432, 0.08585458158958426], [0.5610337952001283, 0.6071582464760371], [0.04932414885181258, 0.7389855758563101], [0.5271264977635491, 0.8303652804478076], [0.5434773181232841, 0.5155460831027145], [0.3744660033131223, 0.9793685577668956], [0.2160509919158612, 0.3092009055082283], [0.8141925721503128, 0.35636521735833004], [0.021870817328090153, 0.37189301880703496], [0.05090149369320618, 0.5830166233189255], [0.49222322515115546, 0.19226418352354369], [0.8447341132821962, 0.772934342289875], [0.5981496898432067, 0.08395196574189923], [0.3598310423035107, 0.9833796053381748], [0.6966082235730104, 0.41719203880807176], [0.05778237922375584, 0.9341338073624073], [0.06183923950560255, 0.7190890410306697], [0.8524917073686571, 0.7810992855547098], [0.6060975281437111, 0.6114993494636636], [0.13928753805094596, 0.5777646060928946], [0.6556777842819782, 0.9182529701497552], [0.7780797714013076, 0.7469959958529526], [0.4904100332170719, 0.8435459132660902], [0.12266317991523501, 0.6562116708093828], [0.7209589132137819, 0.27399941885425416], [0.5418491420503799, 0.34255447144310414], [0.1124503609055415, 0.06448303453700466], [0.32915456412933, 0.9473480721545909], [0.5149139308737578, 0.3293042461322342], [0.2395686183356902, 0.5187662435708521], [0.45600765060183135, 0.024121670649312255], [0.3340422009608841, 0.34457126810251737], [0.34958633056090216, 0.15876045789705706], [0.30731593190254236, 0.5702938239247498], [0.9507636859195361, 0.9253121129455398], [0.6684360043476126, 0.7783492243052749], [0.27565447917347363, 0.7768427080469217], [0.03325309599434789, 0.1887598760908753], [0.8540097010932998, 0.04808034537796313], [0.6002672092334003, 0.18793674428220575], [0.05155984129224511, 0.9770014704695699], [0.7300394298777376, 0.3981560469840767], [0.5391301472142268, 0.4860522816553986], [0.9254488351620737, 0.10173681818928071], [0.2997152075106202, 0.5278037031966714], [0.22648490381120956, 0.9338546786581705], [0.5807702137828711, 0.1980043600200483], [0.1379333441181132, 0.3239155384894391], [0.2822878020427555, 0.29140014444835627], [0.9841507941922063, 0.34705443350236986], [0.4593246442130734, 0.027380928792464454], [0.0021421449657320624, 0.26886539509737917], [0.9135495180673265, 0.20424754266408318], [0.11325106174966226, 0.23575224883388068], [0.14982581907156745, 0.2180409076270825], [0.7753004109295997, 0.4698711612577954], [0.13120577534742162, 0.3227340529762245], [0.6276205465403913, 0.6134993331008015], [0.7077075932345497, 0.6846011137938385], [0.9914020435758948, 0.26246697063688296], [0.6263170102379065, 0.5997530395760968], [0.6359045931929554, 0.9777604102362774], [0.5113945246231746, 0.4167141274049674], [0.37270661342350764, 0.4060403823811718], [0.8519257826366704, 0.3608758753639104], [0.27997068510216194, 0.7633262252917415], [0.08612335891383627, 0.37328284419396174], [0.36271889775106225, 0.67426794612807], [0.6994284699205625, 0.05923307600392003], [0.10654379866065788, 0.6238758407808407], [0.6923507519141361, 0.21645285136566317], [0.7674446456025588, 0.999326627033667], [0.6108900742620444, 0.9716770322632509], [0.3447940192171258, 0.028995819521524524], [0.11888193035279404, 0.13224025841582843], [0.09597717365845293, 0.06230182721494937], [0.26967183450789034, 0.16194957549122269], [0.7720602261102454, 0.6302625650785159], [0.6786617404775548, 0.2552122096090774], [0.8053621432147651, 0.09457131747006009], [0.27771599047632445, 0.7215437751941678], [0.29981741918819216, 0.9773964341238022], [0.9195679299540016, 0.018937637556954323], [0.6193201092821689, 0.11710278525699658], [0.3151913433655924, 0.6887561965128234], [0.25361258464257985, 0.5810499330234767], [0.14841296847522645, 0.024063917190926487], [0.451889426695284, 0.8773000981729606], [0.9950703535091533, 0.9692512503628048], [0.1263203649563378, 0.6442692187428152], [0.3702325510691401, 0.3483137226107942], [0.7532731314007237, 0.7902442698112466], [0.16312936300670033, 0.20774784981872185], [0.07011802511616605, 0.13754575299304295], [0.5596427505629024, 0.38214275779072526], [0.19145648886956657, 0.24781751967355892], [0.4155343166189387, 0.05767749173247316], [0.09598267780144532, 0.4741450488288369], [0.7858135846336143, 0.37270630642434277], [0.05452419235667949, 0.06343549636596546], [0.14950815155483588, 0.4801948575398738], [0.6560426789534183, 0.18843211836750062], [0.6968442498668849, 0.9733604728649317], [0.0715364891614213, 0.7607751420869144], [0.21239101729433807, 0.03783471207525113], [0.10374188302653997, 0.23143658828412816], [0.07211077619362638, 0.48403159721418076], [0.03840363227197474, 0.07626487697442996], [0.5653218853067021, 0.7198545403751443], [0.8979873691799714, 0.723002380516511], [0.5301515835437888, 0.7166673914322168], [0.2646438862425693, 0.04538920939447966], [0.06544598213913644, 0.4042988315343846], [0.5748162273673793, 0.8427577411070132], [0.5866755994040408, 0.6769469339874687], [0.519266411256297, 0.3319407410158981], [0.44157105214277015, 0.7878515984742213], [0.15995180844877221, 0.9008765527281161], [0.07069240891056883, 0.7513060402564393], [0.10922098327286134, 0.3557800303136519], [0.3857760521886645, 0.04438067156440961], [0.7749420454200191, 0.7469972515639232], [0.92171965896993, 0.9121169907515011], [0.11791379185617157, 0.05231526621728855], [0.4199842847920363, 0.6508614653550227], [0.664179295463802, 0.8379010796530749], [0.13009584032131838, 0.44083613106198183], [0.40612661494326263, 0.25846635748001856], [0.11528371801891091, 0.4022834870971037], [0.6984779426957586, 0.8213569958601253], [0.05198720539719004, 0.6170171908733014], [0.025035330497336306, 0.4462542976270929], [0.5733181176579095, 0.04713125255523287], [0.30088204039386457, 0.823032902108214], [0.06896112863885351, 0.6308275830929944], [0.062490464647857014, 0.8699651455352585], [0.6234745530045066, 0.5311304898875157], [0.923427680522331, 0.5557607700332918], [0.02427983780230425, 0.7913969174413303], [0.0916581233056496, 0.02259822348569529], [0.826822562285655, 0.2398539412003199], [0.6772905763191435, 0.9802251747725002], [0.48540773525375214, 0.010277591342106596], [0.273734005908167, 0.5404419747602167], [0.48272507348802896, 0.19260217222374776], [0.343391773310626, 0.20572175171183305], [0.8602946300816317, 0.3967852395075381], [0.9779287584178012, 0.3880042388005096], [0.1429848659498546, 0.05980862616921956], [0.7213159344678942, 0.8617308062763878], [0.5193356764954875, 0.15025439143295516], [0.9199640344122474, 0.8947050719993626], [0.6927823094255179, 0.5210183430648359], [0.8130400506838554, 0.7956767598451759], [0.8568969898639425, 0.09754874460407814], [0.4643899613767045, 0.5635025147135206], [0.18054852816071432, 0.907798702378055], [0.29258434735926575, 0.545479398189746], [0.8711322242322196, 0.4594178119752613], [0.7927053190425856, 0.47206786740544715], [0.2274603104761973, 0.38663737593094605], [0.45062777251941644, 0.7622434112148397], [0.09914695491625847, 0.63236923941695], [0.9631647643074078, 0.3776850093646891], [0.8867433587221326, 0.01098417642217131], [0.32790920492518105, 0.29152175106817857], [0.08600224686736446, 0.7825782299676102], [0.6090792971450919, 0.24634604573141994], [0.5711148133346025, 0.7603705942293845], [0.2825318155757299, 0.33245633125428253], [0.7275160087537781, 0.9467219528406781], [0.5022785560450178, 0.5186974468401169], [0.8641987645531654, 0.6983608170232817], [0.4260031311607233, 0.7099537299084641], [0.9691861372313153, 0.4873160371925519], [0.513436441234622, 0.6614871300437462], [0.14303274446935677, 0.1983776153032919], [0.4930120188576228, 0.6281937542399042], [0.8340790417462932, 0.2664526368523631], [0.946206177692761, 0.10492136547037301], [0.9370469609611951, 0.8675567750926378], [0.9553037680089486, 0.9710013779079668], [0.022491097628038692, 0.5663939062352179], [0.8074760014189438, 0.5699051434554236], [0.7942294238416772, 0.4937656271918416], [0.35493405279453105, 0.584303215815855], [0.5343795849049353, 0.2078007356082816], [0.13803010776496816, 0.6820894180144728], [0.6948752284534753, 0.9455203483389413], [0.3259263584953487, 0.18416807754450926], [0.8090746278852688, 0.7184458136369676], [0.12034244384619097, 0.7275174435336272], [0.30543057155077014, 0.13601911431106328], [0.9325129879573351, 0.15502155864039113], [0.5164517902771173, 0.48323413820089844], [0.421563081443186, 0.28745317218341393], [0.7026349538177041, 0.11718165343528597], [0.15628202776514466, 0.45297395205659174], [0.21870762535860355, 0.8818349195774234], [0.8052204928365085, 0.03912502223535108], [0.8137852987884042, 0.7260147713910167], [0.4761280382448094, 0.6718528869956889], [0.770394678020505, 0.5517220147267111], [0.7379548726596102, 0.2540598800824192], [0.21602073876263284, 0.9659797195435134], [0.8977639464582615, 0.8149941460897815], [0.35036365668458214, 0.5928572321028388], [0.09333915274016591, 0.5754835130456252], [0.6264751224819401, 0.6713397728553732], [0.9717236034359527, 0.08950191921056638], [0.4511303654758555, 0.3362864225803023], [0.3390731842155016, 0.6049585373317102], [0.8314278180964711, 0.04765042158463828], [0.9577948652311977, 0.8443614691850451], [0.45706450478700056, 0.958135667017323], [0.5270515265646749, 0.6661214517633923], [0.2845236499812419, 0.30330357907888317], [0.4014201059964644, 0.14323596583338005], [0.8789501290190638, 0.908667836376319], [0.7492705735468118, 0.44032131162942056], [0.461126683116691, 0.8520217880725464], [0.3920229705727807, 0.391837938732981], [0.7239853917044623, 0.6864153915724385], [0.6144945396257581, 0.2632892072288785], [0.5353447879705148, 0.5834670084287064], [0.6407443254913245, 0.12382677606795789], [0.8256945237400337, 0.32777083186095135], [0.2831096301044924, 0.4381032105844007], [0.9591343473864742, 0.6824762451697552], [0.26707697965604427, 0.585655363458146], [0.7352816782026691, 0.3674618458613912], [0.3110582869647692, 0.7238789783620253], [0.4567227938692162, 0.02371273028086407], [0.12306901298401962, 0.3209258147740859], [0.1201762692961329, 0.22619450347899295], [0.06906383450002973, 0.2751697958886721], [0.5913745683635621, 0.9276668495151582], [0.6912429617901915, 0.07615896365599628], [0.06276902800350848, 0.3612657841179978], [0.6778802244053327, 0.44027625099976575], [0.7580690173225569, 0.7305882104426978], [0.26133011329704803, 0.5935651428504413], [0.6297948982054846, 0.025951441253888374], [0.7183458609671878, 0.4676250774672115], [0.6891757808728748, 0.5587114296864908], [0.4142560534649129, 0.35357474307273107], [0.5137115185821182, 0.22762942349916238], [0.7912020691949994, 0.6361312469636333], [0.9160261301709043, 0.35455846499948374], [0.23331597834666828, 0.0684244757600756], [0.6520489490718625, 0.5561597729324979], [0.09760710653212834, 0.962145597543636], [0.5916542040098743, 0.9374677098391082], [0.8128512593906332, 0.41777607955343643], [0.8724743500061715, 0.22767272108658465], [0.7287023488140456, 0.32636892327972244], [0.9473542881281821, 0.9831688289904092], [0.34409938820584485, 0.4142901133134903], [0.7198204360353666, 0.3780810658106446], [0.02124006090510966, 0.6031116531768017], [0.566990895892268, 0.03443214647882009], [0.7223973582879755, 0.9242585913950762], [0.5292330751943811, 0.4155102955189819], [0.3480958812866022, 0.5028861341731815], [0.8618444291178874, 0.47190936554992047], [0.42294670361194886, 0.5592742692419912], [0.20912407432384494, 0.5469045232317798], [0.09162978955140266, 0.7515934678578179], [0.39264164874575425, 0.7671423126873708], [0.25639683304372907, 0.7224396092652814], [0.11675040408561654, 0.8770214696902585], [0.10390077433990608, 0.6900009325747226], [0.9177690926585893, 0.6237298005681999], [0.02788866863070738, 0.3225793531875648], [0.5467528061013458, 0.0676812641226161], [0.3983932160518192, 0.9007848295017107], [0.037949722489257764, 0.45639483276962955], [0.4367807340671682, 0.08941111878336794], [0.3489347544672454, 0.6964773509421296], [0.7851753942613012, 0.19686578284004874], [0.6981587757907507, 0.26072617819491395], [0.8960634591427848, 0.4350750022083435], [0.3338209344101738, 0.7381404570174559], [0.20736998715652777, 0.6509351218642826], [0.45416781866585654, 0.14393629745940972], [0.6074876866804662, 0.659762387494852], [0.5146670167773103, 0.28679707990820436], [0.615546598453197, 0.004249367280603655], [0.15086710014240268, 0.036946178617649705], [0.5198640936368811, 0.9454426354988887], [0.1908253999460131, 0.15670593510955677], [0.5486198567823568, 0.7399706874220758], [0.21863180930995352, 0.5774795244520509], [0.6497139345226617, 0.15642967861035018], [0.9464772219431823, 0.01755192631942748], [0.7860143283811132, 0.6887237165709698], [0.9732348789419278, 0.6044688936906554], [0.4287308295476281, 0.7596937154586239], [0.3392356305107197, 0.7267664634407678], [0.31298540793232055, 0.6388704004669539], [0.04479845863642873, 0.7205146331873018], [0.524111054418868, 0.22398090662849834], [0.4287628774580744, 0.01763486445944995], [0.7247207505205306, 0.4103569559836706], [0.03717154289833846, 0.43361591679038136], [0.789884498421395, 0.20952945640242737], [0.6522724921556668, 0.9592221042160567], [0.08493991189257688, 0.8788661068116327], [0.9659889131057272, 0.12086584812197987], [0.3569703333895774, 0.9755038080874792], [0.44417380843277665, 0.4772051832255555], [0.7576358862385645, 0.9243399404731484], [0.7176415993842905, 0.26016452453932615], [0.5543535212812077, 0.9946834792311336], [0.20746939349689497, 0.12181699150760184], [0.06144062232096714, 0.9534237013895827], [0.4621429146622167, 0.13313590468007475], [0.576912366478532, 0.30528455856331627], [0.5934154808526341, 0.6040343011844674], [0.36516381533157216, 0.06314832449256202], [0.13776871504166055, 0.8573163814705341], [0.010096304624546026, 0.453091305338425], [0.010166464068451342, 0.7936766697985628], [0.9221788238845756, 0.7202403104536567], [0.860527284249214, 0.07334469271799393], [0.5838124163459985, 0.8989801870493761], [0.5441042635820822, 0.7161510570174949], [0.4096359355662722, 0.6064217430186889], [0.1502971573606955, 0.7875466987086525], [0.8014867955429086, 0.6993209464161152], [0.7600732790244366, 0.3473835359505396], [0.19649540949964717, 0.07057676182878359], [0.4093391437819853, 0.16736370213070795], [0.19452996106699272, 0.21233394866778743], [0.9964060089887032, 0.9185607142155666], [0.24133987717077632, 0.12361556774900295], [0.40001545113066894, 0.18791309189382555], [0.4497569615626019, 0.04257965263162189], [0.03722927838347634, 0.9856304626214021], [0.5622057095523654, 0.8975860178566649], [0.10338676749502818, 0.7374757049734144], [0.4764435497528027, 0.4244996313649776], [0.47355740505077903, 0.9829657924803946], [0.280305109273272, 0.6901690157210016], [0.7089710963287924, 0.08920023206350802], [0.6024334161795954, 0.9201260400219523], [0.7499765131353939, 0.2426231850830095], [0.9267144111097366, 0.4223951957183717], [0.4233573179853275, 0.22295746163968944], [0.5025220616292241, 0.5476342916540177], [0.9847715065285525, 0.06329343790450759], [0.030297507225485187, 0.07749113057832469], [0.9181666338097342, 0.7873596864931719], [0.0830657681830097, 0.7561167705795273], [0.07677152153946998, 0.5028295250814224], [0.5410409099450173, 0.6345580711526636], [0.9173039180051039, 0.34367914646386233], [0.4425140373022589, 0.7564401702982954], [0.14469174088802028, 0.5583789274024398], [0.8251487369712014, 0.6959575631664658], [0.6517311773821389, 0.5137589847406593], [0.18528942431032103, 0.09955598518108999], [0.8677248155241795, 0.6180864656981622], [0.8862754403141353, 0.6467623459230065], [0.8756608768624375, 0.42854712768763203], [0.6516295175406146, 0.2619319765811622], [0.2315174635906705, 0.8012828139262784], [0.2680637946137294, 0.04936565971352114], [0.3436760191121778, 0.23619348013420383], [0.3400877249711093, 0.12731474017381794], [0.1718910880542247, 0.5023791185582115], [0.5022176735355575, 0.5099283116322525], [0.19782959219831409, 0.47816558916241814], [0.5516695193184786, 0.2052919847515342], [0.9462334996353698, 0.3827836147369812], [0.36689529001843446, 0.5306691878717348], [0.41299741598768747, 0.21741614011483645], [0.3614126067471386, 0.6055198580253898], [0.9307047977482229, 0.23203902104243723], [0.3932996337937841, 0.7004804303173441], [0.22418545192406236, 0.914178950370761], [0.9144733638028462, 0.8954341589435816], [0.3991976852281358, 0.1496222222575807], [0.8619799014814521, 0.8048390027453921], [0.7998477832699032, 0.48910856609485276], [0.2095198545418897, 0.22845953094705718], [0.013293152183930013, 0.7726544764897892], [0.9702784074799403, 0.3999031946787136], [0.296641725465702, 0.934273709841362], [0.8941750521045391, 0.5286028938279855], [0.14646007071398237, 0.7134246199779724], [0.9257236827627306, 0.013851170543373148], [0.6743666174574556, 0.39380403994006674], [0.5978784666760971, 0.7273670882608246], [0.1283483334089962, 0.9203002014770306], [0.08139206583416558, 0.5993301800780871], [0.6826762351780378, 0.8895682265849343], [0.9212120406103314, 0.5861848795373912], [0.8698640253871686, 0.7160357053339798], [0.9696092696380962, 0.77975189657902], [0.3912309111221116, 0.08053410465661637], [0.15945152737385448, 0.45535328680589005], [0.6963140280313718, 0.8545447434605355], [0.909176931281801, 0.8799534230753946], [0.5342815691419378, 0.9873023105410927], [0.5375093234990268, 0.4830876778289126], [0.30120497703543136, 0.4005526565142554], [0.10930465266607492, 0.39778379593558055], [0.8133138461047275, 0.7233913534075933], [0.06810704341913354, 0.44425660058784655], [0.5368816574609243, 0.5214638279042835], [0.6689728921005054, 0.9719929997803799], [0.9020439510286918, 0.15348594896995515], [0.657388461558761, 0.3619037464672272], [0.8098052456408901, 0.8117740480099105], [0.29386328900965464, 0.6869524859026997], [0.2991263040911072, 0.8153026751916049], [0.8160101262427613, 0.22810235385256916], [0.2148461655937547, 0.9045278163513203], [0.2873860500737041, 0.8096572454894907], [0.8443200020826642, 0.9368782317206016], [0.7972596286332451, 0.2323055518473075], [0.21372982569836207, 0.7741800228671613], [0.239244371125248, 0.3989071983735387], [0.597595149552612, 0.7842358679771667], [0.3177086897902134, 0.2772090240337155], [0.10056504171137248, 0.27629632724334807], [0.989350513665039, 0.8166234374849911], [0.44516893008152914, 0.830071378396335], [0.5176120127128778, 0.6944378552566024], [0.3332638739670237, 0.910716417145953], [0.0761285215951556, 0.7321477812828787], [0.04203627773180907, 0.5933680438450998], [0.7698492398895175, 0.22233421011958843], [0.2858755476907482, 0.653094375596261], [0.4370403871063515, 0.7051646173304997], [0.16089213973654415, 0.2379409998782699], [0.37124451544877546, 0.21507351785359619], [0.9501757281130309, 0.7774167898211229], [0.8030737685858481, 0.06022712550322884], [0.7332900287700762, 0.3925124687435746], [0.663992183102684, 0.5407657813146646], [0.38982258116544466, 0.5155690503150385], [0.8845649065602361, 0.6292543696228388], [0.8013452762988044, 0.9226351992776971], [0.5833695968532733, 0.25274871969308854], [0.9152234131163165, 0.20708782625202038], [0.6272259379003317, 0.8869153917981971], [0.11887176567883939, 0.6581991631772167], [0.5935891249208274, 0.2741315188022496], [0.5120179044193773, 0.18769736257235048], [0.4914544892562587, 0.3486930333477193], [0.3979097806316033, 0.45172824148193824], [0.5154100912064197, 0.42500145151397895], [0.35258308047329867, 0.49751578556290266], [0.04359085009051866, 0.1172548291603901], [0.4984630792213609, 0.11998177808324428], [0.10020114114033063, 0.8488219348627435], [0.37651439461797664, 0.8276318801424581], [0.4749725757533795, 0.7257593740788117], [0.219015615512271, 0.387010358214691], [0.5224171141855436, 0.8352907770771596], [0.48653021767939597, 0.0310529244302874], [0.6016025342052036, 0.7471913223641158], [0.2199651339857288, 0.5029779383831569], [0.6602113936102514, 0.17493030947051602], [0.12010149408889559, 0.354103440214781], [0.8235002161640078, 0.7429083945792392], [0.8695398063490836, 0.581302666576994], [0.7036029393038785, 0.9789058066343835], [0.7924074459786042, 0.742040484065058], [0.21516004232902108, 0.24138191351803173], [0.9022876014950116, 0.3893853367783924], [0.7932714441752287, 0.503284385821432], [0.30199273450314545, 0.7385814340958736], [0.32550650216793875, 0.6625263741358465], [0.7746474696761223, 0.301692102049154], [0.5189246617970452, 0.26373278593520455], [0.669374992779645, 0.07606721003845096], [0.16898872620198235, 0.9494734505180191], [0.33670543233336414, 0.30289896358230595], [0.5973341159022948, 0.9866494877327691], [0.2907014587147444, 0.27660626894094376], [0.5283055964388587, 0.6365645686769305], [0.0539922797396708, 0.8429030301177131], [0.20113200703130685, 0.18086773519014188], [0.4871657812123701, 0.02151809031298202], [0.6826465309336002, 0.9015217383582339], [0.9101005131394911, 0.46492917193414696], [0.9182887282494872, 0.5133456815843405], [0.004483223108674328, 0.6940468655396849], [0.3092215519236191, 0.14707593179088085], [0.38470450600266415, 0.4593840674679235], [0.6968460345384535, 0.9977030172610043], [0.8900710141166605, 0.9066314737338617], [0.5217694723923677, 0.4413821195533766], [0.6443559975534189, 0.09774235717530122], [0.7015007830842889, 0.18989081875165792], [0.49584018641112937, 0.7787984239360354], [0.6946705046933775, 0.921135657474959], [0.33149150145177475, 0.28957685573370884], [0.720394685764414, 0.2949067201680513], [0.19443086991240455, 0.6388858590333267], [0.15204622931997058, 0.6657094474624602], [0.5897017686843846, 0.7669095908633426], [0.7212165764710949, 0.06123930900539165], [0.4891525721680823, 0.9382001044297896], [0.8415188080040631, 0.4585155697610699], [0.667921325715228, 0.3088925316927631], [0.5802992845713226, 0.6863269398968903], [0.8179744747392403, 0.917273924171363], [0.8333684934466885, 0.8497796473984339], [0.9367465030373013, 0.5155703940658138], [0.6480014380994027, 0.5793332517921778], [0.9780492751469344, 0.852239262909331], [0.5548282921127651, 0.40520893036085703], [0.21247263778958847, 0.9107778231230372], [0.9513188189176259, 0.022751937043478332], [0.3925811571616139, 0.35970728601814184], [0.015533514605537202, 0.5944144280127024], [0.8192265796670487, 0.10373319748110033], [0.24329453745344853, 0.03902631420996727], [0.728023932522226, 0.8074098549556412], [0.5607001522129906, 0.4503692817444396], [0.1923292187943152, 0.17026068796621951], [0.3474142593709829, 0.7167627400922336], [0.9612422972084528, 0.7828937256710266], [0.06456515734039492, 0.6268585930710392], [0.8680107494451393, 0.08529069741142636], [0.041208979604134166, 0.9977931232152185], [0.5404775889965657, 0.9757480585869696], [0.8828382208826546, 0.7093925683204307], [0.8882737327585251, 0.8688047575186194], [0.5747450744260619, 0.9114381037407426], [0.7068550525604301, 0.6465651500252421], [0.3829848735053776, 0.10852408685225501], [0.014999509568822011, 0.07500674567991883], [0.48883994566337297, 0.45175423428976913], [0.6129310767266339, 0.3407957598376796], [0.3327525165558004, 0.8319045056409065], [0.14913004096631732, 0.21628078824014974], [0.0059316641763387246, 0.046815356666021546], [0.728198614662816, 0.959550161942625], [0.8377819406234254, 0.6333443524314049], [0.4564151082359379, 0.7868118392449128], [0.25041446873657625, 0.07458159599305136], [0.313354384853179, 0.8496896418948051], [0.2508631404413042, 0.936097628120714], [0.7200437178208616, 0.9710392237776353], [0.6392133822852538, 0.34958429334453167], [0.9795562502253691, 0.5762780649015407], [0.8192794974084177, 0.6479356997757301], [0.4568877953250934, 0.3675523621498846], [0.9387285902315813, 0.8983296237073104], [0.7033870799691931, 0.5519083243253207], [0.061451168581880156, 0.6419206458330037], [0.788705916150769, 0.6891895278144456], [0.47078489790520894, 0.8343662824668103], [0.05433066199746206, 0.7660931208979828], [0.31460424980930946, 0.7375675578114904], [0.2908497067417932, 0.803651618653769], [0.03709589391976731, 0.8489493112629135], [0.927081009160096, 0.3669225135247264], [0.22168254575070878, 0.49418311644475454], [0.489983269875364, 0.6045647577247232], [0.2826956346066457, 0.337770560436608], [0.7887675018341315, 0.6005430629122458], [0.1627131577374914, 0.4468205955280643], [0.21531782624640583, 0.052455295680035485], [0.3302464033074125, 0.17149902647486548], [0.7128704887505154, 0.8915911073581069], [0.30482029113707554, 0.4251705192399128], [0.1129789811411076, 0.9914046266890932], [0.13055624334369553, 0.9726210867454729], [0.6771601151344978, 0.9693996329777543], [0.45196849758614144, 0.2664890097272774], [0.3183673010337763, 0.8670086101298049], [0.5043113259751627, 0.5486468626631867], [0.5370720349960953, 0.9529048278859475], [0.4652474325021573, 0.019527298345218047], [0.211209562248041, 0.36528486935430915], [0.16549512697070112, 0.36414906583488216], [0.6849451393724753, 0.5662015476623058], [0.12266940679909455, 0.8220713704816361], [0.630114884486874, 0.1268214012380049], [0.5533782790418343, 0.6420308821232136], [0.5879183970621621, 0.8363726990110077], [0.25738484555212726, 0.8197254764897368], [0.4742550382376891, 0.9640043055113383], [0.36751684866282053, 0.9454680229785362], [0.9510930670218488, 0.23607261793847212], [0.8840965313470874, 0.8576364800133641], [0.26157945174602537, 0.5649485039765368], [0.1751344849532519, 0.12586227652791515], [0.3825108325377943, 0.40998497920324384], [0.8467199852364198, 0.5389536665229088], [0.734012770012225, 0.9717756159530085], [0.9310630354727725, 0.49605550568761925], [0.8340035674172551, 0.15932065270900242], [0.10159107465784145, 0.6007783604727406], [0.4223312208505785, 0.46520156567220083], [0.5469527943815954, 0.24192066596870587], [0.49385418709868123, 0.4411094594785796], [0.12326496273494592, 0.6482604526943895], [0.7555677880672799, 0.08373707966246013], [0.4495985005567823, 0.926648143142955], [0.9341625159150243, 0.9892124133000888], [0.807604534900948, 0.6901023366904658], [0.8675965802801909, 0.4159217858784141], [0.6051377587651183, 0.47421581137232205], [0.845148054951148, 0.03484045418975723], [0.19593672527172623, 0.3962561828077159], [0.29425172452839266, 0.826533929592442], [0.4925934135076926, 0.2834996471332767], [0.3595477925867059, 0.06837781513081254], [0.6221498410190259, 0.589017339853436], [0.7399192780201789, 0.7746088151262829], [0.49509701754484603, 0.25842023230088307], [0.8424961623445634, 0.39537018943906665], [0.017329770919015552, 0.36247679832548274], [0.31759723738801093, 0.47780970155181346], [0.21611273451971702, 0.281150838452213], [0.8443705836415619, 0.679637039679581], [0.9505378893053245, 0.9641582879222034], [0.2485237130694642, 0.053361194924808286], [0.14025353512085093, 0.550753133924135], [0.48352205768193623, 0.45618658484707697], [0.25332635903723055, 0.006044637518963114], [0.016841595524027753, 0.541065673946474], [0.7728459384612895, 0.6821090445606937], [0.867688996574523, 0.39118324565044515], [0.5431081877517124, 0.051355085082004814], [0.6988735827958775, 0.7902040461308677], [0.6689062806641568, 0.7256705238372978], [0.3212743085384383, 0.7185036536209468], [0.9341464728471021, 0.4979414286522832], [0.5889708805063826, 0.4166579718526996], [0.8191249296764024, 0.7340553070641586], [0.3032660164117491, 0.8688611945090107], [0.7000403273735863, 0.25737202003856485], [0.07789602523327488, 0.3651549718425918], [0.7225217529032942, 0.8360974287194985], [0.4490438734410529, 0.04225210658128764], [0.4632781977188738, 0.6560422752432661], [0.5485966283832346, 0.5893076337070388], [0.825918220827568, 0.9554927124173326], [0.5073250164386394, 0.1415990164434604], [0.34193782677091733, 0.6450492433230014], [0.23591981615586255, 0.16769542644129676], [0.9017132171329653, 0.8600769350106202], [0.9851087191252861, 0.2772478381992225], [0.9597682559472854, 0.07761928476109725], [0.7470063486249479, 0.9160646755238638], [0.9541655352701826, 0.41029950292428397], [0.06695961226705527, 0.24299096228922157], [0.19362235328531052, 0.029430407054745755], [0.7322836074405581, 0.09532613207571927], [0.7950554950580868, 0.13011198546417768], [0.665957283012487, 0.31355579560736924], [0.8277279152206226, 0.4759816232558709], [0.29435536306076693, 0.7557745533060546], [0.40210736293417304, 0.38280621495563927], [0.42721999233269425, 0.5656256706779436], [0.7318214833350195, 0.5217173527159656], [0.45802379786629466, 0.6530831834053669], [0.4617510668617397, 0.16377826426411413], [0.6708841657772355, 0.6035382945643111], [0.7854558247087196, 0.6319693599757524], [0.43232629081073504, 0.07175293716521014], [0.4776589495506617, 0.21555255596941714], [0.7411046561518797, 0.8812730009437443], [0.2942532339793873, 0.6304820214255085], [0.4035710554873885, 0.8857133355485316], [0.6474704611815717, 0.30461322898361853], [0.6466440374056628, 0.04657950798499899], [0.9332956482357618, 0.827402674179611], [0.47405097175891653, 0.7409670443727807], [0.8507888387246604, 0.5309806274470752], [0.39839203245884924, 0.828822954673964], [0.3111327396191915, 0.7005039797935099], [0.7251918240985054, 0.5179787702282571], [0.04444045413456765, 0.9399433634708448], [0.9888448221151501, 0.7372387194474396], [0.21337341203829197, 0.3069186038553886], [0.5845317134380217, 0.7131549410764424], [0.8861287859023872, 0.8031355204356957], [0.5618809440823638, 0.7839951033538756], [0.7028399890634189, 0.09302458676289749], [0.4354570206573103, 0.4800112655756671], [0.9932969859015051, 0.1428704740971508], [0.8342734335053333, 0.2929191562122001], [0.7743446996590921, 0.4632682306319509], [0.4464928531358763, 0.9759854853752703], [0.8150536849817784, 0.9882559105910249], [0.7032641205743544, 0.9946080018353568], [0.8824696872847444, 0.07003426988877515], [0.7216461694865772, 0.04579184603479303], [0.7131015679185988, 0.8955531011583638], [0.36541985724849346, 0.7268734572473521], [0.6625822507738609, 0.34844764775790293], [0.8469797292485615, 0.23977442595115117], [0.8953736676387882, 0.07927800977909316], [0.3073346847940288, 0.8093095104594508], [0.7716385435056297, 0.7371715689783539], [0.5167070985650963, 0.6691141071898495], [0.845049134136006, 0.32036724123388927], [0.5852823754350042, 0.40542278340293025], [0.9046066327511851, 0.6637532200465996], [0.3958884569026533, 0.4359771895539791], [0.21847436359783312, 0.30334010487172725], [0.7604449545356623, 0.781332239746686], [0.05351421321257255, 0.6671023684458579], [0.7316508868355814, 0.9501963655583023], [0.007923064662798796, 0.9688983177574654], [0.5514238692723813, 0.5375094641498619], [0.9394653941633212, 0.4976167396497905], [0.4908666582486312, 0.05632069757870628], [0.4453909839899689, 0.28100018680633665], [0.6917472504490385, 0.48008693326174257], [0.5891496849289116, 0.38858320115384604], [0.23604515838221019, 0.5822061730845904], [0.09426267678844602, 0.936024440999543], [0.5550278740796275, 0.9296827803773038], [0.2529347987150984, 0.7673889614459236], [0.533666266678399, 0.1321007760175772], [0.3231037176023176, 0.9184097947410154], [0.9318106031592326, 0.6679351524685736], [0.270788242683373, 0.08199534637488726], [0.1726805600121506, 0.9118337655430092], [0.15892560811004552, 0.7323322175289636], [0.4834320089612222, 0.38978563498458507], [0.3140213435155128, 0.9152955120408727], [0.7754913210957464, 0.6999130846428345], [0.5689919956034427, 0.34074326990846215], [0.4575959276135808, 0.1668921640139892], [0.8099060345794413, 0.27634330258819384], [0.5230603348350463, 0.9758245376245606], [0.8904850846811353, 0.19000467906671403], [0.11344607410924301, 0.5632744557063224], [0.8695513891582567, 0.8451816530233092], [0.02548340253807302, 0.5339060265497936], [0.3452458955325668, 0.5123858228742441], [0.7540391364183358, 0.7064840175466085], [0.6898520264628256, 0.5223799466804862], [0.29912432222666496, 0.1882736944045179], [0.4941176980091443, 0.7386353281851156], [0.965893393047705, 0.08730637962741072], [0.06509548435363888, 0.019765745352078867], [0.7648949310771449, 0.12132548693246659], [0.8462626674466528, 0.2697834004914784], [0.9056909914466998, 0.5170462853306573], [0.7251789682449244, 0.6145901917560096], [0.6589829695159625, 0.8829657912306215], [0.6975058672442138, 0.25852475933612085], [0.12856862351954057, 0.37885599590041663], [0.5725251125435159, 0.3392584352607535], [0.051874543331182354, 0.642447824823281], [0.2600608435458619, 0.6031128855093902], [0.06957430140446819, 0.9525117535637482], [0.6049315000386498, 0.8631719840482281], [0.9664698948903951, 0.9852677741957667], [0.568602082063985, 0.3107041100782999], [0.4857891948062706, 0.3676027956125191], [0.28777041066849296, 0.5818880514876642], [0.34506222610047066, 0.8249914919350537], [0.6058927018366, 0.6548672666956754], [0.353318410245576, 0.3930769559817825], [0.3353444174585075, 0.09119435365711359], [0.9071095628482752, 0.09125320763363864], [0.3311387437547202, 0.6419402358943722], [0.36635514813741077, 0.027559216358530758], [0.8182287412706843, 0.029599955176914716], [0.405756380758443, 0.6510340306805102], [0.18052349733315853, 0.2590498978319994], [0.5163832820181739, 0.2543816332182012], [0.4217438344319864, 0.4103725884116377], [0.44404792987004393, 0.5785333587262288], [0.24711590770677716, 0.7504962885479232], [0.980092066064214, 0.8300409111700415], [0.6629245450335571, 0.6358006264830807], [0.4171342526063049, 0.426784674440685], [0.05923005480598276, 0.5081565554915104], [0.22114551093422763, 0.7953810368076757], [0.4026679576554645, 0.1259417578352846], [0.40749057875342165, 0.49119275751054614], [0.8267039780069061, 0.9055842020784476], [0.9580985470380167, 0.8774430867686959], [0.05483818877598867, 0.008405061575064932], [0.7583003963310602, 0.04656254886341182], [0.7160808377287844, 0.36283430556215235], [0.5021259791872742, 0.5153650574677641], [0.5852774539598923, 0.17878008847848592], [0.5990035535621214, 0.45876860540770326], [0.339478923560922, 0.7442959609206503], [0.039136577266514094, 0.019981009986689946], [0.1907572064444798, 0.8046981428049418], [0.4517188902959235, 0.7126020006627303], [0.5227437680591723, 0.7733373485768035], [0.4313379679821393, 0.6151041992468784], [0.9011923093126575, 0.6158774840371006], [0.2857703931519159, 0.8029738518906747], [0.17932519953524595, 0.8553905339359967], [0.010887857916267452, 0.986009691174541], [0.18996843541810315, 0.8225070910026103], [0.8412594170902578, 0.2697287257947959], [0.7139026929274473, 0.690899859759116], [0.49763232783503053, 0.4134599007184303], [0.8062481088932355, 0.3570489465504506], [0.8976414660794868, 0.6159578732212133], [0.4383184840061256, 0.5212941832117174], [0.1146562815196126, 0.6288856862561741], [0.2807528281894468, 0.35258164738338227], [0.39377967079616083, 0.5687312024815163], [0.16681785545915828, 0.11778259498848542], [0.5373839009514116, 0.11663358558515124], [0.8806468778123201, 0.3575712057576004], [0.5107332381128548, 0.6656337686820696], [0.5129094160079773, 0.09325566355034354], [0.7289543099417698, 0.14073390668515495], [0.49381735378598857, 0.14950180839829275], [0.03218449352886488, 0.1385489621139071], [0.2346769895896943, 0.07694052008701768], [0.31070236751157854, 0.9740521048115366], [0.9033068708223474, 0.5495031309979508], [0.7592193218717362, 0.07655496839592824], [0.35064383084049033, 0.36402212238957443], [0.21800136180125262, 0.09795375893876523], [0.3620744854461292, 0.9424894549549704], [0.8998909653252738, 0.4544650500218753], [0.055839745077763014, 0.7982111952539537], [0.9106798968711747, 0.9359639833593177], [0.4768949917253379, 0.4680682373704561], [0.7320416433011199, 0.08840260725510307], [0.8905788513930578, 0.19746932327605438], [0.8104764131688426, 0.1921933710843159], [0.6084189103507576, 0.17357086037534097], [0.02779111507654297, 0.466924383133708], [0.9817571103389879, 0.22181759162910952], [0.9768035681820828, 0.24368643283139257], [0.27390258870164286, 0.06639826504438728], [0.43734495809856655, 0.21814477626424778], [0.3268993509614804, 0.28213388340628753], [0.7411551515605325, 0.6881310191680831], [0.14190451109639224, 0.5739554380130296], [0.10328706404370369, 0.27791546368073394], [0.40269427310014727, 0.8483548195731238], [0.1827682345897692, 0.7757984471360589], [0.22815180841057459, 0.13592619535749617], [0.2939003752384458, 0.12839663699281112], [0.609821332581366, 0.504567432388826], [0.7857993365344473, 0.6943207979837549], [0.7371817769309664, 0.25683609013107433], [0.32668268576885473, 0.9119128555517786], [0.3445385997210171, 0.6331584514044211], [0.5783633534443119, 0.11329993742378852], [0.22219717893471458, 0.7920884927829199], [0.00480542697825459, 0.37786218910813707], [0.6366087906532041, 0.18700509651131647], [0.8977710317458404, 0.3395973264040054], [0.9142709062311918, 0.7041004281805778], [0.5915504415235081, 0.3435942276349989], [0.7983000815881048, 0.5156353930532599], [0.17971163399679635, 0.05572274741842087], [0.9526822715224551, 0.2944275094627863], [0.2886263117936132, 0.868124054936717], [0.2669009933328056, 0.3753189734759992], [0.15433178126117209, 0.8461095896556822], [0.31689074737461553, 0.27796372875298125], [0.46600361033434345, 0.6407016098198819], [0.08544112848820096, 0.22038036297276897], [0.31965084114141884, 0.5091369667296923], [0.7549608243063768, 0.9841840496109842], [0.32892047740347874, 0.7947236928425692], [0.5924402062783541, 0.16084614630638672], [0.04732684085720762, 0.6080887770734882], [0.6285683597328413, 0.25241153577769715], [0.4987913091159927, 0.6357391353181361], [0.19039433847532905, 0.5698697977230398], [0.9442250765073619, 0.8044239834709482], [0.34012126245331786, 0.9597991889165919], [0.5748934970119047, 0.05976324165926439], [0.19884586988187003, 0.38807047826018315], [0.46058695286118045, 0.9670145505082832], [0.4057763356887253, 0.24666958746453715], [0.5968476741270491, 0.45523509358000125], [0.3012156622489245, 0.7091575307423325], [0.3856199649703298, 0.6536473678135155], [0.3427001455081583, 0.6154222913627817], [0.5633024248118338, 0.3452087928253572], [0.5267537679356786, 0.6801520975889788], [0.18682505996168786, 0.32913426119636957], [0.7632509220934784, 0.26220870408533936], [0.05293484840925777, 0.24676369921096253], [0.705081320700624, 0.9425398586389555], [0.5159837514557988, 0.8039026828486677], [0.7378902340838637, 0.6433148114838564], [0.5736863056672825, 0.42935391852781934], [0.8718812922059208, 0.6569916450982276], [0.21847840781941696, 0.5036543751310193], [0.9277979394924146, 0.11341020906007193], [0.4672473124385479, 0.04560481352042456], [0.7751807665253396, 0.1895164693703253], [0.44632132889032095, 0.21801191760580696], [0.803346084331035, 0.017110049695186924], [0.7798835739628941, 0.4531308742292399], [0.2440293237513671, 0.5459945569839172], [0.7008562652719085, 0.21451795491051906], [0.4515338906171964, 0.15106002867869894], [0.2116119463688052, 0.11795362295546763], [0.46546588556040724, 0.23326613770141313], [0.17988836898805693, 0.44034651804878044], [0.9598007639426374, 0.5932833106415221], [0.4403012546039021, 0.3925055732970133], [0.22832058364347652, 0.2751267055570439], [0.5448847426732816, 0.0456099769763878], [0.4932243063989249, 0.07286042316110297], [0.9825824921022962, 0.8439419812046618], [0.06773505650105605, 0.44004688597584696], [0.9287656704764312, 0.9081848699142964], [0.7284464721512227, 0.5362258077976364], [0.656052463091808, 0.43273739571324177], [0.9901002520834791, 0.46907204366478916], [0.5076362536520987, 0.09005818560625867], [0.7470679829834692, 0.6260176218214947], [0.24871644510379176, 0.572952256263904], [0.0862277968495877, 0.08363718757710015], [0.45488215136714716, 0.611114082825466], [0.874139134218094, 0.4713063470668082], [0.9034446816993019, 0.3660818649825198], [0.6578494836857399, 0.8333253975355275], [0.2691684776447295, 0.12047348721111195], [0.958293317751772, 0.16057705063378935], [0.3746797547466386, 0.8818688222516043], [0.9934518804529651, 0.82489707245108], [0.15382465861682715, 0.6758529881769829], [0.2047403924831831, 0.04334888702852735], [0.6305159999192047, 0.19590534229735157], [0.6467350674895639, 0.8031985501982299], [0.14816996283356232, 0.4520603485798632], [0.08696367284420026, 0.3188866766432952], [0.8961227100271107, 0.21684886833324912], [0.19822538688143665, 0.8575153698122984], [0.8083849720591684, 0.5547517831548209], [0.4965440338053677, 0.3951793778569874], [0.9561113516696413, 0.3071789942216927], [0.1275968121758515, 0.6311314895580012], [0.8512467755150639, 0.169854948831909], [0.3387389743606736, 0.8461501595844207], [0.2535366328477283, 0.7282575659570781], [0.5733926934707964, 0.16653816085222006], [0.49160226837286036, 0.7098099902728995], [0.41082874710726247, 0.8880802494656119], [0.5046648635048866, 0.709481306427104], [0.08965679863930687, 0.4554361517508454], [0.7920289489943891, 0.5159686843174972], [0.4428632885997855, 0.05838421749427969], [0.21638284553813636, 0.18982812747965672], [0.2907273006111216, 0.8435057551817448], [0.15406939228325556, 0.4457120424762375], [0.3088467683950056, 0.5172082890022534], [0.11505186516547572, 0.22837469043150627], [0.8244391688526715, 0.394399287953759], [0.5596734200529442, 0.9656312299216473], [0.3911789077063962, 0.016807015806991954], [0.24593936760230406, 0.29755865769182643], [0.443116923493468, 0.680626721122593], [0.1852237014402457, 0.4888914592577207], [0.10893129750331254, 0.6991451563739715], [0.27960571430339853, 0.018498216339539852], [0.4876125295059891, 0.7759868027705336], [0.17199046080556646, 0.1632016259289567], [0.8037681580589833, 0.2782877234956226], [0.12719427135732575, 0.3814195114767599], [0.6829653416476962, 0.30376696862992036], [0.5160344938327254, 0.7315534302509202], [0.7834510174083664, 0.9580565743443417], [0.9789755824316013, 0.7441964792342752], [0.9476535609100476, 0.3178997898645113], [0.10289072333677818, 0.895379171147347], [0.5231280726413281, 0.8840794751896462], [0.6618943264910214, 0.6702699265721755], [0.16761239188459265, 0.4077773953137519], [0.25093655399222503, 0.3525611711411776], [0.4124992524143841, 0.09131129859655718], [0.46998569418620006, 0.4470716664284309], [0.7696334108639638, 0.057498452165473335], [0.3403854743698419, 0.4976819992879039], [0.41554272259680325, 0.1187446076771781], [0.15961262511533136, 0.8347024120512333], [0.9253104527736277, 0.8645017696804316], [0.3132646565254519, 0.6221709555503416], [0.5475678557225816, 0.051709606681849984], [0.5337942932426608, 0.7458019079838474], [0.05901399783680383, 0.8846400055555783], [0.7765497697239773, 0.13814462761885893], [0.530184036486881, 0.8419269918599788], [0.4406874799082101, 0.9092192484139404], [0.33377350993998145, 0.7658885092592603], [0.07913188863070819, 0.042093283943230086], [0.706066727382624, 0.6684426653988934], [0.7464773125879112, 0.4105547443458938], [0.6274492737747619, 0.296562753154758], [0.45657180410669973, 0.7167018109214048], [0.7365458804613549, 0.6114186091164016], [0.003752532437481415, 0.10245704248475351], [0.23409434755144698, 0.20324902330586658], [0.6703476585369929, 0.07798766413982072], [0.4890632712102847, 0.8164513410652247], [0.8274781489478448, 0.6387202233229805], [0.3276918851739876, 0.012081141995511135], [0.3680483338876903, 0.7892794356411784], [0.47051789282420264, 0.8204449867849274], [0.21564472676902724, 0.5326803150185354], [0.7944973097942415, 0.04953772918719679], [0.5446524935957938, 0.5077544119039796], [0.8327792121510519, 0.29770221362147165], [0.858961103460108, 0.8003169242207551], [0.21100113866158132, 0.2470444975613172], [0.3747035117822768, 0.3784049500386132], [0.8897132509430149, 0.10321509482053959], [0.30339422206514566, 0.909929954341144], [0.39423738272363573, 0.38249383477900434], [0.5428210092161837, 0.9380487225568221], [0.8367766134344251, 0.6615183787331771], [0.9301102169098763, 0.2074279309711129], [0.7197305707535199, 0.20055883266478003], [0.08005891554733346, 0.6323034521418818], [0.3816042093492129, 0.7847307291651917], [0.07999594711739177, 0.7263695746342851], [0.38199036665185304, 0.3800757853979019], [0.8867603409813121, 0.5197806098368264], [0.18182640893666013, 0.717000727896938], [0.6649837292905005, 0.5961570930464914], [0.27453963132975145, 0.2873302848934184], [0.7775717203574196, 0.449268978191404], [0.888256977659519, 0.8284909287613411], [0.1642814606683397, 0.20272496000050355], [0.030561556456902728, 0.0787494968592154], [0.2508415323501648, 0.5571352996723701], [0.5748398614449547, 0.6747730507249792], [0.5198227405700325, 0.32934152639253556], [0.9521819075344036, 0.9756723872202603], [0.47423904380336945, 0.25819087217944015], [0.18344667493791722, 0.15397303852151378], [0.13082043510530972, 0.8855773852045687], [0.615532943640966, 0.6845113564007457], [0.088715781606586, 0.0011997957065273956], [0.9706417258605055, 0.6938589141908403], [0.6801156919610515, 0.28024112621206754], [0.9175606601034936, 0.4294954446193968], [0.04137373587662374, 0.7207682929168991], [0.33421641393707735, 0.255388799014009], [0.2863002548386382, 0.6200128424822803], [0.9192853170560306, 0.8093706404807574], [0.7251484245277716, 0.5918785950215856], [0.9849174265463734, 0.5670173937423898], [0.7076881739990588, 0.5305809089561556], [0.7374163574610024, 0.8279394968541098], [0.18523321177853813, 0.2710982759328475], [0.9346660540225881, 0.6676457629781328], [0.4522032416767041, 0.2787927061264307], [0.43636726844154416, 0.1922469033462405], [0.5784396400262205, 0.8029455211130408], [0.26198624593501685, 0.9703147023643283], [0.637338606239736, 0.4842743187005265], [0.3018943220442334, 0.23610246184519745], [0.9360803005924921, 0.4882992965425681], [0.07127389161202902, 0.7433516842960967], [0.29183398011233364, 0.07313418829363783], [0.660409560485228, 0.819543336228138], [0.8582776978817098, 0.6642890375503409], [0.7820561257808433, 0.3685591159163937], [0.9315436691603812, 0.3361431192604658], [0.025466333119261053, 0.1960966475034701], [0.45605554644995294, 0.30693544390104166], [0.9002732333012774, 0.7576468414309384], [0.5997847172463848, 0.17123335639068615], [0.15278585655672416, 0.7519924358584885], [0.034460798792316005, 0.8417164641025302], [0.5260610743071781, 0.5132138237759042], [0.508092257365614, 0.19623355081367744], [0.7809697562021912, 0.7157453821899241], [0.8324393684960922, 0.6548925247846661], [0.6949978048333209, 0.38533303021783094], [0.617640349072253, 0.5847089500195811], [0.8051941353325435, 0.006522528459283694], [0.43488521741390096, 0.7161610062443297], [0.6910787084936104, 0.7976695750481448], [0.28369952862739545, 0.5813233556835403], [0.2943060606990002, 0.5445583309168943], [0.28112301237184323, 0.6940023116897265], [0.8503148722855536, 0.8958775727477076], [0.5034358311702648, 0.6421442850476418], [0.28124651946710433, 0.4792431843525018], [0.9653478207284149, 0.013365457218356802], [0.9237037859169465, 0.8940523300073135], [0.22683886546369314, 0.2554457192540479], [0.5451625116184677, 0.07111151887703693], [0.6048352605758024, 0.18253958277931936], [0.6904368696325307, 0.37809973926254326], [0.38079696018745124, 0.8854518937640556], [0.5891393530420667, 0.509895126102069], [0.9711601356646561, 0.549401150422497], [0.31606983535784494, 0.030530760167153503], [0.8050871441877184, 0.4612236776864137], [0.5652220427772375, 0.4795100897430965], [0.6646582029513074, 0.3359085555784185], [0.315762194021859, 0.13608406151495755], [0.7770846571962319, 0.44952991438777545], [0.19451397311990715, 0.522014701844948], [0.3067054589663528, 0.2883879029034583], [0.8930055364681047, 0.005912558436412807], [0.6807097745064473, 0.06637025811775588], [0.3597353780051744, 0.15052011173575952], [0.840659602205793, 0.9879378894914105], [0.639546535486228, 0.6880818372398726], [0.44717480293000433, 0.3394236030199561], [0.7318421720607414, 0.06411063601123113], [0.16761667052970208, 0.7925333247424754], [0.1544304174604919, 0.09632710846502257], [0.9311771071217196, 0.43625512202669603], [0.4376484910175866, 0.9980557050484811], [0.9137855897042781, 0.42408451776817246], [0.617419775314616, 0.9126393278427006], [0.030743886701774747, 0.054258663991154976], [0.09104603871694839, 0.9412378518791659], [0.4910687019632326, 0.31798940444278767], [0.9036187009427493, 0.5761375654666018], [0.11603439496251755, 0.1812538644518128], [0.7656767817464846, 0.9709585869770854], [0.484275524187024, 0.282388522790019], [0.4667347487909058, 0.5043027425968304], [0.09792828533535303, 0.15119402055266273], [0.88509992948181, 0.6076446721190505], [0.6807898706045392, 0.7772541001519261], [0.30706455087474416, 0.0807642609651269], [0.3922324442738946, 0.7394687201275083], [0.27255023657539523, 0.07022708769479802], [0.24904195487973257, 0.6236896622414114], [0.2200460388409219, 0.04685959447007526], [0.8035052340443202, 0.9107721845971531], [0.9108718013300798, 0.10235392514920272], [0.46032198241890643, 0.49373974196462855], [0.510587199705509, 0.1188525746563146], [0.39289938607749075, 0.20123365786570435], [0.6582870543831097, 0.4684508816125629], [0.39104916385029853, 0.8784570374375978], [0.13295283223243926, 0.8980969256533254], [0.29998167386059416, 0.9407316433594676], [0.24257814678384237, 0.2885078270867206], [0.6694558407615667, 0.6231014556423924], [0.7052778249434237, 0.9950746242518809], [0.01776920980905161, 0.6470467350201706], [0.23628567904519004, 0.5928585729763413], [0.042517100424675824, 0.030558475568443266], [0.5238015952412013, 0.036631057329601036], [0.6760045749149899, 0.4540620633402954], [0.4827458344317054, 0.9930977189938803], [0.5925880618200021, 0.17441525161382554], [0.09875500355021605, 0.5396562888615091], [0.15269610938307987, 0.07287298663829], [0.5303721510983589, 0.6751605521780154], [0.8670280433943888, 0.6800649868516675], [0.9115417801348622, 0.9954113182421335], [0.3823924191088268, 0.8902303637870084], [0.46136278029532796, 0.6419170217629848], [0.30497775968688345, 0.33630421207159433], [0.5613775966102644, 0.07058342448629251], [0.5571428520165178, 0.2599107577767933], [0.3918661965666125, 0.5421142998667945], [0.7481360801800561, 0.8765672740413827], [0.41894333815320883, 0.3435942817585046], [0.08069017038542015, 0.5849001120714105], [0.555177994192716, 0.8595330380372167], [0.05290716912354021, 0.1957306115791363], [0.032228564364922496, 0.23852001251398103], [0.1784001221758581, 0.39448813957311646], [0.5109850768464476, 0.24414301482782352], [0.25409326764832196, 0.5992416169712766], [0.4885303091813791, 0.422162980841023], [0.2934250823480339, 0.4062280577673587], [0.22846716401418676, 0.12430325763803951], [0.17846082862003043, 0.8902447906887229], [0.0145034290822188, 0.4934462697648181], [0.06480301300475089, 0.2091279500500226], [0.5952356642091815, 0.9054389024426263], [0.5650590269332751, 0.6996420309794849], [0.26356832266872576, 0.1744298312972169], [0.26940831255047515, 0.39746265693972005], [0.13168641293876737, 0.22345547184918135], [0.04867556325517208, 0.7108693433386991], [0.6236926694359751, 0.8981291621038737], [0.09731252020289238, 0.06682569783640557], [0.84213256936331, 0.12713941912754967], [0.7539583806001574, 0.7487162125827761], [0.8659802983822943, 0.9343090920673596], [0.4209240276275198, 0.18388046349240716], [0.2285423076167049, 0.23798348836182492], [0.2291240040780672, 0.8334425680670998], [0.833245496866016, 0.5989066472378387], [0.1065369948849022, 0.9551931856472979], [0.06882404361390004, 0.9338954805227117], [0.083292923517723, 0.7623987839376236], [0.04840237025791272, 0.04464542331810095], [0.06441864269554154, 0.5521991454017701], [0.7735133610264778, 0.45332627516349533], [0.9866543440684717, 0.09763859048840784], [0.7971779998333307, 0.3180955892986451], [0.7543425360372957, 0.7357367170702995], [0.6871407938013924, 0.8605291970162873], [0.030997720471198864, 0.04620690333328559], [0.8443403737568403, 0.5882841185966027], [0.10052991516807841, 0.26389349743420376], [0.293989786627762, 0.8021623300144924], [0.5671821860733743, 0.07252742266078871], [0.41397279503966145, 0.08516694778944389], [0.7027063616132475, 0.44315794294154476], [0.012635458253867582, 0.78925646472824], [0.31364377063154913, 0.5017054483349561], [0.5084785027887215, 0.31744717597760475], [0.6488098870602247, 0.7614683315951442], [0.9477747566742392, 0.42987303614921535], [0.004396253243121984, 0.44653782993955526], [0.1324864256373659, 0.516161821972765], [0.34594081478421534, 0.166365283750316], [0.5846740699852447, 0.29271619886716027], [0.17051215821956411, 0.9191480695092926], [0.23437297571755966, 0.7021916478120412], [0.2172660093257589, 0.06211336876710405], [0.16660590074479797, 0.08316033122839972], [0.9540433204739733, 0.2901637066117907], [0.49991390587309026, 0.9697085945339248], [0.9105797384165527, 0.6065668486319514], [0.3040992617384378, 0.12919066088786402], [0.5412527241154618, 0.7246430465105528], [0.5284145519329569, 0.9915453251173754], [0.23902826458131743, 0.7698736168233077], [0.37690443482854985, 0.6461131489933655], [0.5735545629479323, 0.37949973317938923], [0.19303060045397225, 0.734974135173016], [0.9867371283475571, 0.007821990105908783], [0.9239487581258534, 0.7632158517156904], [0.3206094182672794, 0.06932826117692203], [0.27809112988711326, 0.10056148399944753], [0.42017014380124684, 0.3611499728007014], [0.13365997937829166, 0.02390823382117868], [0.07961363515134279, 0.6062090367765888], [0.2717986121970656, 0.6451514976781421], [0.031636497980005784, 0.9918817023704489], [0.9867606909554356, 0.3096214178309651], [0.47746140951206684, 0.4449251026085854], [0.4662826818941367, 0.8733410872648567], [0.6257092397129006, 0.5057246887318801], [0.034488426256461424, 0.4478034481216092], [0.6635899135267703, 0.3292839569995868], [0.30540960575522913, 0.22346661259377298], [0.0017648890481152257, 0.0442261020414948], [0.9989904657131112, 0.11791683046520895], [0.892560191258572, 0.29105765410840667], [0.9440054157348471, 0.3107817357935888], [0.32014678229263305, 0.9673535450195107], [0.35704931574006493, 0.5138597677277461], [0.8465285444819202, 0.591269004868916], [0.9126641648558165, 0.4277378087599094], [0.1605510532981943, 0.7815962773790321], [0.42590778769132287, 0.9401623608716161], [0.028965085485802677, 0.005286177389823732], [0.7715534258130211, 0.5181068433925625], [0.14027865617745638, 0.4713078220958091], [0.7812788882061006, 0.2759914191703169], [0.17316286641027867, 0.03990975541179442], [0.013251831739738762, 0.5862428423860324], [0.3271943097371802, 0.602754835654694], [0.8897508247403837, 0.7786217008257555], [0.4732842083818798, 0.38222521272209486], [0.9734765420923063, 0.7583006169301515], [0.00752983824786746, 0.48356871681506974], [0.11096965311962292, 0.6888302730722389], [0.7694060568274363, 0.5907565718283829], [0.3164348131505694, 0.2492923384312158], [0.7374250139319083, 0.034775274194532524], [0.9583127966314554, 0.06098147296752565], [0.7167715172139947, 0.194800542489024], [0.3825917467178883, 0.9184210448188795], [0.1042398797272186, 0.7591254189803454], [0.6006825656927816, 0.8404432244420393], [0.7381220029506087, 0.026128584189130555], [0.7608456822316412, 0.270039054227705], [0.9380863533974515, 0.3068945515747139], [0.6247022470329336, 0.45397510244024186], [0.6485932605175563, 0.1630279941472229], [0.7308737531169106, 0.4393081282463399], [0.9124886192818683, 0.5281428728167523], [0.415115787950317, 0.3200299947236729], [0.7384662826913262, 0.9264267330351803], [0.24257403035655056, 0.6805122369248174], [0.12359869607542295, 0.41407188918813986], [0.5812801481070871, 0.232632930859356], [0.7314769596055928, 0.8874148900489724], [0.32150853728444784, 0.556178257556614], [0.5639261494930392, 0.7270242530772438], [0.13277883339828178, 0.37817715157880194], [0.8135425970140148, 0.08964421294775082], [0.16345282208828682, 0.3056172152751844], [0.9648498346956744, 0.49427511458569395], [0.4433191619592629, 0.8431506057559442], [0.9802453128544006, 0.4002209118522114], [0.021569365436538646, 0.14044122275240734], [0.4431040518273607, 0.713122759217641], [0.8982771403544237, 0.186717994480196], [0.42480373886826295, 0.30111837081649084], [0.5670627271475779, 0.77221575513834], [0.685340340626262, 0.1272129543165983], [0.7697305373801665, 0.47537872330738484], [0.8063199984869294, 0.1934041346254458], [0.09553966446586537, 0.8082257467030777], [0.511885074853553, 0.031534686034028425], [0.35583856873192077, 0.8824487746640202], [0.07542729955548655, 0.4190905130372876], [0.5961415152756194, 0.9129081285087364], [0.09440317909655904, 0.006561777969634419], [0.7012744527134553, 0.783745452333176], [0.01669109321970852, 0.4354466083913814], [0.6522265497787821, 0.06394852792347117], [0.12864376284432633, 0.13910403515135583], [0.19522100057958203, 0.28844940775735384], [0.4654047446526922, 0.5203369953231421], [0.05414778703906664, 0.6410467356743197], [0.6085695385894633, 0.8768532799366662], [0.9092020719185788, 0.5472716206301028], [0.814544498806146, 0.016300479517365796], [0.5563335800047314, 0.23623582432104184], [0.6671504518548081, 0.7690054472575327], [0.07359938434474067, 0.6331250301690207], [0.7093953847887704, 0.9324188014176863], [0.7759528392459064, 0.05769642855675228], [0.787954262337595, 0.4230421849578673], [0.28582979230131145, 0.5698220602574684], [0.5426700777106206, 0.0800428385701909], [0.5494318689515224, 0.6716308002022743], [0.5614975085377791, 0.7846935388157169], [0.06626541173934741, 0.4429947992682617], [0.747094532522196, 0.6305086616880626], [0.3061772048191038, 0.9296521070750785], [0.04114935229757877, 0.050244857067588966], [0.10331594258260968, 0.36021977590349985], [0.26188351630425355, 0.43711965045888246], [0.974722415916213, 0.30505571587768243], [0.31349931312405566, 0.04824728933277134], [0.5531624671607185, 0.3597940971794247], [0.0009552099955448812, 0.33476093207094537], [0.5538908624219183, 0.3742533408334472], [0.7559493099442067, 0.2675614966576326], [0.8296342275055862, 0.19921632241072262], [0.574890300757257, 0.519217659981115], [0.7587656069129837, 0.46908525430175174], [0.6130380693223496, 0.23499476193476743], [0.3920054858127483, 0.48875610311219464], [0.4324719492946332, 0.1407084296136747], [0.23712006042145595, 0.5112025805659973], [0.9286365682536628, 0.6234116918459939], [0.4269802220660259, 0.4184077634120251], [0.8395333134729631, 0.13188550582997216], [0.38573113506568313, 0.3755386261473609], [0.3204933556605417, 0.3189672124938999], [0.8611284992397898, 0.7243031040534544], [0.48501668832084377, 0.7872077833724526], [0.5143214921029271, 0.1290310882287946], [0.5190552642787203, 0.05650396360682852], [0.28540671173427645, 0.9014900226234953], [0.9645185624847501, 0.5582290442037778], [0.7662928349561023, 0.7027575787069755], [0.9088140898707516, 0.03131909756012541], [0.2608942762487986, 0.523253903392763], [0.4218088722076132, 0.03619748318152727], [0.5691410110402947, 0.6011848125217808], [0.802694546734019, 0.6987069534413954], [0.3475324684383524, 0.1264554757623958], [0.9303350219929839, 0.5493467035516709], [0.09059690117970232, 0.8996328652277628], [0.08430658477454611, 0.8914967674991731], [0.1436714252090261, 0.31804015751913584], [0.21908569420929924, 0.24708120186151605], [0.07924082367054641, 0.22723886556101647], [0.4984703561689179, 0.7573835796746256], [0.9639790833544019, 0.5952603233379388], [0.7622029073566721, 0.9269819454706314], [0.23308127776394405, 0.15935818690011672], [0.9847946206608937, 0.18364437898040709], [0.3139632445823365, 0.6354068147961945], [0.3827790380715592, 0.2329245747996389], [0.9451991991648646, 0.5339170282095332], [0.27346016702799913, 0.4153057066693524], [0.14151851291175888, 0.48201615759502825], [0.4921548373251141, 0.8751359314857763], [0.3953509557327586, 0.22177908243441358], [0.5702294548093225, 0.784244022949171], [0.3484116609242809, 0.035599802540906], [0.3789556916730147, 0.5801489715941427], [0.3539335556503789, 0.06661670376481188], [0.9992523567797873, 0.3509033712859856], [0.20901999906976487, 0.20754089746787652], [0.0008030775936399559, 0.4722116127659134], [0.31258681162670177, 0.1364569543757107], [0.38503809576546133, 0.8525225614390183], [0.13303941871135738, 0.8697485149114329], [0.00973555761322853, 0.5241169086139883], [0.4958164235895284, 0.060045066640283085], [0.6257877960802587, 0.35776494546742177], [0.3181114029878369, 0.338366858510339], [0.10192840013742988, 0.9972729537092675], [0.6761347660466809, 0.4329121791246531], [0.05489817295745203, 0.48423009662045313], [0.24761696968120284, 0.5142835445101201], [0.1886373663963956, 0.6429606423923097], [0.36482405410636753, 0.43582447017207027], [0.4189386572974043, 0.8927330682297164], [0.6424728160461799, 0.5703081876864958], [0.3802464873934396, 0.014895359353998883], [0.039376091332328556, 0.6066908696501437], [0.3320870701617922, 0.29687745129873133], [0.23880038111128143, 0.09200412004805802], [0.05804721129521995, 0.8010630462463247], [0.996168735340767, 0.08139873582597146], [0.2230791203233693, 0.6471277244551391], [0.9825202690171299, 0.8451649328280761], [0.7603638365612987, 0.07694612087759434], [0.30101232493116215, 0.1650021472407931], [0.04523028997052181, 0.31061702526189106], [0.5853592692565066, 0.8623091219490021], [0.11083467347849907, 0.5834795312051105], [0.05847460807907712, 0.26152974854492883], [0.13873459004738475, 0.517380522973918], [0.04308422431913306, 0.9591180839590775], [0.5450215962041328, 0.39603146180288884], [0.3603035522273542, 0.6233910081213274], [0.6279716099960366, 0.031839362440031715], [0.4409380977035827, 0.6706438055230087], [0.3841885259673985, 0.18254731878141972], [0.8794606521216147, 0.2131243475384188], [0.8674914319535654, 0.7313818620737775], [0.0026656778862096386, 0.507830758675504], [0.8677483452483308, 0.31837329241975865], [0.37859198242744396, 0.5294424425347193], [0.24577164049738787, 0.5811889070955758], [0.06757505577523804, 0.6135987273498632], [0.04158696505425774, 0.35160206297126106], [0.7737925751451529, 0.31461374088839067], [0.3397899079669785, 0.04433970652490182], [0.248137684080024, 0.4408557127877766], [0.6493086579541156, 0.005547975254306836], [0.3230034268812675, 0.01121479372832257], [0.03560109011307111, 0.8156621482875531], [0.21034448600912548, 0.028607218470676377], [0.5487672666863949, 0.3846090758094235], [0.949888658390583, 0.014247113405312817], [0.9746409777742557, 0.6480819172827827], [0.5522949618275957, 0.18554229983421444], [0.9082954039045811, 0.7532199409184578], [0.6406065519840786, 0.6140405274745805], [0.3752278892828842, 0.5205656252988797], [0.46543270465630515, 0.7936872492388112], [0.046188583542977835, 0.8537383401045271], [0.6951574894317775, 0.0358259269706066], [0.8945950470096955, 0.5206124984291376], [0.5622183286298527, 0.4817968971361757], [0.16114169615898188, 0.050540428089243083], [0.7368395621993887, 0.9328257170337179], [0.8935313402123788, 0.4673696524643285], [0.6061007093994656, 0.7710750713560951], [0.8424221488453969, 0.9351616207867882], [0.9048931575889856, 0.5159723955074165], [0.8094887928727438, 0.888295388043571], [0.40442769404210244, 0.28166049214285904], [0.5547109512148829, 0.9750339634352179], [0.7277598177880649, 0.6724422948835593], [0.9698761189815603, 0.5024769471177756], [0.4347332786942364, 0.6358828645388387], [0.994897940442684, 0.48043206264911253], [0.0710519070205472, 0.7292035488450527], [0.8610349411099641, 0.27583910613683293], [0.13051530939012446, 0.7316472777528267], [0.9323244993627745, 0.24384412306137326], [0.333234289193416, 0.8218495909968294], [0.8117573727065757, 0.3054602441625408], [0.10928802357091472, 0.24324710640562708], [0.6145738473244424, 0.1948796231386909], [0.5516978374235161, 0.5003911302396468], [0.9630254941582967, 0.8929494128165777], [0.37054632580934477, 0.9963483410788525], [0.820630191568018, 0.4883418266936447], [0.5016078977052952, 0.7330897855646635], [0.37149316278929656, 0.40096203444642464], [0.5409166386773216, 0.9285626615209122], [0.13542692247863575, 0.04388292375756886], [0.6641602256205301, 0.1310378473426429], [0.8728345566401594, 0.5625007118804936], [0.7851067244296607, 0.044726889828664795], [0.028647411424285174, 0.5757343653822418], [0.876700631293538, 0.09588176258947245], [0.6684030889502591, 0.8180544183681102], [0.2845030495362819, 0.49704673467326843], [0.4409550961257591, 0.3018290085111651], [0.4176035134742434, 0.7901606957312419], [0.4462725359945091, 0.08054230895142478], [0.6029290032688868, 0.3941950221271575], [0.10841448510428198, 0.781803305661067], [0.11014219267905212, 0.678379623535924], [0.7310730970526105, 0.8549381352420395], [0.9934223812350089, 0.5168028096970853], [0.37117014654380065, 0.9872032227747488], [0.5414435141763414, 0.13596240443481067], [0.6385012792882075, 0.818100349665143], [0.14593480253215974, 0.9816777928936097], [0.35345383386061124, 0.2546005563548627], [0.0010050127269918274, 0.5615457336315117], [0.45506608544002825, 0.6093390399841612], [0.7404016782969542, 0.31594180533096305], [0.8307539003432358, 0.26180485959907784], [0.09271325798610952, 0.40216421644399336], [0.33298083404602974, 0.4506956522712008], [0.4311479283421169, 0.9594488191161763], [0.8775038059117598, 0.12339909840262564], [0.30912429420229215, 0.8199660714428194], [0.5248398085914454, 0.18407753174566177], [0.018157337161272213, 0.09636571046047959], [0.9799559750893222, 0.4148181265862273], [0.12521807919909134, 0.8491725667257765], [0.8131134522610606, 0.06737903506280396], [0.6295696622717646, 0.7854474186609228], [0.6843697502427144, 0.7291133126093091], [0.30685608814905174, 0.9391964725239238], [0.4962706643479451, 0.4656644553419357], [0.04352428376265027, 0.7638186964193903], [0.8330281686064015, 0.34342385548754617], [0.9902288399115491, 0.39602793523352275], [0.42744295356607453, 0.5556938547753474], [0.24220840058772186, 0.9190966040244658], [0.524291967391582, 0.7986109561711607], [0.11581372035132398, 0.4850915194366945], [0.9554967843960345, 0.494046899362408], [0.3144833044046108, 0.339713187889778], [0.33969924985361555, 0.3282796371807063], [0.4863167803200177, 0.9843858582178906], [0.03125275976229969, 0.38232797917616224], [0.3552396556171832, 0.06561093628625903], [0.5341724019432889, 0.5587187028724162], [0.41507132509844624, 0.4380929677003811], [0.24351178558673925, 0.8324181734512944], [0.975822162406129, 0.4930171940688862], [0.41335501056550417, 0.3313083295537522], [0.08698171343938266, 0.05416143602499346], [0.3480648713803942, 0.9293130694613323], [0.5370619154529123, 0.19360033185511671], [0.6509208906499874, 0.5379432768112886], [0.8064327416993077, 0.41842848483853856], [0.5705279097658987, 0.8407698778310664], [0.810327631966488, 0.3463377591882755], [0.6859647536587021, 0.5521627952635464], [0.3196528221609878, 0.668065044765816], [0.7318883742001471, 0.2963814213052375], [0.7376767227831358, 0.7745114142153591], [0.9481433390718402, 0.9954110828299255], [0.2998829857804043, 0.7687844461649768], [0.4217237812164275, 0.4116409797735281], [0.5777219835892375, 0.43609171095070054], [0.2831797937831739, 0.41114734482214577], [0.8365158841079572, 0.0821419598925821], [0.3343719761780769, 0.8827985799682886], [0.4276596122825911, 0.37857457947086937], [0.4430603966742933, 0.19841109627824793], [0.07911879695468971, 0.2704504680240085], [0.7678079592861536, 0.9145726410823302], [0.14131796931428608, 0.6299485837179589], [0.6876731271768518, 0.7683476611547703], [0.2834586534582779, 0.05588847255132723], [0.3891266495533192, 0.3399807003100811], [0.20953349682628986, 0.12384124709055544], [0.85531732198816, 0.9152740317788229], [0.685383171566841, 0.6230466811962221], [0.030644928289774276, 0.8431306562729585], [0.5677367785096767, 0.7770102041935608], [0.401122452306514, 0.07462777288292799], [0.5535922924778263, 0.8089023268230778], [0.425971535044092, 0.38572042647509996], [0.676296168109086, 0.8703067787405725], [0.2217689261600554, 0.9205941529636568], [0.9513698501058678, 0.6951303239302189], [0.5022673501499594, 0.7123529535765302], [0.16431120468356009, 0.9550361169597764], [0.9058104377149612, 0.8964226219357831], [0.1822532311961116, 0.8816192703790484], [0.48042385199062076, 0.16256448164938442], [0.13708383859338624, 0.6703611649935384], [0.38939504939511604, 0.927835948333297], [0.24397239214414546, 0.09389745782882308], [0.1493505130188565, 0.016689856144222914], [0.13586980379736202, 0.982817515789235], [0.7119257152754129, 0.4590642491266821], [0.013060697466428572, 0.3172770394800346], [0.3456701181776074, 0.15449466700433567], [0.5041368591202012, 0.29886485648079886], [0.9842960307397838, 0.4908438314032334], [0.3992504873103512, 0.3440632192834562], [0.9244965373503573, 0.7892559210374457], [0.42491375784391205, 0.22862595417393183], [0.24175226179430875, 0.4074575747486543], [0.8058069473309573, 0.30020311498871466], [0.6680368107977517, 0.02319670225781223], [0.5793990975248835, 0.3454089289433028], [0.4966177604080051, 0.6501018587137403], [0.3538668900013806, 0.0032825634808062443], [0.11934949854970689, 0.4687497629426405], [0.8466531856260595, 0.6688718203064914], [0.600084558804212, 0.7851878430574286], [0.5088456487094165, 0.20489042370547894], [0.43060740872072245, 0.1751065544246715], [0.3308981456038722, 0.05557179605766205], [0.024548205596966244, 0.9629203211867684], [0.38555577561649, 0.07002341117282873], [0.0020783028264711456, 0.46723296108456036], [0.5486588183884941, 0.8414517324968556], [0.27692819285281733, 0.8655887956796386], [0.33763727233833973, 0.5844794538187126], [0.2167960692161538, 0.14796417574837506], [0.323592179368429, 0.2787177815517978], [0.9379456394201899, 0.7035683527766388], [0.9927829017964107, 0.49169187240588164], [0.6809519796535042, 0.4571767853922194], [0.5771745130473416, 0.5456320230212636], [0.5434881754304124, 0.4170329343311163], [0.06528655638985259, 0.8170612872232943], [0.9223253049208737, 0.8981453983908796], [0.9868766853792744, 0.2418797943178047], [0.7757717730516136, 0.6555187740402195], [0.19182866067964255, 0.7732842734900556], [0.40979559270076993, 0.6687614034843522], [0.577644294484436, 0.2942258807137559], [0.15943278519098802, 0.5865168007161812], [0.31134432189359895, 0.998378230391945], [0.6948110880184879, 0.605643064559187], [0.4050455119046156, 0.9286390759063378], [0.03516900451994909, 0.8175406671137996], [0.02636035464102071, 0.878235712943039], [0.9602636426408094, 0.6661973928840642], [0.010231399103117655, 0.1387777994436099], [0.03937759668842589, 0.6133723937996924], [0.4154156356603935, 0.860619482143892], [0.7063218099109395, 0.3190775392245807], [0.7889260266406873, 0.5605480957327309], [0.15555570830539212, 0.7782059905776965], [0.9566666369198057, 0.23653443307821354], [0.3756234803509183, 0.5102383910818973], [0.09451604381201684, 0.5055323416002041], [0.35406121167476345, 0.03221264673675228], [0.6606139161720528, 0.6434217988894766], [0.7270007960903947, 0.16589185052034416], [0.18039511363886795, 0.5012279984241822], [0.32704800993944416, 0.7248503492424947], [0.6209107256642931, 0.6775373219662567], [0.6626065754673508, 0.3106249731728423], [0.506915637962085, 0.7908977832428016], [0.4126934177228191, 0.7102679008215188], [0.21909457550680145, 0.9439187360211438], [0.2537295771383883, 0.9734987103447588], [0.9480598030287436, 0.7735098957890679], [0.1764302297604896, 0.07385007459327375], [0.9432526940670402, 0.6845025391919464], [0.25090248291798867, 0.6036869500140085], [0.5459000135789879, 0.4685323592130045], [0.9459380438471324, 0.44998449128062346], [0.7074771706988863, 0.28615683325804786], [0.47598835169614184, 0.6963710492839658], [0.47735305009457585, 0.7229687054062047], [0.3653165672683487, 0.32753079024115184], [0.17384353162638821, 0.021278638283092843], [0.9090368280977156, 0.7359224436384142], [0.31025352728033995, 0.7202934926492701], [0.7568036618190306, 0.6785312344401863], [0.009788386104701896, 0.6945251209954376], [0.9677543725585974, 0.48518033333618504], [0.24571296403766452, 0.5279044292487464], [0.6720332972573365, 0.14947102526436484], [0.44477783393314596, 0.1321055045034304], [0.31054643547742955, 0.023987357318739466], [0.7350827646270293, 0.7965191939011732], [0.03236773573648388, 0.16783464128021397], [0.05708646945810247, 0.3742940337896462], [0.6864186012298716, 0.7451083482704342], [0.24265575016616592, 0.471017783658621], [0.6291451458029117, 0.53502325804026], [0.004831113594330638, 0.12245420757941483], [0.09449568903787131, 0.21523727827199068], [0.4905405904753709, 0.1844144968218464], [0.7922523426797173, 0.07567674718536765], [0.23605847517643774, 0.06668903658303849], [0.4647770375823137, 0.8536640551312793], [0.01964027058338713, 0.6838332741095369], [0.3287224388752813, 0.5933951372514308], [0.820054697207222, 0.26677959773613247], [0.45071327388672644, 0.9086571854484503], [0.3050415872386122, 0.26721381240381625], [0.9665357166050488, 0.6724185361033705], [0.028738191567005522, 0.7927761336862865], [0.8734994033327167, 0.41060000000897323], [0.6895377546870797, 0.8677872259571773], [0.05428264475806455, 0.1519627892379316], [0.20751285546148246, 0.24343195404012974], [0.32556580089732445, 0.8903069639737896], [0.5202952442779197, 0.9375555845873778], [0.8999384705441419, 0.7023810596509228], [0.6397639312215725, 0.47658073152098257], [0.832193608913576, 0.912369742789413], [0.9528191356376597, 0.004917050169927495], [0.9387727936286138, 0.22927166896180307], [0.14999441691517112, 0.986375870755774], [0.6236908151191293, 0.47438401841584266], [0.25590832680041986, 0.7165872374658181], [0.4450987808094776, 0.03738945556617823], [0.7447604295697583, 0.532156088531837], [0.2606201117440208, 0.7536998252823406], [0.9605211233605883, 0.23100947742159073], [0.9683189545089296, 0.47114742605542503], [0.5452815782042942, 0.3454273253167952], [0.7888088637280448, 0.6267708876967333], [0.3895360415811575, 0.3359773061473068], [0.35477000356630417, 0.16788333747110296], [0.6700272333506235, 0.15463483313652016], [0.467780382045457, 0.10413790365618125], [0.7231823704620364, 0.7645763705673466], [0.5890382342156266, 0.387997028002635], [0.30107116047329374, 0.1215803424926557], [0.10492812304780341, 0.0010609787775358592], [0.9833658736692467, 0.8428821563263079], [0.7097889380601652, 0.8530939549849114], [0.08903120612948867, 0.41359987605291504], [0.03428785135711643, 0.1404021174712744], [0.33466154718910646, 0.8532683391736499], [0.3045136783674549, 0.7194329660998546], [0.9814113275483152, 0.9666432738536503], [0.3368958539859743, 0.48535833821034235], [0.7391036355646352, 0.5763112511466596], [0.4824178186168335, 0.4886101440444639], [0.8033580978142886, 0.14505628108215118], [0.38322005910982604, 0.8977094733169328], [0.7123927784302934, 0.9138664524583526], [0.5654232549774965, 0.3982772618183654], [0.8477747444691647, 0.5767604089076154], [0.5499288102639327, 0.46644547513088797], [0.8336890778600256, 0.18255001360473833], [0.8018606607394243, 0.3708313096011969], [0.018496178753005355, 0.8533522836980478], [0.09370297828755936, 0.6509256294730198], [0.7845297431334698, 0.5019054288083313], [0.8536911342971831, 0.17813927497692938], [0.3340385993430348, 0.832676812793789], [0.16481073579103156, 0.41428280759559244], [0.9975761512347878, 0.3730692882013463], [0.7346166179340192, 0.38716212033587427], [0.006905588268291796, 0.18157927353603853], [0.3565589626272534, 0.007695303621074734], [0.5381227064935805, 0.11795654925251664], [0.9537448491725463, 0.024154052414501193], [0.40074963237342043, 0.40787384033515073], [0.4311892822710168, 0.2697892336301635], [0.16806338031748413, 0.4531833620358383], [0.2893898922721787, 0.17352765248577906], [0.39169492277817575, 0.5792804331728234], [0.7606404830642923, 0.8127084800006699], [0.26231480201831237, 0.8167413433803126], [0.09607146391521271, 0.4959105765133074], [0.5542235689505332, 0.06045300519840291], [0.8382362519126471, 0.6056705104820305], [0.8364463405663903, 0.7694981258205226], [0.9703956884825671, 0.03372120795027089], [0.6751098529640908, 0.27018086098340566], [0.7737113684683458, 0.6877376953206521], [0.8918711412156599, 0.09558621698901182], [0.16293847373159887, 0.7986252080507591], [0.39678453322600427, 0.968264457317427], [0.5420694031000483, 0.8014804461329678], [0.3215021295531495, 0.8398230768666569], [0.17756899526405556, 0.26372348501157306], [0.5633147302600012, 0.292841789862915], [0.4236396160943975, 0.3513524150751022], [0.24824374339178779, 0.7371569723744099], [0.10553106515526955, 0.7128738738985737], [0.12581692337768358, 0.5851054343295659], [0.989486033912198, 0.28750961251835716], [0.2651980874186717, 0.8086395808878754], [0.01962262133125192, 0.8172820475436531], [0.7319056205589568, 0.9423564934976235], [0.287095242321629, 0.24530673763426514], [0.4996731136692317, 0.4474076394951775], [0.042147081815552045, 0.9962665670959592], [0.49069497286824815, 0.07214609566167052], [0.8942175253969897, 0.1729648083146481], [0.9560859654391635, 0.34454849846704394], [0.6016810725337661, 0.8171990822010385], [0.2648997523321537, 0.2729864232490369], [0.7477343586464247, 0.8641640375387643], [0.3560450816985088, 0.9896667515882884], [0.3969076554457025, 0.4638894324999968], [0.2212658326130884, 0.4876490686189283], [0.45600842921235973, 0.605022693436974], [0.2595326263120026, 0.25730923372637493], [0.3521300090660532, 0.15173041881722515], [0.9694598246671998, 0.8026318797310206], [0.7035618151166505, 0.5605513167290664], [0.39003514777664783, 0.028216043250440137], [0.403279506274253, 0.19716200504459624], [0.3996832125658021, 0.6133819218817635], [0.702380806644231, 0.659516244361612], [0.25337475436340506, 0.891050265682546], [0.09051617561140601, 0.9927606139829271], [0.3085664639379123, 0.8497513242706739], [0.03618965868427704, 0.04842933151445539], [0.8924488471977262, 0.8494975171842559], [0.7869633104393732, 0.06935426733610539], [0.8800255644730887, 0.1657801303913311], [0.630065732611319, 0.4359929397501605], [0.59646112823682, 0.4981350270749144], [0.6162358318418799, 0.8137482321085199], [0.896772599520081, 0.7428890925902871], [0.33448217236569155, 0.7223079113821644], [0.72835660824919, 0.5046057320441001], [0.2719821434699976, 0.25692952982586126], [0.3456635501258575, 0.9281950637093671], [0.29713420758535936, 0.5436631333467474], [0.6340845198972191, 0.33770025023381167], [0.3838696329947142, 0.16582039167393736], [0.20704519199014182, 0.7746620737872445], [0.22865610176722617, 0.8718979744126325], [0.6767839207564664, 0.6391882769201452], [0.7782274483299213, 0.2575031250728962], [0.8191074161932183, 0.3460694996331911], [0.5804830709565196, 0.13820452523992421], [0.03906603077506565, 0.918875371846649], [0.8296845845367963, 0.27687797088732025], [0.28994435208703695, 0.3335834492752613], [0.6716800806928559, 0.13984351198860412], [0.8746387018218688, 0.6362302754535577], [0.9201985755618246, 0.9209093331735377], [0.20187995026765326, 0.2514288345295267], [0.35880955234474654, 0.9009411622872961], [0.6766654016970577, 0.3054790377796235], [0.3680493915817805, 0.5017762677095625], [0.8382609890707615, 0.6679207722634833], [0.9986027034942543, 0.9068651196033807], [0.4895598367631313, 0.7321366054972207], [0.29884427843862704, 0.39766875248259725], [0.041913207998602986, 0.3289163358433974], [0.2785278552082615, 0.80788289684653], [0.38569301488998164, 0.4234999705609588], [0.3443712856970489, 0.4775633437987221], [0.4274595125709074, 0.7600069127328019], [0.7974464664413478, 0.845382953394462], [0.2278763053230657, 0.3930102146480223], [0.49219431462313423, 0.2589864670440575], [0.12823863357663956, 0.2564631036355678], [0.9244811394140873, 0.06938814266940674], [0.312919412352773, 0.9049964635453139], [0.574244835624193, 0.6722889034614425], [0.5742658390123007, 0.9378145544334515], [0.05257150872033334, 0.37370701804737894], [0.5194583524667308, 0.38531954531301293], [0.30507789889092984, 0.2996066809924718], [0.5049907243054508, 0.8295212304035217], [0.6806193136963136, 0.757961361462636], [0.03702285478177214, 0.9748265502087027], [0.7349735322434401, 0.39837150683987], [0.5211195891596424, 0.2314102057028099], [0.6532566503923911, 0.24172675985110637], [0.39507538267949915, 0.9320143567215974], [0.7952029269032919, 0.04515879233822695], [0.9449671622026052, 0.06629542418351186], [0.5893140206300612, 0.29155304031382345], [0.3622667077386499, 0.26602495927703274], [0.6276395488688749, 0.6695082305139364], [0.18736276151186337, 0.05602973596392724], [0.7928465483020114, 0.02665763185043979], [0.9967496050033327, 0.9177756717917254], [0.6851142911520314, 0.8151694151469353], [0.6893832116362465, 0.8298305233844291], [0.49366989640844716, 0.4206952755400576], [0.1464352499064936, 0.8233968893658771], [0.14452506213681904, 0.9516826815095186], [0.6827068444260964, 0.0864531994178408], [0.4288564539404466, 0.4036673248463776], [0.24017073824868707, 0.08972301010348349], [0.5451632709016787, 0.6048260602251813], [0.8185775256246723, 0.5976368630559071], [0.3190054721691734, 0.7358560145390333], [0.029446500929449337, 0.04130258162983513], [0.8221724582124287, 0.9861534754260588], [0.9343096007893843, 0.09834213047051321], [0.5114805925900758, 0.21154655046168547], [0.042303424413558055, 0.994768905516732], [0.5358514745192878, 0.3689205686083493], [0.9632808220319468, 0.6065567104550971], [0.19740223069135598, 0.9266801136827295], [0.764022268928634, 0.04370533916573227], [0.5140057266803004, 0.8832312831730795], [0.616946310948078, 0.22664453224991143], [0.8232539121900975, 0.13415735675630713], [0.6693228283327604, 0.006792067265873336], [0.9380818439938831, 0.810421011832691], [0.27707135417271245, 0.3188899954717951], [0.845416842047427, 0.8324595018838069], [0.7729857040899665, 0.546596856579862], [0.4566034429889292, 0.11013209937599822], [0.3757028314634948, 0.3211445454822017], [0.8771839050932879, 0.4176139350045954], [0.9482895651603045, 0.051229448395450405], [0.48306382715449747, 0.6265938583588779], [0.6895785705527946, 0.2918326784186699], [0.7007745501899747, 0.41097152418545524], [0.49564534911806, 0.16737211447367517], [0.18495808576022754, 0.18937534981119608], [0.9593033966453622, 0.8574032826351125], [0.09121474357954562, 0.8807922413148124], [0.48629534210404446, 0.27854629609445736], [0.4759096561959084, 0.49329087699558904], [0.27384551559563597, 0.865361333985247], [0.2377746276619085, 0.40693192431487313], [0.9508523181379378, 0.9856490288764117], [0.2672301448282841, 0.14383075283258528], [0.05645848994939684, 0.04656224173392698], [0.29432790885460625, 0.69255418878096], [0.9598103500023076, 0.3777475996102203], [0.8432973525807704, 0.37250942001248366], [0.23805682291553487, 0.015165227147826421], [0.41018447847214057, 0.5565031485000596], [0.26859723089627907, 0.1265822085420899], [0.12480394985295595, 0.052582603411355455], [0.017064602995344513, 0.4110630075574614], [0.17523653034306785, 0.31570287660665874], [0.8653930058351972, 0.7620235201037151], [0.5969946754533663, 0.42295718516154135], [0.4525810759863016, 0.8251385942616467], [0.6021674034446513, 0.9634043153137377], [0.8655564565489448, 0.18737732537786944], [0.5349607046956392, 0.8217761424571287], [0.3319661833698343, 0.924939942596417], [0.9829578765305537, 0.33244446453759147], [0.5326828894634995, 0.10023630908763059], [0.210930069551428, 0.017707490864062425], [0.24048010652939256, 0.04372211513065383], [0.7746691757845303, 0.33589844579501116], [0.8849370995301671, 0.18048603201020852], [0.6076740958728265, 0.8773042892601995], [0.39191675048009655, 0.02181372661732406], [0.7673121867676894, 0.23743574623674546], [0.04748405959354551, 0.35348885766974736], [0.25538301458136636, 0.43715727470994326], [0.02259465571908259, 0.47819004262501574], [0.6814575878983216, 0.7646855931969262], [0.3179666518367549, 0.4034704862482573], [0.8303058905626103, 0.8658119154937836], [0.373350928864283, 0.043607127959205294], [0.7171160403810322, 0.12072953104784045], [0.021726953158071938, 0.7164142896342197], [0.8120485554204152, 0.10855556741107286], [0.7910103371200502, 0.7573474955496651], [0.4645227482879646, 0.18767335039878985], [0.008082495706589254, 0.7013795732510885], [0.36307693030063126, 0.7493214205861782], [0.7215936793123354, 0.8839250441843289], [0.5331438245353318, 0.4714770706268989], [0.8044451903320075, 0.44754813675477045], [0.6260747303464684, 0.41453352977074165], [0.55070726700155, 0.0727583176244001], [0.8626108727028776, 0.04997133388574282], [0.026924807931398287, 0.31839977968059885], [0.6832966897213674, 0.8508741126892126], [0.08982251025894916, 0.11941714922250402], [0.4569714765369335, 0.9304171801983953], [0.9786445821834832, 0.09493078834351598], [0.46619630342953144, 0.7109562660644603], [0.20982962175718567, 0.8408761375060245], [0.5713605464698623, 0.536911677101106], [0.2972450380912949, 0.22333641088500822], [0.9782118130656765, 0.23488722276812568], [0.11108279497536777, 0.29878746003522294], [0.9203471662873691, 0.7956259465784443], [0.4283394178168727, 0.028632220856573465], [0.5483848273230777, 0.18703288200605994], [0.25599177634202286, 0.8501970889892373], [0.7705267685774105, 0.09958070319515977], [0.8302995254942465, 0.0324646646903155], [0.037843794622542504, 0.5299895998667347], [0.9241609198313927, 0.6493263605966624], [0.34909636177127434, 0.5804399649681654], [0.8131476492665966, 0.038265814376731044], [0.9492760213896314, 0.5429541516716467], [0.605543315394811, 0.593037206139716], [0.011471787248957255, 0.6707862798203039], [0.6914852200250502, 0.9333285333385708], [0.7122810020942449, 0.5527973838518948], [0.45624486860284175, 0.4420251792143556], [0.43377805078143894, 0.5319947068627491], [0.523252481119228, 0.3302152625742042], [0.03574666016766115, 0.8464372957939108], [0.30827001174347335, 0.6765043082107006], [0.5130273447813476, 0.515606557493978], [0.019473549750436026, 0.11325886650894146], [0.6423682156168947, 0.4559595791354152], [0.7235123686521397, 0.7106711589973872], [0.36214939079698616, 0.33051844006645603], [0.17817067590513025, 0.9230787811205593], [0.6008326173574186, 0.7062696199087148], [0.5571343918916727, 0.48823236198001085], [0.8736581988786399, 0.19921019530175055], [0.06066759241404751, 0.296628672245673], [0.3392511913138039, 0.6493374516704346], [0.7066979954089225, 0.4211219636594684], [0.9247498138137263, 0.09126184828262474], [0.2843585959170615, 0.5211499121326676], [0.23514093470170816, 0.8477722692127709], [0.4232786428014583, 0.25050483893211484], [0.4033040671283459, 0.21535687240068535], [0.16461849660560257, 0.9416035595128818], [0.0006864031048980923, 0.9584430736664509], [0.7431157384682997, 0.7391491193801424], [0.6715916442437176, 0.34443584116527814], [0.4975815807223507, 0.9593483021745052], [0.555517590953751, 0.25924952831103076], [0.22082138611832414, 0.5736041160133919], [0.8692273377438147, 0.7478621774479332], [0.5252712118805588, 0.3822079449018948], [0.8288047691931387, 0.14471807839060935], [0.5905611189425958, 0.8268314175375638], [0.3230622573020975, 0.6810498915548836], [0.2728947504842454, 0.4808907456868906], [0.927686372084724, 0.27896001396354364], [0.8562127785348396, 0.25402407890112144], [0.5603288342867591, 0.20429370687064996], [0.09493260115474511, 0.41541080541841924], [0.7269031728211823, 0.577501801907812], [0.5297767351831365, 0.5596517232039697], [0.542637749620388, 0.3279307713889308], [0.552835706241411, 0.5919783074327792], [0.9908534769891155, 0.21924834374267954], [0.30919542166463154, 0.3160518827241343], [0.9895324711173143, 0.9564743919415132], [0.18110694920226122, 0.4492564711026501], [0.5044745429227314, 0.7875421517475639], [0.6724726820853191, 0.2991741294306087], [0.8801899677526878, 0.3817805015236402], [0.25264833406551235, 0.4039521661238358], [0.20674568193186849, 0.979356576948051], [0.16337090137961052, 0.6687068099806803], [0.9129463703012562, 0.2963712853391284], [0.292998744383978, 0.05691820416697291], [0.8426532308442385, 0.8941333723996949], [0.2552281248996151, 0.428454631193811], [0.5249932206873306, 0.21555148751823605], [0.6271634826762988, 0.4037994884834547], [0.47830767454178846, 0.16692654946171903], [0.5534000063449338, 0.7664591116886554], [0.8493111418068232, 0.39961226224999524], [0.1897235292950592, 0.7305040679736137], [0.6312898119364294, 0.8528508741977572], [0.861162407748061, 0.8441231947919882], [0.6127408771504758, 0.1822901213899245], [0.47422600689632, 0.1982514683758203], [0.19289327419772484, 0.8359066870582785], [0.3203601883310486, 0.5673400260569265], [0.09997689058514692, 0.7610238785874449], [0.5202763881772097, 0.26294807294253697], [0.5300397018997679, 0.05747976620431361], [0.01448690265742636, 0.171673335379937], [0.4830191430163334, 0.04962405137017323], [0.22657031670410355, 0.5069977012507386], [0.0783854290976933, 0.7004917726668614], [0.35026659335973465, 0.9044715560571491], [0.827081086783635, 0.20646801770770074], [0.5382216667378393, 0.8660971942519619], [0.16855310870378182, 0.5142451091954356], [0.40663673971018965, 0.3346792232246304], [0.13383128381071785, 0.8975873777090744], [0.27545770123527924, 0.01572695487718412], [0.5150096035537055, 0.14669586078346064], [0.00871917297114777, 0.2609777800887223], [0.3046695480626046, 0.050649563037415524], [0.09698414312836978, 0.3707586127945002], [0.29795903851457484, 0.7927026415408899], [0.19534023637651998, 0.8861869254466558], [0.02719434469743298, 0.9649016702109541], [0.7269765919488781, 0.5797116722235744], [0.2045256639912194, 0.3428173129474029], [0.8481149076048352, 0.45342191154802347], [0.09045644808121445, 0.7791775126584791], [0.767674540963317, 0.3206451056897559], [0.6010105203041072, 0.7809592348739337], [0.2053373793862402, 0.13233584582902624], [0.60612329629876, 0.5976238869134435], [0.8502344976280388, 0.5463418622817096], [0.5360773758389514, 0.42169232399306256], [0.4151557182897112, 0.6605852509290011], [0.5248375123495532, 0.13495872539195997], [0.8580481704929184, 0.7114839655553336], [0.2687542065050258, 0.8347221508464117], [0.34057283829002405, 0.726029260688252], [0.9665560358563865, 0.7576819874264301], [0.20627195597747272, 0.13384128428315178], [0.27343767824876664, 0.16407901250932877], [0.36480873183586204, 0.2931007910690825], [0.7512666311330879, 0.3882147829223881], [0.43970050517011106, 0.21703980385711275], [0.4157934927480138, 0.2849559107488211], [0.5868813478994149, 0.5840977441913896], [0.3161805216936575, 0.08399280521159769], [0.7828486294113659, 0.9551979848880191], [0.3825901973630944, 0.38625755036500053], [0.5528364656565056, 0.005937501215804497], [0.8750457518904547, 0.6182725256941679], [0.6884226079256758, 0.32116231452150834], [0.13777572527300874, 0.3863831018299293], [0.1834342777362412, 0.38285724397677223], [0.45109366346947977, 0.6695912352141528], [0.6004999387156742, 0.7058823511452983], [0.11470897208762387, 0.5651895688170298], [0.7358823854188956, 0.412327898010889], [0.2693386565418421, 0.8217015944255012], [0.5601129500769643, 0.9278311315424645], [0.06984403067009215, 0.48018108073226295], [0.5697662366016809, 0.8058390129409516], [0.7812439109044939, 0.5513766710460667], [0.4278725041434508, 0.8756396417861262], [0.1613559889054773, 0.5433673414155874], [0.8363715362328987, 0.24529758251799805], [0.43357002907121267, 0.15335479640555116], [0.5426794773362104, 0.35499697237933014], [0.10866696827619227, 0.7352901036747889], [0.10175518812057127, 0.22504175676116034], [0.4803452426301249, 0.2805485525055138], [0.514806664204282, 0.6227966738295729], [0.685651100757525, 0.3498307941797675], [0.6015282879908164, 0.1731436035242726], [0.8673548563667091, 0.22795512507544657], [0.8801536643968576, 0.39085793186360906], [0.7546993408514614, 0.09203202849915992], [0.9587487066635261, 0.166560990209647], [0.7953363968054047, 0.20643735087875914], [0.1951553005020249, 0.2945218424992373], [0.6920272633624894, 0.6104929217235527], [0.9246568865880528, 0.4034968031540457], [0.25369156673312143, 0.7530980252284516], [0.7188725661986142, 0.3413811836633699], [0.38549182023449435, 0.6177308337469875], [0.8185971765703378, 0.8576138481161241], [0.5336847315605452, 0.9304082498797045], [0.8419858585349581, 0.6875278011994685], [0.731846336146743, 0.9944413569587799], [0.9931542844251238, 0.9899393981168096], [0.5369462300337284, 0.7671045987153721], [0.5831568806108256, 0.042872627895009896], [0.17791291908171547, 0.17325211860020173], [0.6684595597047589, 0.7762586468711361], [0.8051950596667004, 0.05120790231703243], [0.8727690723661023, 0.3599703826158166], [0.5316242845426756, 0.897614597920035], [0.45335052938486464, 0.13399083100153208], [0.9255843498292764, 0.20743992553644552], [0.4666213658484727, 0.2706573180205215], [0.43458951942862023, 0.8297529724734488], [0.6750824910861373, 0.576993100207737], [0.7501333050764925, 0.04468365678567432], [0.24156401143046236, 0.023202355093621785], [0.06495049527803165, 0.26401889446412863], [0.9782254484393245, 0.3372344067851982], [0.4581476268159934, 0.32697934412595486], [0.3199762941821215, 0.4703366454120862], [0.35355305456362796, 0.8836949365156334], [0.2549419178279726, 0.022362393006782777], [0.1689116129541094, 0.10281505859893958], [0.9294122958770898, 0.8494057002430344], [0.25029522705797613, 0.8139231707767768], [0.22841229676234143, 0.7921991475364302], [0.19616180128072958, 0.6418435861613023], [0.27366432294467813, 0.6172509993377702], [0.42665781956784066, 0.5163932264856208], [0.9881686888051116, 0.5956352973567752], [0.9892837962524128, 0.5398406550094579], [0.3516290381623346, 0.8469212241408541], [0.21064480860927104, 0.37478400744260454], [0.09900076738106511, 0.7461581251170762], [0.8634337172049444, 0.3143604831871899], [0.14311669440873642, 0.1219754762239762], [0.2938709946917346, 0.738268981476622], [0.3150723335605876, 0.2650281231182572], [0.7977729562254819, 0.81477457666277], [0.17970659012576784, 0.2014650788059018], [0.9969245274671983, 0.6908994452334353], [0.7668338673805554, 0.5733215859396577], [0.09069730569899714, 0.6379354711651842], [0.7135439358870102, 0.7281887240921139], [0.9558473353198678, 0.7363685745519996], [0.8012892953040661, 0.24734421271160723], [0.40758258852707463, 0.7867749224275349], [0.3773881227247957, 0.29660156157447515], [0.28097668018039346, 0.8499481149695203], [0.4183305199865702, 0.8401673669030986], [0.5700776387499177, 0.8676214399295928], [0.8507494223953075, 0.7376820769958259], [0.4419475819006191, 0.2896707934302456], [0.41559095025679405, 0.8099907675467655], [0.7766542791715374, 0.7636388542598664], [0.10214715965483134, 0.3143424290796316], [0.44685632018735355, 0.6219114260753125], [0.7312859023147856, 0.8323734894272267], [0.05344617176031741, 0.09477334565767903], [0.5994759600725422, 0.8668578202581688], [0.68474733377988, 0.938324495027191], [0.29496971823328877, 0.49158453379891], [0.467905224019145, 0.337382236194951], [0.6566849164249879, 0.6624671775959511], [0.9177103734176023, 0.5969239331494642], [0.0757078474591305, 0.6930999549401875], [0.23016066227647614, 0.12721301173515753], [0.4352762096024376, 0.3425183841923326], [0.8892601774136827, 0.31705051580161603], [0.7119541480050118, 0.6066593355417964], [0.40175848915049583, 0.6726117889090849], [0.2356307212376012, 0.45223593779349736], [0.0257154042011013, 0.5133722326568663], [0.6880138898569627, 0.6063834923119934], [0.7271722400790871, 0.9222720571000433], [0.5527552645677537, 0.6089199514074802], [0.7779255806687978, 0.8680969528748802], [0.8029159542778885, 0.5590758061832842], [0.8638460802757494, 0.7390111498809746], [0.02459354600008945, 0.21997934720017853], [0.52892474351198, 0.2841619899848944], [0.11636413517706568, 0.07593046723337948], [0.8267247096847248, 0.6965267571514132], [0.12039636709538859, 0.5602811920437514], [0.6630221192302385, 0.24918968444566336], [0.2807481575031405, 0.5340338224492938], [0.7061327888873837, 0.4494489671901617], [0.08451613659804491, 0.2104021410093726], [0.7131416115803242, 0.6049068141985957], [0.39519111793138717, 0.39514243891845346], [0.17944806380400047, 0.9722916540115389], [0.35826863896634564, 0.36030538754509533], [0.38872261149141096, 0.21988601412238462], [0.953227494566561, 0.4442866071356514], [0.7986081604841745, 0.5981495706154413], [0.28037230838776117, 0.2559299322975759], [0.7062587322364619, 0.2999671796180635], [0.7482758037615218, 0.8904525216136965], [0.01378244179357091, 0.5413666042800294], [0.6768606550915953, 0.156846840912914], [0.12559019297543972, 0.18510222371958052], [0.6597308012653833, 0.9435577300394283], [0.28091352995090535, 0.30580700171237307], [0.027117189011014897, 0.4461085731505674], [0.20785250267592748, 0.43307386166948814], [0.9515824365740613, 0.11715627023048703], [0.04653919453718436, 0.9962593459204394], [0.4918718101563312, 0.8295818933198823], [0.949959351839051, 0.9231627305617602], [0.721628080533406, 0.8971263877522672], [0.7554384573483303, 0.5507500806200046], [0.3835856557276415, 0.846545338161649], [0.7303125237993958, 0.7685639556576525], [0.3862201528455048, 0.07712861776931412], [0.0699324580021855, 0.8238390681175076], [0.805451916584915, 0.7794530514087017], [0.24801939309074017, 0.051172214363833235], [0.45530467166842736, 0.7023605194063881], [0.47995423579982677, 0.2757063388617943], [0.8906530080533733, 0.6492476743451798], [0.35585652487240693, 0.9417672927884873], [0.6979984962353796, 0.7684625010792109], [0.593148526460736, 0.674775132864789], [0.8137434028425264, 0.37669529775886956], [0.3514348610303748, 0.5162091937189527], [0.9712689722481498, 0.5484907265889948], [0.6218073432915806, 0.3857895322440432], [0.4716768247373355, 0.326996308066009], [0.7238265477932748, 0.9911776151827664], [0.02973655212257842, 0.6184804816499961], [0.24384773752595457, 0.6297876483780852], [0.13169868393009965, 0.8107403515104923], [0.8997755264607238, 0.6088086046070214], [0.8708207301362125, 0.7253461575400847], [0.04566958769727758, 0.7503049358884427], [0.8098011144839546, 0.192808226729691], [0.7359879442404866, 0.19196063802600616], [0.02060201418453045, 0.9799957983503325], [0.9637725136357062, 0.5073974584760406], [0.3804988072352893, 0.004103953120270787], [0.9642594899162072, 0.5481924497853212], [0.8116867718857251, 0.4505096615287627], [0.9170726907294897, 0.6217642294532394], [0.36065222179362, 0.24632911808856583], [0.5859014206352762, 0.3740301894528625], [0.5425441424707284, 0.846464747117627], [0.49986780472850256, 0.7370682437844461], [0.7978606869490966, 0.29021112187079756], [0.3725839962048171, 0.4006753965026204], [0.9777487814551091, 0.6151202198321228], [0.3464985158383803, 0.13338219883718194], [0.7072900314585474, 0.10515392879962837], [0.31374566247287683, 0.8871968570023125], [0.11770884818291616, 0.5486801568442901], [0.3113099664127895, 0.22959961133480167], [0.6168674456418891, 0.9512190398392533], [0.9172918352397678, 0.2915453542350446], [0.8123694057920148, 0.7173711569020366], [0.33679459263527234, 0.08544234214236157], [0.07295767160187971, 0.6921173307359831], [0.612458320219121, 0.5572637043158242], [0.1398060046556293, 0.7351272062069959], [0.4492604112244257, 0.09403597218747572], [0.6710325827216471, 0.8671571490934052], [0.9584286953055875, 0.9833435602982704], [0.8313457934722821, 0.7740275309696041], [0.6003228980731509, 0.16538799102162938], [0.778613348984053, 0.1985697342646029], [0.26774100287948366, 0.1696180123755373], [0.9454301126945901, 0.40671113846928975], [0.01800468426974422, 0.2061699047958856], [0.15989248039239812, 0.4273374977447407], [0.45138019465542034, 0.45545407679084793], [0.760457449138892, 0.8622212077705462], [0.06023102985158746, 0.5711618268987748], [0.0535912876164405, 0.20553118928619563], [0.936118880288052, 0.5886403321616182], [0.3946228993117883, 0.2831844147108248], [0.29448055296015263, 0.31969459230426434], [0.849651923515288, 0.3029438480477068], [0.8434349979701723, 0.6259996331125408], [0.6079800047843547, 0.2398057345659651], [0.0016634428507785737, 0.20631768886001167], [0.32324365485624573, 0.8435340452979265], [0.7903117257233462, 0.46621948457074724], [0.32967813010076685, 0.37170295055657454], [0.38161619894703314, 0.18486453122088264], [0.9510518812805886, 0.13323973481584384], [0.9357607466567097, 0.2724594407182809], [0.4873962626729085, 0.8661069641931209], [0.5906186221132006, 0.9530323734755278], [0.7128895168251171, 0.006039143705625749], [0.4622052097004289, 0.652840420399015], [0.9381795635567829, 0.6067579445502462], [0.6871125754369295, 0.8056987342304205], [0.9880763156058991, 0.456350025184724], [0.1319192792451388, 0.4040082206114435], [0.6059570722361468, 0.8229340506453477], [0.7861378921783196, 0.8201677765318063], [0.2017704715033416, 0.17832367911120117], [0.1211805740269184, 0.5221551280718826], [0.8561353974493288, 0.7139457955815691], [0.7152880080456105, 0.8986941411728943], [0.4913945749123485, 0.05319603189979405], [0.6878254156337305, 0.4141792928484006], [0.33107461512405234, 0.371647777675162], [0.7060902144303076, 0.2628623373608958], [0.9439923243442984, 0.6478252139445895], [0.9405764130266584, 0.9418021604897407], [0.173970854724658, 0.15820846451753323], [0.5469769128847554, 0.5179245630042877], [0.25028243237371506, 0.3227761217615377], [0.49045975890710336, 0.07113628207752087], [0.4364132650229706, 0.46748501300101053], [0.6550083696635275, 0.06653660604627198], [0.20338229688865883, 0.8183142327380508], [0.8620620375605369, 0.226646928175966], [0.7543660314007806, 0.6835974280165564], [0.0942463086377564, 0.08454736311567579], [0.7152495865217214, 0.03408787992747775], [0.3687614943377642, 0.8261060460163906], [0.334237155462508, 0.2930574769605453], [0.4088314089292663, 0.9933763050664027], [0.06782258534133057, 0.5202863764878483], [0.6585884149664714, 0.4937931081379142], [0.8940843880735928, 0.591855445506105], [0.9934199278972276, 0.8288894019591334], [0.23437520140492263, 0.6004258009759683], [0.1697595706647097, 0.2885189810146136], [0.23650340872613385, 0.5091112615434843], [0.11073735130203621, 0.9067845794250389], [0.5975464106529703, 0.8479873389880885], [0.29098785382949055, 0.6495020669347216], [0.8549246596326323, 0.6058676307183108], [0.9929340104542768, 0.7985749718944672], [0.7752888388013733, 0.5472045908348107], [0.694887273832423, 0.07678674988116996], [0.35096621092692015, 0.3672275483771954], [0.9806269755395877, 0.9389462733195285], [0.9766504352830839, 0.6750283353024444], [0.1472879990700069, 0.024937314581159997], [0.7432517521797113, 0.47223535566728414], [0.2420261144023207, 0.41036193274341937], [0.9875788899041087, 0.7496245423013224], [0.7389906897029103, 0.25261577713398187], [0.5579483762235501, 0.7044021610595926], [0.5930941839638229, 0.6868647656083988], [0.7173568452792974, 0.1138638420485587], [0.7704181133880721, 0.3422284859928314], [0.04290703161927367, 0.9199431158712691], [0.9729947173533904, 0.7148604049747106], [0.6670335706974464, 0.18568435396080651], [0.6540180897728245, 0.49092359031991384], [0.2054486466174006, 0.7621617043290763], [0.18870640536700767, 0.36877339495015005], [0.45309559000193755, 0.7142882165927725], [0.7793193107496798, 0.028759849574422125], [0.721947575969134, 0.4121539214171275], [0.9044793688112611, 0.44086627296769254], [0.3647494277397191, 0.9658383366394662], [0.3252354223105295, 0.8352112843940381], [0.26236427191450296, 0.23374546304472077], [0.8371887448504989, 0.8134836939299354], [0.5401506098893218, 0.8612498233187084], [0.30865143721242627, 0.40625835870602844], [0.7447027508773086, 0.7237450943980097], [0.4173455288067479, 0.5786911934656542], [0.2688540194912562, 0.7582912996250131], [0.43511099442205536, 0.00820721148778547], [0.9498676407509729, 0.784666297760159], [0.16566227138058764, 0.7890480075929157], [0.30197066042378395, 0.33468567887466893], [0.5375269197470656, 0.4516974871409015], [0.945324003877264, 0.4610189428106434], [0.022363698768669393, 0.7533607452538287], [0.18600640410546843, 0.7063912164473304], [0.8618437597058787, 0.786039681468567], [0.6641605583817428, 0.47114617836751105], [0.01099825301962798, 0.16469944374528966], [0.6947179022072899, 0.8677173928878996], [0.5738089949774582, 0.9857942595366774], [0.8844606892155259, 0.4237011463313066], [0.83984282004886, 0.44546417826796725], [0.47527233077319386, 0.5242582724182858], [0.15613579777450437, 0.027780678611551757], [0.14491140241642564, 0.9640880258010116], [0.853130477172755, 0.2187458525176299], [0.355018995981749, 0.22304070936848241], [0.2907033517327141, 0.9988101728778024], [0.008431065507852775, 0.6728497905071462], [0.3883719207325006, 0.3724291339861072], [0.029362596526973817, 0.5061466062180908], [0.17177426120202788, 0.41654719744232427], [0.6707078067249055, 0.7980607653659219], [0.1683195010095876, 0.724679089538962], [0.1283195689327895, 0.7424054960584898], [0.29251902994784185, 0.14128020699042487], [0.3533273522110162, 0.9125885067546647], [0.9944422151614846, 0.4667685138449279], [0.18286749679297853, 0.9966019194748013], [0.8045828475850821, 0.8976979558271677], [0.3611495794885835, 0.9403121028973822], [0.34604571492636416, 0.9468014581395466], [0.5478402939396366, 0.7599811667338126], [0.43031115183287894, 0.33360451778217104], [0.28186371776970087, 0.04988411356008293], [0.9431078063663032, 0.3920388301885048], [0.7007575568790799, 0.8475864309000841], [0.8832730703180648, 0.8156348824759081], [0.03109632141147678, 0.7701375072807717], [0.2528780163792953, 0.8137938509726382], [0.312820673973759, 0.007429565545125638], [0.1220057411199651, 0.8106250653207415], [0.6885385661645788, 0.35564252469672597], [0.5162127934425447, 0.9797149097822383], [0.6363877462078436, 0.7603666007257978], [0.6624505545376583, 0.5211865498779464], [0.5448694176148927, 0.6837206224665625], [0.30762577066441243, 0.9463731794405381], [0.9384632117082893, 0.316978880139952], [0.5692193413275897, 0.16477478969583137], [0.26191318500205485, 0.07544524412155806], [0.8935858605510723, 0.327379046531867], [0.18024265410236284, 0.3903137266244776], [0.06735142241876835, 0.7115359094385477], [0.8528899890511759, 0.01067293802327407], [0.3512188084429335, 0.2813955491969178], [0.7710010570383419, 0.27944564062904187], [0.31150001713392117, 0.489138174673458], [0.9845646853160445, 0.36840270596098046], [0.5420389137588104, 0.15678223737846764], [0.15437243812348755, 0.9428355200826645], [0.8566197079138116, 0.11288925854330656], [0.30057190598398464, 0.35101702972800386], [0.08685457091026294, 0.6411711293941524], [0.45442850212930297, 0.20936050787274263], [0.9641605806503769, 0.09499785639105274], [0.7848254093080053, 0.9218896456195691], [0.5039743539035085, 0.053577340495160275], [0.6108298249611975, 0.0867919368302803], [0.2074229103529498, 0.25594216444601003], [0.006573951968554148, 0.1413940157262591], [0.7702019874650057, 0.26121431252592797], [0.3649602649982444, 0.8472679436108679], [0.08822744364629698, 0.12604360505233936], [0.9377699963321923, 0.6058652786449028], [0.20475432122890724, 0.045420330747248605], [0.10448732218248047, 0.6732974384478229], [0.46298733007008264, 0.4799806886673734], [0.25216076407224686, 0.18947808717537373], [0.35915166964405076, 0.8324249082414151], [0.8630667719776722, 0.3538930588077598], [0.35083462119277986, 0.8604359218502109], [0.10942079086805101, 0.08130020000135707], [0.4570221421953081, 0.6495936668664628], [0.3912858658553644, 0.6764271183270855], [0.7308071951492202, 0.5298266797804916], [0.27694304482195886, 0.6383399023062718], [0.9252892890542805, 0.168501669360007], [0.9681736015768891, 0.615353645889781], [0.506099706336548, 0.8830618807352075], [0.09544203018800124, 0.2011307031230749], [0.4956486002309407, 0.7783613517439413], [0.530300241828698, 0.48003391834532405], [0.908953232344255, 0.8927336584133502], [0.37456387550614134, 0.5385371903228573], [0.855001547054986, 0.8363860542037745], [0.9791859341092569, 0.8443297559850296], [0.3221322696357699, 0.7501769796743182], [0.591291230781438, 0.4526774120573889], [0.23196892990261275, 0.8277360648482323], [0.982484408395763, 0.5633738562733431], [0.028546295869009586, 0.2708350121301921], [0.5209257815995985, 0.8058539026717617], [0.9370924998126954, 0.324003446814517], [0.6646703788521956, 0.8030829182082984], [0.9359001516120056, 0.29791395711647084], [0.06054741276098741, 0.6949620313307695], [0.281647710117925, 0.21948592647919296], [0.5920987460191127, 0.6222631476816571], [0.673218237368834, 0.5206694021253616], [0.3027463688361559, 0.5763879458033754], [0.9309615878918293, 0.14234865680035258], [0.9583477223845002, 0.4682354263386377], [0.6480528038778404, 0.09283932068679834], [0.518783073867101, 0.8668891366540645], [0.15018711038124966, 0.8126381126289828], [0.3601650570175198, 0.13315778559922775], [0.13953214091952315, 0.15655052213422582], [0.24902804353878805, 0.8792956964742084], [0.5068173111377137, 0.8569908645338183], [0.9760826060213718, 0.1837298984911584], [0.7905306496105827, 0.7568183251609969], [0.632598180138602, 0.8099657415934381], [0.8443144099591927, 0.019599647175010948], [0.6102820815623348, 0.7070503923319467], [0.9849421179708818, 0.3200829804525648], [0.12687270792431893, 0.01420749695139678], [0.9090088259996252, 0.619216722782369], [0.6056946981101445, 0.3080329352357398], [0.6158718593937529, 0.38058209791469155], [0.20945632886429078, 0.8868395090409932], [0.28668044762849554, 0.5404039153373976], [0.5732551118683166, 0.7852017132679184], [0.4643153973806663, 0.1517432033460453], [0.3720256372839299, 0.43049275230982875], [0.502814313687607, 0.9138238858456774], [0.3968658061140522, 0.3550475072389264], [0.5761020510480184, 0.9213321656879789], [0.8552688740763268, 0.9702859030258428], [0.3490637310190431, 0.4102607941386788], [0.2979296211645932, 0.8561649889533391], [0.25121718767669976, 0.015013608653586696], [0.6310943574529355, 0.7672657644873557], [0.010770977521992853, 0.9484012576393477], [0.0011472083272301425, 0.717665094897521], [0.8669199077616466, 0.6070924370577795], [0.479788364927223, 0.9632231935101613], [0.21931395627964456, 0.7599728203261057], [0.5702179376546214, 0.2586188450286272], [0.3268112729283511, 0.0012978596655744967], [0.7064017709057057, 0.1423457628259186], [0.2609056194305498, 0.16579088897692718], [0.5151619729886312, 0.2519797581609893], [0.5382832932493604, 0.03462725442206327], [0.019269748770510797, 0.881591045358371], [0.6628242310456701, 0.45919337405358307], [0.5982264351665091, 0.8181385599902122], [0.5401683717943425, 0.7412370269238457], [0.20935269504078902, 0.7403420429195603], [0.9690552261614731, 0.29639614400873404], [0.5960245824104973, 0.7921819621100787], [0.7862612417030383, 0.8960795989523542], [0.8445282119217835, 0.16915910426823144], [0.13791247072969237, 0.19143160211801802], [0.38886484032866186, 0.2928658627952465], [0.5345404370201752, 0.9399874495579784], [0.8509181143352514, 0.7732917805332701], [0.02236257348454984, 0.7732865488767479], [0.815874023462162, 0.5855022411242633], [0.9119812458262068, 0.16289582267831704], [0.9372892436674194, 0.22822711444159094], [0.421956653358066, 0.9658845122708053], [0.587751459784015, 0.17127708797213748], [0.4032261384561229, 0.6174943004033786], [0.2603807765160374, 0.29161184564647746], [0.6130338823543567, 0.6650271771055114], [0.6321001979509192, 0.13299164939317853], [0.6138196853521113, 0.9063316995031366], [0.5444202342702219, 0.5531439808842561], [0.09550836956021835, 0.9368633331017233], [0.8181398052542402, 0.03278317031015643], [0.02259793358398443, 0.5157265287375179], [0.6265513397947358, 0.3364672600894818], [0.26026160564568945, 0.014227547220926673], [0.756889930446475, 0.7179534023272244], [0.9830218766847735, 0.2956060653425976], [0.29125276076722695, 0.5659784373243245], [0.5868714229178549, 0.6081176691441388], [0.10429571031854035, 0.38694603464008914], [0.8311643844268397, 0.6546205538062981], [0.8370819981797226, 0.5914745693496146], [0.5945201021572817, 0.5927125016791123], [0.027507497594228547, 0.7357527249837809], [0.6585062864445281, 0.044197985421796204], [0.7314114267999793, 0.07716451109751332], [0.8857809211605789, 0.8421727658167905], [0.22973793003232168, 0.02737878444630959], [0.9513501603054088, 0.7346483823616798], [0.1858562735690359, 0.7996390888384001], [0.9542469446445272, 0.3398621838636072], [0.8846412135178298, 0.898057572641396], [0.15972950277828868, 0.6591295086543225], [0.38345924777774465, 0.4500060489415625], [0.6862245474464185, 0.7711125874448564], [0.5983121935335163, 0.4745235780874748], [0.42748647524200345, 0.02251688286132114], [0.5877627842736028, 0.8474855563548287], [0.27961324451776426, 0.15573471053718002], [0.5295424041098744, 0.5721912325037926], [0.5995204140205288, 0.9430825209147987], [0.6731941045931163, 0.3707725002427664], [0.5061288177659272, 0.9709655380244216], [0.9884140294510955, 0.12763925257767006], [0.44911627164456136, 0.6222511264661262], [0.4966982992064617, 0.3649912383104037], [0.9215870192779085, 0.7881163696142327], [0.3544533509118333, 0.5433439003226017], [0.3945110063917384, 0.8744023513824516], [0.36998045194656426, 0.9935295963143757], [0.640454014066266, 0.10802450652199602], [0.7841177973370373, 0.7829924370554968], [0.25817126745379604, 0.5061512789885818], [0.6859894805425395, 0.7381036157071151], [0.6336070704813596, 0.9810974477725132], [0.0950799825259363, 0.3601263442279349], [0.15439961659409662, 0.15618624065964337], [0.2663944511166061, 0.3062902526835162], [0.43070792145380465, 0.3426646134675587], [0.03395352021015108, 0.4552140854488552], [0.5157495974501629, 0.3318608000597192], [0.45739598603437726, 0.9680629962797355], [0.334283197656128, 0.10290488622365801], [0.12791617669812017, 0.6378072924981099], [0.07080859195993072, 0.14609992835132513], [0.6071104360766612, 0.8199136507134732], [0.3763523578235808, 0.3611407551597754], [0.314355618015398, 0.40862025902758037], [0.26557919240273553, 0.49496099297630736], [0.21729390246678315, 0.6588770716276849], [0.4288574574040229, 0.2589819008030373], [0.3097211599548023, 0.6876483632193436], [0.9839254106385782, 0.3328760723266393], [0.9157575900146775, 0.4930750198719759], [0.9588487436635232, 0.559389085029899], [0.6954111493561996, 0.14162307447280675], [0.15624062458773758, 0.5832254541455723], [0.45144654227682945, 0.4626366546655696], [0.02914521056586905, 0.5248599024913871], [0.7532163374676459, 0.660599784095012], [0.47179204422005483, 0.5250751332590335], [0.5940184649634032, 0.08825891250410745], [0.742054447778208, 0.21953174958333976], [0.23537599874619186, 0.7629503284962655], [0.4957027550551436, 0.8174374781910602], [0.26683489285831763, 0.009164854475712914], [0.7645376565913485, 0.7238480245691921], [0.6604198170295628, 0.0974498040605335], [0.4952222608707637, 0.30742598175140134], [0.24021169461366143, 0.8448768540384712], [0.8589912653230785, 0.08093433740039357], [0.1657297471972402, 0.05821894830262231], [0.10155671248242037, 0.24434845486587142], [0.5066416025337271, 0.45786872327077877], [0.5709766050066738, 0.8107885366322042], [0.10895324393454087, 0.9766578929944509], [0.86629401159545, 0.5824250793248674], [0.32875091950955326, 0.7603544211660982], [0.525614253380004, 0.42060877531935936], [0.31747386317632575, 0.7129342794423635], [0.8404776287754001, 0.14755599114450135], [0.5461353914642328, 0.549815909635866], [0.8130334082574965, 0.3411915501976086], [0.4603579387899701, 0.33848439949070963], [0.2258829748828045, 0.0024943123419817192], [0.6128725080943093, 0.365008859007496], [0.2226378983402637, 0.37659264089851685], [0.5878297829033737, 0.7891845907212636], [0.6900063201292848, 0.2614713708049269], [0.9129606606918997, 0.45097883941709627], [0.19710594401297665, 0.16601977551781077], [0.30077587278781237, 0.40719481117162204], [0.15503690864476516, 0.7036203124198376], [0.9781058730171244, 0.46425914966281023], [0.12409782005898462, 0.043512465458370286], [0.7221322022153698, 0.9228246180374448], [0.22495015548340747, 0.47563430364209136], [0.5267192113439005, 0.6690846481616873], [0.4770950024661119, 0.621133432929026], [0.09978558656718417, 0.32887500599651676], [0.35730931103668073, 0.5332778379551538], [0.6409803942533941, 0.7009097746827627], [0.40951823595127046, 0.9791023100443564], [0.638977717413204, 0.386082247403719], [0.9776933032681523, 0.8538832260422238], [0.8358968892419716, 0.14092158503329955], [0.647035419844778, 0.6345854387183417], [0.581320884236057, 0.7516095921982112], [0.47751299251300194, 0.492230968707288], [0.2777766221106913, 0.4871114441788955], [0.21068481703261988, 0.6371868490816311], [0.9752641790306414, 0.14624989669013655], [0.6459328744068169, 0.7259472802025375], [0.05967395718297119, 0.41096914582317556], [0.4724010846522929, 0.35282780986998885], [0.9300120240007569, 0.8941172098739839], [0.8854474514807472, 0.22386609545629255], [0.7203843351324859, 0.8812487017073347], [0.9562256308845378, 0.9636098332330442], [0.6233133192692968, 0.48844783503085], [0.0352170310104416, 0.6749575450891894], [0.1118006625322231, 0.5662119233789249], [0.6525224191978171, 0.09700318691978649], [0.4333898716589263, 0.5403220013770301], [0.8392384800277622, 0.15915828333001514], [0.9946608843010015, 0.4064583418518559], [0.2478801667513696, 0.5027627999849186], [0.7072597771492106, 0.1453312919977956], [0.49070557176883345, 0.5458631685079276], [0.7277758045213052, 0.16952107294900953], [0.09252942174707046, 0.14267936243318935], [0.9861940088291938, 0.5991797653321747], [0.2976604886147497, 0.7328657091643633], [0.6188990229979744, 0.6250305805042512], [0.6167127433472768, 0.5405879923862222], [0.9215269497038543, 0.9953855203504991], [0.15993839588165426, 0.19141668037493298], [0.4626767844818893, 0.2941086537088019], [0.8975248987346325, 0.2819622479393725], [0.8178060648211775, 0.9840973864714252], [0.09509686351761037, 0.2686350795518505], [0.1335880780814055, 0.36764749710127875], [0.32930799160752766, 0.37432876883939725], [0.83517980861575, 0.48953171996711997], [0.7865749594487528, 0.4204710167105724], [0.18764071692623452, 0.3563405343499356], [0.8025026963006159, 0.887100187746521], [0.004722201721554575, 0.1350176304879781], [0.6243834206061727, 0.2002808580433586], [0.31482992769010876, 0.11973298086243389], [0.5370357305745849, 0.6364593530491176], [0.558493288671733, 0.6995652164673481], [0.6309181182036254, 0.5778360402770546], [0.80723211906648, 0.34407450122014227], [0.45424976288685404, 0.42676133542183314], [0.4971278947562745, 0.9221400229795688], [0.4691646753356188, 0.17402419285325854], [0.35870241870236175, 0.4899006670099745], [0.9667289927664383, 0.7947310676394969], [0.43541622161888305, 0.25892575704882714], [0.15193761364802882, 0.5170381427109942], [0.4134434120631926, 0.24366880819803227], [0.4817606581953351, 0.27166427384814384], [0.04161356917747849, 0.15918318680838472], [0.9803854096446549, 0.5404032813020464], [0.14272434491992658, 0.8502806991697589], [0.22150997045003928, 0.4998084265960513], [0.3593705847406298, 0.29823194106736806], [0.4725895949255695, 0.7696389590572656], [0.3948923856054787, 0.6080967216165641], [0.2881219128317041, 0.5378757438584194], [0.5995227318800205, 0.6967345694199473], [0.4606662896560877, 0.7867772102362757], [0.3578441899033946, 0.49550665794577864], [0.5850999091686823, 0.299863924037002], [0.20137888979910035, 0.7430606771718942], [0.937809714257749, 0.6326874987385473], [0.40410318624173536, 0.5352214027638845], [0.18494488861393243, 0.7244828061992746], [0.2853744367134696, 0.582487553838541], [0.38440644544682534, 0.8664399422968768], [0.6746553638946612, 0.5451446953511843], [0.12179327146403984, 0.6872038202014119], [0.2927742568967878, 0.4175829759335654], [0.06538011612053085, 0.6798700030941222], [0.9156129087256397, 0.3738753373902053], [0.14603689261560637, 0.3214098407540307], [0.5463703829490067, 0.8391382252884185], [0.835353186583457, 0.9797203028259454], [0.6339904986973426, 0.955324891830382], [0.015566991649753281, 0.06502264094979326], [0.7602752696746602, 0.10761624776269563], [0.4753005325612977, 0.2346917451413425], [0.8068437000760242, 0.08798663722570632], [0.8705772475322316, 0.18623581264286837], [0.09635889965558075, 0.6732884252271416], [0.9963477422852577, 0.7594614548208517], [0.6535015832573915, 0.9675632655731644], [0.6000278370711922, 0.5620851430377931], [0.1030727080400784, 0.46558912604430946], [0.5737153403106349, 0.0008894064626729925], [0.08221116263052786, 0.6184623335838536], [0.17124748805958467, 0.5984023012244678], [0.4318384308897246, 0.6454842211633612], [0.6439448477547929, 0.5212099042683463], [0.29956294966446073, 0.12379416560813761], [0.28223722872881696, 0.4872760305648043], [0.9399807724490179, 0.8552277341980851], [0.9931889744296135, 0.6630602180950642], [0.2688034579799158, 0.2198784169095438], [0.7230829362406792, 0.7473613765154333], [0.9657710005865291, 0.7321462429001899], [0.5564089503963535, 0.9924253291945605], [0.44444188832457354, 0.03242455316680737], [0.7951026736501, 0.781810009703409], [0.1242534850501511, 0.7882385983341909], [0.1576549513476062, 0.5183184828959606], [0.6496709206649937, 0.7320218880439462], [0.6204546010152436, 0.3965165106975843], [0.670080469061272, 0.14616614163716501], [0.5317843160762198, 0.1216305917017152], [0.3076995753440649, 0.9714010781911582], [0.34437419276789505, 0.3130269440755221], [0.03365735191103292, 0.26868865657655827], [0.6517100745670648, 0.8866118457850848], [0.18975661856795867, 0.8301438901825029], [0.5325784900499366, 0.931596450832024], [0.5402958184078315, 0.12000795879550852], [0.9048590156305022, 0.055590237192844394], [0.43028851571055227, 0.08602585417646313], [0.24116308579041423, 0.5456002803122193], [0.45201281796243054, 0.3492629083350569], [0.18736611173847328, 0.7851269998943675], [0.18837167017563117, 0.6369065375421401], [0.8104612069194009, 0.0373021248954164], [0.276443136773699, 0.2078399341316003], [0.5346618025804102, 0.33128822438037675], [0.20963935258066158, 0.6308880891908762], [0.789049911684298, 0.8837457238893703], [0.6771075328531602, 0.6183046231099638], [0.5181350672517616, 0.45894324514291385], [0.051561314822131, 0.3843463468655205], [0.507424813531056, 0.7289183039444778], [0.9640484629820699, 0.7897145456022817], [0.9993394215583198, 0.6188141401216072], [0.40730348577416375, 0.6318991546737778], [0.7160077565880856, 0.16592507325790407], [0.57174451405537, 0.14472621686223708], [0.7533004044662005, 0.1806064951688886], [0.4705924677461525, 0.6061401012370788], [0.9053373187521465, 0.8526135669226567], [0.33328912410379485, 0.9759879276287722], [0.7178529624690521, 0.29199183427884945], [0.25642543713924604, 0.6843270627275745], [0.768647613412622, 0.19432642933379352], [0.4202927039135269, 0.6621816610233902], [0.35323555046579, 0.09696835889634181], [0.0701868671889212, 0.6077176072823836], [0.10103490371769963, 0.9155801388976279], [0.16739586417539964, 0.8994757397795881], [0.09458180135994088, 0.1492697035799212], [0.6088541944733786, 0.5073823098074004], [0.5027697100098368, 0.11588222644529877], [0.7262957426536688, 0.1930269608837396], [0.9459798293066134, 0.5902465320724326], [0.9933521458080943, 0.4148105265805585], [0.5730113189510891, 0.5803419865063432], [0.6912920169725059, 0.612141766882494], [0.4021559789464314, 0.2367518276770174], [0.5332744505742263, 0.5222279920310328], [0.6899198587846802, 0.5472106041718467], [0.9457346452717007, 0.12776252721595116], [0.8799662507305791, 0.16022534026241386], [0.4869739528851609, 0.8065672802794516], [0.06656510195185139, 0.16539120505069915], [0.509614023929219, 0.3774989828090125], [0.18532620081183637, 0.01896789836595425], [0.8946095692369032, 0.021275162216200627], [0.6003134737145825, 0.27980147914382214], [0.9703987370996922, 0.832565471227777], [0.8172530981849526, 0.6264191663806201], [0.2758291695063768, 0.07256657146462997], [0.3409929450599509, 0.7496874922703923], [0.10550695283719813, 0.39578747325830765], [0.7543774306875699, 0.5477982334320466], [0.03931493004294828, 0.7819405525840227], [0.7431427176327253, 0.7315632126456361], [0.10092196387648045, 0.7416753869591887], [0.9832848113893512, 0.7482923871941077], [0.2962609478240329, 0.1277822055790505], [0.165071947384272, 0.3754863098657606], [0.9045466771497503, 0.4318684811090331], [0.9388597621865118, 0.45971456919997356], [0.3616527261323408, 0.1665989075354224], [0.8916596414353505, 0.48238671286151225], [0.8332132640945492, 0.7865870144263443], [0.27389874513117307, 0.06258118282698155], [0.5353558587615141, 0.08982040185662976], [0.9897448529903798, 0.8765925481307164], [0.7152713466208188, 0.15307119936018565], [0.2673449430847161, 0.2150696232188274], [0.987409674675205, 0.6694517512466202], [0.9430677310480388, 0.44641304736052057], [0.7561479279982993, 0.7295224440323215], [0.5168426360162839, 0.013090858784890802], [0.24338322516123478, 0.19517117483406088], [0.07521235373061996, 0.5620490981506457], [0.5170098277951969, 0.9032705042778953], [0.5982763223324705, 0.6535706542544488], [0.7484096471718331, 0.5757248721460644], [0.6340209472342632, 0.2770822774898154], [0.2608552478095172, 0.4814378132669599], [0.9645630669616652, 0.5553481514718829], [0.14792506408810246, 0.549999613811674], [0.7138666342359323, 0.1746284634820856], [0.29467582721653396, 0.22326023139880324], [0.139789405909454, 0.7934326941418127], [0.659320297874236, 0.8790768903072247], [0.1834495131853664, 0.15508611220134427], [0.22943327039619776, 0.32721897180894], [0.34831846123402943, 0.7251789782770476], [0.16291960683993434, 0.3750137953857011], [0.8084953569300974, 0.6349308954146072], [0.5700269447669385, 0.16613436387046565], [0.2167218980728315, 0.7933128935107157], [0.7893374983817493, 0.9860234229375715], [0.8481554219273165, 0.5650854648245804], [0.3322746448347471, 0.18678670183344936], [0.40176613994245314, 0.46138256627048524], [0.06872315922849837, 0.10329759281487016], [0.4915501513193119, 0.014072189459987783], [0.0038554346650275795, 0.3449727733066965], [0.41809393343598455, 0.7884276831727705], [0.47398019177585604, 0.1856969179196799], [0.12060494037070646, 0.7878454350289964], [0.0001624022615808185, 0.7313770564365559], [0.9450275204615125, 0.9612441826995841], [0.23193104373154327, 0.7174065680169289], [0.8057982230391815, 0.8513085747463226], [0.2904134224285765, 0.7964661769708671], [0.12759199114914122, 0.6816067606293162], [0.9341827493414802, 0.7358662627839914], [0.685436740812114, 0.2373363049892171], [0.7431011608169609, 0.7405408260433811], [0.4687008265947884, 0.7077208692085688], [0.6247850275131273, 0.3978002828942083], [0.23939733289661036, 0.5730680301464144], [0.9115463000724664, 0.7626662249808354], [0.9130091889642511, 0.9172568534410747], [0.1947621422784096, 0.6817037572810547], [0.2321891075057677, 0.8474621694754904], [0.13318543474336775, 0.38968771683199566], [0.21237767293484777, 0.13471163224121285], [0.17952990104291666, 0.5326205712009857], [0.8605386439810282, 0.8894267954809968], [0.6560430834488188, 0.950321109609783], [0.12132093841116309, 0.9285703135779968], [0.08738227804547094, 0.0833836180747154], [0.736041032401157, 0.9728090351356783], [0.07566537442047705, 0.4424402477370877], [0.37631201687870275, 0.8078677598387701], [0.40678417879867534, 0.48964357642332323], [0.3946621030747238, 0.7647163985871739], [0.7982139822759604, 0.17746980227367626], [0.1041424671620318, 0.47009095305787774], [0.8615038710022477, 0.5586533086411622], [0.08076416849325285, 0.16848141747299583], [0.4671818312922853, 0.6366514758264037], [0.6384817493724225, 0.8207309077439108], [0.4183856456317724, 0.4899052654173869], [0.4645227270593739, 0.9946634574303583], [0.7188482732534444, 0.330419562176138], [0.3211481659694474, 0.7488973393259657], [0.39746689559671333, 0.8560598964146815], [0.4472929640470438, 0.3735635720874727], [0.012230846111211391, 0.22695819454857447], [0.4926959818200801, 0.6385042444578266], [0.16632855083286657, 0.40485642213169726], [0.77400895291835, 0.569917500278208], [0.5719412274159724, 0.16689065948766912], [0.16283025799106288, 0.12157100768518714], [0.23873612507547326, 0.20454585645750278], [0.6605712661263418, 0.1441894400889383], [0.6439497539293944, 0.42093377633333673], [0.836331760538673, 0.22430053107841796], [0.8794293764322635, 0.14357643811555676], [0.7379960571558006, 0.7043592839259566], [0.40218834233211886, 0.4279852399952405], [0.22296836196489678, 0.5705958959529556], [0.48475523632255435, 0.319341770931567], [0.7372847583757476, 0.04423468542893949], [0.06464630708405683, 0.4121502622637382], [0.8073577580088844, 0.9209882463741809], [0.9174796531982096, 0.23255732380602256], [0.7364440805683183, 0.7360934999166223], [0.6371719553935146, 0.716746693357249], [0.8431970616713048, 0.5407708036636145], [0.3222518215968714, 0.1190786470981926], [0.6497779089951438, 0.05397053392539297], [0.32209650257243416, 0.04905907272991217], [0.8207405092436878, 0.6171998492551], [0.7843234098454521, 0.46765536307344635], [0.19471206769047122, 0.14504966101848304], [0.862725208494447, 0.567895287299549], [0.6224500735490166, 0.1281382393627879], [0.12046569968546905, 0.8909702608620056], [0.08357852764469675, 0.5160871334060741], [0.39718236271727914, 0.09019768671220374], [0.8373948561879063, 0.33075089399789237], [0.7340738539256876, 0.7395725554745928], [0.38920548954141054, 0.18672746385559824], [0.019381257559176746, 0.5349744603476249], [0.07488736934773144, 0.9931604199259936], [0.797557745963123, 0.02498236161536227], [0.9722356420599708, 0.7685653556070469], [0.7077275718172016, 0.7180898080739602], [0.5559858238726604, 0.5317835083823114], [0.6368241898155128, 0.231176589494121], [0.8813674050057146, 0.8173629531446623], [0.21386156293715075, 0.33281075290579043], [0.9089905192001267, 0.9568266911400024], [0.49007977088571086, 0.6838478785353781], [0.12396164145732347, 0.7344694377597974], [0.6860713905278423, 0.040763052974270964], [0.972722792290689, 0.051743114743332264], [0.9703899788758881, 0.49275029229261635], [0.08281736912431237, 0.28365608727189173], [0.9353667953571081, 0.6781479791780272], [0.1743959703356336, 0.6664826646048038], [0.3779522725803015, 0.06488645151730932], [0.867693190973508, 0.8682127879193523], [0.03176102421996774, 0.3698955901545201], [0.0749421481024446, 0.5545844947001652], [0.5561141553755671, 0.5065448746516421], [0.9446837453505116, 0.41862346424820185], [0.008302296006025833, 0.5733693438697312], [0.7782732327670552, 0.29499701790546384], [0.20910088395636983, 0.8931260397319822], [0.4739254278975398, 0.7350346885563588], [0.47360151461858513, 0.37601705061194735], [0.36321106127980773, 0.40938956215666156], [0.1628030497314712, 0.71764924209344], [0.9164755478691798, 0.8268653796684757], [0.8572191168619412, 0.15003556579301858], [0.7835287795438276, 0.8840526844536327], [0.5218318376177896, 0.4708519368205444], [0.8661858340818346, 0.853697563045564], [0.24853472924986075, 0.6690166288230542], [0.7359816972184368, 0.8692766116322113], [0.15381415072200422, 0.46023105251143404], [0.17242432389186424, 0.25803226142366664], [0.0519866747909673, 0.0557657718497917], [0.17683699787139295, 0.3638973538528927], [0.5731190924974133, 0.8249403640648754], [0.7997443884866189, 0.343104746485108], [0.523652605919945, 0.24308425346243723], [0.770210475194783, 0.35743092095075235], [0.23332862117110575, 0.7448204744228314], [0.3593815043780374, 0.6605969847804123], [0.7692714604753159, 0.5682330831017538], [0.8593541811889643, 0.6166834873576215], [0.8904340747371592, 0.7493511504567522], [0.8437199501069355, 0.38915865355433465], [0.06796558023192689, 0.5661911347660218], [0.08856082878110372, 0.7935621653979194], [0.9257118646530023, 0.47602167094520986], [0.6659590177280253, 0.2128655518705065], [0.24712292076747155, 0.9348881836189399], [0.036982388181370784, 0.18022480220333736], [0.7340763632012323, 0.20606402220042064], [0.1674535945773188, 0.890672579752234], [0.24236856631430526, 0.7914618420243859], [0.7266600740117531, 0.9755017957494219], [0.5611630169530978, 0.24438603090457833], [0.1669791973608571, 0.19042317704258382], [0.47614385468027676, 0.49242300946777406], [0.6034602714247157, 0.877826138288282], [0.5878825108768096, 0.2460327031301337], [0.8627934462339488, 0.33132306892568586], [0.953404557427706, 0.36280929780917326], [0.7665653750173667, 0.2550864224035393], [0.6380237511664186, 0.43024047883082495], [0.8526372499989721, 0.258804752280835], [0.04882783994065654, 0.8571479760413215], [0.6907207018327953, 0.6835988448181819], [0.5989330231443091, 0.39933805027243274], [0.8012165240412116, 0.9181925492884857], [0.11854983101125749, 0.2117201692701236], [0.08500565767335155, 0.9288288362933923], [0.5319878988142187, 0.5478249238429558], [0.9768896926596754, 0.8356162129090863], [0.345071181736324, 0.5301229722291062], [0.4178118370081635, 0.7978879783264873], [0.3674507076709095, 0.720708923657002], [0.17406682629076342, 0.8146001308943205], [0.15957106239158614, 0.1838757726977811], [0.8822790846759665, 0.6741272945378003], [0.8473700481278078, 0.3276767487572775], [0.47523808913235344, 0.9758322650864906], [0.3384832796056464, 0.99277337088598], [0.5181399131179399, 0.46436807454134266], [0.40648846292248597, 0.7192129004794378], [0.1952649026085702, 0.8199509633788494], [0.5423275803145053, 0.7073203187098199], [0.23547779795672463, 0.12347345832703882], [0.9618237252718715, 0.5775788192807932], [0.19944861094853017, 0.158943050218335], [0.6933969342075844, 0.9690273341714717], [0.12204981023528405, 0.14668176651728393], [0.22495786571100795, 0.4206070508364832], [0.607033211811398, 0.7069134579176396], [0.6517277066284796, 0.16805493758722323], [0.6586642240428986, 0.42794955176962435], [0.1759681703332825, 0.7560194265772817], [0.5261708075259123, 0.11360842155362394], [0.8434250330946451, 0.9817043430830025], [0.5350625311124613, 0.9222573588185541], [0.13282893926190376, 0.00882306260050314], [0.035814380364111664, 0.2796812492370594], [0.24681101278310447, 0.9642405742260672], [0.47297593906599367, 0.970117297116115], [0.8833160141141502, 0.4709636838374478], [0.1511274655728151, 0.608398168721186], [0.7267276123321623, 0.4635544052835461], [0.849442657413078, 0.8376379740325222], [0.9409329517245996, 0.8489928823994104], [0.2141078623339726, 0.9617379995528534], [0.3637618775119813, 0.297294924603267], [0.89897634546018, 0.5417262694851896], [0.027457850405030793, 0.38400462540668157], [0.8583020107444432, 0.7370185068238536], [0.2754354107092447, 0.25883348085193136], [0.21891489333889036, 0.7265630784654359], [0.4232204673760863, 0.8332159555304702], [0.635528497420602, 0.9605071910031092], [0.8583953392829735, 0.7587626265830281], [0.3504742950858124, 0.4919668031474509], [0.7099046322387473, 0.7083679485494011], [0.053907089776903616, 0.9331330105077489], [0.46657255320914903, 0.7322136341477563], [0.6290363297208408, 0.2614828385993859], [0.64553695697434, 0.891715256509225], [0.03498447396984128, 0.04103669411701194], [0.6221018846670315, 0.7909154080440788], [0.23597035394242005, 0.219523860155308], [0.3402820862324669, 0.731782311630015], [0.03352319263581782, 0.4547837741455102], [0.8575304215751096, 0.4417918068153325], [0.6564079580608955, 0.9680636284544328], [0.9051394697253266, 0.28057606700077853], [0.28984824065763093, 0.5047820458273704], [0.8209173522032753, 0.8761752494821692], [0.13824567624572337, 0.8509196581951911], [0.0390905171781023, 0.9494313524571043], [0.4978652056992212, 0.16934286136271626], [0.6196476744152952, 0.5387503597945676], [0.45672114543778086, 0.24960754951712127], [0.24290321935588255, 0.1332738319907587], [0.5143854546024043, 0.281083252404537], [0.8586625825847666, 0.43340938488692227], [0.7968314541614209, 0.8057321340205675], [0.7669717547332541, 0.3504399600426096], [0.0013610702331029456, 0.6840504532940116], [0.4551383225948027, 0.729964561570884], [0.5226819204485936, 0.3741720012794748], [0.6777285753683863, 0.4831426039148229], [0.9715465074925751, 0.8995971636970043], [0.710806742982261, 0.6456826484848321], [0.418136780235728, 0.42332567830079215], [0.6088065910544378, 0.7392315288226426], [0.4040455021517382, 0.4403371493193109], [0.8780327948850448, 0.5238604175746793], [0.18527412745886818, 0.12429804950245948], [0.19269486892168708, 0.7805062078919984], [0.8064452092026321, 0.6620919824498452], [0.3294220344804859, 0.5398056205981496], [0.5223706684431146, 0.8459218615608486], [0.2750855021404439, 0.1945090466660745], [0.6301746744139188, 0.02234197827688833], [0.3094297511129005, 0.5086134103359913], [0.025951342981197834, 0.2920305053053809], [0.47802511246067025, 0.5278225340513639], [0.9002028153670535, 0.513810359224919], [0.5750192802437534, 0.22326115316532502], [0.4370439513787181, 0.8346207755862532], [0.7489072501471887, 0.442277607310139], [0.46286485705336566, 0.39694686948524593], [0.25480526295301154, 0.3688850577989836], [0.2990321460856086, 0.6964713215809756], [0.38312032280720487, 0.48073874460008104], [0.38211144064575275, 0.33404212345596573], [0.3248696602573118, 0.9063698866994109], [0.796203203792379, 0.4898270382733577], [0.4732127446656268, 0.8693843237939193], [0.03436929922120613, 0.9179745036045731], [0.16976803487099856, 0.8005199265401604], [0.19826415501800176, 0.39279195577452364], [0.06440929911933924, 0.1581765470825609], [0.8144829559946023, 0.35000022763725214], [0.7653538609415653, 0.6327004773904613], [0.12435546328286418, 0.676571338402961], [0.1889933291965239, 0.2257405829931325], [0.8104211232588547, 0.9651721244930955], [0.026665040156809372, 0.9879551170776457], [0.955018090698455, 0.4566469576342814], [0.6756118850897919, 0.10706853620532808], [0.26631420452054033, 0.3528773849977571], [0.29399005061263506, 0.3992575956765765], [0.5413845082990143, 0.11606506297075814], [0.46196220897475226, 0.8765257916021075], [0.19033409687672065, 0.03442853038445959], [0.5043495834253572, 0.8591265200722685], [0.3565584642788526, 0.11726605520763866], [0.013409734931088324, 0.08038729014948187], [0.19319318901253957, 0.6865522968041144], [0.19286057701225812, 0.687044857597104], [0.719690354261301, 0.7208476236276589], [0.01911012880843843, 0.4943203539289154], [0.6993372685124406, 0.8758914339471601], [0.3952204267885955, 0.41730748442416743], [0.17391179998797535, 0.35565527955057497], [0.6213573388482849, 0.1738922700876253], [0.5641852523394923, 0.7036237790966166], [0.20383597000377662, 0.9774197476075365], [0.34126883953657283, 0.2973252452852102], [0.30637790768116335, 0.15972079608798218], [0.2899756791072643, 0.6913116919344373], [0.8133440729230226, 0.9206989791105419], [0.3660118852894335, 0.7891981910155523], [0.9185290546933946, 0.6951287444314763], [0.19177251854993804, 0.41965580820189474], [0.8874393823516131, 0.14479272374050922], [0.9750634195986488, 0.5889155922347538], [0.5650488359553294, 0.9673071417221837], [0.7932075318090243, 0.4218423635787193], [0.8747225373943285, 0.15057769296043322], [0.0417848838121585, 0.9992116250005458], [0.19561873500703852, 0.03603855644936527], [0.8175608143513563, 0.682389902598129], [0.8857164737199769, 0.40377922075594963], [0.8876983048549578, 0.9576447611414289], [0.23960015357131403, 0.2746917890323791], [0.0858860330150345, 0.012323141421884176], [0.4261813292173283, 0.07369001507013939], [0.0766038312202777, 0.5292923016821772], [0.49520539811157405, 0.23738392675227804], [0.040274042284871525, 0.4345099581805977], [0.40936628428902266, 0.8336820510252262], [0.3501583211182536, 0.5869052232017915], [0.4828584465696877, 0.7632321031693295], [0.5850179398746849, 0.1492898130325797], [0.22429929539335913, 0.22877436563822562], [0.8819029101724688, 0.23657508031428887], [0.7141404911705019, 0.047966785050755134], [0.5161781282205842, 0.2023988326559122], [0.9013201122695276, 0.7857735984882134], [0.91774155939768, 0.998647797570488], [0.45105387521426976, 0.5112979394295781], [0.5379557824326007, 0.4653379413841733], [0.11171615805037582, 0.5678056460975026], [0.6522873531683917, 0.039949379646655236], [0.25990412284934816, 0.3631602999243515], [0.009523780501434098, 0.9658880231701146], [0.17331901947782768, 0.3167173008115527], [0.17993617033561948, 0.7281009861200498], [0.4709591681361479, 0.24487728019936894], [0.1951695649453571, 0.5385227582064798], [0.47143192062163375, 0.42215329644792665], [0.688827728799767, 0.5388005192295386], [0.2069969510412879, 0.03391635328631848], [0.9421141013600711, 0.1777693271282641], [0.6018315557969622, 0.3643849191051003], [0.33396240086675655, 0.5043911804222475], [0.9160388653333156, 0.009215202475781337], [0.5633338653294439, 0.8449589695167524], [0.19130756419927353, 0.34210023374258247], [0.005797858234470876, 0.38237834774595736], [0.6022964960825226, 0.17706629871780633], [0.028497388640233323, 0.5218092817271993], [0.8945381488204136, 0.7605092177956576], [0.5211168545107964, 0.8582751452790521], [0.9860102621082977, 0.36313591622285823], [0.9731977858131258, 0.48460882823865736], [0.19110372601004677, 0.03599787855674674], [0.12011520277921606, 0.5936826985810068], [0.8295723078955279, 0.8263046380053004], [0.13481605539888997, 0.3112756410508065], [0.7542946992928677, 0.26647207403773476], [0.250812290908501, 0.9415369660754473], [0.2988886868577503, 0.34782696617960185], [0.7941250947944748, 0.8090596134460795], [0.9482146869659298, 0.507467807631495], [0.038271203311341706, 0.2533940948691832], [0.1672991073167801, 0.6144452577030816], [0.8198288511124032, 0.4238466451202628], [0.4924775908628807, 0.580368921139002], [0.07994118696338381, 0.3456848972319486], [0.5641984030040145, 0.6384067841806599], [0.9378549707663691, 0.3662707505008366], [0.12600788940563634, 0.6082635779878678], [0.9510020454464057, 0.9105934002218984], [0.4578782144629844, 0.6728250056195286], [0.0840675443460378, 0.16377803630044385], [0.6133330807096724, 0.6291505517110401], [0.028094508635017945, 0.07903080898734494], [0.4551817373100364, 0.9927342683079211], [0.875089446378875, 0.15712532664338497], [0.4363503039082881, 0.22874635595781245], [0.9347281850396154, 0.8622941869139823], [0.21328462796068748, 0.7635038522962913], [0.1543316724550965, 0.10509285625266462], [0.013679606811050626, 0.4039809968808262], [0.26191162814299185, 0.22161533035266945], [0.35037706450114103, 0.36479909865301674], [0.5847196334768179, 0.907013412377559], [0.7227086917917145, 0.25015809291229396], [0.12810606698858185, 0.34834210039796343], [0.06555433696553992, 0.6537938641156003], [0.28310125615492265, 0.004347156550919884], [0.37692677863211166, 0.967505209806454], [0.5056084406820801, 0.8000501515616913], [0.20805535781155626, 0.4511170809315824], [0.9947284311693451, 0.601888284364168], [0.9920910659983656, 0.3054124642829761], [0.5823759425026316, 0.24776858821485037], [0.06967192704755276, 0.9237065408783259], [0.630241310391642, 0.8101502045788862], [0.051623666224102416, 0.3948036129310116], [0.9190724659924561, 0.28458999924772654], [0.05690858292976786, 0.27176286261314975], [0.4467073946509067, 0.5434979230311159], [0.35469447520481356, 0.19329079903419943], [0.7386260284596844, 0.29614062326000323], [0.8023671247139832, 0.3974120821934056], [0.4784871641538121, 0.7562498566313726], [0.2756411032214543, 0.31625439068090133], [0.7047525307681203, 0.8880385682972446], [0.2832069349078409, 0.6400517917529398], [0.9664586886755919, 0.3198318754403261], [0.9600804302546492, 0.6623333762633439], [0.20189799415732168, 0.26468109887135205], [0.6097514499135583, 0.7173429256924644], [0.13322554380572316, 0.9451045994520748], [0.9122540625674944, 0.669645791516165], [0.7295605897205535, 0.02347310923769219], [0.7861549379870435, 0.7724112857605507], [0.5629740493024638, 0.28848227310691155], [0.2863930832662448, 0.33052723419821484], [0.34547739981113523, 0.9445442432991046], [0.7040942802632142, 0.6913888548339696], [0.4700189489388338, 0.9070782739275544], [0.9894714602610645, 0.7013378249004849], [0.03626673920518353, 0.7506694229362355], [0.1702835433774148, 0.7634466019172206], [0.05458469630276308, 0.6501374187941078], [0.4963922854413305, 0.4122795321637234], [0.3129208242396352, 0.8154432060782248], [0.6250230853436894, 0.5828473166852527], [0.6546707303476241, 0.9743737927040335], [0.1489572325077324, 0.8918056002460084], [0.18397114358835964, 0.7319039710449624], [0.5430493411674432, 0.25849753878365267], [0.223229094623574, 0.9683580343874636], [0.47881303362510574, 0.7083233529156651], [0.9612982855434544, 0.10762491090701098], [0.08219809257612842, 0.3183709618657624], [0.979956419066069, 0.7600727668901154], [0.2598377643013201, 0.6576998014378191], [0.6893455708234597, 0.6319454861281874], [0.2765501765471341, 0.26487571835551393], [0.3484868422330959, 0.041136337893942554], [0.30067057782046747, 0.5623407609747636], [0.43212570812770457, 0.3973722389365303], [0.9053756439732367, 0.4628788718770057], [0.6845974455854328, 0.6042581130950094], [0.9783484246671554, 0.8758303482105567], [0.11899129775997652, 0.7538882094329967], [0.5050837655585682, 0.7775942457978435], [0.9596723240052355, 0.29055115971523093], [0.9588091201194767, 0.691225554785656], [0.22676487046287452, 0.3723565287567244], [0.042652986297449846, 0.7235350001985817], [0.7657942048765263, 0.0463368218511917], [0.019336510516288596, 0.7782461878039153], [0.8729507369972157, 0.2545474324686169], [0.7831758560308468, 0.5025092959816282], [0.011384626673832221, 0.48963316245292254], [0.31273646370649055, 0.14389553684359613], [0.0007059042611067268, 0.26994072249613255], [0.9101371130272955, 0.731942454641614], [0.5298012794317032, 0.708916878389963], [0.046804742683660416, 0.4885884558004312], [0.2194360125178989, 0.6423587312734831], [0.3327001942620581, 0.1485953072551912], [0.6267074471704007, 0.8973471848424994], [0.7376558600265468, 0.4545903153495927], [0.22701834594187986, 0.25445606007036725], [0.8842399913217164, 0.9754414394034706], [0.49165824556066695, 0.02076717254595628], [0.5857420229484136, 0.4955197446148598], [0.5349814195726601, 0.9888365532567083], [0.49575060022938877, 0.894597745436379], [0.3771875248800556, 0.6511873124913841], [0.4155462616998954, 0.8874268777515886], [0.05213122409703708, 0.09722976232997427], [0.20639944926351317, 0.12300547362870162], [0.9436438498364415, 0.41913445278445693], [0.18547766370055863, 0.14636858581999812], [0.977458096153315, 0.5403657969183355], [0.10944833102658302, 0.7303451632236134], [0.6846563344906548, 0.715997842080843], [0.5837970192420636, 0.20505598031355432], [0.24556045050469055, 0.5310560355232465], [0.28628631681685024, 0.4831706643999393], [0.7697359572353821, 0.40084057243311066], [0.25662394846597225, 0.02077022965011055], [0.026767322041098107, 0.6305422602334463], [0.2513227666890384, 0.8872464491334393], [0.0856133885986472, 0.4650966227206498], [0.4395827587466815, 0.0723192968225076], [0.5519722253477234, 0.8323656630341951], [0.13286126034510926, 0.05382643177880375], [0.2761902835103125, 0.896164235009228], [0.199301147997049, 0.6158544798317456], [0.7657690458184673, 0.23842275985436479], [0.41356374192470224, 0.35041800246658183], [0.4697169783707662, 0.9959075076619064], [0.5369666498780353, 0.7577799022304988], [0.28878234769590994, 0.6059525588898775], [0.13136395744451446, 0.8942830232295718], [0.43333332751669373, 0.2320653223582625], [0.09558764374555284, 0.43135342361430273], [0.7065923180852616, 0.35138520958105035], [0.30573689317589803, 0.2767900802435501], [0.808520590343282, 0.13760374835065536], [0.46585546567579694, 0.9199683490431678], [0.16928079537827256, 0.6105440432698962], [0.7053643812417693, 0.06310828972888083], [0.09507138523889735, 0.052488028622041494], [0.8209560944989264, 0.02313363941464075], [0.9224395103216557, 0.4314979326097631], [0.6819069244281837, 0.842550610127836], [0.9583742795589416, 0.9635856832025032], [0.5567399352149435, 0.588446604150657], [0.9424014295559939, 0.5641279418272247], [0.9249769865956096, 0.038739047217365874], [0.6120759728224825, 0.9559877141843167], [0.7727807659570799, 0.8665496156615278], [0.5641631000369819, 0.8440942560321915], [0.2821150222059523, 0.7385874357392519], [0.21289798566392515, 0.43820442235994683], [0.05655686315055819, 0.9350659572902331], [0.7215052981011125, 0.9008095362000426], [0.7235715224365417, 0.13038548398178862], [0.9511925995722544, 0.07672287674481992], [0.45811050027211675, 0.3828386818331265], [0.596642492459776, 0.949189625097164], [0.14376565351903792, 0.2796473601698394], [0.5440156602485775, 0.4494981515152705], [0.6584762215296864, 0.2342069759020724], [0.6415724827113872, 0.11963052328602619], [0.0993309643814837, 0.8022314084026488], [0.6549947124536475, 0.3591126009365564], [0.8113495633565149, 0.9623756501626128], [0.8474616411477754, 0.28113340359263383], [0.5043271544183537, 0.13206618945026305], [0.7901311603670633, 0.9256747049199318], [0.886708269240067, 0.8845292135110174], [0.8143111880954912, 0.8969086464908993], [0.786988640992517, 0.9810452974461357], [0.28027910749649465, 0.09499620455444169], [0.8326119118167359, 0.8386589837797728], [0.9985254617378814, 0.023128710809432018], [0.9655735247822834, 0.4285835326523737], [0.7719073078351953, 0.7531655142640038], [0.7438229199359172, 0.10325773878450284], [0.421692647445859, 0.4233682088119636], [0.04277475876505166, 0.8515457352304369], [0.8952306623992349, 0.9233907312214801], [0.0436528033268756, 0.14047349634374418], [0.7790486245002746, 0.020225672287247254], [0.6311089393684599, 0.769711603303564], [0.709915189264241, 0.6832258424804202], [0.8476204565019788, 0.23448811845865158], [0.9200047510041777, 0.9800465532194396], [0.06249137232304236, 0.6203944791313307], [0.20671105937502177, 0.4784600822836367], [0.7508010608869461, 0.45972821620197635], [0.9964012990406357, 0.5483362904125625], [0.5462329227691957, 0.31482160144449145], [0.8847212606486915, 0.2294577803725767], [0.6391130267601383, 0.15485766195399386], [0.5556955274194908, 0.8113089595472567], [0.27585407501531745, 0.43438155379957233], [0.8376033571668571, 0.0739904370027723], [0.0405814225169463, 0.09016244965141806], [0.37947553281541846, 0.5895555279629043], [0.4178848281283465, 0.0376634643478847], [0.06909623662322228, 0.012378269385614593], [0.5088461394573538, 0.1101658509185125], [0.9848950252362962, 0.5100444910684812], [0.2346722670453768, 0.509647364241311], [0.32403862666801964, 0.10683648061906148], [0.7494831865658945, 0.47594586138773154], [0.46113103169635095, 0.7045217724485282], [0.27301464080037763, 0.3417429606209478], [0.24879344802583392, 0.6221204328521511], [0.21066149960502678, 0.18944717465181604], [0.40803852718274025, 0.49455093038023934], [0.3300532092441596, 0.570019463522003], [0.7278405541159801, 0.322534783976144], [0.5337364859760452, 0.6746380745584384], [0.21972341215246471, 0.740537154204608], [0.006671371459591291, 0.6484557727853544], [0.26684482695238465, 0.9687973045749588], [0.36488520009026126, 0.054902473572770116], [0.056513566382531466, 0.9262296247867939], [0.20274196058405936, 0.3708790757006941], [0.09012307960484933, 0.2572773201026759], [0.7481388503678555, 0.6450145198549482], [0.9728933702781234, 0.856552498251259], [0.21204819173760125, 0.9402750842197823], [0.5016277093399047, 0.9003430885088136], [0.10093958178878903, 0.10944808976257236], [0.8050532439413366, 0.37452190891177584], [0.12169024138550333, 0.4801686877742072], [0.6505989438712036, 0.803572785112101], [0.9263904544187544, 0.812821823710508], [0.8887881208289153, 0.745718542932153], [0.46795810169804364, 0.7880539598721685], [0.09684528904072975, 0.3031119691208809], [0.9031826088368426, 0.2771536450241374], [0.22433161626942488, 0.201219747973732], [0.02386629239268756, 0.8624891409743672], [0.15059647361709627, 0.18942675466933478], [0.24054483822743034, 0.1695501093709051], [0.9454985824326622, 0.766180779039458], [0.03989567419565221, 0.8675770799949765], [0.7769586846413138, 0.19351644508865407], [0.9393445978524991, 0.2647841925242217], [0.35046887792463743, 0.041716046188495004], [0.3403562416035456, 0.4178224896423224], [0.6927279219905431, 0.8333194750051657], [0.32270477995641655, 0.7080374064823726], [0.7513472946558231, 0.42380096010238577], [0.4516925978836467, 0.9959652810100775], [0.47710505276757054, 0.9836061589789136], [0.7784693476111031, 0.16107325674748685], [0.945844505662867, 0.8361995501523], [0.202110868339325, 0.2368021334427458], [0.056956901859418596, 0.6078153645759822], [0.06590749619169933, 0.3950009283453533], [0.16882366346761857, 0.6420883869104608], [0.5389391770704448, 0.519828816328107], [0.5742758195830175, 0.23689710295918975], [0.2094428165746811, 0.8556115741230262], [0.7465657989563979, 0.7415958626286798], [0.27274783299496597, 0.8394190424336356], [0.7431784449242316, 0.11274641958707965], [0.6094354664819185, 0.20124154711897224], [0.28391161227186457, 0.7072115343139042], [0.20821854344396684, 0.5388836125187209], [0.8314776135788399, 0.6390300075315465], [0.9308807850741742, 0.4579689365645887], [0.5508135235438261, 0.6452803787925823], [0.30779869757280054, 0.07963930032842215], [0.5674006447888466, 0.607979169942189], [0.38449356745212393, 0.24331113600282606], [0.5146098557632587, 0.7040721184924293], [0.3130248491461618, 0.16344730803961116], [0.48951950955448886, 0.9837982207552065], [0.728713353371077, 0.11079359482109807], [0.5402324427226622, 0.40048754225145367], [0.5417490087152829, 0.8111615954973169], [0.69450240174196, 0.7101213566093756], [0.16308413200237593, 0.7934829563653153], [0.9867415532520457, 0.4607786093024512], [0.8475580164659786, 0.8609657382984856], [0.8988046678035951, 0.4309236401243032], [0.025216705853575494, 0.9323887441981871], [0.9546425008231554, 0.7226170380213872], [0.7646132394064823, 0.5855893468585865], [0.9415671924962907, 0.7096701623175442], [0.08232699296759727, 0.5757600079087332], [0.2987753478359939, 0.7669096595500707], [0.5637804134146656, 0.7958204904605317], [0.9605889587264411, 0.18173279271352316], [0.6214178155997792, 0.9703414231769857], [0.8057598630519061, 0.5892096168067373], [0.21310851611182302, 0.990071869788976], [0.7504180523587153, 0.8763646940695387], [0.9610760464915541, 0.3001226377088343], [0.7524019232990649, 0.7804559359150537], [0.7197567258733478, 0.9087354649295235], [0.48454301687068824, 0.959092980575136], [0.2682871821490609, 0.9966685312971486], [0.7936265198287618, 0.857404566100159], [0.04020410009041142, 0.6426846639084496], [0.47140661839259, 0.9291629367467863], [0.5598564298429973, 0.3709881565998141], [0.6526070863403369, 0.38666862658471013], [0.22217433303012002, 0.3657212401772363], [0.9120050006182302, 0.38064305145985267], [0.6144732175448367, 0.6332489416975486], [0.48083874967960194, 0.06252038518093117], [0.7060966152909557, 0.13026691727333395], [0.7384589596482821, 0.7072401474902941], [0.996982595706211, 0.22938924663947535], [0.871773715617567, 0.9002639696173688], [0.3470805500057603, 0.914599524968052], [0.6599873874279579, 0.8405983968907997], [0.13161475935963485, 0.46193605062766985], [0.9609217175778885, 0.3984128413364799], [0.4780860076967002, 0.6719593293074073], [0.2336990317181067, 0.05346983121197979], [0.3922660802091983, 0.9387638654612261], [0.6441004271300169, 0.17599722133239726], [0.2680311153533689, 0.5882372289691041], [0.39655180617350083, 0.6952477329241115], [0.8090248360324771, 0.34965795420405454], [0.9524278020064229, 0.6011273321279821], [0.779747993014928, 0.3120785576908711], [0.2914612614859947, 0.9782297277200124], [0.9698236813340734, 0.5802331421734104], [0.8911506570425517, 0.04125685614616159], [0.3238246073840121, 0.3990176797656597], [0.6162420195388547, 0.8219309285473434], [0.5734203822008186, 0.9378226061595047], [0.67943926453959, 0.3127869714362964], [0.3505794340463906, 0.9841401431028851], [0.5583992506771976, 0.7349097631635418], [0.91215534927532, 0.9397784860797361], [0.23457682979827932, 0.28805785818551555], [0.2864280100120651, 0.9755775306124311], [0.8111804315741442, 0.658864907737826], [0.6546587604684774, 0.081217935826153], [0.49209871112605796, 0.18443880471938567], [0.7380589222633963, 0.13226012372565243], [0.4141158574539958, 0.7486252794348053], [0.9381311932975932, 0.5387871331369033], [0.9678467092385219, 0.5892770595155682], [0.22479892826531267, 0.3476822675487431], [0.3777349393469921, 0.823836434962518], [0.6715219226047666, 0.33059540839245505], [0.8185104251588025, 0.16519833462584776], [0.46144704304906636, 0.0754091141570461], [0.06052878996781219, 0.8904907633345307], [0.3255182305807989, 0.8033397153451738], [0.6146880385185856, 0.6111481904144535], [0.2439671298634608, 0.9389169756568523], [0.1540373588087517, 0.7238517149146078], [0.5571885332888198, 0.34574974281860715], [0.21395214525505335, 0.4254286418977542], [0.26397511566594933, 0.9898900396321797], [0.037512945689116894, 0.5468932784898026], [0.16515152996713534, 0.9262167677360857], [0.22573857925905993, 0.3492707920019945], [0.001124049544166894, 0.28425132769561023], [0.6215501057248575, 0.9905290924860984], [0.35778375016856134, 0.30762160195886434], [0.3877313919705937, 0.9607678632700994], [0.9573902889626814, 0.32262996292515744], [0.45425487691397826, 0.07870622482237721], [0.5238952973529264, 0.8597029821943247], [0.08078181991949063, 0.4479477393731789], [0.9936619501263215, 0.9512021400488111], [0.49259639038114533, 0.08277393471106154], [0.6506235936129104, 0.6950123816594745], [0.5484700565221481, 0.8843743088340149], [0.4892765185252629, 0.5755325287882362], [0.14284372580454752, 0.5918263816944515], [0.26294084504362647, 0.5122305637435137], [0.10662776941468088, 0.21330831671867523], [0.938130082873547, 0.7673130531906999], [0.8289349885685099, 0.5519543557082376], [0.9269133431358906, 0.3198278094782325], [0.7738822344354679, 0.24779719982298098], [0.8570194432695046, 0.9286662273238985], [0.8668870886908344, 0.6621852428495602], [0.9461838136351914, 0.36932312687074687], [0.7002649065712095, 0.22449935769985707], [0.004166037926131572, 0.2581304157348657], [0.5431120487633204, 0.9247777123826413], [0.7744591393031767, 0.13805459791277586], [0.2758271695643527, 0.01827565386267893], [0.6483928028788304, 0.3292919479764528], [0.009458574507625439, 0.36972337111715736], [0.01028017832751238, 0.32688209055010875], [0.1465727881486244, 0.43494405006914016], [0.9530395117876147, 0.23832150558177845], [0.9549259631008729, 0.9681617262649267], [0.30901573855058817, 0.914422342139791], [0.9875644237068968, 0.33052089357071457], [0.35404763919097837, 0.8597972027254294], [0.29188443555989685, 0.47953058365969325], [0.7429676838991175, 0.16975479180640785], [0.18159655763548221, 0.7734000934379375], [0.5880096797998267, 0.34421206222732736], [0.3748356587710925, 0.7951461395799635], [0.6283331248655945, 0.6200321911877182], [0.743309511912714, 0.22578769392976117], [0.05905545738926821, 0.1931518449147811], [0.5364151971901966, 0.6982941447530925], [0.4150604836412346, 0.9188091686501195], [0.8389599985778918, 0.32724125928295855], [0.6303402517966022, 0.806427773056326], [0.16520587876502002, 0.501098456705621], [0.5438294414200526, 0.9369852662425084], [0.25059029747900174, 0.14744344094337059], [0.7705882972598489, 0.9231237041681626], [0.1077897946089541, 0.7487667525585282], [0.39438008780160716, 0.013930809959791457], [0.3444548600179129, 0.4643109415004222], [0.6657058447696732, 0.7604837862518371], [0.2682072219031667, 0.3277203435115179], [0.9287348472477048, 0.765277032406345], [0.6763295347627756, 0.7091125230801539], [0.34480629984850564, 0.07419708837978267], [0.35472504789272374, 0.8589624997046451], [0.9896405537027316, 0.127542731862353], [0.7879622309060931, 0.5275684867819941], [0.12117197017390835, 0.2343499285131585], [0.6658478299205035, 0.5226631763070276], [0.16295203605413655, 0.29744415932840185], [0.698065040667325, 0.18431645967248744], [0.6046567486435389, 0.8052860770420436], [0.7716982517760514, 0.5493759209748245], [0.23202455818261736, 0.8217784766816701], [0.5450607030390103, 0.7042902370949402], [0.7530390405850376, 0.26079583531977035], [0.8427907211337204, 0.37137598249449266], [0.8717173723844122, 0.19212695393103152], [0.9185621283817711, 0.9141901337112875], [0.5062320213569155, 0.8251051430593452], [0.055534659858974655, 0.15451305716401675], [0.37030508217574987, 0.5148557743190778], [0.7568592523745621, 0.5133723440980072], [0.339987552401818, 0.5774259697930698], [0.5316622810223056, 0.3937847206389965], [0.5360850438581178, 0.14639845138878194], [0.21915602264690492, 0.35897991843123656], [0.22836648190823317, 0.6716883598662667], [0.9213834646774599, 0.780864427374681], [0.3043652298066122, 0.7030798293391533], [0.5371972064073983, 0.7619704199186254], [0.7431900016760036, 0.3919519801798126], [0.6546587046180217, 0.8453474176875571], [0.9708925300311098, 0.8423026890001838], [0.4510922268481551, 0.31002246684033563], [0.9164533247875506, 0.039352609690924245], [0.5482963900603365, 0.740568687524885], [0.3256456041449719, 0.13575857110081735], [0.21901625125577262, 0.9108436564847894], [0.31334318010352835, 0.5390978436404062], [0.3656095896592133, 0.8459306650212286], [0.2975293636046161, 0.9143110805802435], [0.4585482084731395, 0.5598315165063497], [0.7070562645941011, 0.386933166434005], [0.5157609086259664, 0.770606598208645], [0.7932657950673481, 0.4453450760923775], [0.49871654834492474, 0.9786172113340983], [0.22407306684094408, 0.6981880517824726], [0.646441756381739, 0.8233485503209858], [0.1402035934185616, 0.5854363930443396], [0.9567192055449966, 0.3356512579857809], [0.015364693645071759, 0.18926414617328324], [0.6695649918347273, 0.10385858736748477], [0.8034749525124598, 0.9338940096636767], [0.4294633576269625, 0.705658033849443], [0.5998685223178557, 0.7077752244732892], [0.7991814873565091, 0.4371846437868171], [0.9354502848934966, 0.253743336955525], [0.13637742111997198, 0.7072370080770468], [0.3982254328591104, 0.4545656029616826], [0.8812159719445914, 0.317757117103179], [0.22638535817461491, 0.6959712303706882], [0.8825371990977275, 0.1744327362417234], [0.9957693258215125, 0.16289622290224992], [0.46973668624485077, 0.8110194694629296], [0.10420564230262086, 0.4857357235059442], [0.6426682949720288, 0.39161159646439303], [0.9815022883464707, 0.5862433168123262], [0.7632024195343051, 0.1459906063469858], [0.9972351919558777, 0.01718732344816054], [0.24800010223879598, 0.7919053177270337], [0.6375001927241711, 0.7683255477304318], [0.4229324754835322, 0.8236962031325196], [0.8277416800695884, 0.45863547239887215], [0.487269902842297, 0.42927954473266094], [0.8824156379115351, 0.7273498924268335], [0.8755239675257778, 0.08874803757915373], [0.08820979070115409, 0.012490586382999602], [0.9648324474436497, 0.854431159565129], [0.21810235124720112, 0.9864435062112874], [0.9790959869522368, 0.03859912347900396], [0.11750916709170023, 0.7169825056793765], [0.5691518932411171, 0.5919033982225236], [0.8900258028992029, 0.5108521314397523], [0.014120667682367416, 0.5397158182581278], [0.3453068677898916, 0.49719817543769773], [0.07793584281635335, 0.4994329682325691], [0.44161691418120486, 0.9698163052993909], [0.6506940249576051, 0.2502004393533682], [0.09280860118164214, 0.23102944682186866], [0.012138237922718065, 0.10583781534802095], [0.20972967995430114, 0.1150990914878477], [0.49578169922644055, 0.3835624223370747], [0.7545738623453571, 0.243362046769396], [0.3677368982697661, 0.8603979415637317], [0.4721612716705682, 0.7377573687124743], [0.2547451667679054, 0.4808780756783507], [0.3495581900949424, 0.9751969824176177], [0.4846018088933367, 0.033130927903865626], [0.8775699974113284, 0.4699655056182238], [0.5028455576083654, 0.5470150639887754], [0.6746120645349319, 0.4366051756899034], [0.41222963377122157, 0.4307238875465186], [0.6004728008835403, 0.41131686647421706], [0.5772768144715152, 0.7454462650042961], [0.7397985353866412, 0.907962886883664], [0.9021042507140351, 0.5275377367891112], [0.8733551475113873, 0.34375879823165456], [0.36281820669175124, 0.9040143080901887], [0.6976091314451867, 0.17594844749060345], [0.5001421449316588, 0.2625775997123375], [0.37203515833252065, 0.5436964560958387], [0.6679367847599561, 0.7383531093959514], [0.31051988070356795, 0.25398308467495556], [0.6472744534309868, 0.7613629240490312], [0.2741234859466263, 0.8412152432264698], [0.021642863448167016, 0.7952126747175653], [0.373431385841127, 0.6658825147410442], [0.4288649416071435, 0.9317806851262281], [0.6076344511750229, 0.418784762221055], [0.13608791668693432, 0.03720305575382754], [0.223448891656285, 0.4130453173989881], [0.6838440236979756, 0.9865892881467162], [0.6319185975151543, 0.4522386103196807], [0.3142227424033214, 0.6570269641092688], [0.40794153312933923, 0.17001742800026642], [0.09088188216092785, 0.5259795606122025], [0.6408338282577608, 0.8964798816285741], [0.5079296750450667, 0.06421095371164742], [0.9468093362046458, 0.6380515652381109], [0.7714352143355744, 0.23800852838984177], [0.024515574757407288, 0.34233969823548693], [0.4211941923176147, 0.7474197637350896], [0.9979511916573839, 0.8508246028528129], [0.49167469148191023, 0.2621604806567509], [0.37510048574858723, 0.6014050589248919], [0.1842406074190579, 0.9936852062024494], [0.6197407745495251, 0.5317352788321184], [0.22936609515733974, 0.7104637280201551], [0.4257705206696204, 0.8207905798015654], [0.6002563634301256, 0.013687905099505793], [0.3836899149822818, 0.9256680240669501], [0.39920064573731595, 0.9488343783308664], [0.5476552553943851, 0.1140301780241163], [0.568967556755302, 0.2901029801220225], [0.25732613461266274, 0.39408741188839425], [0.7814443599486415, 0.3498906025041002], [0.4514357321575597, 0.3129833682891522], [0.39454818510827117, 0.8160274640859546], [0.7006806440376345, 0.15470128973312014], [0.7786273464053257, 0.8412676839290273], [0.7564904448729642, 0.4359182790142727], [0.8927241942153528, 0.7052525206785025], [0.6711395790582196, 0.3526488930812224], [0.1427622958002912, 0.03869679723914898], [0.29720994348260654, 0.4554186008370533], [0.7609773174520038, 0.9630817242269388], [0.6798632098083693, 0.011761489709113837], [0.9967922676996026, 0.7466521385885112], [0.72263886741094, 0.21524234523086871], [0.28886093722238004, 0.4235397554042424], [0.7668070114049582, 0.2355089498709373], [0.5931196948042072, 0.4364790922008581], [0.539084299913943, 0.8409696493517175], [0.028424742593199936, 0.4890087880799735], [0.9329950685450328, 0.593805092024914], [0.7438245083876143, 0.8573244657993511], [0.15621842711262846, 0.856982894742824], [0.5867518760731005, 0.2099177064036437], [0.15516783132650003, 0.6039790791485325], [0.5012047037642138, 0.9265849516516924], [0.4427502331627262, 0.4398660977056674], [0.4322121219294247, 0.5825960647416187], [0.5376720669012105, 0.34842266156331436], [0.9074825551087022, 0.09764634605194067], [0.13889356738169034, 0.8483695373858572], [0.30400618774717747, 0.6360642652747583], [0.44813714808218974, 0.6639222583376809], [0.8812784695860879, 0.7055617779284676], [0.6402748449633161, 0.03779913703137705], [0.9933923732143619, 0.19122797310839346], [0.08925596364149113, 0.5522132120218022], [0.6483009683284917, 0.5943832060045763], [0.7372456262645052, 0.7088131388779777], [0.1579582967901868, 0.07077813599211047], [0.06513013344233876, 0.25582263555296114], [0.14736037907146093, 0.31209656669161645], [0.8279626892835209, 0.15861830959579526], [0.13646361361712578, 0.9980773158510187], [0.5540758562899293, 0.8523001433928192], [0.41758905985109795, 0.10637353015359818], [0.0379772554356449, 0.08554827459982361], [0.6110053015999294, 0.762671698888341], [0.87649891562688, 0.6512146555920516], [0.42986039331703674, 0.3705313467495658], [0.357444645123559, 0.07140081334600312], [0.11332177570868884, 0.9052659177615077], [0.6771193802187461, 0.041980582959737056], [0.3809944520385977, 0.9700147238662601], [0.7457570828850467, 0.04334413816435867], [0.30530162911643133, 0.1791077055597844], [0.5783617196970172, 0.6934300199060484], [0.12042888431214616, 0.19855081180911816], [0.976526243787468, 0.48681022806859253], [0.9928422022174914, 0.19394469726618357], [0.22811790727108083, 0.8840605108114574], [0.9453842811715412, 0.5138898178137516], [0.9536753431629096, 0.6736336639673742], [0.7709394276774797, 0.49180571748779756], [0.9698011201732385, 0.30452379773753313], [0.5715658384507314, 0.2985743995821214], [0.5226245830042022, 0.7691934274630399], [0.13051621523063628, 0.973225561534785], [0.22889729927076197, 0.3045647898897902], [0.8479523558227243, 0.4610616883958758], [0.8730638830101649, 0.5055773347056258], [0.5944965759607704, 0.06648499016078857], [0.5031808254488183, 0.8348296813930992], [0.3281538615297839, 0.2472822671388749], [0.07959630090276981, 0.2233489682022739], [0.20101215494448532, 0.8614110964336494], [0.41748922226824847, 0.49742422322052193], [0.9014223861987936, 0.8595315902551597], [0.5805781852520743, 0.8981871255315073], [0.7424224428478091, 0.11169951151744428], [0.6819787579887818, 0.32364953217022974], [0.913770348802405, 0.07521944328257746], [0.23053239138731496, 0.9219597432956577], [0.35910111559477964, 0.972359530656734], [0.6712980331684296, 0.02027327131016654], [0.6382767709565522, 0.9415744977356679], [0.08472712476639521, 0.46277841470731396], [0.40581304433681253, 0.14907712850200183], [0.2541476835617573, 0.03400237286290475], [0.49449398284312385, 0.7542347397737907], [0.2597111638197366, 0.3425414572330814], [0.5814776915440961, 0.89434003957319], [0.774656730815081, 0.3002185707576268], [0.19541796078095464, 0.5497163552952252], [0.8925378009912251, 0.2039577303755944], [0.4596559024318764, 0.30828717419120644], [0.5882645807806421, 0.9464648560637797], [0.603996573894121, 0.6187190335049597], [0.31867513822547244, 0.7014956577690938], [0.7933405216596867, 0.7841569292232243], [0.0364833096822017, 0.039508652382182374], [0.9663378986267703, 0.9036339481404886], [0.7158741180630365, 0.18020020443478746], [0.46302727573212166, 0.9993796979946457], [0.0040246291664787215, 0.030282175665908295], [0.9765372558271329, 0.9046810998254536], [0.37120375667056194, 0.9043439550323579], [0.9154353164500748, 0.6837871200495179], [0.026085772881881963, 0.4006286205301469], [0.6853616879720414, 0.021316310886332346], [0.06450736719490746, 0.9572959429083159], [0.013430601601392755, 0.8780528277694833], [0.19288819990086892, 0.6385657711887152], [0.33464060208692803, 0.22189739480478143], [0.6727592230107909, 0.7973119250399135], [0.3839483869291336, 0.7270644118024513], [0.7188687276223892, 0.6300340868713453], [0.38609164357240655, 0.5083299790729527], [0.7072577486115491, 0.2846454135331097], [0.4553687569330299, 0.6602683523396635], [0.672046145600054, 0.023645048734619256], [0.893056895708829, 0.3306271939514712], [0.6211053240584076, 0.20645154116948283], [0.23210339819179704, 0.06990740827150954], [0.9799888354238767, 0.003095965414876223], [0.5488862401193002, 0.11618401816664536], [0.9528249697398038, 0.5917488767731368], [0.8953130258653477, 0.7064448773700591], [0.8551662673752835, 0.4139410111634625], [0.5526470026002469, 0.47356673602282107], [0.9891388209990348, 0.31011285438090186], [0.44963830186398157, 0.24009007057675258], [0.7468398448324738, 0.22370838976757523], [0.5729782329352212, 0.8554512925048916], [0.8111988858292694, 0.07901261314983632], [0.44706238406802923, 0.4672589388451681], [0.6098185096119311, 0.1532366604653399], [0.4612695481842334, 0.6466975440599572], [0.19939363405832689, 0.7741670248649836], [0.23269345329400737, 0.6842347084392625], [0.015482258780816438, 0.15246284235903307], [0.23508739154956526, 0.023044615361015874], [0.2634786309672701, 0.12017768220558978], [0.8894832192491647, 0.3514921451032891], [0.3258649564658209, 0.8923514694054779], [0.7964869592737216, 0.06680943850425958], [0.42611850262306716, 0.6002817565611114], [0.41540876854301156, 0.46982838262460447], [0.053675426467965415, 0.04290136625727292], [0.7462938265622742, 0.38079552997365795], [0.8887138966786398, 0.028104844381539706], [0.9589468672984346, 0.40572380102125416], [0.24674568099625582, 0.6398262214490068], [0.9620574079146591, 0.4236342261406807], [0.11161929072414034, 0.8982416297308244], [0.3321351786293245, 0.9861151185830879], [0.7329152589300255, 0.11613923270609716], [0.7944780702706429, 0.9269644238297288], [0.6953469138975593, 0.7637634383431059], [0.33647809204917745, 0.6180344589745433], [0.572659456642183, 0.754676134275683], [0.7358246488340434, 0.784587307092628], [0.9197187900336902, 0.8673042549663366], [0.2427818343638365, 0.9187702509681925], [0.4861711494953904, 0.4268798626896654], [0.9330265882261255, 0.607946018710999], [0.06351461783178802, 0.1668256670728615], [0.6692501638036994, 0.5747544238415784], [0.8066398366356411, 0.7022360435435951], [0.9888022937500649, 0.3203693122768141], [0.8523844447445943, 0.5448276217575316], [0.5824452847469882, 0.2153235561347202], [0.7137001572982059, 0.3604922631851968], [0.8869071057336227, 0.5175024407468551], [0.9359225124233259, 0.9074090032509027], [0.6435822111783287, 0.8112200201008419], [0.26468215788092375, 0.8321387711435089], [0.3766768956662554, 0.3274789095428592], [0.9696883460040813, 0.3605544036564764], [0.12314960470112124, 0.5071645987349235], [0.5055522340994901, 0.4440625847643417], [0.49012281484028253, 0.6185101129428998], [0.14861328126570228, 0.8315654012001765], [0.33360278035743285, 0.5881878096502636], [0.010730639793966712, 0.1856453994068208], [0.9481398006092646, 0.681315715873933], [0.0038885455205684982, 0.1919520135494771], [0.035510427313473425, 0.5275345879637585], [0.06519318591399115, 0.5018276532421191], [0.43570066091211745, 0.06980317765354882], [0.9479599974052344, 0.7961658875091859], [0.9024178465144517, 0.049562253735104034], [0.3260835381015328, 0.998325960062343], [0.36309105853110757, 0.8759137926418792], [0.46148070325664603, 0.8699362974453473], [0.4719830276483664, 0.8566379906931249], [0.7169847833226516, 0.3934841248372287], [0.7202736281134166, 0.8111320315522307], [0.6131540381853149, 0.041175998502534505], [0.8760293134980958, 0.7255101108861921], [0.6694802122858649, 0.07028094222276593], [0.5846657096008403, 0.9996427281915852], [0.6880845631769198, 0.41736877742877276], [0.06418625672489009, 0.05434821714337379], [0.2190150558318672, 0.6899747193662727], [0.94603210324969, 0.6834333936248713], [0.7962666517665224, 0.508003150631172], [0.31128234976811386, 0.9078929211744733], [0.4983837330789156, 0.8134722572317789], [0.24229241490537035, 0.25799641877820145], [0.696705390044522, 0.3738789470879703], [0.15462460824953572, 0.8067255271935199], [0.9406614306437865, 0.13372926118513007], [0.0008711874851240475, 0.725770972007774], [0.5018740018547084, 0.15679330505500766], [0.4283261337768799, 0.8362507650769945], [0.42696442243668065, 0.019513261986129793], [0.12719634778015798, 0.19788578853659422], [0.10898187090756106, 0.27371609010247344], [0.5982916291031243, 0.30339153746384573], [0.5441770957891967, 0.9748304261963793], [0.07532237619679005, 0.8922627112106651], [0.31337289228872034, 0.3804497704247276], [0.3311456584850523, 0.3482852153874987], [0.7167168391449799, 0.12301668527722542], [0.6125426721368532, 0.028648873510007444], [0.5825591908297, 0.6788470564207669], [0.9313939091634846, 0.1517391019065748], [0.7099403168897175, 0.25860656877221], [0.8620736017097135, 0.3887257857830052], [0.24135118119909105, 0.6132309787270096], [0.027532741167773933, 0.7411856672515206], [0.6370849189997074, 0.6479578010823093], [0.23657280845109285, 0.2520633552524343], [0.05738863908569325, 0.5474072306303749], [0.1665204239898318, 0.0002289591950493941], [0.640135479128618, 0.9910430378983569], [0.6683973358799614, 0.11552341091660656], [0.5035916177034235, 0.4939139495164101], [0.507540387596887, 0.6683839146256866], [0.03886255681232986, 0.9286392442873376], [0.8794611524643874, 0.9684722884655929], [0.8885581468883859, 0.10955632153281769], [0.01962612441070155, 0.6901025408958258], [0.627739619442742, 0.7839517470008932], [0.9429424199656317, 0.6070901200736247], [0.7951984578482559, 0.47026237519617586], [0.21796983370964984, 0.6211234229968885], [0.6692014421414042, 0.08149876200709072], [0.24513560631848919, 0.4138147155404316], [0.48105762348086345, 0.030625064491370924], [0.05012475758106283, 0.3146581820393928], [0.13866406283852284, 0.5939980240999279], [0.45668897563402866, 0.16595465015177546], [0.3862152029189432, 0.9162890116668682], [0.0989119326099065, 0.7571135176429208], [0.10494701361369618, 0.3313486844121847], [0.32423014393515226, 0.9093686157254834], [0.9031215151585127, 0.1723335295623355], [0.8981830851364798, 0.0026854477932473086], [0.19004166642092146, 0.06760221320799698], [0.3369018622765947, 0.519381631984822], [0.8240142918556248, 0.18554827443575594], [0.9552996647908648, 0.9964324260757166], [0.38450771546197526, 0.6289806793993089], [0.5992160214803475, 0.11364995359915997], [0.15980409776217852, 0.5777586646174411], [0.8646956295340129, 0.8334033879025198], [0.30892995666731793, 0.7863175755903141], [0.9815553812336755, 0.4899271520388926], [0.6564552574676641, 0.9722273204138819], [0.8976997090599931, 0.21930992479376876], [0.2738669678493827, 0.8082748139967211], [0.7293771934431007, 0.3279723669474044], [0.10414468714150515, 0.2653204239108763], [0.4584513094357686, 0.9904179179639961], [0.24786642951771187, 0.33634503922087367], [0.020517949520315493, 0.23336950131108525], [0.12027144953924507, 0.10863878078130851], [0.17559926491127076, 0.3519583721698002], [0.6696846047205773, 0.10860790631206496], [0.7798795980263225, 0.14601885134511716], [0.9919753342131205, 0.5595807100534426], [0.41245548251156916, 0.07286672564774277], [0.4451824739831215, 0.9797841540365374], [0.6383685984631327, 0.6139177920730232], [0.3428066923216906, 0.1957785441880373], [0.03977024289174158, 0.4680766324261003], [0.21495476285207793, 0.638439837447349], [0.18157842035082172, 0.24818766117798774], [0.8793904080340776, 0.9851938673413827], [0.10393248195948745, 0.06775109027560644], [0.8911855203240237, 0.26402599274153715], [0.443199372741942, 0.06439990025595765], [0.7068912776678903, 0.40336758914778903], [0.7313649445156947, 0.29807686701848657], [0.19709420829958757, 0.8524420018047114], [0.41695801498450125, 0.2819644873841768], [0.2116781929775603, 0.38334137734011475], [0.3089599590783926, 0.29573727118500337], [0.6854023531069631, 0.05667474481669155], [0.15302682940707812, 0.8784221734068937], [0.626730738254236, 0.49060926861111553], [0.5650436984205405, 0.44005818044065104], [0.8440694432917226, 0.7905601405970981], [0.07354325014589036, 0.7680674424410414], [0.7972262768500866, 0.4862459719300869], [0.03909061924289692, 0.7188690764722095], [0.6230930936735184, 0.9341790511547583], [0.9115336952609793, 0.6890123898061165], [0.8862273052721181, 0.7678639870309223], [0.7370003564426103, 0.5671231824685471], [0.04920105024732602, 0.8136567406604958], [0.9735384649400347, 0.5215345495998955], [0.8319268217430387, 0.736052323654058], [0.735916963500025, 0.09495214700098464], [0.5572888707402214, 0.8460762832550106], [0.538787211836632, 0.522692784322471], [0.9146941287355889, 0.17881969891143779], [0.6453014644405931, 0.27567992897344407], [0.6559968359068832, 0.9980484897964839], [0.7713421573606288, 0.4974814323522997], [0.8321137693849029, 0.038645999801230735], [0.8457424448793266, 0.0928462793542375], [0.28597620520448297, 0.10437192275944707], [0.586501942084105, 0.07955058194618236], [0.6475892085579799, 0.48947830688138605], [0.01279190576014766, 0.9790158585484529], [0.4291615954031782, 0.06217858168817869], [0.4696767128068683, 0.9825208242469283], [0.6320842205317528, 0.4832537949344119], [0.8410986149363879, 0.8069604756724721], [0.30686390372184846, 0.3858240372529421], [0.580407567030677, 0.45803332357546944], [0.6474325819073388, 0.3539168263653676], [0.1149014367336143, 0.8237615056987595], [0.8383981113427523, 0.31270380013820664], [0.2739572417633339, 0.7494286020294072], [0.09535249977531024, 0.06946066546067065], [0.30176954629960784, 0.658675300182148], [0.8459434381045267, 0.3603336270043671], [0.40619052451940185, 0.8718649799579066], [0.6759457836258552, 0.5782166397555581], [0.27184807474224737, 0.4015539102208334], [0.09353598471885982, 0.7597631438820875], [0.2795717374571841, 0.20468549055923113], [0.5339870136738595, 0.741810700608864], [0.6128743044632933, 0.4807254929747584], [0.35418685710950126, 0.3859330200860174], [0.6618682722338318, 0.12549765102089527], [0.4563013475944355, 0.5130032535576319], [0.3495453311283562, 0.9555923422371758], [0.17374899593720428, 0.47274181903505363], [0.9438762213399843, 0.4720447875157737], [0.28138975088399565, 0.2334926489280219], [0.40377133354289607, 0.9831221911907093], [0.36290230909337184, 0.5863957560474863], [0.006045014920957881, 0.2823300712090552], [0.4049257978581561, 0.15536117434668684], [0.9756704853988952, 0.6530949211844254], [0.4086168207742613, 0.4761774740111808], [0.06115121095589737, 0.5039458644147325], [0.5302045575482661, 0.14284285924506768], [0.8011671503139777, 0.10377796203409229], [0.454979779849349, 0.28907897191061005], [0.901194055979222, 0.7479398582290607], [0.5994284477016417, 0.9339622006350707], [0.2781844443761722, 0.3381500678958238], [0.42497611583941564, 0.7854270055272694], [0.00838609709628868, 0.07261640107871337], [0.8839649300413439, 0.8826658884964738], [0.8095232911814891, 0.7997975426097218], [0.8452315440755279, 0.7683827143898112], [0.8617602862197945, 0.4112715437426232], [0.33282336041494964, 0.3216497792160389], [0.4435420312616407, 0.7264817969490778], [0.9394336717998802, 0.0424672630118903], [0.01873059278671385, 0.4690655584136989], [0.0369789555205835, 0.12445348246650056], [0.1622074800301454, 0.1624209837876993], [0.1945325917382772, 0.044258406884175594], [0.9619673805452286, 0.8562685089140837], [0.5818885910110674, 0.5033848411986596], [0.5313406152534309, 0.47422963424158104], [0.29937818996428944, 0.9189236490106104], [0.32475763248304934, 0.6060948524599878], [0.11315866117815276, 0.5227982582510913], [0.4805290468937319, 0.07641309018973252], [0.6972487053495455, 0.5941597701536605], [0.4195235475305815, 0.16104690226349683], [0.23811787313536548, 0.6837659459290755], [0.5718062933555494, 0.15666241424462146], [0.5343718458475124, 0.07068087820011348], [0.008893689554619222, 0.2945565290015336], [0.27746286944693144, 0.9245857545603291], [0.42091908090423147, 0.24779342321508457], [0.7611007910552104, 0.2896993714933893], [0.6552522737310641, 0.7006780555089008], [0.17052392407039474, 0.9170306510760602], [0.9615188675585267, 0.6255602689609112], [0.07364052681530275, 0.5001045455160585], [0.24278926199987283, 0.9837225994631305], [0.07415421906778763, 0.14857289051618783], [0.782197388641683, 0.24239279316091955], [0.23999554510966836, 0.019427905110254273], [0.43516492838349596, 0.801936941165896], [0.9929948366011725, 0.3378945041233061], [0.7512530406679908, 0.9471846093080496], [0.3706113582651489, 0.9949302853942733], [0.6986499878499648, 0.27573376257838944], [0.9520718260370072, 0.23665771193384], [0.7635470789385111, 0.6861773275378809], [0.3927943019598119, 0.6832267174308744], [0.1613482437033562, 0.5421980156657049], [0.3331389326168197, 0.9328206719478019], [0.2156066034936438, 0.5859305755491295], [0.006956653384693423, 0.8153250371448738], [0.9742592019000793, 0.8114224779041558], [0.028882941396733863, 0.11950788487266739], [0.9040699963928637, 0.5080067880033962], [0.7911609466130709, 0.6610197979944773], [0.42239104511791636, 0.9781478903323076], [0.15769069961818127, 0.9577599812454651], [0.9676676543059977, 0.4538001209994662], [0.9243114152433531, 0.06958733152437269], [0.05488273186159642, 0.4495666321973245], [0.8740232060579866, 0.8325119813940398], [0.2432684615628803, 0.411104544949798], [0.04294802879063675, 0.306615234010582], [0.7241940692862309, 0.47068343826170467], [0.6015297733412396, 0.45755914017909705], [0.6351661227461988, 0.8941036880825851], [0.7722267249541789, 0.24498094629115086], [0.8565125718018697, 0.05362138584395004], [0.011404638111534249, 0.7191800155380922], [0.7497576274809611, 0.9209834743469286], [0.5139867154999501, 0.10172433519524593], [0.4236694872898963, 0.5227940787202867], [0.18629648164921042, 0.6356491375043138], [0.6352794255314672, 0.6601201920233583], [0.7695938178042374, 0.022092527827608177], [0.026405517805041967, 0.3832910833242217], [0.02433956273390303, 0.8991906935181803], [0.28410565741427507, 0.04291257274305127], [0.9598694001320183, 0.21924481850211108], [0.7927411045445762, 0.7877270352593032], [0.5539615919273252, 0.8756586967325126], [0.029707428775578637, 0.1341593806269531], [0.4535479618699555, 0.5153539451416651], [0.4379655742629781, 0.46462132417656477], [0.6353119849865898, 0.7654740937940565], [0.9717764831031076, 0.5566416076227496], [0.5449321583760047, 0.352374128179039], [0.35246012281325867, 0.7848838674628137], [0.4870667960361441, 0.27148529766584306], [0.5442278017048996, 0.7678253936993197], [0.36679657043940495, 0.3176601094026006], [0.6185044019515681, 0.6324288338431588], [0.991414495904512, 0.17652299551393513], [0.5538449823994124, 0.6373626582163705], [0.7161558465023153, 0.36468730217877476], [0.16660894719505726, 0.35189979924101633], [0.09618747021611351, 0.9632310977553432], [0.2814321045698146, 0.6648928945571005], [0.5078171914996684, 0.7747068731539433], [0.36586839108178437, 0.8538474067935996], [0.9508652033187094, 0.1491513943444175], [0.6503334516722992, 0.9852156522109137], [0.034902987443873656, 0.12467451531685392], [0.783509983485092, 0.42367773730197145], [0.3556965482563462, 0.2928802515905222], [0.5978706810116243, 0.8602366646500513], [0.27688176743045856, 0.2215453226408074], [0.4269636507715785, 0.1768825803950047], [0.44416745028029014, 0.6523629197078677], [0.09356877486863213, 0.7820864031251886], [0.08210946667297492, 0.8018752666450734], [0.9856886301578436, 0.5155254691167126], [0.0010121308628839865, 0.9090249762036263], [0.9038450960808799, 0.12346618457934055], [0.4942625956474276, 0.08504202018626483], [0.08199261200626007, 0.6012936479644921], [0.5827343890751107, 0.710494662871296], [0.40332715238630557, 0.6124393432319772], [0.27781468400933096, 0.14254942579665852], [0.9660542495268377, 0.9049975183033474], [0.953248038428535, 0.4352614432194579], [0.9336266159439999, 0.3426163756946038], [0.16905855499908895, 0.6602888143126691], [0.5603039651291215, 0.3748825049700333], [0.31086979234789924, 0.028013760219570805], [0.40650301942978073, 0.4808443264436436], [0.818314775577205, 0.23659674759511784], [0.29328200652785374, 0.1414034988294398], [0.048660399148048095, 0.8035663908184196], [0.7991201087704892, 0.19072417700193445], [0.6865020268701292, 0.07975043986555552], [0.10395635114893131, 0.4150534621143811], [0.32078998603159636, 0.15803221908355558], [0.1852883274992735, 0.11992353485619911], [0.21128587612479854, 0.3359669724106782], [0.06692754353948971, 0.10477646615298697], [0.8656652608001733, 0.31792476397225833], [0.5186869484436858, 0.8434850334306624], [0.6420991413274891, 0.18155951501903989], [0.9155350330212181, 0.3386167418046653], [0.39642955893809095, 0.9859513793570224], [0.00027675746549160607, 0.8186933396357945], [0.32703868089464416, 0.027063990132459304], [0.18457664163694087, 0.2787287021424698], [0.42881912186796567, 0.6506016349281037], [0.6958720209902666, 0.8714497642977814], [0.7858570777142058, 0.06300870734770392], [0.4496178991875478, 0.41822096397278075], [0.5263081298463805, 0.8176609322275331], [0.595593368144201, 0.07280019172714347], [0.3008467395600636, 0.9318818109192357], [0.8144920118213897, 0.8810188245656626], [0.13163232033928018, 0.024288022979984336], [0.2815808184446321, 0.2886969746113357], [0.9625285497554413, 0.11655613900087136], [0.41121329026655196, 0.8828773863461253], [0.4173814215683085, 0.8355787881788477], [0.05150263704572211, 0.908201695137721], [0.9519800917739611, 0.023254217345987316], [0.02602335457509175, 0.5370351698608231], [0.5226063422916051, 0.3456647020523862], [0.09276547459971718, 0.3454550138469894], [0.33327192061400857, 0.7179942290017836], [0.8990928296319891, 0.9242602653090983], [0.7641017656955786, 0.5524199647057035], [0.9105635758493069, 0.21306239092873658], [0.22385133774282184, 0.8574444817225209], [0.862990973572672, 0.2892820071516312], [0.10206048050426908, 0.6279221065121007], [0.19663689229643821, 0.7848419112402318], [0.49063845138197026, 0.6080614356667661], [0.4091232736933622, 0.1116369606487897], [0.2569896033800503, 0.5959562663435681], [0.12193808292855068, 0.4816661660485214], [0.06717648676948862, 0.4573929252035679], [0.3880548312189833, 0.3763495832637971], [0.36954760758205085, 0.32501438438107955], [0.29114021385730715, 0.019039564690559563], [0.23742499112235416, 0.0051132949934082905], [0.5812061338487448, 0.4451490095570755], [0.4624962643477367, 0.23568800368983778], [0.7784175869307124, 0.38849336065019846], [0.6074272403854526, 0.002375833094916402], [0.3172964360165129, 0.45750447386263526], [0.3470732303158749, 0.865672555438703], [0.9580125147788275, 0.14471957408181158], [0.06448128502149253, 0.15420239284146786], [0.4472450214674636, 0.4097676509918995], [0.3671551999688262, 0.8320378781662131], [0.6220560707141762, 0.7798276023796985], [0.22964317888527164, 0.019859813367418155], [0.08894748273413666, 0.6492671808028339], [0.2297929077773352, 0.5209692817194287], [0.9771553398906676, 0.14640805175992921], [0.0432904982989919, 0.8607654317785226], [0.9764079309890553, 0.9391812166297152], [0.9595241826628345, 0.3200867731417867], [0.42690641505625326, 0.9777537079035721], [0.288801844749369, 0.8525153903946334], [0.2026633588285225, 0.5326742850929822], [0.09491114345576901, 0.351914962068693], [0.21762630378333636, 0.20382743481784593], [0.7426679860212623, 0.42409324601888143], [0.22937040887901383, 0.2192208850654337], [0.618954301677631, 0.4617075113374822], [0.1255383459556424, 0.9572283312121033], [0.21841565667859641, 0.9491367173006332], [0.1833511076595168, 0.7597507124857226], [0.5633662076292398, 0.06313072182833757], [0.7542297717159779, 0.2847810272675665], [0.2585120191845449, 0.6816415856865639], [0.6136379426893042, 0.2810216651641093], [0.1410323891322165, 0.8347785897705077], [0.784123855230405, 0.9664075269176858], [0.2706123380757254, 0.8109521215213207], [0.5935996343439991, 0.8524897788225853], [0.5679764407202307, 0.45797041131593275], [0.6656209987080445, 0.7699702003982177], [0.3243285599586464, 0.8815158324801984], [0.742456142752487, 0.7299096885622908], [0.5146569435457121, 0.1383623138091601], [0.015227064805318546, 0.6185504239125871], [0.3409730705359999, 0.9795159103690017], [0.0642850010760262, 0.42457135951969294], [0.04642363362833157, 0.41624663084866753], [0.9274222887754068, 0.11042577900270956], [0.1873856600131637, 0.5190606446036388], [0.5512707261848294, 0.16923354570095261], [0.44940480348727785, 0.3931025919337071], [0.9269598479591049, 0.9782612833383529], [0.8457410866012937, 0.7030912705596233], [0.4337741800596159, 0.44381432369840756], [0.39222683245207046, 0.7478262984564791], [0.8673324600389934, 0.1273912146281918], [0.6073342763687135, 0.8652208222889117], [0.542237980967772, 0.4504137591194478], [0.04085827345678472, 0.557045164963975], [0.8839934235347754, 0.1852080698557651], [0.7385414940261769, 0.5533412022545688], [0.41927655627742666, 0.8780663647621076], [0.004811641419819157, 0.10992242454832835], [0.6095705436001526, 0.42356856747128413], [0.38917716808223235, 0.5576830690232637], [0.8832636221368134, 0.7495681991016417], [0.7481207031362064, 0.006497056828353331], [0.9027219574066907, 0.9314625355551892], [0.400956329198631, 0.8125128564055422], [0.9116728235314284, 0.6383165693315256], [0.02479184100267595, 0.5845978353144622], [0.5761098242251, 0.7836354929250097], [0.5084871365741228, 0.208057359748677], [0.7831593732056743, 0.93492227224973], [0.7243117157855197, 0.037175618716359105], [0.8200691419970925, 0.11831512140776046], [0.2258670149159484, 0.15864074367027658], [0.427495566551394, 0.48387078797934246], [0.2628677439519199, 0.5001150177669588], [0.3249650768772525, 0.873099391382424], [0.8829328626633934, 0.05522917641818259], [0.03093160314166532, 0.5417018315160815], [0.9765629194181715, 0.5148669808989533], [0.5078788373321079, 0.060676578726284514], [0.27733756352699246, 0.7799486122824355], [0.6485859956310085, 0.7851473197879478], [0.1251247991733233, 0.9599383883339456], [0.7012522408664333, 0.39215082225789477], [0.602369187168968, 0.9213390843435719], [0.7706227876783124, 0.9625062994701481], [0.17768736480126135, 0.6394122251833972], [0.5714139614050032, 0.11124617367444078], [0.8277735086248145, 0.6168760571474076], [0.3489271432518859, 0.8253129212177224], [0.1722736888816645, 0.3050943392109604], [0.5533000377247349, 0.4087310338293443], [0.5206471871962665, 0.1379336769442775], [0.9817394159918678, 0.34095127826082483], [0.9672746458979828, 0.32864946765724834], [0.22895059080825153, 0.20692420582167503], [0.3302116468382539, 0.3317412517836269], [0.8449211937666986, 0.963554051017866], [0.9050824630473956, 0.13518608813214628], [0.1132921533733503, 0.4722733690985643], [0.8687225502872493, 0.22563329447013958], [0.5530146738801346, 0.7386111486416495], [0.3133180404772862, 0.8680047459676924], [0.9627913075274834, 0.937410112949033], [0.8479456589524729, 0.9946628427010251], [0.7157363736385954, 0.996349044944891], [0.3163058333562273, 0.598667276350836], [0.5846538510523921, 0.640173003264335], [0.9579189096578019, 0.23047633026954528], [0.2391412142258197, 0.5115055399657085], [0.5120006778017181, 0.03600704928581666], [0.6295485225511471, 0.6398581561339824], [0.11039947561340402, 0.7906151685572311], [0.9178934668805959, 0.531571512719308], [0.11343201521814539, 0.37932907364291524], [0.16384393754503845, 0.39002222059892344], [0.06914762993555046, 0.6502144766606612], [0.6211476579124166, 0.4380662234034153], [0.44340251761322325, 0.4807442122069254], [0.06320460006770934, 0.5114671800779096], [0.6875868804373738, 0.6117293898974138], [0.6440756606997359, 0.9070485643480035], [0.6233914601471483, 0.5052762621691581], [0.149443979176758, 0.13074474511327705], [0.9635786610742887, 0.5621979950038474], [0.3619163483617306, 0.8770848691418911], [0.5808424429583552, 0.36207067836512496], [0.2361340652448526, 0.11196390182769855], [0.6898819459135729, 0.7505324239000462], [0.6184982082010785, 0.5537568660458272], [0.09962893097212511, 0.921215298801673], [0.3719924722859643, 0.704177241192045], [0.28309123112610113, 0.6236623086411456], [0.939648281492234, 0.8821150537545194], [0.04398034887721147, 0.03703179286661584], [0.3867822654088061, 0.1461594448445257], [0.13915333987963752, 0.06181489099418069], [0.10705253448078189, 0.41486659520859415], [0.9224427882804608, 0.4501526514028412], [0.613208348221605, 0.04436118825019586], [0.4953620353053424, 0.5721594770610053], [0.2434972462297159, 0.7987401635758606], [0.4031783283479664, 0.3515707447572549], [0.47307695796949256, 0.2928675510228034], [0.4267746776064737, 0.5936129764525784], [0.5511765436736424, 0.6732649403973368], [0.394062213350443, 0.5062535015056642], [0.11388338137740062, 0.2957967065000203], [0.2214578554109633, 0.9765801016929303], [0.41622160454263324, 0.9828056884887929], [0.8815195895330786, 0.9943640250257519], [0.23023360547196892, 0.6521832626175409], [0.39175933827057197, 0.7786202813070299], [0.4976446945246559, 0.9986683467062922], [0.12572835244612446, 0.7246128653433247], [0.041557063640192626, 0.904742280593229], [0.12837172896698257, 0.9516549814222336], [0.638525912424063, 0.6746675841976036], [0.004206632707471569, 0.47203009261158824], [0.4466496763012142, 0.7678100251888977], [0.8666733289684736, 0.04723726509639403], [0.31791489145366303, 0.5127901880375629], [0.8636536414727177, 0.32197651483965084], [0.6693237431200528, 0.3454613607782979], [0.21110662799357893, 0.6849637541147721], [0.39522549480210456, 0.5506007686887174], [0.6740405933838368, 0.05253588003156939], [0.35696092850545547, 0.31733937018171376], [0.9780100845677157, 0.7698073014599641], [0.7336365066367015, 0.2534006398311617], [0.8590475829577454, 0.6159837079789874], [0.2621076680610317, 0.8929136066468564], [0.511458848177363, 0.7910037389585292], [0.9926949542553491, 0.6342131372443457], [0.41822127728856473, 0.7275916780569978], [0.9670287156078861, 0.4445190245988522], [0.7553078309303937, 0.356444292665557], [0.4679062249760908, 0.15593540922528515], [0.4279207600527819, 0.027868726477251915], [0.3784358833046485, 0.3910587618069622], [0.9226642298377129, 0.4217649392053576], [0.7963188877123221, 0.41253986510582874], [0.6451815291778374, 0.27077209397497204], [0.4395007131524914, 0.15222495513651013], [0.7849318008193081, 0.5487463720422467], [0.20767364592728266, 0.18083006897405696], [0.31522108120115777, 0.08325593589086255], [0.9967707550658782, 0.05812426395319148], [0.36111715086556284, 0.21317002735262225], [0.2739627927557412, 0.6864511233094419], [0.7181650371801696, 0.4567915168109731], [0.5419072272999176, 0.7553166695991765], [0.1338111339211172, 0.7954176485100729], [0.8263056325364826, 0.09381842830562093], [0.30277846967608313, 0.4932650180969287], [0.37312574702786694, 0.05761488702416484], [0.9348536861913842, 0.4778132389425501], [0.7386437515405381, 0.3165318481206102], [0.8835826186664039, 0.6870389364396442], [0.25617671894247296, 0.601069614051298], [0.41082054507382515, 0.9543686374698495], [0.6955516605565611, 0.7822560496041886], [0.6585373063525215, 0.7738969076873682], [0.5310480165996266, 0.44399484622575824], [0.43140487928079896, 0.3230672927446311], [0.835520839238831, 0.4843445940223723], [0.35890721785722746, 0.491526053887689], [0.7539206194084509, 0.17663077513662195], [0.03069783504699053, 0.6599712490692795], [0.5056236851431458, 0.7003807392540675], [0.3894139481024277, 0.8737636350725595], [0.2961278376991483, 0.3991493902478084], [0.9268716141329275, 0.7356714477344355], [0.47197553408596904, 0.12948279467258528], [0.39825939325467685, 0.6759315458996857], [0.16061593929217255, 0.5502971072836975], [0.8090745131210932, 0.3473765112913124], [0.27257468512910255, 0.050851682383510455], [0.14105791272060186, 0.08824144204935813], [0.5341491277915174, 0.381327569144694], [0.22338352634493408, 0.6504252630633186], [0.9475567129209916, 0.9091704110559997], [0.28785807209775216, 0.8078959722494014], [0.6829311564155652, 0.351550663660391], [0.48769825817901646, 0.3604930437468239], [0.2885142903396475, 0.494264188643764], [0.23963922476232846, 0.28028174310347453], [0.7063420256777726, 0.3845813039174475], [0.8120273204546512, 0.022069384840843087], [0.01977639247882801, 0.2062962344458662], [0.4507475468937544, 0.21453356982378957], [0.24681948758277839, 0.7775405862851911], [0.865567446718318, 0.8331388152835414], [0.4336313590264932, 0.029529170743884392], [0.909935099234333, 0.7338091935979385], [0.6565716488383095, 0.3049895342217426], [0.5197620257686648, 0.16425137309052606], [0.22058340510177177, 0.5973390782236012], [0.2773951979491752, 0.5101508419182968], [0.9506960289730142, 0.980096082733886], [0.812574634864324, 0.798898985808803], [0.1921482796568158, 0.20886164853999145], [0.8511367126645782, 0.7152388018639773], [0.21380463036245123, 0.977826206616678], [0.383974776997266, 0.9468349013188275], [0.7697628908030194, 0.16740280661530982], [0.3331277706975272, 0.16573238431172954], [0.8144177653998734, 0.22128607703140246], [0.17244978627061336, 0.345362758616819], [0.34119484135182787, 0.3140496890577479], [0.5552173731653736, 0.7013269621805626], [0.7977052625457616, 0.9837105107709684], [0.9135310995134448, 0.9987927239072502], [0.4252029811172996, 0.8562387086957736], [0.2876408086597009, 0.1484259491981612], [0.6007773845120147, 0.7461206631706507], [0.43043327477083393, 0.8257947467940318], [0.8546247066220521, 0.17978465994785497], [0.2718631868933419, 0.8336977785050548], [0.049505457855154145, 0.7792407694300997], [0.9480168936457298, 0.5823581262368931], [0.9756127861327379, 0.7952898878365108], [0.8612682208209711, 0.33465443440203035], [0.1131782612780372, 0.43031745102287566], [0.21898633301484127, 0.1389137368228165], [0.6567881944678104, 0.5036306124808613], [0.43262077735974414, 0.4345794675999629], [0.1999730054189719, 0.3503232264005892], [0.497805446694633, 0.17134154186932782], [0.811733290155472, 0.14027622969811793], [0.6035114613608227, 0.07938052146245045], [0.4453368901244412, 0.8235887342035416], [0.4683081282360295, 0.9226474110258677], [0.6653308650004945, 0.6259744959551995], [0.10021637942246908, 0.5681280994426691], [0.5942190237978703, 0.9695142816310058], [0.004911160681087323, 0.20439748718728123], [0.052964676389581467, 0.8228298430721669], [0.5670869949038114, 0.20608209704083003], [0.7642543164985969, 0.846823234306293], [0.6893369772800354, 0.814423198544662], [0.45023636634041164, 0.07066511013695542], [0.9952191879141845, 0.22902055459873094], [0.9686802044906423, 0.9846773563871392], [0.6008834035738349, 0.6850527156799735], [0.48776276680886776, 0.5219249023892514], [0.41547778943463987, 0.12165051117074643], [0.11405228823619007, 0.3758453303400703], [0.040198801003411444, 0.9604855867482426], [0.08600148380429073, 0.9111821077004953], [0.20070551304599482, 0.7419909087546765], [0.3838896300343335, 0.29022462059860366], [0.5658508922204679, 0.4848710597703275], [0.23907808918088358, 0.7219771942139119], [0.3770538624813047, 0.14694363363579888], [0.5600788293469338, 0.24096642183781325], [0.27131794476604654, 0.9866600874187123], [0.3058164897006671, 0.8971938692514019], [0.9204304610950169, 0.5891992162395091], [0.38280851584096054, 0.15383316843984807], [0.4835497312472715, 0.06498570255226266], [0.502732867791061, 0.1810324245542706], [0.8438347109816072, 0.8864027565814278], [0.13168146573360873, 0.9607581507853963], [0.28301071385331145, 0.1488865534554924], [0.20221005818523297, 0.3190315861259254], [0.4868259123890608, 0.21908063411627166], [0.08188018214678017, 0.00011106973575558676], [0.6292478450727896, 0.9204477098396038], [0.23460779588084824, 0.4810354393927838], [0.40019143111039, 0.9774555600657912], [0.4948410781561031, 0.8506686500637809], [0.8128123654468353, 0.7443257215464166], [0.4017536050390409, 0.0996968125358626], [0.6191895531290156, 0.6235691863171287], [0.03451980458397663, 0.5476646649538823], [0.6431070038937903, 0.7889403921528426], [0.5134757596208577, 0.35102707263219923], [0.2790657945555707, 0.8597716370600267], [0.6590365275384867, 0.8675285607037159], [0.1064076299058846, 0.9556534359884398], [0.6110463284486869, 0.494556098141968], [0.30351752877455684, 0.15292527189876437], [0.9476298384428786, 0.3289741604563412], [0.8304313230887413, 0.9271133215162359], [0.2979719739458757, 0.44008280340680517], [0.8756430430659367, 0.49224958685136233], [0.07935864032732431, 0.9680295778842537], [0.850621559588142, 0.30238802478497273], [0.22218639024350695, 0.04721001215503684], [0.4205466900028455, 0.27146099268365553], [0.24003713681571992, 0.3719596931814866], [0.3209518972594273, 0.7059313200237192], [0.47633395967815073, 0.6521702575289724], [0.28766471725757947, 0.6137321585889816], [0.19120003337217362, 0.20309246179659945], [0.032232071323022526, 0.9657288373623266], [0.8414015560022108, 0.9019706453567391], [0.5233534192180191, 0.3995186478948639], [0.14879637873225504, 0.924673167322813], [0.5209955590854838, 0.5022818103359062], [0.5019429951755486, 0.6609444824092696], [0.6314759233529902, 0.43183542584284884], [0.8821288078316994, 0.07384655228886228], [0.1624341108887054, 0.3416344811727188], [0.14612908770442312, 0.3321436688586281], [0.15131507774877062, 0.3322660259565986], [0.6930109688160869, 0.29333821044078423], [0.9550304717225149, 0.11054697991673412], [0.39151107585831346, 0.9684560702570107], [0.2824799575329454, 0.6175824035956573], [0.4233601657479191, 0.06655894874037216], [0.2799823981257237, 0.9846257355741482], [0.22213929112361663, 0.7154577639638549], [0.46646537134743493, 0.36168833026192626], [0.6709136435580173, 0.263771721933974], [0.3271119410503377, 0.25273406317308045], [0.2512937272423469, 0.3438665096832809], [0.5170459690275356, 0.39576008723795875], [0.7222532105604332, 0.5060686817374717], [0.4779520739922616, 0.9290852447112604], [0.06651327068991819, 0.7647245561890773], [0.8942783045580383, 0.6779534155894815], [0.24037110710322762, 0.20633338642271404], [0.20224387823061252, 0.3814591377055685], [0.059644552946150564, 0.7201585500043206], [0.08656185567045704, 0.9688559575767632], [0.42632595819499963, 0.05795335626514886], [0.3678742517147955, 0.2544069164112772], [0.6073665650046629, 0.43999028015454344], [0.4300739639249146, 0.8049102557882943], [0.7126015526466787, 0.43545990147666336], [0.48533712435291343, 0.13351986311470854], [0.8917373227565485, 0.46105080463709736], [0.7631625815188913, 0.6209182439275066], [0.9051102385224472, 0.12132582463949626], [0.8384589085251992, 0.5470580368690056], [0.47753783043967524, 0.8910019651578522], [0.6388740278446008, 0.7019755134810122], [0.5998561248520455, 0.6889587842484809], [0.8069404108965613, 0.5499732347314944], [0.6528422439575537, 0.015475497138112027], [0.5486705595333026, 0.0648953412193336], [0.8542551983880821, 0.7970807173898413], [0.2803799665337664, 0.5266260890974928], [0.5280549470988959, 0.5438306026211337], [0.24443129460118462, 0.4590805169089075], [0.2049025650239391, 0.0874884455917797], [0.589291161138977, 0.5142044229264379], [0.12329649044121593, 0.028245297093271504], [0.5712206794874769, 0.9657856698897598], [0.21634626343692342, 0.3238233614042708], [0.8479891645677234, 0.41086829162597427], [0.2927221858984408, 0.7677568273142334], [0.7622410568655781, 0.59493681604351], [0.34300111680403556, 0.48053616541824307], [0.5609826803113903, 0.4693101609371023], [0.9947431710455691, 0.7005822346046275], [0.5247446904209369, 0.05251085309238701], [0.3444152334395776, 0.7144512579364689], [0.6789168863015096, 0.6446761456913315], [0.08033388090159677, 0.12442211409053094], [0.6688431137962372, 0.05753209244899238], [0.14224234822249637, 0.5585709333123622], [0.18372830715797517, 0.7547983341713274], [0.043046492781137924, 0.6417673385398645], [0.2872432242559233, 0.2272576015827379], [0.5610632409264281, 0.3964947505732953], [0.6050721133750174, 0.5813471914109948], [0.035949622123540026, 0.6901196481942672], [0.8585268376123006, 0.10763984863348519], [0.4092326096276008, 0.38174621719007795], [0.928703465670671, 0.8362924592970195], [0.4913888086454462, 0.48781655701594695], [0.9029880443281572, 0.30256981971560326], [0.06873978781139034, 0.07548905674353812], [0.11926861821228607, 0.20806111997146393], [0.5404098304757393, 0.42812169055984073], [0.4491070124015294, 0.3529155306273777], [0.6296993615846567, 0.9504390831887212], [0.7038956328152388, 0.7100027235246], [0.7671572299450502, 0.9475361300603194], [0.9821488254910783, 0.5738783276112036], [0.03557341194296515, 0.626354738990052], [0.5481299585301715, 0.9769109348244912], [0.7811425011406691, 0.8507661758052882], [0.4086913809393745, 0.0732725979062343], [0.8863911095612617, 0.9446414711935784], [0.32641279274449464, 0.384393729925691], [0.3279705717589212, 0.5012328070018086], [0.8402886686513571, 0.5926352818646442], [0.2875383572411009, 0.7380880034326105], [0.47000214870990986, 0.28874428205866254], [0.8721710733470542, 0.30266096118691266], [0.3602242906631048, 0.6721682628562585], [0.6686761801040478, 0.5543924936499995], [0.5399207023955104, 0.22324482410729085], [0.1973121682267348, 0.029248998918324998], [0.2919177703985263, 0.8509608307108438], [0.06761372465896942, 0.49764764097610015], [0.08978118310100369, 0.3081236101042759], [0.7911417478492239, 0.664281485179344], [0.6910947598421548, 0.24918161423576513], [0.5691641078321015, 0.9599179880777766], [0.5214437060362779, 0.8763481493208246], [0.917564354520095, 0.4631142886692874], [0.21527089625290308, 0.9170414487909334], [0.5564936975202923, 0.34051288453389794], [0.006446275086517628, 0.19660702320636503], [0.41139883091915996, 0.23387216954296375], [0.3757317354992855, 0.21590294782622366], [0.2888622413389407, 0.605254361771557], [0.9184401897415022, 0.6953857914820386], [0.6274744562374849, 0.06511246327762066], [0.18360166003835865, 0.9513815978450627], [0.5914898870207921, 0.8077147920059499], [0.09932757544476012, 0.362548233116769], [0.9491114197813787, 0.039182336343689506], [0.6802948983430066, 0.5472572345608573], [0.4237405364945802, 0.006920684571795732], [0.9685758319005974, 0.664119139122874], [0.7339981115966266, 0.20766913682705268], [0.6092920513598689, 0.6285037400177559], [0.3017862718099463, 0.13372599221286074], [0.5212035857760703, 0.8695839234064273], [0.26656301645426617, 0.8647567052123819], [0.06486678727770523, 0.2702489830980218], [0.8009282699963958, 0.539658231614986], [0.8531284231447783, 0.0685210615965759], [0.9524907487227058, 0.15507465874617188], [0.02544511620046075, 0.7086074734569544], [0.851750222953416, 0.7502944301924765], [0.8634082121238646, 0.9707783039314648], [0.7765682472124334, 0.6520181202207842], [0.7683001178361257, 0.612905210509801], [0.2377053007428459, 0.27224510876142216], [0.6721898609002125, 0.6260464079790706], [0.025169504855122815, 0.016551736914408033], [0.3122661156489711, 0.48200433324361347], [0.9817744249510084, 0.22753912432236145], [0.9397571849538308, 0.7599515745350036], [0.608186625854329, 0.6197521333147131], [0.7607448446469763, 0.8428838467668472], [0.49967722184893404, 0.5482375605033943], [0.1957662393833458, 0.8013548612419532], [0.9718334379567771, 0.07015140016453703], [0.49562204790060194, 0.6613648433720916], [0.8752973086511613, 0.10809365081096867], [0.018095693241424238, 0.9123717969284695], [0.6987650499523284, 0.5101503285260129], [0.7026250904424952, 0.21276029582834388], [0.37433281609073865, 0.9337477041727156], [0.37429416052378506, 0.1667556534847623], [0.15091523587066202, 0.618177398679689], [0.6322496620770345, 0.58329265223442], [0.6289338744327426, 0.6300451152132165], [0.27376186294211435, 0.8958693490728102], [0.7854550973521278, 0.7661939077577135], [0.18317568840601794, 0.12416766900838327], [0.5990397444871005, 0.08614078243080803], [0.04011311222593117, 0.58044122376796], [0.8934334382385865, 0.44446282855083996], [0.3416371490152982, 0.1801662007161149], [0.06667892117571672, 0.22974300385457436], [0.6049826175544649, 0.7953560804542953], [0.8134947198083313, 0.2745029593816861], [0.06514362077771563, 0.8778792550336789], [0.03800457928903345, 0.020388574672178028], [0.4478269850663258, 0.26489345356253047], [0.004870071940542453, 0.14932980810905838], [0.9560618661586215, 0.5532806662712729], [0.6598085253374045, 0.5274215830876685], [0.08725605636247913, 0.46095884103826135], [0.8301377638576796, 0.19795825287854518], [0.327847610754482, 0.17597541824147167], [0.5906132436533181, 0.9796140774691725], [0.32780904867558347, 0.4358687454388961], [0.3967467933760722, 0.20990417633818348], [0.09295486141123366, 0.7338870300514885], [0.9942086572831977, 0.7266896262261086], [0.749925445640951, 0.9515223015403275], [0.5208867007488301, 0.5698689352514393], [0.4392275643092197, 0.11353978637263185], [0.09686571626903506, 0.44973401779373], [0.46206647313281923, 0.8864535332967604], [0.693475407531463, 0.236994381152975], [0.021168439449721688, 0.08019606801128876], [0.6555464761657993, 0.1538733969485745], [0.8710403358732224, 0.5376140551808205], [0.5731284306336806, 0.918861820869073], [0.08740292158852692, 0.12856703300146655], [0.6311369582145758, 0.1698115849414269], [0.19278534934545866, 0.48173942387371893], [0.7703236602753026, 0.7723850888278984], [0.042465445789864664, 0.6241229862512073], [0.03976528302046434, 0.08400123844882024], [0.3951721862254599, 0.21305987281100325], [0.3858472314934339, 0.760128405742016], [0.06194829257615908, 0.8464859700183878], [0.6948569728859402, 0.2406760583135561], [0.7308617007470195, 0.2746237051313757], [0.5031198164395851, 0.7253220660499966], [0.4966139380492156, 0.5704978192358877], [0.46981967169340333, 0.07205402502261538], [0.19576142350872672, 0.3609251611091979], [0.5226562915165355, 0.9142956897079245], [0.932413744847109, 0.3385537070639404], [0.11941569173194155, 0.44292769253329434], [0.11087048497396101, 0.642137210965539], [0.6050821195484644, 0.822965646276471], [0.5411359218140095, 0.16360089749781148], [0.12572315363444042, 0.1687803297523447], [0.16095774116652828, 0.981455458370105], [0.419336387998816, 0.5154995326651465], [0.16931240764472644, 0.4748886291461454], [0.5744356334113737, 0.16868135701122], [0.9217842974901799, 0.16527322986280368], [0.17465417518193926, 0.43228961991109394], [0.5593812739159432, 0.09254700315206155], [0.4470473929459605, 0.928191790185382], [0.34731142340703314, 0.27220222699159835], [0.20899062143449743, 0.9094566654699896], [0.8544762652740509, 0.9044235548547521], [0.9352371912497934, 0.4118491132933514], [0.13719571323923285, 0.11059462426727162], [0.607230681362824, 0.7509859797110218], [0.16669756938705427, 0.8000883873566452], [0.0696656656601955, 0.8804148765826391], [0.18747851716595376, 0.17172602857421915], [0.48619260801597486, 0.7103693973972468], [0.07414170897449246, 0.20047059111852328], [0.10416507732030034, 0.7180142132799054], [0.9934578032167452, 0.7702904699235964], [0.9105666310388018, 0.803730266211793], [0.4501670927659216, 0.34080486264099386], [0.7301213063090665, 0.6308404921630797], [0.6371229848911167, 0.6609641337773526], [0.284862049560511, 0.8561098750712018], [0.764559160457543, 0.6097756982639203], [0.18879179422804537, 0.6093596796647897], [0.09867897446464391, 0.6351335224234183], [0.6310732864031041, 0.7915671585250106], [0.4439853250036726, 0.11423447088823524], [0.8201368377459978, 0.4515735096061195], [0.8516718387680973, 0.9590548054625065], [0.9556574441006934, 0.7397717260470652], [0.7267929187862097, 0.6269687629304275], [0.46509243611008055, 0.3742798884279146], [0.5079629512944354, 0.7260657061263414], [0.611337427827095, 0.16092582672562983], [0.5750257505775596, 0.6758137099699296], [0.7902680546313254, 0.7248383974380312], [0.1331013166864623, 0.36888558074500966], [0.9504949997357409, 0.5394408740885235], [0.10404268057450017, 0.5795336054553987], [0.44202460069786287, 0.16295718239004042], [0.5659034660162713, 0.6309356657077777], [0.21194222847000022, 0.45034942980641623], [0.8977826246128218, 0.2310151989878252], [0.6648651796663542, 0.8571156045390427], [0.2637605065928057, 0.41020693069045944], [0.5951459898186237, 0.4412069156055156], [0.568750503853286, 0.8299400690763289], [0.10904369079742826, 0.19286267946097002], [0.24310490525569783, 0.7048667021967803], [0.7032868735865078, 0.1406022569665729], [0.5701797322587953, 0.7321867501992172], [0.9862538246848227, 0.44658951433420235], [0.44632678827484984, 0.09893157543939357], [0.07663066707679245, 0.08951973854349371], [0.8920748646440768, 0.05730141943129197], [0.21515450181172135, 0.4435068443889105], [0.7901991301593081, 0.07435787229964663], [0.31964523538505085, 0.27715177018982384], [0.6662949111304837, 0.18353685398255448], [0.6621652727222598, 0.9239647512494165], [0.8697650574621445, 0.5670685186660287], [0.8872238873338009, 0.10782146670396264], [0.22169822461963462, 0.6141271984577996], [0.07587886749834016, 0.570159776048442], [0.8470493306763915, 0.0658098901485592], [0.2735583172043242, 0.05438946436844794], [0.7991951406488506, 0.12054122655262711], [0.8083436229302627, 0.21046189174550545], [0.9797412327314396, 0.6359174805690871], [0.17947414905899284, 0.7897499337554732], [0.6649070371868323, 0.41402196052064166], [0.7988007312085547, 0.7266584223531374], [0.02133946520860386, 0.28814714514283546], [0.7838593802433975, 0.06597759712526696], [0.3790549377850886, 0.21693079045677066], [0.8896126602972353, 0.5895267182531763], [0.28461550800043656, 0.29024343933920094], [0.06643651816122809, 0.5196922425260103], [0.6131971406136468, 0.6775843336711931], [0.8099183782709309, 0.4991364817087488], [0.1381448332513664, 0.6336512935717951], [0.25383814421002404, 0.8061951392568165], [0.5116740819846561, 0.3126106625189534], [0.4721423726421061, 0.5919523192701936], [0.04184584692219162, 0.12505061330918232], [0.7937314461517497, 0.12170375000196276], [0.37689052213396, 0.5669342029232535], [0.2874572288232268, 0.828236185987244], [0.5002676420527399, 0.8603350930360333], [0.4772605533865739, 0.8832556295304964], [0.9091303803867501, 0.7826485211219881], [0.6849432434633265, 0.7705290652750123], [0.28591391020116674, 0.9088922092645491], [0.5139406092275621, 0.22798549806274582], [0.5091334347304349, 0.5357114148243971], [0.0841589754843225, 0.9376185794528481], [0.2717256278649237, 0.7474743428346893], [0.3934063253974561, 0.8580181339684502], [0.13210792629067025, 0.7476308034040388], [0.4771487919852141, 0.38538764006907866], [0.12488946455800176, 0.6605111221357242], [0.5780574344923146, 0.9700148617890821], [0.33089897360472664, 0.7181175848115292], [0.6213168506562802, 0.7092673355049841], [0.07816060612942721, 0.3212714989465869], [0.31773419148757687, 0.7290080415235606], [0.8444928502130514, 0.5609733142365947], [0.41631026063583665, 0.7868209870342197], [0.07084522920859326, 0.2786282986142814], [0.1704400895829571, 0.23115313795921644], [0.31213372551018614, 0.456894423096592], [0.16654638403166422, 0.28805861477754624], [0.2588323514694809, 0.3405288254076436], [0.12781945952775497, 0.8244185827402859], [0.36163686047621346, 0.5607337805862012], [0.2872573202749118, 0.11046921641678298], [0.4600034272347311, 0.817696823821842], [0.2835103981441831, 0.6974239040477218], [0.26169336122409625, 0.7146181244143217], [0.29847401875150636, 0.2152103895896582], [0.08489095049264073, 0.4172315143647679], [0.8200168064023786, 0.7378546161516927], [0.5846087448221579, 0.32656756248396446], [0.2633386474455207, 0.3647642445447973], [0.6875099914339816, 0.5426579784138548], [0.4408065148780541, 0.7147328382299692], [0.2440914608377488, 0.8517981497982638], [0.05948124993249082, 0.6534211351338612], [0.7958355294572889, 0.6955389940630364], [0.2683970689703309, 0.0919169255098442], [0.45689977615391353, 0.8836690233464357], [0.9156609311471312, 0.18314616705186426], [0.6371379608524873, 0.06413230013665971], [0.6238473160807353, 0.7914424898756134], [0.9052597234252074, 0.9801256404096335], [0.28163619269698126, 0.30240573407560356], [0.06692352064759799, 0.3719997050178432], [0.9561225827604724, 0.3153790869981151], [0.069306652792405, 0.3123991195498772], [0.63814498114943, 0.4958601292816751], [0.08856719378309252, 0.8969272118186972], [0.8289410837840085, 0.71634965678458], [0.6186580404914127, 0.5634038463265543], [0.5411762005834516, 0.7193827970563622], [0.003055996109114112, 0.8865584207026223], [0.5418879748408121, 0.043884345195040586], [0.2752222341256336, 0.23632726038288543], [0.5492136827351498, 0.011489720468803477], [0.13399394029791722, 0.5751830166778462], [0.76103501617443, 0.0489798059069565], [0.30813408410849763, 0.06127365400266138], [0.32499601649068877, 0.6076546280545702], [0.36177469587634237, 0.30093903410746725], [0.5513867900202898, 0.2810990148514697], [0.10872319071376646, 0.864998101120938], [0.5857685080278187, 0.07094032152047702], [0.8184918217096367, 0.06605570560549467], [0.8226585381069388, 0.9248683261012165], [0.14251340827453474, 0.6660515551610742], [0.4436038901530941, 0.4754581574036444], [0.18672599982414717, 0.9322813127353161], [0.7439213810268949, 0.5797462920814269], [0.1265099307892924, 0.8542846836575145], [0.16581992850785265, 0.4990409747471203], [0.4817721428505777, 0.49731688615945524], [0.7282979415384931, 0.7046298627284194], [0.7033101370714675, 0.42913128512834264], [0.20781805062272973, 0.4997573766158595], [0.5810155612013188, 0.8051492963254723], [0.5800282325900665, 0.9980416868214768], [0.5559412076933323, 0.28390404752310183], [0.11967281374723537, 0.05987836462228813], [0.9972489606594316, 0.07360528416430101], [0.5585844881861399, 0.7962577098183151], [0.5618936799933824, 0.35071193812698664], [0.05976893009758388, 0.2352459176535644], [0.7364939431910752, 0.44786228931957683], [0.9048767525454902, 0.06443876077847399], [0.13358775822629787, 0.8351186255044445], [0.7109982884166325, 0.508431329554849], [0.528710215542438, 0.9653192180695381], [0.21682609901041994, 0.5199619776600104], [0.22056444369512518, 0.6263935510352177], [0.9140330322299448, 0.5394691584589696], [0.092745473885401, 0.7081642156127801], [0.05732416974234189, 0.20489303592929764], [0.9504677989636224, 0.1537621426189203], [0.2979428236837889, 0.5519919534755141], [0.7154501758813404, 0.4389024077663274], [0.3800964692091352, 0.6914233733174947], [0.8220118200662828, 0.9967539939468466], [0.44891038039939835, 0.834574374448203], [0.882588144156084, 0.826012630842599], [0.33290621404680154, 0.8774114697996671], [0.13804501099671562, 0.1777778668643436], [0.3429382634386896, 0.6816476687255165], [0.11705490045081868, 0.5614305629395691], [0.6729682694968132, 0.05622520811686238], [0.5519238888451633, 0.7239318380037538], [0.16928840366636022, 0.15220951495366075], [0.10110416164933167, 0.4067575535692808], [0.9408101485682382, 0.24108245935646022], [0.5373297575801369, 0.38664995220056153], [0.9937002865155483, 0.3085249264632567], [0.9461407416797042, 0.6866443722105915], [0.8983563074742117, 0.7306435432945753], [0.8345946875616828, 0.7697904736949672], [0.19198805331411684, 0.3217975733522145], [0.01722549480833957, 0.41234154171822446], [0.0995970631655847, 0.556839370494077], [0.650219351680122, 0.5312463986853891], [0.813268485249705, 0.3758578074244374], [0.16993245105145982, 0.3199132910649224], [0.0679999975380633, 0.7384841258102774], [0.16777266677731528, 0.731777966028776], [0.6619006290111016, 0.13433313164685368], [0.2575468100035996, 0.9675226274218757], [0.3935941907200472, 0.20430232312645646], [0.279311348095151, 0.7442831753942615], [0.31564059790603327, 0.8937652603776459], [0.2390956846777067, 0.7648841621986476], [0.69763416885028, 0.6033912766367124], [0.757282626141684, 0.3167432588399991], [0.6380293048558175, 0.33585804416731935], [0.6100319411289732, 0.04175955665832809], [0.331936020883704, 0.35532705164849876], [0.8062112090247776, 0.5691410669309959], [0.48729273072599155, 0.380926143372206], [0.3931146873162633, 0.7028887874287277], [0.052650990702231004, 0.9305531202326522], [0.9336284776726828, 0.13506541472335698], [0.7788795077896252, 0.2909419908223605], [0.4935671884686935, 0.31861311850748564], [0.5819970159969226, 0.07008386158561342], [0.5777731525220943, 0.12180061067560255], [0.7206996172357518, 0.6245157813462046], [0.11593952390832762, 0.6470310270093269], [0.40378093782288293, 0.8657207538462315], [0.6084044580684634, 0.08746347151977163], [0.3227402051783981, 0.5916452390931554], [0.6933289983881514, 0.9162419662763623], [0.9070410270677275, 0.06022432275520995], [0.6114351156412566, 0.857330782040482], [0.7671647621932141, 0.9394451754777787], [0.6107779825646508, 0.46506497061457186], [0.8053361871994159, 0.6644806867147226], [0.852070758675314, 0.9040449547199909], [0.4975631153473177, 0.6089658403827324], [0.5511749164820643, 0.44474045652319494], [0.5735954277555122, 0.7990233364800752], [0.10049389866239344, 0.2404247853345719], [0.03758240419567971, 0.3847011066974181], [0.5046716302436071, 0.7462324444284182], [0.5709699501786565, 0.2819122752357782], [0.5159504780096321, 0.5937621460444567], [0.7642437254950945, 0.09172991429739052], [0.27001949489566757, 0.5350690790743389], [0.9174448497905356, 0.7840211903685314], [0.7396035622931701, 0.2948858600599068], [0.7861706858999292, 0.03914929673181289], [0.0955076929861175, 0.4005996369104975], [0.7748717138377174, 0.023158739079683466], [0.5564729452263598, 0.29696156090700776], [0.9897620454215474, 0.7663418482211349], [0.8716830895044183, 0.3116059663874575], [0.7816935182140303, 0.4069520638424172], [0.4558781679848011, 0.14317449854180664], [0.7787279480337918, 0.7899996389626343], [0.9713642884410649, 0.5130620749292856], [0.7610141505355764, 0.5016756123027886], [0.5095757207846374, 0.6932781278611755], [0.1460861541826468, 0.9151870731533691], [0.2470359458888176, 0.22394657548033703], [0.6909039340707549, 0.1552490597560473], [0.2565211589894789, 0.7404358379876274], [0.8929033132428331, 0.01247246612073738], [0.23496520139386978, 0.9679901330943331], [0.16318205863003066, 0.062224396719822384], [0.24020446912888738, 0.16737929963156106], [0.8988976802966091, 0.651161721275891], [0.5620617954070665, 0.33258282215350476], [0.5242516914549225, 0.4864314263347239], [0.3419696653478924, 0.5113119966889826], [0.7176659994623539, 0.09945363945962216], [0.9569855521081481, 0.49903664663361924], [0.35321864165520045, 0.4471100371323915], [0.4978633787859005, 0.37260448091223475], [0.1676790175360673, 0.027690308090361215], [0.24539188566984615, 0.7383783590483444], [0.8523505628544651, 0.5586757033421063], [0.1223280939123752, 0.5063988640651866], [0.7261616165159344, 0.5068691303996412], [0.7162760361269287, 0.7083517920276643], [0.15244033630109632, 0.8294483289469353], [0.561553066396581, 0.9791260087230033], [0.030787178806007898, 0.624052844150504], [0.854731189386306, 0.17706948793224286], [0.5339241958016628, 0.8961385667882718], [0.5752681120775077, 0.5304245425151852], [0.06345857688832002, 0.8016560683391395], [0.34310950105089955, 0.5012422091118823], [0.021612829061272376, 0.3978215042442744], [0.8677490350917874, 0.6452013873080653], [0.9234386407006688, 0.07570847789308666], [0.13433830060907537, 0.879532771546075], [0.7174693556666005, 0.07990365331746108], [0.6960055182737741, 0.4353799408924709], [0.48268790851112153, 0.19747630558571472], [0.009287639496032285, 0.5406999103679484], [0.8439872047083047, 0.23636036392401505], [0.5381384534200426, 0.963718037877274], [0.2307959862947666, 0.25345409567284916], [0.12684997854250013, 0.43185270028064804], [0.3679370489606445, 0.5642163650285403], [0.0500277768702152, 0.3218371980051995], [0.5454791881951138, 0.957334946283448], [0.6709833683462402, 0.2682002162298608], [0.22426850822594024, 0.3899775413104336], [0.6811127884763752, 0.8573458022541849], [0.22931632081000852, 0.6577947736127622], [0.21806537568996198, 0.830254433630922], [0.7347464542484381, 0.4500019534760341], [0.3595282775923385, 0.1658249911810098], [0.6010425287209842, 0.8645273518237421], [0.6770449171641238, 0.955724197449579], [0.8714291923424295, 0.15034106255766955], [0.6061995871565888, 0.25539873125882306], [0.4744011693957182, 0.015433478621258767], [0.8059369228749275, 0.7907591693951294], [0.7245333796195058, 0.47902804644375074], [0.5035504923346058, 0.5313566037429328], [0.179260483430021, 0.029754340810417723], [0.48480632058047357, 0.8169336212640839], [0.49839625170567514, 0.801546751219794], [0.85494160800294, 0.21210065300843384], [0.9458454292940783, 0.44478080185091096], [0.15334501115500432, 0.3210386112173107], [0.8187085776872153, 0.3007683250447656], [0.748324613278196, 0.9514767844688233], [0.39882650238816997, 0.9540144794289543], [0.6049311189870783, 0.7728530342664652], [0.22384268846465838, 0.6220819297940224], [0.4410309923951874, 0.42111629119996774], [0.22103826910700664, 0.945654157896996], [0.48524382717340664, 0.9369554518882347], [0.03176741341436329, 0.930945518094562], [0.2593482804721574, 0.6326498593740658], [0.06269084607407793, 0.7592208102128385], [0.4632078714984179, 0.04063889043271707], [0.10948663592650765, 0.7698931173595087], [0.8520174525483722, 0.4163564893380287], [0.30184541121154795, 0.5920481871812774], [0.3482619426718945, 0.21646022615605598], [0.788456764579604, 0.8006479374130971], [0.8749603589259927, 0.9156789134435692], [0.31762921425930046, 0.3426557177274149], [0.25232222491280876, 0.13144098747145638], [0.3800342993400725, 0.4843206706378782], [0.43486586436137775, 0.6478549133083791], [0.503393529591604, 0.2826710441864838], [0.9845730017588897, 0.3312358974157752], [0.9386876236294066, 0.8908669131808384], [0.8479899826438695, 0.1372306666200095], [0.8071093725559162, 0.29938845214734944], [0.23399042781602464, 0.22305853630114003], [0.4201234781659786, 0.9203400489573627], [0.9378861523248083, 0.6144004602198496], [0.7922500708768481, 0.6546337832922138], [0.8068784071860313, 0.8852911236149594], [0.9441562690695596, 0.09249112241827384], [0.2035364621357355, 0.5282291499331705], [0.22384070187961425, 0.2023010234897724], [0.3548649383257827, 0.06700545205608821], [0.5883028105050669, 0.8943756084077648], [0.8720294116535572, 0.4519612020986077], [0.6567107018233433, 0.27249129936036875], [0.9574350151744342, 0.4656410597854448], [0.16112621319245468, 0.2839122815198729], [0.7538708063207691, 0.41140783013540083], [0.7032103646298238, 0.34708782885664624], [0.29351508225473477, 0.7048323427169705], [0.0006460510313930357, 0.41534757655902066], [0.25509876049381286, 0.5411736338916971], [0.19868310645436604, 0.5004414962868082], [0.03714487898908014, 0.9714476377789324], [0.7778054110625647, 0.48312563273744613], [0.12377004698170146, 0.25357211764369103], [0.051836325152922136, 0.3810601475605574], [0.1105390635492779, 0.9500615181581878], [0.9676199182000325, 0.5939604039971929], [0.29220231646799677, 0.9770895752475589], [0.6364103614705812, 0.58391441836246], [0.6912739837839864, 0.4465850799905483], [0.1772969774486759, 0.31218920915448656], [0.1728127761480125, 0.3180152533294113], [0.08723942083817171, 0.3996562912775983], [0.3923900881624752, 0.2742534535910377], [0.9286975354405809, 0.4178176875806795], [0.21671115586369705, 0.3121205201029744], [0.008595785273983969, 0.9134516356746764], [0.9472254365582177, 0.8835190069199319], [0.08565511563007555, 0.2059694420698993], [0.6179046037725325, 0.18843884951146506], [0.8325049433958295, 0.3326734606900993], [0.6144573834966537, 0.8752487019023004], [0.043461801907366926, 0.36431622131248886], [0.05128816329421915, 0.3398832971531296], [0.17603277803928186, 0.21755906496189448], [0.4580480038210557, 0.3290162778455542], [0.07759926226267777, 0.3006054509869115], [0.7866859242769145, 0.8911525249143061], [0.663699365387004, 0.3980197380138666], [0.9259406340559244, 0.1598571296098007], [0.01642345574284587, 0.5358522492083613], [0.988610456850414, 0.7499915012931279], [0.21017189903397238, 0.14342409406347711], [0.6205952534200245, 0.13414902493235614], [0.5548335498776668, 0.19212019815744252], [0.7400278344499164, 0.012983926515936384], [0.20159585658146972, 0.716454151925396], [0.7239827864344295, 0.029618871912273748], [0.9780619210862058, 0.049786544486606354], [0.27798775164774037, 0.07181219095339963], [0.8540249611060972, 0.6611829109835569], [0.8003671413781013, 0.0307198812022611], [0.9189253051509632, 0.5343951863013362], [0.2646026141027038, 0.9522830629786923], [0.7787629799006032, 0.48177928465514486], [0.7600009853635463, 0.103216948317023], [0.9551692939600849, 0.5349051110643513], [0.7811657295393698, 0.9107778936022536], [0.7312075189716548, 0.8311719174980344], [0.5824582791429759, 0.30264049976889684], [0.040956431979473185, 0.6567936520986153], [0.9060042657014156, 0.40388442520499035], [0.5396337538083993, 0.6140648833472515], [0.781646839608759, 0.07852042747944632], [0.03325982474900213, 0.5420570067942077], [0.20280387030439173, 0.35350852932181587], [0.21591856195402825, 0.17147432916412375], [0.17501689454657987, 0.8848845024900434], [0.0012979854345013253, 0.8895359160417827], [0.27400598114085495, 0.5942571765972796], [0.3364734685064895, 0.15674241347513906], [0.2434065260624929, 0.8328429845641084], [0.9917546626807009, 0.29745571938757676], [0.6572404815040193, 0.017225421871670754], [0.404351841858828, 0.45801031443795304], [0.04370344323616604, 0.04804368898738376], [0.32405248218696037, 0.27601750972831807], [0.6218905673940132, 0.023045945352651587], [0.39775266895909034, 0.39270811721847076], [0.6658657978445119, 0.7408501017593657], [0.691934836187247, 0.5675025515403389], [0.40272545969706175, 0.5517889104908347], [0.8650631847611527, 0.7362372802204121], [0.6248611681888433, 0.9010519079369411], [0.9392233563085496, 0.09762381432180589], [0.5164985508914012, 0.8520704543331905], [0.1683108372703609, 0.750252931875039], [0.8417749204586251, 0.631380204109106], [0.3856701926909305, 0.06633263229424358], [0.9811066923372636, 0.5912480454600043], [0.032303496074329696, 0.5631103984415857], [0.3450475034393097, 0.6035301487456671], [0.5524620970125217, 0.9480533003721098], [0.5899000797406259, 0.1437425748964304], [0.08270259593082818, 0.5787904407201493], [0.1430445573541944, 0.4107072567032668], [0.2779354090282512, 0.8886934792554294], [0.3959391489995291, 0.9598290535010584], [0.48740109531665166, 0.47812067163737326], [0.29627235662901363, 0.5626808147822039], [0.3879088799351168, 0.3041749904008866], [0.08173591712793671, 0.04400902598307144], [0.8707671359796706, 0.32899832211838964], [0.8478227086959115, 0.6799128699704992], [0.3839388635328873, 0.4028781616895525], [0.6360408501244025, 0.8725573603360467], [0.14873581203947717, 0.45994483331261793], [0.5908094196733652, 0.07733503201686642], [0.44545775152648803, 0.8488544487687504], [0.9668099942261668, 0.40022120574313425], [0.6340044794546593, 0.7559493394471912], [0.4849100911409502, 0.9550473963820083], [0.7666876191551434, 0.27356204359558733], [0.2229818407627, 0.25568286021489073], [0.37400679056479724, 0.34917968686898926], [0.7846314573482128, 0.6813650223843492], [0.9819117216124734, 0.5797282081692484], [0.6611476713497917, 0.8061915355628999], [0.6828064342301753, 0.7988444621102918], [0.5042528816974589, 0.14627865945779783], [0.2938535506167932, 0.5550045584855887], [0.4306768175222755, 0.6147533292121474], [0.49260885251273956, 0.6491593057704859], [0.47752371807960237, 0.30766718168392504], [0.41453000164061815, 0.130568382844517], [0.1449102585700559, 0.8377711411721326], [0.12623691274470172, 0.13053667179940576], [0.7800691774843428, 0.6891455462415725], [0.7208529053948041, 0.2920008903166589], [0.8715129939313131, 0.5448815105281456], [0.06540435141090084, 0.07968230229635576], [0.3658038287192067, 0.1821164986703222], [0.40341587843231574, 0.989626926741355], [0.4144570443294079, 0.4051016921241605], [0.8268665664737889, 0.7899670913698866], [0.9329549263014281, 0.33261065669663903], [0.5220350317422583, 0.07997982026785244], [0.8684570067813197, 0.8914605930264589], [0.5986968415263996, 0.4854214714126791], [0.22842009264437801, 0.8916245672036862], [0.9156878134035042, 0.43786908258664425], [0.06340313199407754, 0.6237464677531522], [0.06524993668683798, 0.4148454919859391], [0.9901624582524665, 0.43735145576338585], [0.5209446791772442, 0.5931160134737258], [0.7418043765942427, 0.9232323720336595], [0.344951644861922, 0.6517356804276814], [0.17501593714283514, 0.8193669397200352], [0.7226655249981072, 0.0332114379305708], [0.3697787038405641, 0.9311710488547102], [0.8310143311813147, 0.38234610782501854], [0.861605893285027, 0.41367520308005656], [0.7635873242832385, 0.41640559764374363], [0.6456283220274132, 0.9861933503616198], [0.715533129876803, 0.5162419581593115], [0.3580967090471776, 0.6376893358302774], [0.6840451980962617, 0.6418030646757055], [0.8829640338714649, 0.8221767643406378], [0.9687732002888528, 0.7743178319195765], [0.936276941971607, 0.9542613108830582], [0.8927563850300648, 0.5535957573042201], [0.0547036861479363, 0.43532209788678344], [0.055545564546516046, 0.9222310162777125], [0.16990978470019713, 0.5853809723584351], [0.9185355572941323, 0.25969875303339074], [0.23801521553222238, 0.7402516204005105], [0.352537198606206, 0.8819053858380486], [0.07219786181673826, 0.373062432309351], [0.5271909362639587, 0.20063031501986373], [0.6058417244419158, 0.9901203526504757], [0.21078017736604138, 0.27060748094433507], [0.21037552008977944, 0.6520386568518183], [0.5593663920637102, 0.7409517344203599], [0.863109358865181, 0.5400408439016918], [0.06620791275070248, 0.39116721705226065], [0.0657782508096223, 0.747935982780315], [0.2352389943625235, 0.16772749115322383], [0.2251697626353868, 0.1095450835974795], [0.6247174858627135, 0.18711737459234756], [0.15075502746412794, 0.564299430397062], [0.6748568289158566, 0.14195563276636647], [0.5413821242946735, 0.04406222841394769], [0.984664283879365, 0.044311431765432285], [0.6742965821252112, 0.26421530088047085], [0.7018850253598193, 0.7044009104304745], [0.9123982621363148, 0.5554454269604316], [0.05577642171704633, 0.6327558071583852], [0.4776779736746254, 0.04241696055447364], [0.2607919505602393, 0.802135444549036], [0.4374700896404047, 0.9747466839079483], [0.5616664219970243, 0.5617820552997345], [0.47718854422844137, 0.0495383544713871], [0.7366406901397378, 0.6901048798522895], [0.04694523840786857, 0.7226366337709309], [0.3710072372980917, 0.8550189485400351], [0.34321502548917016, 0.10899771162388894], [0.3704769908372847, 0.7167715901626102], [0.631580145922332, 0.623731759941739], [0.40496005741276275, 0.15473677731128554], [0.9614287137691161, 0.26332164333827446], [0.07804903881606184, 0.557793168841745], [0.159521236903851, 0.3474626750028519], [0.9500795887934556, 0.8181255645000471], [0.46529581697292377, 0.7988883476879368], [0.11625927810616044, 0.49037603265933083], [0.09603895799017259, 0.07789197239708678], [0.09875323752618748, 0.6366219738118291], [0.9228169928515334, 0.1853642723529546], [0.3398746595788593, 0.9534203019482499], [0.21110441591053475, 0.6878441513687384], [0.48748665713372064, 0.8344883096996535], [0.48191189173396676, 0.778433951723383], [0.03400045695214171, 0.0951357693074949], [0.26099640660598056, 0.7486206965152233], [0.9645617486987025, 0.5140868275973359], [0.9353612350589291, 0.731416590245294], [0.8994093704038392, 0.8429587444807801], [0.8538597285891475, 0.33826970095532105], [0.5129410126224052, 0.4767218689697249], [0.14941555927251038, 0.14193774714220309], [0.6925030406441492, 0.9712418659697422], [0.005896538114300132, 0.5697147817690819], [0.18724847153638624, 0.06479900221741308], [0.43296059161611855, 0.29040236909803085], [0.5893444943590809, 0.9309784896829963], [0.44232297028411194, 0.8129067491511535], [0.952728123001968, 0.13463014484765545], [0.16979471527776369, 0.4369674123966385], [0.4361195434033449, 0.730299492631125], [0.790107241062634, 0.7763436896560612], [0.8922247589820229, 0.9797520843001394], [0.11703955194363613, 0.022091859711770523], [0.3173653483034725, 0.7349510788079944], [0.4197464185750327, 0.31692165884528867], [0.3021662278948979, 0.5213859061384157], [0.5980144776310001, 0.06090302727360186], [0.40565863800371493, 0.8818849501829333], [0.19361483405569302, 0.40057757888787804], [0.43504248117192446, 0.09008967000476653], [0.06103524838239993, 0.08473737319099783], [0.09021960174163768, 0.6877898020629795], [0.840625010995627, 0.34911999039871144], [0.9421745591265974, 0.4417821799681888], [0.7752002647091257, 0.555483397472192], [0.9658977165466474, 0.06152107083156233], [0.4097545247740467, 0.7866383684878766], [0.18470584702899895, 0.15700413863421137], [0.6710030029182872, 0.19633289598757797], [0.2995366383281324, 0.8786423888993247], [0.017982119799842544, 0.7433863829490226], [0.6331275061201901, 0.19996711432157144], [0.8868063253531462, 0.6258048571056378], [0.5667071291786723, 0.4683854761178877], [0.2667512433965771, 0.39343018877333813], [0.26856644347612135, 0.4669740583147216], [0.32271617486031223, 0.589899690575695], [0.6246262085550045, 0.0076659098833101735], [0.49059717226731636, 0.8970259007367645], [0.8785276741133364, 0.9203586583169018], [0.6718487555905229, 0.15348946518190176], [0.4080180973408678, 0.17595733648514011], [0.5583030991457026, 0.3144345626848519], [0.7940069201911405, 0.448863931675465], [0.009372928917915857, 0.3111917701111673], [0.3290880650643684, 0.8418048140540684], [0.36675101116554276, 0.000499890639366396], [0.8150694547780524, 0.42218756464849283], [0.6266122106966058, 0.4741287765398915], [0.6104182847770424, 0.9874150929714214], [0.7743131543712831, 0.5818269224152535], [0.5559198595651584, 0.4214532253807731], [0.4180783975737761, 0.8824118334836094], [0.9365537510258601, 0.9166533103990978], [0.9461690827306134, 0.4382629254414032], [0.05227386470779127, 0.35092042586902095], [0.3903578912201503, 0.16585605738011966], [0.11962426729661702, 0.92683915821052], [0.7289223556373703, 0.9615925972833003], [0.4823455834811382, 0.2795849780461437], [0.6956879246206019, 0.6531368786530173], [0.16783568358787182, 0.20078423108857146], [0.4054994922483479, 0.8839838446200541], [0.8719122116059946, 0.041537279370316926], [0.4003134013723142, 0.9345968678663193], [0.29788976690630464, 0.8186301076832453], [0.7700045905977893, 0.3655149028025211], [0.3222349684819362, 0.5314571425843407], [0.615246375501962, 0.0581102503179699], [0.5989076129090545, 0.20405812904000264], [0.5338541785781509, 0.9769940056153932], [0.1052892437274685, 0.3443126275254432], [0.21207578090659596, 0.7418555750053618], [0.9016968709233019, 0.019972843763410575], [0.4129015025566616, 0.686056402603604], [0.9240536258708161, 0.19843192477757687], [0.31936545565135044, 0.0027952134949317253], [0.6705864586014483, 0.4220018486240842], [0.8417521342578465, 0.9449652052709223], [0.2601887129618907, 0.20890656498702698], [0.15292197658545137, 0.4823514079013027], [0.810812238129747, 0.6931322612513289], [0.15688201606983654, 0.20421862193734563], [0.5118105935663075, 0.7621134454535204], [0.14712693660346632, 0.5767611433769767], [0.6744724557349572, 0.7875092133952551], [0.6536979584929037, 0.6176574158280044], [0.04785689272085092, 0.5912487613634109], [0.22178303002108302, 0.32517253759906184], [0.4142291998238491, 0.3394358114648659], [0.9082709688787212, 0.3096296293249736], [0.65451712121368, 0.9891122207341903], [0.28529087432159594, 0.11707891560261152], [0.5319902776763363, 0.40593463281383235], [0.5986449622113207, 0.8317831239082352], [0.9612721355692322, 0.40560882352775396], [0.4509861471808718, 0.5060327468369467], [0.30825157718002016, 0.27391463392071236], [0.8872366081537014, 0.43249649408059665], [0.9451689738591436, 0.8144580683467538], [0.28900581460033614, 0.1669947130810009], [0.878104978657643, 0.9841496055383875], [0.8651763204927772, 0.7128492637655577], [0.07318216581778714, 0.2253912128324822], [0.7480262193196464, 0.28060145626021515], [0.8659563971087674, 0.3889047247124362], [0.5840325455383613, 0.011879643608843304], [0.8338807723626417, 0.7462740322589854], [0.5151825344432436, 0.45454532439747786], [0.4671918801227636, 0.32285311221094115], [0.20694845802876471, 0.4144088133053522], [0.302193792388776, 0.5033610778195644], [0.20181699728945013, 0.5767306539665658], [0.6213255803281392, 0.6951288036077099], [0.829970212591541, 0.579825468596762], [0.025994194851694963, 0.3850099633588244], [0.18506839782952045, 0.8510283835814116], [0.6436199025728342, 0.7146703457753705], [0.29778818398131035, 0.0917661989414329], [0.8309852833476878, 0.2821133973564057], [0.5685386049132906, 0.9993764362662425], [0.80996185876198, 0.3341270000337512], [0.8914872677694721, 0.1360330232581144], [0.2816621908355583, 0.812076023016123], [0.6653937961024586, 0.4409896399487985], [0.7612782241427363, 0.47197103112906713], [0.0364336677648579, 0.9348511090893554], [0.7531499854844402, 0.37538868472133446], [0.7372659560607594, 0.42714901526770777], [0.05526204366836596, 0.10925823407607727], [0.42399457160089016, 0.9096198725255336], [0.0843230018040605, 0.6301005568027426], [0.45015816311511214, 0.2686261398690373], [0.9481065466492524, 0.2590251423352764], [0.9295379947299922, 0.7008803463769654], [0.18203380905880406, 0.10370427059278087], [0.9240675894152902, 0.24515703189639793], [0.200215713057443, 0.8794911069824835], [0.6485035952654623, 0.6414825946562442], [0.3886704791967216, 0.72885492463906], [0.9694313976560279, 0.820001185035771], [0.6081961990296675, 0.3154216135425165], [0.7332032792079771, 0.19857249706812163], [0.9209621714754705, 0.7088224209128478], [0.6400420638928431, 0.8666124308365709], [0.03019120273900955, 0.03648360015486651], [0.9581424333642365, 0.2571464430924554], [0.8067793578431811, 0.7343354479975599], [0.57651825963167, 0.1878114940123351], [0.8084692598920288, 0.7330610137393518], [0.30343990908222096, 0.8588271146309594], [0.86782032977981, 0.3766705479275536], [0.20083552362254453, 0.09339696252416685], [0.01171771514021569, 0.9525144388673555], [0.017382623283325294, 0.763362605981015], [0.0765354772362965, 0.9918277366926491], [0.15830444128949595, 0.8603894038506998], [0.29077733043042164, 0.6870659002903573], [0.6360452346886003, 0.7873786492570531], [0.3673976142936216, 0.8075695701796216], [0.3078289301993611, 0.6786451728212376], [0.7504612373206913, 0.5822630065933473], [0.9588232800227596, 0.08397154149459896], [0.9059512294408363, 0.691501907530913], [0.49813802393177686, 0.09320915893625448], [0.3807566617008027, 0.9794109072520892], [0.10296909201536897, 0.6933596925465274], [0.9503875437166297, 0.5223408783094106], [0.29353071747202963, 0.9331651079252045], [0.2908499059690133, 0.8592766287097928], [0.3283090004366157, 0.1563170395019191], [0.9251319662605131, 0.8387854812803184], [0.9709078377173146, 0.027217763843097154], [0.09019961410202026, 0.06151956338061004], [0.6070581455262778, 0.8283659553679538], [0.14296866653375717, 0.49942624459509055], [0.5741809725771246, 0.16322972730042273], [0.7707746640783726, 0.6723841760067503], [0.18604700760194548, 0.09500631090422718], [0.09963091998736329, 0.291225919134975], [0.9826510409148405, 0.18727306020309675], [0.7577479897863736, 0.3010376052304712], [0.2792666274281054, 0.3538805419462806], [0.8836335869885823, 0.45700142388991694], [0.07294879104207774, 0.7593438701810445], [0.8608375943156594, 0.8179254957149691], [0.21954017934196057, 0.5711667367140358], [0.8982007650669043, 0.598856263504867], [0.06229935118567265, 0.5644216384669968], [0.8221870744102735, 0.49332304543097805], [0.2037570483294372, 0.8263448492935747], [0.43552512210729555, 0.45299700048655245], [0.5309264624731008, 0.25403722850068355], [0.20686916315246395, 0.4201944479576911], [0.19005171944957477, 0.659012726896234], [0.17976295051418645, 0.4723146991185143], [0.7807262336786447, 0.24384708173089664], [0.0021767417871175754, 0.9845244335705328], [0.03746941923883462, 0.9054499468582516], [0.14187580242962372, 0.04744811206085464], [0.7760058842821599, 0.995877723011328], [0.610002578173496, 0.4024390126398385], [0.7923405783326913, 0.8615889903028346], [0.962953491468585, 0.8400329781436437], [0.7249973956438672, 0.34619104589733474], [0.8539428229102332, 0.34131380682429], [0.5830967087558301, 0.44982288589160646], [0.3460265041477011, 0.18983561696000917], [0.8542220280006662, 0.7096521363689008], [0.20347497413695348, 0.938047167374934], [0.5468280495431914, 0.18001641213081354], [0.920516163652249, 0.7163132120670159], [0.8753750849623841, 0.36588766874877876], [0.574828538434339, 0.9559937399245129], [0.9826601643379356, 0.6032383753047927], [0.17387408565000984, 0.6953020817798363], [0.6607170400954263, 0.14859690136347714], [0.1878321800851257, 0.030097139235967907], [0.6828284075847785, 0.849092350692038], [0.3087866962076228, 0.5554279042492456], [0.8092288533904805, 0.9111033159919234], [0.287133514449497, 0.4459566291247796], [0.8629399065948489, 0.32124577190851356], [0.255608755553714, 0.7718383471992747], [0.19771856231503204, 0.9559776605775446], [0.03890824658110781, 0.7591944126313254], [0.11495725070176344, 0.7050720237913406], [0.6022785773669309, 0.8045757789994766], [0.09198988278145348, 0.6156411580301767], [0.8736497920010139, 0.5301864857131998], [0.5657099633540693, 0.9339954236494791], [0.5753953586768844, 0.1462734390822874], [0.8563573104177917, 0.1412155875599257], [0.5534129427475057, 0.048683394601216734], [0.687546617207246, 0.9749786468808053], [0.5048560683349497, 0.7932853862752534], [0.15386343080571496, 0.42621221241927965], [0.09533019669460674, 0.9056098172648127], [0.08722014962894797, 0.3262710158295349], [0.15892116524477595, 0.7296137388090845], [0.14946749174799068, 0.389624144015283], [0.9249790355069857, 0.010260294278900184], [0.020396157670932058, 0.5676781594095466], [0.7950812036552367, 0.721864657463303], [0.3741921284378762, 0.7993660749360361], [0.3439615632384527, 0.8160099848814643], [0.32205394433963497, 0.6215595738195365], [0.5185787734255518, 0.5065568686017023], [0.02771244259686456, 0.9608470018556795], [0.6388276765502334, 0.8259218724707154], [0.8643756552201163, 0.07609541256449259], [0.7638282127951891, 0.4825033449711579], [0.8739618731714467, 0.2254460739553258], [0.9916794795061692, 0.6031860469255124], [0.07012163368731339, 0.6305185452319111], [0.4154722314629298, 0.7782233437062411], [0.34912581468182324, 0.30256049768367377], [0.17491062826169024, 0.7255774379306714], [0.5257164594110867, 0.9919216555109183], [0.6632724639135732, 0.9502363657591814], [0.4598673834573117, 0.7758014358114363], [0.6197026965341221, 0.3177239745496102], [0.8165548043973888, 0.7927240563448749], [0.2790966789634626, 0.9295431974383658], [0.14872292712237167, 0.6031848497999934], [0.8708284274167326, 0.3951657937338917], [0.07136952775165994, 0.47235018566563514], [0.15148815016059514, 0.925413823267912], [0.9510546572940898, 0.6805500760440375], [0.01870917864822086, 0.6029188432878932], [0.8250876404855981, 0.6604812811353654], [0.48511505257482324, 0.17560763228402565], [0.655442027714972, 0.8198580587813173], [0.2605301791515727, 0.7571413960766323], [0.11367391366677515, 0.9508558342325316], [0.272998518707252, 0.8872278598454933], [0.22181336327716183, 0.07845913516993253], [0.17728046782840656, 0.3098578928080876], [0.5145269655252828, 0.48455818505858717], [0.6264440881302177, 0.8381968252353338], [0.63500809363911, 0.10837449734703475], [0.24317364873334046, 0.6733115376927726], [0.9104387698938853, 0.6037692168312739], [0.5989975256715633, 0.927248579958606], [0.7398714767178454, 0.508227520056891], [0.9512563249939487, 0.748062424432933], [0.32922516493984844, 0.32849925848454953], [0.1266075416973702, 0.9214646004659462], [0.03047062723109839, 0.6203246597074908], [0.4844739196071437, 0.6348089504021713], [0.4685335389804006, 0.5551104922825144], [0.13142960213960486, 0.24733507749306027], [0.9265163019702234, 0.5936324349005522], [0.6522149293090217, 0.2923265265753522], [0.3607618403786401, 0.6585085977130827], [0.7978494611318904, 0.7066740424756023], [0.15047136236731895, 0.010188236295044839], [0.7387691365524841, 0.7391072505277508], [0.499497090514163, 0.47646503646468275], [0.8586375658666713, 0.3928778895428854], [0.06079650893287891, 0.6453887851904632], [0.7027843767852693, 0.8111274292515666], [0.44798514373743026, 0.7255728803854138], [0.49038576829650427, 0.015941757745327245], [0.9963502808005196, 0.9329639372781259], [0.6211292351950726, 0.11960681915408555], [0.6123826076632509, 0.7042415649329776], [0.8423902464437473, 0.48508893464294756], [0.9253131630359974, 0.19695685549935693], [0.10617574628440196, 0.04397114941073843], [0.7172626007480964, 0.6392266234298087], [0.32333961285176116, 0.7325501103485662], [0.20599591121357574, 0.996416757879313], [0.19253277116108525, 0.6558124949711784], [0.6978061860349966, 0.8617747214684165], [0.34000516403170156, 0.2887119127749026], [0.7831375124386464, 0.6625719580743825], [0.10860822817916638, 0.388580421823315], [0.9783810804950331, 0.4830839668529293], [0.8250755582275705, 0.5169585794836737], [0.7252947331531189, 0.5271946824605025], [0.4730859475440433, 0.06389860481562926], [0.571991087184535, 0.8616131093650305], [0.7771882850461476, 0.2692337394401718], [0.6005037354695595, 0.606587500699626], [0.6936939894988121, 0.29784021848515274], [0.29895753787263646, 0.41490775256340384], [0.7591269793642561, 0.6288649121639638], [0.9884846692301604, 0.00752001296413829], [0.18967301417931992, 0.12203989223128875], [0.9829718230486836, 0.3340629873693195], [0.49761559997065163, 0.2223578526106752], [0.06455503777558025, 0.02428930134855245], [0.41959562837941355, 0.3047625940557208], [0.8051172296241564, 0.21828909193433865], [0.4505548038289173, 0.41706440168545833], [0.5257776047480125, 0.6217417905705351], [0.7771998543379025, 0.5196178173982761], [0.9666130988648575, 0.7674976393601698], [0.5639692497166477, 0.17330464829704872], [0.2789630306547044, 0.14678606550850348], [0.09023599639475643, 0.7141054764911353], [0.5567857621630753, 0.7516387455469303], [0.6904771279122227, 0.23095344075919344], [0.8718251860195024, 0.01529027927986737], [0.4706418063735256, 0.28355394230372255], [0.2728206649107272, 0.20790443907144862], [0.7267051549236672, 0.6345171233955441], [0.3484479988975925, 0.7712522239592216], [0.8888378036032176, 0.010513291658276636], [0.14145880149382495, 0.6673305902495913], [0.17967670741900166, 0.8214666855188346], [0.2969237657309659, 0.566410749264105], [0.5603727630919759, 0.6955547192352276], [0.12221221629043166, 0.5991387933316557], [0.18972038282132242, 0.9893532552141506], [0.4111404163870046, 0.7944548317033179], [0.504370030985509, 0.5479277954874955], [0.5411633150313151, 0.4863677333014951], [0.3774361634181812, 0.4739778152070335], [0.04657418122456536, 0.7929650764234889], [0.19907021011051795, 0.013445581463463974], [0.42689223985486, 0.8776484472476646], [0.11726665638946954, 0.2986125082199401], [0.6023238788646694, 0.25779990093669225], [0.12695688693012874, 0.10063555308467831], [0.9196639111039635, 0.2928837379053877], [0.9942475530030217, 0.6717990930660707], [0.6676371403280672, 0.8017341207191592], [0.3233351113255192, 0.8685380286014491], [0.30677382195992153, 0.9211851163473693], [0.45314278350114723, 0.9901076674209415], [0.8554563390801286, 0.4682889536231982], [0.21029567874926813, 0.8183917981178255], [0.9065258938568991, 0.6474143709783193], [0.053303388881085545, 0.9302640439050243], [0.5390376511012505, 0.4607784602899322], [0.6285961118252452, 0.45504279419697835], [0.8142096442778094, 0.0013814325769030411], [0.6378222629634034, 0.03953122263037234], [0.8550805077744751, 0.08216094689502595], [0.3848724801885961, 0.7360760774867436], [0.289178966583155, 0.0437052752591085], [0.32520175366619253, 0.41926767686014643], [0.10214078119752834, 0.5277222807962522], [0.8654982727489238, 0.7358456268403094], [0.7999299974526862, 0.38387270870992407], [0.8379563601239541, 0.8287423458789441], [0.6397211046368787, 0.372677664114236], [0.1972421628122939, 0.9572938362438472], [0.8743911864100335, 0.5778964559897948], [0.8696605645589826, 0.41003081057705215], [0.63389183801349, 0.8989129665644789], [0.9296574760033369, 0.7767595610699065], [0.8467275778136875, 0.36980677423158803], [0.24394048078202035, 0.7572908109073071], [0.8268948427719937, 0.4250227644015797], [0.8240877013358063, 0.3310874558542779], [0.6981371778807003, 0.6344532147543149], [0.2974083678004925, 0.5416796278383162], [0.10027929725373552, 0.7905938627743877], [0.7218870684412818, 0.20019376495063146], [0.13307215582191256, 0.6721919050338343], [0.24970595911886473, 0.13751412162200616], [0.928169988859011, 0.6766365399793601], [0.8269373113035343, 0.44000998649493506], [0.1862262224494512, 0.31302296165532806], [0.4671832565316669, 0.9455968174211555], [0.18113608116169466, 0.5206433745381802], [0.4616308780518582, 0.7591300176926904], [0.15599783316173987, 0.9427193916517281], [0.9546653002470341, 0.3718617692061611], [0.860949642947875, 0.6998324522738983], [0.6256301932443683, 0.009003098830651646], [0.7711509299619208, 0.26521690245091056], [0.7597733487276749, 0.5421811218168334], [0.49891364239957514, 0.6967392326562357], [0.4483087669702248, 0.7332476742089269], [0.5143206000184297, 0.9267933456271141], [0.20507263595605552, 0.8763702072963003], [0.7256603952488326, 0.6174242053504957], [0.3978791654152475, 0.8365436008717781], [0.6999861451419043, 0.46082879365824336], [0.19759662322888716, 0.5861414129700983], [0.3651509084473583, 0.09665242502220317], [0.9726464143453145, 0.45050971400384354], [0.8389842937985447, 0.07341321618690977], [0.08138102969924699, 0.5290912480144516], [0.9430260249556751, 0.46274365832819175], [0.14663984310753575, 0.16496175611302322], [0.7501903255178962, 0.9558303496353818], [0.9677103534154545, 0.7869617102441117], [0.009325322636615008, 0.8367401258504769], [0.8467671494267472, 0.25846688302481424], [0.9462997672423764, 0.7622765588197257], [0.1684875411285306, 0.8339654148487715], [0.3276163864479339, 0.9292344819373866], [0.610423442489758, 0.15536615861070957], [0.5168350656130943, 0.6292266319186091], [0.15505982163418952, 0.483382513793837], [0.8062205452037485, 0.13662160441229254], [0.11577465901828143, 0.4954000695462023], [0.8821076037352111, 0.7769028983737224], [0.41622189071220983, 0.31696860804337956], [0.30845656377343866, 0.5955132651052073], [0.8546375270242863, 0.6094564294060363], [0.2859327985768836, 0.7013145465524008], [0.27865515056293466, 0.7394499687506211], [0.03615925927770991, 0.3951917312444029], [0.5766986138813301, 0.871907561834371], [0.7298032713704765, 0.47731109084559853], [0.13513270857924098, 0.5205964026728308], [0.2989302735545458, 0.21485190729623582], [0.009893418185758729, 0.06639120104982044], [0.2840330513905788, 0.19594901292229683], [0.0712610287538693, 0.7410348567941011], [0.6280804083779046, 0.6875101898125866], [0.2846440309368792, 0.7750365244866472], [0.3839009367971594, 0.7485214539719023], [0.5465136927279138, 0.6217475880000709], [0.39357345475589045, 0.8077201403033866], [0.44809183682476894, 0.1544560116923691], [0.5174412802062501, 0.40448593497058205], [0.6358236644778126, 0.5458640284662755], [0.9586043876219007, 0.4895577916900755], [0.9116973964538005, 0.21510509334907846], [0.6411246140336244, 0.98433944750418], [0.6035551004156766, 0.1620399320320557], [0.8590575345255052, 0.5013344210702391], [0.17229902131096586, 0.5133228870045821], [0.36482486706493045, 0.3192397423751808], [0.19026800038429914, 0.8416529955648185], [0.804192298512096, 0.6611413695337068], [0.05398984636533155, 0.7351903458223688], [0.6548618151877553, 0.6078221841805196], [0.10050408021267099, 0.233211083151889], [0.9640605515320204, 0.728927775192154], [0.1147568590293665, 0.08955460134526494], [0.40666903926705755, 0.02370180668961752], [0.34678826895390613, 0.0017633632323947879], [0.8261214886781911, 0.9121646349426511], [0.7211606001313206, 0.7496647481448667], [0.1951143355842314, 0.5577722517953184], [0.022652221616958235, 0.4091758654814951], [0.6339145605971824, 0.9570814681790777], [0.6696872596340049, 0.4950834262958651], [0.7038356511494627, 0.8199078472287175], [0.44271007235432247, 0.5569022686582014], [0.32632919252854475, 0.9486717373964959], [0.6491595424324555, 0.821623045830813], [0.9077602978024966, 0.024526591652174745], [0.7059286829009251, 0.7484134190459488], [0.6300689449071079, 0.12817136292345077], [0.1984341614682713, 0.5439726818441133], [0.5535926316288486, 0.2592487984802758], [0.577715741425097, 0.6035560124196058], [0.8955255010659772, 0.583048854694313], [0.41687072116846247, 0.07185877132088847], [0.10806392997748404, 0.07028046729269166], [0.0634726838482832, 0.12033813088299838], [0.37095321218362165, 0.7909431393382477], [0.5434760297426282, 0.8816340219451193], [0.6774404577151865, 0.24358448529597665], [0.2234102952443926, 0.1746336680588031], [0.2738353360632598, 0.3093548173704159], [0.2872160611909377, 0.7011670093752111], [0.7821487254090211, 0.714129979868332], [0.07683879566387308, 0.8373697015580441], [0.8709514387020749, 0.5108144323097894], [0.06457205225726936, 0.27168940073777814], [0.41630116032129694, 0.38923914606517196], [0.8670454602646891, 0.5809416869300881], [0.5759879317312153, 0.6855742994289518], [0.9445690118581533, 0.740382150910681], [0.30280133116766117, 0.5156566344137808], [0.44705166391299656, 0.5244658164127638], [0.9812391239415771, 0.2170760414570997], [0.17930062397730206, 0.6905211994369823], [0.4589743943223267, 0.5090479407770093], [0.5008321624376199, 0.958258960967773], [0.7609951651361291, 0.12702174076203165], [0.2619470130142685, 0.07875487117193436], [0.37310242643370783, 0.9495575885075332], [0.06749545899015796, 0.39435200374671986], [0.2993715359508635, 0.4974775842708177], [0.9593727383888204, 0.1974850548106224], [0.9222727040144898, 0.6463677752437959], [0.2532282931900638, 0.7712752420054101], [0.9101621691122265, 0.9113041214880253], [0.3559802116501338, 0.27537016829314764], [0.4091940185870405, 0.8620949865937765], [0.1712614197021407, 0.9260741026106638], [0.25067851338227987, 0.28966700925772026], [0.779309824970468, 0.7358899958803696], [0.48541579634358645, 0.9887918657386492], [0.7111047610518735, 0.38195172737149397], [0.404988097108977, 0.7266757272630969], [0.2400897255644313, 0.47932405563807146], [0.13751683252949176, 0.39377750680844315], [0.15113694739599137, 0.9596443286845036], [0.6654050156888914, 0.29297410816939684], [0.0248856593503316, 0.1809546980081026], [0.7485231326929933, 0.26972959250634243], [0.7829072877034815, 0.021569308473023963], [0.7265268484648912, 0.5420700153846078], [0.22110880017891144, 0.43788747369550707], [0.9340066402216093, 0.9377781180989183], [0.061451873807661594, 0.3791717558578108], [0.9167188174539455, 0.6066243690621312], [0.4104340729919247, 0.9570251341930811], [0.9189773377081852, 0.44110126859116294], [0.5131302730421194, 0.3222325361285999], [0.36208403961963953, 0.12342573371451993], [0.4609674587794127, 0.2319852742009032], [0.47044624655832223, 0.2596653293674187], [0.8438785788071207, 0.8241733471544436], [0.6455997873144251, 0.6555416252287549], [0.2560507556386342, 0.45672993734027234], [0.02068097282517578, 0.6133836765485838], [0.24189764649661916, 0.5574207014888712], [0.902173263578443, 0.8054779950715005], [0.3535815569157139, 0.7806158861677991], [0.47300940982223827, 0.7841319362436092], [0.562099886070353, 0.486086675105875], [0.2581128127451445, 0.307051983898482], [0.7899794238929451, 0.7895860198208913], [0.023275882300106798, 0.6798713638848856], [0.8972601461663262, 0.9735426531211024], [0.4034653896094821, 0.8332046847884031], [0.9352985660362996, 0.6500853253109372], [0.44372159675828937, 0.5427172054166299], [0.6361260874369212, 0.30092181171059273], [0.9314911719276646, 0.2006811335663521], [0.9898154181799543, 0.36848609538203536], [0.8295522190875669, 0.8186327044622485], [0.5513646635245117, 0.6697266285089554], [0.4502286718811297, 0.15761355287743717], [0.5683187091246853, 0.6623653396028563], [0.12173530599563753, 0.8748914579866941], [0.15802828629844745, 0.44281431613979205], [0.38518131670687894, 0.21071901101063395], [0.12429204445083897, 0.7014589165804883], [0.5147627433574032, 0.41572056828507886], [0.3869781399506008, 0.0846772831188145], [0.3703192864163889, 0.6680922836710327], [0.7892655259426996, 0.9424658506435605], [0.28848903611623855, 0.5006174089912729], [0.13656267650793208, 0.531268950419354], [0.39071865200041456, 0.5135314514821119], [0.8645385265705524, 0.46390594135448615], [0.7522788998884548, 0.9099601314340467], [0.865630520233112, 0.06075399008234683], [0.6040944626609659, 0.7555010477830318], [0.7712041452877383, 0.26132789141149515], [0.21705688113538457, 0.4242615590722062], [0.505516972340639, 0.10339061768153102], [0.5499451949534075, 0.2646251421539413], [0.3654430513596203, 0.33660294459668794], [0.5776470588136423, 0.5446297316857468], [0.3472524384946254, 0.5181336274511362], [0.5645800733746671, 0.15402828654699618], [0.8614121731247767, 0.27674423700866946], [0.6997003678409676, 0.2866617343486433], [0.3135758610936207, 0.3916071853110319], [0.009446277889089805, 0.34698440635678907], [0.3804641178186604, 0.3247716987465742], [0.8106675951576938, 0.058452363826205334], [0.5409949953536078, 0.36824126757313014], [0.8376753342124384, 0.4327186967062394], [0.8720273688185449, 0.43262116652948324], [0.21865773840673797, 0.022150780137696335], [0.7187121630568492, 0.6740439749251512], [0.5185971786765351, 0.21800238641139968], [0.2512302760441081, 0.3998495919795342], [0.755145079572837, 0.776410835804273], [0.6404609641093888, 0.6193848619796936], [0.9699565313084542, 0.6760614138685985], [0.7275124956553131, 0.025238159024693063], [0.549381570201415, 0.16911884343092698], [0.4177470730525201, 0.5911471571497493], [0.038908629947479456, 0.9482621445828169], [0.2890931891973818, 0.04500045265876329], [0.24081811727602465, 0.3656253451327036], [0.7355130640866656, 0.38701169027908167], [0.9482090902366457, 0.17156499416481785], [0.7672396021123981, 0.6605679039993355], [0.34160125031721233, 0.5869666626538622], [0.6768834068224461, 0.5392707303460759], [0.7930956091655813, 0.7170631407300142], [0.9971534461546422, 0.1898744245998587], [0.5439371898290871, 0.7490747927887246], [0.8390910760100659, 0.7520992563971536], [0.0553248858751314, 0.41287828345649646], [0.5238014210166706, 0.611038673260729], [0.9354323855708321, 0.48912998050685397], [0.06564289313824734, 0.2873042402714996], [0.9675353511913738, 0.36635291610361487], [0.3649636833268557, 0.17090410018506952], [0.2232958981460469, 0.21825590800358918], [0.39431700241348466, 0.6948209126537244], [0.11733379745002959, 0.2849208920818944], [0.7448349223531994, 0.511915922806537], [0.3299079877158848, 0.7435966626440008], [0.20274717901771266, 0.17063554255188185], [0.7494614730577631, 0.5063249700494078], [0.9580706500226754, 0.705628277890577], [0.15256022279143555, 0.39001857867828904], [0.6235190744531447, 0.662278304265427], [0.9889707486435912, 0.44893988877110225], [0.6174335178401549, 0.20837700321640007], [0.7248387508508469, 0.6954600807201831], [0.8881408425365243, 0.4122173288992983], [0.24182049574314424, 0.12742794926348933], [0.9446406243275752, 0.09414897512967091], [0.06372523344376502, 0.8089912221585509], [0.8880433522385157, 0.31033194602951353], [0.6825956841160725, 0.9847441341348517], [0.21247729067815857, 0.23964922743156658], [0.46158962347549104, 0.06281028046840031], [0.27122196396922515, 0.35640756361831716], [0.4977949891665442, 0.1487106789028203], [0.965780543031422, 0.04817988586027855], [0.33893659857459035, 0.7305506731300434], [0.05774441430584076, 0.28383834442607414], [0.6470521791101985, 0.6946706298577288], [0.2309441903528341, 0.7795280777542852], [0.6009473786900047, 0.2561875749993583], [0.33799620995051294, 0.7179682135214057], [0.44171853098265357, 0.5337889532148149], [0.3053641740810843, 0.7888476551830146], [0.8583966615978066, 0.12080638239158215], [0.2054315599179074, 0.7411751913445909], [0.5897488080596637, 0.6266767955483343], [0.27506942604202766, 0.9930605834781964], [0.6816824098519846, 0.2340704886666234], [0.4288329335633294, 0.47594964283175933], [0.1655226794835063, 0.8626261755140545], [0.1490541762771005, 0.47495197807880174], [0.8429574925644501, 0.602584976307238], [0.21746404924678675, 0.4624359729001676], [0.38472639880924653, 0.8133521547819591], [0.9270932698873325, 0.3739458446276982], [0.9352660208464653, 0.24049078964997161], [0.8273980075152004, 0.6981866849833467], [0.6698822388844119, 0.43912698043953435], [0.7950902107195921, 0.9982090943260508], [0.7573856219456013, 0.24968642364476334], [0.2664448194501309, 0.36301311400643643], [0.6653264671373523, 0.7298792777845083], [0.17588778991240994, 0.40500545535497723], [0.5049859598898366, 0.38138091804993657], [0.08656803688980697, 0.3397860793932326], [0.07477643989454674, 0.6066769880681275], [0.4238205715375434, 0.6807321035060738], [0.05870801110332524, 0.5404111771904976], [0.9363264606954915, 0.8790377298339139], [0.5376846239035419, 0.8903938576767642], [0.2867619359649002, 0.874142398544173], [0.22212522396895706, 0.7447408547233805], [0.5197409525456792, 0.929732306250305], [0.30505278453401663, 0.342960880142978], [0.8219058100654805, 0.6600547773169316], [0.34029222318123786, 0.8243058800126947], [0.30377556232622005, 0.26046089626657465], [0.871745440604398, 0.21466526884550496], [0.893952441239364, 0.2727832757529327], [0.3070225886448874, 0.45000808059511355], [0.7555527449610944, 0.43660459727758905], [0.5523418992633004, 0.5874447355314798], [0.872493014048128, 0.3694579779034427], [0.30123551907616064, 0.444325061903567], [0.2263972880204277, 0.6057931363815128], [0.1394462207424476, 0.19015031402899762], [0.8368921334141901, 0.08918259859201105], [0.09528520584656353, 0.5614492579799126], [0.7468270092813376, 0.5045584982623595], [0.8679820159139917, 0.6392155724557219], [0.8983176728969401, 0.6774713105094469], [0.20718656422126802, 0.9264625759449645], [0.565325361652115, 0.04963947287937309], [0.28082659895825723, 0.9056813832532411], [0.4505697097087873, 0.31836440184543724], [0.8286875373392312, 0.08690159058996205], [0.3024305782123422, 0.2771948236624159], [0.606674393090401, 0.549160279885333], [0.6235756105079766, 0.5568900717999257], [0.22590794050309393, 0.6408913614301938], [0.9642206680269912, 0.22545580167655987], [0.33532388827523196, 0.13087865729738446], [0.8899846117574053, 0.8383467845138387], [0.33521980966902565, 0.992293270414276], [0.39569699521867163, 0.12858258640168763], [0.29347950407380174, 0.33282778913447053], [0.3891253335966113, 0.6517068714794648], [0.9313540585880344, 0.9000141526754022], [0.7412125692269742, 0.27726645660755855], [0.7700798710617739, 0.4172733031764595], [0.6196056682316737, 0.7722236905583688], [0.569646435664909, 0.8749970671508945], [0.5851489986322655, 0.6633454451436601], [0.40038358119541784, 0.37858383559350794], [0.5549700922818486, 0.41427908509966116], [0.6984464965866627, 0.7514780643579692], [0.7717320490067388, 0.23677856648800677], [0.9698395285088403, 0.764713625287634], [0.998934655513197, 0.6461449868994427], [0.8922144755986656, 0.20265234508352414], [0.0013133548569144171, 0.04145428874344592], [0.7970882891224123, 0.026590100490690216], [0.15011670579691083, 0.7119020321069177], [0.323312985847077, 0.504468958492563], [0.40950369293122335, 0.7723241984435381], [0.35036034979485997, 0.008113195220330716], [0.5206868502419445, 0.4143635973475732], [0.3980839001829135, 0.6029951228047915], [0.305453727321904, 0.6282026053870486], [0.33226052076223944, 0.7444799416180562], [0.4907464115413158, 0.271976203606042], [0.711160439256044, 0.5050385941323849], [0.7069238625310895, 0.019646227746936362], [0.27058522540600916, 0.8989276765912165], [0.6912392347058317, 0.3104861583289218], [0.09210960129151535, 0.7280465770840261], [0.1503641264494977, 0.09689743001451656], [0.38280356178222874, 0.8579390603084407], [0.2087603027568672, 0.372211147345634], [0.511849879802677, 0.25924370203299574], [0.8426717320076639, 0.8613179237079532], [0.6230693312851319, 0.5466238908208071], [0.6649692541394172, 0.7673770790063249], [0.26411999037810585, 0.6249170731755049], [0.16984594940697062, 0.45447748793475684], [0.98692106138301, 0.6196970882319709], [0.7402639575935606, 0.2571736056262087], [0.5680885913728991, 0.1344688534877181], [0.7023598445256303, 0.10750714771631875], [0.4015811629467746, 0.530276648187792], [0.5522207432062269, 0.701112316031586], [0.314967222402584, 0.7046606746383212], [0.3347477997927579, 0.757898517581353], [0.09220523416239124, 0.2636012807180895], [0.6407475802532684, 0.5251811394795077], [0.375262957199365, 0.2511368911987212], [0.5163324213918037, 0.7051636251236457], [0.5432272912246587, 0.5314148351951682], [0.3071942963472728, 0.7017610825671188], [0.26388620932217743, 0.555914412368], [0.798530799264039, 0.2780453428618549], [0.5239551943651575, 0.06874100436906982], [0.9582509574891653, 0.2186841328665835], [0.49213610475051295, 0.5795992336592304], [0.027360006813573756, 0.6117934930318794], [0.08214301243437871, 0.6865564653692574], [0.5519486665382276, 0.9783366741998906], [0.938466838790624, 0.7575086429847546], [0.2728243875130656, 0.6465393631593744], [0.7635365179918644, 0.714080213059108], [0.8355773587295228, 0.808258613920433], [0.2126302684459861, 0.18303903891642437], [0.811248231933654, 0.9866374326867905], [0.4015343512218742, 0.16014317027203984], [0.940719550055521, 0.852126384975677], [0.46826527228708337, 0.8322329035138141], [0.3817514004975413, 0.286231405469794], [0.21130007451413735, 0.40968552351035625], [0.5445463075170052, 0.38937459656662177], [0.6376568042068859, 0.7544967292818614], [0.758260429784197, 0.9906017426167699], [0.31469334987825326, 0.421488440923926], [0.38252886048397017, 0.06882648891035703], [0.1198279674256355, 0.21236095098040175], [0.5808123650989996, 0.13922213198937106], [0.7818696806799685, 0.2235071241729757], [0.6896381375829936, 0.5160253523304774], [0.3492277606084848, 0.8206206751651678], [0.1154611922972878, 0.4446100333050014], [0.9711546740666793, 0.48985716296262516], [0.6512683361057129, 0.7704478664878914], [0.936857933900195, 0.6517849859866398], [0.2832100170373917, 0.8297009310404622], [0.7137751249982814, 0.08411218778892948], [0.10944412351537325, 0.4038788314459375], [0.3847074338962988, 0.6305962943448298], [0.5545853482630388, 0.5946128361392627], [0.27504184556442146, 0.7187504783541881], [0.30485554103644297, 0.7477728721273086], [0.1619283293843201, 0.02462059076787293], [0.3615378764155672, 0.5216207671113399], [0.5607627415574833, 0.7600889017508436], [0.8081488242642192, 0.4190311674254268], [0.12942011430566602, 0.1350514954409866], [0.4614852829640955, 0.11473477536541321], [0.9979541169557448, 0.24957213665511313], [0.15671101450838298, 0.30948984436546145], [0.13770839012859137, 0.5155976297164233], [0.040276882106016654, 0.25112231843523547], [0.8470898258772837, 0.8149561078634723], [0.27496946750531137, 0.5481950002911856], [0.8832130833809434, 0.5283057949213029], [0.6672912143274545, 0.4613841219148016], [0.2977501540327816, 0.6651203819471541], [0.3646102862400752, 0.02650432483023668], [0.32519603899376937, 0.9071910530891207], [0.5595312574436757, 0.9737985766755081], [0.4260203052234045, 0.22652500522458707], [0.5096417684958798, 0.5635316695741562], [0.2972589750396203, 0.9010563736283416], [0.5054229508604093, 0.5908767087397084], [0.9864634257391921, 0.4241035988561137], [0.5949924195795122, 0.3943826521793463], [0.43621564799045476, 0.38855606594197567], [0.6485348589303781, 0.3104223677483371], [0.3844144849057092, 0.1965080102647394], [0.059160593237580494, 0.3652161344036676], [0.2183325814494409, 0.9482710910619132], [0.9077398326953703, 0.315226468888968], [0.3297344747315857, 0.9663126836969319], [0.06835599232501954, 0.8424638455811391], [0.3642789455189672, 0.6363856205002312], [0.12721512246922828, 0.7433080299821253], [0.2426255666711623, 0.9684173585252402], [0.36350263808506766, 0.5965568956916388], [0.44806437876343896, 0.368113910613021], [0.9716886096014017, 0.6963600091520924], [0.5290109340896119, 0.3196572226769694], [0.2691024368080599, 0.815194586790147], [0.4996144456368219, 0.9882376237736182], [0.46839903331158483, 0.8560352864634699], [0.791722676284526, 0.40707526059106935], [0.4867706640712077, 0.23481101286055206], [0.3484287554644352, 0.06188644797244891], [0.4201766101707204, 0.6478650529921615], [0.8858608215218088, 0.6192043291390862], [0.2234764929095837, 0.2868618344907141], [0.11749428143197727, 0.6763100592641071], [0.9976563393230735, 0.2737662141797894], [0.5271177182461756, 0.4313660202316205], [0.7185088782080442, 0.7419019196406909], [0.48366656180375867, 0.9324191352662605], [0.1609912810436246, 0.8857294047812153], [0.46383198020723715, 0.8262821629709773], [0.5779418669090796, 0.5811162907478203], [0.8073728457762833, 0.9903165565827817], [0.009588823766633503, 0.6121024746630978], [0.1584439819177882, 0.33819156519438853], [0.031165173744312158, 0.5451498356898429], [0.8096124967338857, 0.44136147160990713], [0.42945364907503536, 0.9558114598644265], [0.1801759239424724, 0.5231639716513741], [0.2863954134178671, 0.10341015099743378], [0.5618859379776714, 0.9432554459404895], [0.1943921857626657, 0.9116783559274009], [0.27723949301552586, 0.2704458538493595], [0.7360055873296989, 0.3913707033314996], [0.818585863041539, 0.7561058836353957], [0.7009708285402219, 0.7340015769110884], [0.2964527874916173, 0.11843706547917754], [0.6946074026815385, 0.2904932528081138], [0.45063307196413194, 0.530382113236355], [0.8272981181666739, 0.7266727788301907], [0.40443414637221586, 0.9041830013001069], [0.31520167135680177, 0.6374388812314885], [0.19936760510141815, 0.19104668443114425], [0.5160659740385596, 0.5961302396693535], [0.15203150023522505, 0.032142287180097595], [0.40479341904528665, 0.8003798089853847], [0.8099894387769577, 0.8762733584585257], [0.09517827178548588, 0.3151954419542339], [0.36995557277508506, 0.697719738827587], [0.4910862532528646, 0.03149027077694866], [0.8258608008798808, 0.7288300876933106], [0.6617249045227919, 0.3785888107818999], [0.4448087747289139, 0.5930268677399009], [0.6549298539993422, 0.1850719190762028], [0.7687705215065346, 0.6302617048138138], [0.49405046041113987, 0.21303823145852396], [0.7139169606619683, 0.9853335598192535], [0.8439232999415855, 0.6608588259495962], [0.3580327532640353, 0.7197814824309546], [0.08562928104461753, 0.16904264726181017], [0.7679448541859156, 0.8043791399436784], [0.7063905091701139, 0.3049066296895344], [0.8947823669259517, 0.5587369893450027], [0.08512604144697089, 0.08391417967948289], [0.6829480325863504, 0.5518108757432652], [0.5833971856022138, 0.07713988854682807], [0.15109894598052542, 0.3264880219181848], [0.542117684597886, 0.3340740757372691], [0.6800028882163678, 0.2750987432788652], [0.22315895774903072, 0.9338924356785876], [0.8884079774956141, 0.3476366992491663], [0.9412613628746291, 0.014853176305951288], [0.7741086607900786, 0.47662705411467865], [0.4143902000655755, 0.617477044049533], [0.3771953087621558, 0.26380538191958725], [0.13807418948946526, 0.4906126068711789], [0.15504138103481924, 0.7220365281862008], [0.14477988892340277, 0.6005289713890529], [0.178285676170159, 0.28345905532837], [0.1331826990335433, 0.6633314883588017], [0.7944622363377752, 0.23085342115349716], [0.5581405978456931, 0.27188248580003316], [0.18148468052375433, 0.19381346656581833], [0.638181890711225, 0.30321227112681093], [0.9410898322917846, 0.36896687305536147], [0.8573947932430361, 0.6371263977907498], [0.29919607451385755, 0.4246063502530554], [0.9479515571028985, 0.9641679349175786], [0.36448038491579104, 0.7998874172342811], [0.43318238234092166, 0.7276191784274726], [0.14876448411313214, 0.8507443679456214], [0.38372579857495237, 0.19576690924438456], [0.20400753673284777, 0.028313400535198707], [0.3187776507111353, 0.04040359943716165], [0.9440051660260695, 0.2960566180039659], [0.7038685275185705, 0.24764553800516276], [0.13249789068780737, 0.30878890487075483], [0.29433340374738326, 0.23123122380944505], [0.0799637773204317, 0.12628085994907534], [0.805698701442635, 0.6040587846283021], [0.08196592434310968, 0.9272028198376346], [0.22236717256373462, 0.13976488614271265], [0.01996159899713279, 0.16409460454273783], [0.7568740560395225, 0.8190211749869816], [0.26081338365293827, 0.28133690155714863], [0.7133862669222373, 0.036433208354476276], [0.5011017725532648, 0.3298239644292188], [0.4518650970935749, 0.4666519307337891], [0.8081810235416476, 0.2962073916708412], [0.030385763650746522, 0.5508254542811852], [0.5768741040965203, 0.8452340614720995], [0.07625019220474716, 0.6755377669146994], [0.664754692040777, 0.039854798944278014], [0.6734126604109589, 0.9648685776705013], [0.8157447529727581, 0.9074658895364838], [0.37293172401723296, 0.24791077165550568], [0.19810210621178626, 0.9586351672875877], [0.22354245637836268, 0.46534759572974416], [0.6360905199117944, 0.5088080095295805], [0.5603403036088214, 0.8286677418963191], [0.11375586118044179, 0.16586636506676344], [0.9961032694678847, 0.16119123791662548], [0.48776708416530445, 0.8087942840962103], [0.6046155665355448, 0.8729168380742545], [0.5268226147854808, 0.6688062481677853], [0.7220214828194148, 0.6272035543112724], [0.8126829907443128, 0.5712019856429341], [0.7309167908201185, 0.3822401534608538], [0.5720475809941209, 0.30550454218232703], [0.42907787365212313, 0.9584261174736258], [0.6720576475628216, 0.4085944284261427], [0.045766926335322866, 0.09867618371202813], [0.37847163215628543, 0.4726719447982365], [0.415102904491625, 0.09334306257578417], [0.9457222476659718, 0.37167758818234553], [0.6808358992919393, 0.8408805325431463], [0.1392931821403104, 0.5716295218567685], [0.6133354241762728, 0.6055588269497626], [0.5778061227582814, 0.3319444048969531], [0.14589497378948912, 0.06509195354996333], [0.30299145102598846, 0.6723969924010558], [0.4989530246987518, 0.1193341159649024], [0.550001096317973, 0.22197318646484043], [0.32434486628377135, 0.09332831421417365], [0.37643440197979183, 0.6694674964951597], [0.5565271376553845, 0.31291456857293365], [0.6941759586734202, 0.7614420912278079], [0.2923761281623076, 0.3621143468749659], [0.7565504522534219, 0.9806727953039128], [0.9776900950623599, 0.4635747761433774], [0.655538180953382, 0.6807403094931898], [0.1298248172618962, 0.5702438105139773], [0.35729437800318753, 0.6727381513982278], [0.4270837633649768, 0.8414154587187892], [0.447686637189751, 0.08439788788605385], [0.7850397460443448, 0.5565224896696405], [0.014140281360221052, 0.47245050293994484], [0.24298556120861514, 0.3765879579772471], [0.649408386197216, 0.17857322342004045], [0.31544184295891586, 0.8519439629956713], [0.5450328259186373, 0.8130575569520679], [0.6355778659885012, 0.6175488347000758], [0.6480226665789139, 0.8271009547049109], [0.9991810618881797, 0.8589729487151193], [0.8716997694678137, 0.6967260318006255], [0.0669713100916488, 0.9564579382920431], [0.8298458235718291, 0.6621155218845165], [0.34323876088224436, 0.334995853247975], [0.13742085689257588, 0.0653124546690752], [0.21973510463612778, 0.32664789851567844], [0.9142485313358124, 0.17743223961568355], [0.04936892431452444, 0.09828343226504332], [0.46497790674064443, 0.6826784810267963], [0.4206142562896742, 0.4618769137918063], [0.6473472853411498, 0.5847400903702484], [0.5470197876734187, 0.9087400763296101], [0.5872310040392698, 0.01037482361042319], [0.29839268278716347, 0.7437967904984111], [0.8529086675377822, 0.6889818560365634], [0.8828666021041188, 0.26416502718699875], [0.5336887619488285, 0.0010041116382207838], [0.5680376481181402, 0.1915348757132992], [0.47428871961174424, 0.4837562570292271], [0.6602958845450573, 0.16062570674579246], [0.48609734171863916, 0.003940639411513014], [0.7576614901619345, 0.421959673334524], [0.9344676610964773, 0.8472344508480144], [0.46306536185720837, 0.6867834300366555], [0.08329739320643892, 0.6923509763823331], [0.6989237619139654, 0.5537208721823476], [0.7100338392346933, 0.21895649183545607], [0.4361151782895548, 0.9396805420795441], [0.7934725163115358, 0.8977402956200746], [0.23603716206599212, 0.6673875587336158], [0.5429669326709159, 0.9475979000525778], [0.5886009252825581, 0.717634250142066], [0.6981764617786049, 0.42919175543517407], [0.9077927312938805, 0.6356408912822551], [0.10061264334046238, 0.04323223265830911], [0.9123286427735027, 0.8528372045018824], [0.022537090152384476, 0.7929951565073522], [0.3906720847451699, 0.9402052988766479], [0.9594168472512101, 0.28313870429595656], [0.07905951040669223, 0.0725507932372913], [0.9366623362894305, 0.6769463754642405], [0.5675783442485363, 0.6610123239795189], [0.5101399276694344, 0.29738605973209764], [0.6211072482165624, 0.4690349681572291], [0.5255534239824072, 0.3205283606646506], [0.9131447620210372, 0.47662445064444714], [0.7567707104264356, 0.597403880108056], [0.43816407398359136, 0.3172235603318483], [0.40284571084826526, 0.3789327957077494], [0.3353482634375736, 0.5368627167174937], [0.563841057511407, 0.9477985527287556], [0.1571832556562046, 0.5255210004540336], [0.5141002066662494, 0.5174020019880173], [0.2529867112321835, 0.7735404554393779], [0.28528310041088667, 0.8327481521857354], [0.696381431306556, 0.1362882788270332], [0.8465854581538367, 0.9933146663128183], [0.6375520085159507, 0.14821016331971082], [0.6728309974212195, 0.43521914810101314], [0.5860265051837846, 0.9820580958721421], [0.918023808994691, 0.5897657336702788], [0.09150186716335762, 0.0387517244924126], [0.2761310962151884, 0.5345979282595811], [0.16503508837403824, 0.6814600865237541], [0.04598804822437008, 0.7899678924329795], [0.6119415365808741, 0.7141777022290002], [0.18977066315116398, 0.2909135651898531], [0.1683567845810996, 0.7858428593578294], [0.695338693802865, 0.1322862499516776], [0.7134372133124182, 0.8767911574076771], [0.8815183504554384, 0.03009021214005103], [0.6659248733169953, 0.653324130634873], [0.4083774478776454, 0.3077083106642], [0.8327904804392371, 0.0863949097372132], [0.2307524179381356, 0.9964691745286229], [0.6936582466556691, 0.09038411039806205], [0.7147154174540205, 0.6183543721360375], [0.04771198570535806, 0.045847232508104296], [0.49305222890078804, 0.8450415744136749], [0.7019077051775974, 0.42337988393724657], [0.8511393268794638, 0.8602293640169826], [0.7598104517278035, 0.782825166657609], [0.5809587543524666, 0.3605928798897432], [0.7802023696329905, 0.5692041622370723], [0.6446460017183094, 0.9337939786347589], [0.4571427404986227, 0.5764614159159909], [0.3947456447687596, 0.8933253009542135], [0.20121439989604273, 0.1563721967291325], [0.9629574047785532, 0.9857721094722032], [0.000990210524916657, 0.4062805183793545], [0.8997794282745404, 0.1601822793461486], [0.01636370870193582, 0.776393727627471], [0.4523985286884006, 0.2549489751150613], [0.3078396686769582, 0.8921847661404537], [0.7616081916712064, 0.4807724240097353], [0.7376595498171953, 0.7660928390863052], [0.5416133853018688, 0.6459198275375897], [0.9115616383027015, 0.6628840104701686], [0.4004004308644291, 0.16812962706873869], [0.36822152247981743, 0.44803290257782613], [0.990616796868055, 0.8715180071368106], [0.0657470793337771, 0.09192420986716687], [0.2889099059383863, 0.046702415470767256], [0.4262707798774601, 0.9455035909277666], [0.010853981287773151, 0.7805240929962578], [0.2163911484369656, 0.6580716285064322], [0.34486493816026775, 0.9799066058930708], [0.7968585057266121, 0.5005128926942612], [0.32579279983122245, 0.43802912972230046], [0.40132822026133064, 0.5363856513860369], [0.5032041167619052, 0.5577455403135935], [0.4516866926491301, 0.2526153008799439], [0.6357570346404291, 0.12112663956432823], [0.1741611370843097, 0.08694200564688392], [0.3726445972388174, 0.011829212773918352], [0.6478966134712206, 0.719273728815607], [0.3732760882435575, 0.22920286096525477], [0.977055468670146, 0.8052761212678026], [0.40720651054480683, 0.17409077466957668], [0.18038395270912955, 0.5675024045918804], [0.31847936703990043, 0.5894325355106353], [0.01252944287136959, 0.12829806062127813], [0.4205727228694015, 0.7732533963825481], [0.6684686390827269, 0.31825432170506607], [0.1767593311367459, 0.2861562587881801], [0.984971880947151, 0.8021325224168869], [0.4891848655416392, 0.5359635694504564], [0.3024943630545668, 0.1997953126950588], [0.39099327707618525, 0.21344364164157148], [0.3674802933988587, 0.8637086647406307], [0.32256624839923254, 0.5025631734308695], [0.6100831058874011, 0.9192418609001033], [0.7128865546259932, 0.24582970120915104], [0.3621666631180751, 0.758988285587259], [0.18479121333861492, 0.04689763370414135], [0.9526230581279345, 0.7355333289269376], [0.7614569614458219, 0.6180321066710543], [0.939244277139428, 0.5865578885029458], [0.5192484555391085, 0.8231985426668158], [0.715596167454176, 0.5848302209889369], [0.2712250591884472, 0.6828581732005217], [0.5442367992964191, 0.8699024290887164], [0.1881040563368518, 0.9448916943307024], [0.9328972704232962, 0.4381992631679261], [0.7830505427165947, 0.5950722286517423], [0.11206050334161544, 0.28913286527896], [0.3753854854276816, 0.5574733642990527], [0.5329836489579538, 0.0014944691892225803], [0.486821095702323, 0.481031198672614], [0.9691616116055177, 0.3062436751390373], [0.49570454428343125, 0.5647825796987814], [0.2126319469156378, 0.911729079966251], [0.22107416451672457, 0.6478686300495238], [0.9032504253278015, 0.9306435189026625], [0.5975237626692047, 0.144474371564563], [0.5039367870936478, 0.839765465856677], [0.6570604484763283, 0.6901433004125358], [0.12220038982056824, 0.21902061447835708], [0.34505628248893305, 0.5001321132594226], [0.24544551193396913, 0.4887648147276513], [0.9834055357718011, 0.2243599284066281], [0.2866238658085881, 0.9066632050471651], [0.6621701134297707, 0.7602582777047253], [0.6192540577631653, 0.2080005070826133], [0.333313120809543, 0.562851796911522], [0.3012753328966037, 0.13150150916225545], [0.35238804490733544, 0.550021811805048], [0.7251533823564353, 0.8725565416390553], [0.09471561858223965, 0.07147407271090722], [0.6635620827004698, 0.001645646064395656], [0.9067358712176065, 0.3663710450860216], [0.6414761198337098, 0.9384015335320082], [0.28516222703144656, 0.885373805942398], [0.40418194751949255, 0.02174557595527371], [0.27888889590310006, 0.24338274549666317], [0.11357098524555242, 0.4576997978269519], [0.9290579122298528, 0.9340685704802627], [0.5635026661296381, 0.8496286931159008], [0.6399209364014119, 0.12896298221071323], [0.11115721640174026, 0.7097199965419607], [0.5623829265168224, 0.4966364825605186], [0.1032736105401354, 0.5069782801351087], [0.6081495536764704, 0.2591860598012219], [0.0010436571194273325, 0.7255423664007903], [0.6506455895400138, 0.15837554165115564], [0.735793944936698, 0.2614453995856246], [0.9992119075307205, 0.8122322671621705], [0.18502424891223512, 0.3290081118006013], [0.4903919750427095, 0.11788759974900997], [0.8304300683122384, 0.9635308131762619], [0.1417977203911669, 0.8130657125355537], [0.30207579648504157, 0.8421168412141072], [0.49168118001674577, 0.6413009365816678], [0.9568800690597812, 0.007659538092224749], [0.607664357303167, 0.48192045902195146], [0.7476358658223335, 0.10505321010504831], [0.7174269059751552, 0.6668038239850288], [0.0781184895734991, 0.3198363495023656], [0.8361091167793143, 0.644433275591804], [0.9129810452109509, 0.3798733674274213], [0.5460283025643783, 0.5825024910549095], [0.743126415704199, 0.8679836022167021], [0.34578400678919596, 0.40124421044277137], [0.263838718377263, 0.10683560495988242], [0.16113023568443718, 0.7365541885752322], [0.3875586539161976, 0.9341101119461557], [0.6168136796449156, 0.23003350539491485], [0.7280834336565709, 0.8871238019428349], [0.2744499619538835, 0.745197818367107], [0.4303218992659147, 0.958243894176402], [0.8101888880605623, 0.048715051235952656], [0.8428778954368985, 0.28231059520172164], [0.1695110089631947, 0.5139512023162006], [0.6273952433155372, 0.3721685599392034], [0.4939590631621633, 0.5734965645758263], [0.3566959456336145, 0.5102482853248856], [0.4399686204822937, 0.1595871576740343], [0.4292505016398641, 0.7212916964260024], [0.8663001057213521, 0.9172172343856214], [0.3126238293387297, 0.0003657334732276585], [0.6523115532966467, 0.5095808481427022], [0.582545226410719, 0.2557802770847284], [0.04274060489135234, 0.5693837520533993], [0.23444467120067036, 0.4925490236258785], [0.2854516993314804, 0.2611301180993285], [0.6894952025553955, 0.26065623692999074], [0.44574423232052063, 0.3648806988226643], [0.9776325524894658, 0.6902154916833003], [0.2462461985102644, 0.28382449717918556], [0.11931953560016328, 0.2963701114031867], [0.9339333616070271, 0.813498390048653], [0.8443575043601272, 0.27474877639959105], [0.9158241593855193, 0.5258377449028392], [0.033330463751385486, 0.703821598370157], [0.5649164768285978, 0.7880809436587084], [0.8213382317085383, 0.460900978964084], [0.011197171462073219, 0.4320280507790828], [0.7534435422996889, 0.8460874863574556], [0.6372031652176688, 0.4630935329234881], [0.5942673477478406, 0.3535671208808612], [0.7783433632684658, 0.5710023737162273], [0.9775047405323326, 0.6325385215880734], [0.6789904725004153, 0.18383433320154863], [0.493244425604601, 0.13051429193646447], [0.10726473781745471, 0.9874185758636447], [0.49317820684471236, 0.7670878053840842], [0.9020298715111141, 0.6652879469934267], [0.9925153029707618, 0.5616600448966329], [0.5835319368044455, 0.3710783799340426], [0.08950789041798246, 0.438540759839972], [0.31877839836951993, 0.8776897759624208], [0.36370599735989084, 0.7076043099854443], [0.9283451305098067, 0.3636927138715704], [0.3062689372974251, 0.9774359330480529], [0.6236929836065604, 0.7965783622399032], [0.743852384213284, 0.18806700550640942], [0.47778380973185297, 0.6369327872804391], [0.44485801832187444, 0.3960361508106828], [0.7579720749853649, 0.8600788053264279], [0.3681118319382112, 0.052205237433991525], [0.12088515742695405, 0.3368694661368469], [0.6133409732584337, 0.10509796865166476], [0.1762040521086291, 0.7382613696686752], [0.5177464311384179, 0.382462359374791], [0.2431471051278653, 0.22708187536607627], [0.9700861467060177, 0.9064726638160289], [0.8600686197923437, 0.19665588626914787], [0.47201137133336957, 0.26867643397886576], [0.05942247038993953, 0.4549499514266806], [0.8734052842284186, 0.8924332524648784], [0.6323537815111847, 0.9427175638093847], [0.8878524880539403, 0.11033462365870095], [0.48940885785275645, 0.2954259527366624], [0.3783064272364578, 0.10911928015316419], [0.023856271694218556, 0.39812665714729356], [0.9623915261194778, 0.4041932263973804], [0.23678253009464034, 0.9198369600786447], [0.8084253312721575, 0.9808749787965455], [0.2521832410184355, 0.07649579304590948], [0.4045210353634574, 0.5606128553333256], [0.22106203569605398, 0.41246478736937453], [0.7986388466584471, 0.3691898354321772], [0.4256562307674462, 0.37122831178345106], [0.9203052385326453, 0.19523369309721073], [0.636525641487581, 0.8285673868346339], [0.24239815127805697, 0.47240426690197945], [0.9424944780631446, 0.2553854069426781], [0.5311944788641733, 0.8234227853580383], [0.24006714341573887, 0.47821325088063826], [0.94115919332617, 0.6005025567143139], [0.7473072148061443, 0.33110480722564173], [0.7156581822734612, 0.021685468726004742], [0.024202375324464342, 0.4768171742536117], [0.423034825183919, 0.2669306884584024], [0.7897722934362603, 0.583142876238307], [0.695837613944229, 0.6202385605805032], [0.02208083442184028, 0.34065034837227715], [0.6365397906876514, 0.8337200036577479], [0.3254189168395588, 0.7797846308554353], [0.5185805945982662, 0.46559265636122693], [0.46700568634669737, 0.2792081758831789], [0.23685010622203062, 0.728451076465969], [0.10312186473348828, 0.32255164547153214], [0.14023217182865333, 0.8455331448709583], [0.1182261875806424, 0.9529289226768038], [0.8572726440210552, 0.049555057069976316], [0.5013348954350297, 0.16624607647345968], [0.9175643693211604, 0.41519248703370915], [0.7460655990883844, 0.7254417417144117], [0.6956839557633012, 0.27484230939018617], [0.8568764870856, 0.5341443879348868], [0.4537268035034395, 0.4744142050531309], [0.05888554105192767, 0.5535871882788019], [0.5981425042385558, 0.09718101624590558], [0.10431339474087287, 0.6437349185328946], [0.1456233215138295, 0.4483456677167156], [0.6263778778268638, 0.516989018845213], [0.6874197207267067, 0.4446346979383724], [0.8537600740112468, 0.20646444427141852], [0.4239418405593782, 0.9843541731241363], [0.5599910551376714, 0.2808777445817504], [0.7375831117655681, 0.04690898167579405], [0.3752449430476458, 0.7146604327835472], [0.04705920726816881, 0.48754530457595147], [0.03250050959120787, 0.5960704165445088], [0.8442343073023582, 0.8401788807201701], [0.9527974123490007, 0.40148458160182565], [0.061686762626120384, 0.649613599331207], [0.8338374203841976, 0.8602286090732748], [0.716875995639267, 0.04846539088622148], [0.16996962818128225, 0.31546058046177095], [0.3976562998453579, 0.968299203203186], [0.14053763004221498, 0.10887713471795935], [0.5871308868850259, 0.1460962962361706], [0.5301961016606239, 0.3889202197144416], [0.3326701105968263, 0.6063477634229115], [0.052743920996310534, 0.7775612476311795], [0.551562616063036, 0.8260778554522029], [0.014813556101757275, 0.5577830032696504], [0.5585112577501138, 0.8122353535117564], [0.34987259183271824, 0.7400975926093721], [0.7992987945464473, 0.7641131657298376], [0.41043101138290783, 0.44221911386804713], [0.704898597083647, 0.40574702060142254], [0.8461957759326373, 0.40059988069936836], [0.8476532096995589, 0.6043479115917045], [0.8884777752296525, 0.9192564072329487], [0.09041158239480218, 0.5601759220044469], [0.9266483273097804, 0.13561660009588827], [0.43753913944817635, 0.8970290546238605], [0.7997123931631523, 0.15850582333808672], [0.07779957904056689, 0.026871349204306116], [0.7228032936013372, 0.6415723271977586], [0.01759816135938963, 0.3282783453120174], [0.7075560405933277, 0.5463443561093325], [0.2712879093272984, 0.1417089019702037], [0.31023127581351606, 0.5216408680518898], [0.6109585719415951, 0.9570719181870446], [0.13120047002420776, 0.02492600405547496], [0.3497479683028981, 0.4568081512902088], [0.5722151431174249, 0.13254264624162482], [0.8014034257622441, 0.478859520785766], [0.11832830713873466, 0.43474872976187773], [0.013284098477215012, 0.44429253188573314], [0.08244145980713569, 0.6983615004718596], [0.5294369927499374, 0.5183769683655899], [0.041500341750961844, 0.3937102885915591], [0.06775094184568697, 0.7733224440261195], [0.8897316322278627, 0.41985005709318257], [0.2931506604579346, 0.6478854564618352], [0.3963972449752229, 0.9079773872229284], [0.841660037568849, 0.5136377596152766], [0.8683765997270051, 0.6599470597988787], [0.8621330464692293, 0.10392997511686974], [0.7233684525492245, 0.6146128883749199], [0.6988769998512743, 0.14412057748296947], [0.11228958822595492, 0.46115713219312526], [0.7146223581531927, 0.5174482953228061], [0.7185630529703971, 0.025282088653034163], [0.7538678449466409, 0.48562450394504797], [0.5098544158569648, 0.09173660943862227], [0.14487808365192834, 0.89087145068799], [0.9102638651239615, 0.8605229605314443], [0.015349344436057621, 0.15018561690422683], [0.37404981953358885, 0.07396082826852934], [0.7150219753980249, 0.6136150738394719], [0.9246257012379567, 0.16599014316751848], [0.9800037203264266, 0.6820942570674497], [0.7681972946452464, 0.7832106219412194], [0.9859498033279339, 0.8193135969964379], [0.32624653694172934, 0.21136859397134888], [0.43515901802498147, 0.185444890274723], [0.7463107819113357, 0.00657725796532127], [0.027618304117827508, 0.9730547507932971], [0.7697109763841907, 0.08225221884723255], [0.8610233280648, 0.0829564937205437], [0.5934980480120889, 0.42042451103096323], [0.6133883061517512, 0.9886455460807684], [0.2754051538758704, 0.3312292999631937], [0.9669002466936264, 0.9804737433211477], [0.8216884477224246, 0.6611615769071598], [0.4132537549431051, 0.37823459220245426], [0.1771826398645674, 0.08653542913577972], [0.7976379045379597, 0.6747516660629092], [0.5545151801428005, 0.8497656865181206], [0.09272381406011476, 0.0067768045212459604], [0.07452476271528008, 0.08422126167063171], [0.8501374769746881, 0.2621066057779269], [0.865357808647826, 0.42105182778085504], [0.4080490491951493, 0.6996247576619824], [0.7090189778525668, 0.16606700221466741], [0.8827586845113292, 0.16363116190460758], [0.6113560124965741, 0.7790309937291862], [0.7514287622493123, 0.325264331923941], [0.8117009044914623, 0.3701165807398443], [0.22369556875192376, 0.44608926652649683], [0.5839171600717681, 0.5450468818877012], [0.14585747983913544, 0.900156035541136], [0.4276666668974488, 0.1260565722005309], [0.5628039218658429, 0.8284640909867865], [0.9096533728278177, 0.2584686731995376], [0.5415551534052995, 0.5669341293111566], [0.9345026114576002, 0.7026709188116711], [0.4078799708358557, 0.48500172953331533], [0.06743313009991014, 0.7413127458175068], [0.20510550058350252, 0.31988897419757933], [0.318363394000009, 0.01694285970333098], [0.6408523593184163, 0.7588456549691823], [0.6694765027602825, 0.2684303549140633], [0.47153045738439936, 0.18111513395495082], [0.14115530984173186, 0.6196832556902861], [0.15730883617825475, 0.25247225487378344], [0.3993312261005043, 0.19623886966472948], [0.0722368606295174, 0.5499915721249136], [0.2739443914265194, 0.09774745686587294], [0.7641072702004258, 0.36559033087260084], [0.4088886475987362, 0.901958129684967], [0.3018111627140332, 0.2533939416358889], [0.2692269240694046, 0.747362458686313], [0.9465263786454292, 0.305697634553752], [0.6404965391139368, 0.264983055257649], [0.6692583834902409, 0.5328015395995819], [0.9338534398059105, 0.7313066122468194], [0.3962091457357513, 0.4052901926641441], [0.8386504258554371, 0.35624243627465424], [0.2651528558821338, 0.2584466778389779], [0.4343726318954263, 0.5547589840063756], [0.874687481167476, 0.8144200323764819], [0.4971712090272321, 0.008221349977521553], [0.2834830719027899, 0.5441362499709318], [0.7058006606287837, 0.06295965334170783], [0.6498955124524279, 0.2555667155852195], [0.7545690509189695, 0.05599154297704356], [0.06224034980756288, 0.8696566365177743], [0.9868368883690086, 0.24434201337788253], [0.3233984762781905, 0.7062221399392212], [0.40127078065342736, 0.9098473995281923], [0.5165067871036589, 0.7174572000049702], [0.43762687036002323, 0.40207057656001166], [0.1635220258290906, 0.06598557025157847], [0.6567741533842708, 0.7377988705169843], [0.23883653958524498, 0.28620796601552134], [0.31426121823055164, 0.16022536888806882], [0.2906885493528667, 0.22956588180735094], [0.47329621220788043, 0.27000328383434513], [0.27828581596126667, 0.08150188116602597], [0.4774538765876928, 0.9813905570983337], [0.142248450118851, 0.17490899047754926], [0.8886284655787294, 0.3503069299186352], [0.26354860386412704, 0.10813751623610846], [0.3064288950896932, 0.27267189413832194], [0.6322607711797072, 0.2574289050834142], [0.6347619565015078, 0.45507238958273855], [0.9267514972247886, 0.30309592156055654], [0.2736678424585762, 0.7852685331115383], [0.7282608002821458, 0.1808437096338742], [0.036159256052590405, 0.33322554723939357], [0.36173916670663975, 0.5770271562556551], [0.31030488167222725, 0.7335638795467425], [0.6753759442895483, 0.8117864737909146], [0.47015635313252613, 0.6417012786901239], [0.6777610921182089, 0.9255335904190316], [0.5845211709349921, 0.045227943409343774], [0.4572444692079187, 0.09212230348217765], [0.9825801143718702, 0.11761363880219589], [0.24920631227080803, 0.693640651924151], [0.9985629030745389, 0.04225334126561986], [0.5942608658967686, 0.80405540856119], [0.012203022400038677, 0.8420331796823222], [0.6524420213430777, 0.28924441219894337], [0.3241631285855924, 0.3396823841788571], [0.8016798577156972, 0.18268233426243752], [0.32535557250608516, 0.11439941363476824], [0.3743687679157881, 0.5506887095881273], [0.20156940459915096, 0.6866272489371492], [0.2962012759258468, 0.973571360311213], [0.7957604602322088, 0.4967846764686169], [0.3929374713042352, 0.23126538731231627], [0.124317585304355, 0.4899772906425771], [0.04663292105211847, 0.6563725659790965], [0.5278326383474522, 0.35716508203265984], [0.8657685098651636, 0.3029750151987468], [0.9495342765577429, 0.46131810336772316], [0.27275191757178285, 0.11204245694830683], [0.708578900587646, 0.8559058333878496], [0.6393509533145804, 0.32944395517172986], [0.6084390450467291, 0.9024180644000585], [0.7549466861320245, 0.12128678019641315], [0.548937200008912, 0.32114037346631374], [0.9397349010085922, 0.5827094000159629], [0.404347114182669, 0.18685885440801664], [0.38020628321361616, 0.7997012386714861], [0.3243575967779654, 0.9619096612020265], [0.28240140745823283, 0.6386209717176216], [0.27610987640183404, 0.980204234228779], [0.9592380697942705, 0.1012332962630702], [0.2467926971344654, 0.06631999249696163], [0.685672557702734, 0.3040158371915235], [0.26866211711354626, 0.11081354243955943], [0.6230209668548612, 0.0357788238347545], [0.9495695740353457, 0.6093209043162812], [0.5408640992406405, 0.03775047155550415], [0.44471175007001984, 0.8704833041713004], [0.24574009910173333, 0.3426815926900736], [0.5838382046224384, 0.6974145470329283], [0.8303418582570585, 0.5375303112091022], [0.39859904663006096, 0.34789809563256047], [0.6019721879013469, 0.4964938981953311], [0.26941784037219174, 0.5797492282106055], [0.6929952962523973, 0.8998168380834646], [0.4631152284841962, 0.7813001040029596], [0.20010369706784503, 0.1822425367235332], [0.8316954440246886, 0.6245288222404571], [0.3003828243246389, 0.6131790477976216], [0.8538665513271293, 0.8045609118925134], [0.313827672693033, 0.038962760455103385], [0.7046108938488536, 0.4025863086242223], [0.6865376537241635, 0.2001314401431037], [0.23601772090130602, 0.9907598526709375], [0.8943474193236134, 0.93230540434972], [0.895958153622468, 0.27851009465803156], [0.5960584449499443, 0.553681298598027], [0.5136673393243969, 0.38143587255373856], [0.3518507296450093, 0.3687568040104463], [0.1291753574181721, 0.6327786338959303], [0.7432760157065985, 0.4651531940971766], [0.774791158009808, 0.8303715927956344], [0.3911844726638467, 0.5631580982257188], [0.19304208719530513, 0.5573729722679208], [0.5826754929476263, 0.9404317429112508], [0.21479039204077055, 0.5082396617132489], [0.9519739924358788, 0.24098575017545643], [0.4069978825220487, 0.5730196245776759], [0.08218356071922783, 0.516251513126919], [0.7323598709611392, 0.23301655386111808], [0.5864599997840136, 0.7390624101632283], [0.273214326348336, 0.9383656251160184], [0.7293854358922256, 0.8380511193899084], [0.556228796406055, 0.49371391568073497], [0.2870007472510234, 0.7809980706292646], [0.9583415125654181, 0.7522841422375142], [0.039367453594985835, 0.48438683853801734], [0.8795727586173181, 0.6141017263187201], [0.26516743114668406, 0.028224506770098245], [0.5548452395257912, 0.5441168905970873], [0.3018729059724037, 0.9655249505735791], [0.6973820997146252, 0.16433261504255803], [0.6058279460225628, 0.23376738033560807], [0.7149024896737363, 0.6113864849683999], [0.1221152159098915, 0.45397132392049877], [0.6622594401520151, 0.6483784048173217], [0.11068275410381612, 0.30759836911704197], [0.17032047478405077, 0.7111602277200121], [0.7387312931392022, 0.43256052512500975], [0.8227544757954393, 0.10569260275369352], [0.2918623719542075, 0.823820208585204], [0.8429279429323863, 0.4048678090992911], [0.5890212999037254, 0.3309540584588919], [0.06350212446030123, 0.8906280265532822], [0.43842973292963605, 0.14753172195534103], [0.5798613089400311, 0.3400214973093534], [0.04636682201702036, 0.99413363860424], [0.9979661380101513, 0.07435573302503795], [0.6167245325835137, 0.7738616494322089], [0.2308437737630621, 0.8945865743708455], [0.06985152075359591, 0.8672918178519534], [0.3632374643258035, 0.43429425245912545], [0.3256019812031088, 0.49143129747094905], [0.39112704676602916, 0.2707795448936253], [0.9935608749075528, 0.8707123858636082], [0.18964412622433602, 0.5692626162903717], [0.44264901343696195, 0.9839355376743962], [0.8946534017106307, 0.8353021952519694], [0.17461911649648143, 0.5456270255005787], [0.02851967272698619, 0.7038467565575721], [0.9270932893257077, 0.5411746980946677], [0.38677839845185813, 0.17786079661005572], [0.19437807432365506, 0.37655531788214136], [0.9660022871198334, 0.45994062464125574], [0.11051796648695167, 0.5458726849037583], [0.641372365396672, 0.763219789722573], [0.9719462387687876, 0.4773371339687026], [0.9862282568066209, 0.42591502942708204], [0.6738671145701833, 0.7878368241354409], [0.7711633241096865, 0.6350398386640745], [0.925789651398897, 0.39957375111840543], [0.592587739496763, 0.7596868042243894], [0.02221616039309382, 0.37976522965715664], [0.3087811731091702, 0.19673226702267566], [0.3044572308849064, 0.8681530627420968], [0.8541266587188846, 0.29650448154972253], [0.1846464120429332, 0.2912215140477491], [0.5130546114215718, 0.5638739987444163], [0.7274319287975461, 0.11367990462418198], [0.42783813065420295, 0.20775849977284377], [0.3590083012172688, 0.2533434573877569], [0.6335267100738212, 0.9549201660716629], [0.07453368050972842, 0.8989551841797595], [0.5888556199009852, 0.9392909569193136], [0.06080447045796089, 0.5585622206997167], [0.09732240435798933, 0.9814781640308743], [0.41474049759154963, 0.6458459896095216], [0.5637211068110412, 0.570051999116357], [0.898825223606406, 0.41644039686590406], [0.40345921528008255, 0.9642104322206944], [0.43308877857706385, 0.18957315303826594], [0.22847357630845389, 0.9565543733033905], [0.48373287749442817, 0.45153766222150016], [0.24575972562420534, 0.3868551122713755], [0.9374649209858322, 0.6119306088093311], [0.42163776682337395, 0.03796892643216909], [0.23491681561020872, 0.16189030494897727], [0.7952058386919533, 0.8299955222461045], [0.8579242835554528, 0.22200493094098195], [0.6419420218639331, 0.9710508708204082], [0.34663277087387856, 0.7876960485855373], [0.9329780718970283, 0.9378327965276173], [0.39529451480959343, 0.08273914147016448], [0.14937726222448644, 0.6394176681369267], [0.4462195694381347, 0.37518446891687596], [0.3468809281067947, 0.5617044319431908], [0.25586524584891446, 0.360836613729944], [0.637797188473418, 0.17536409310564083], [0.5471646139698813, 0.922879502822335], [0.07406212064283713, 0.0013729665346633446], [0.8695633211962456, 0.25900957474241826], [0.5556146324819233, 0.13657931922040445], [0.31271796182415146, 0.6620456819379174], [0.8130940974918461, 0.5405793143244468], [0.8991268976044994, 0.43542753543712676], [0.1620031883540375, 0.6177266771659263], [0.048988022216818194, 0.4849804554416113], [0.47491232759342294, 0.6789476056668023], [0.07561249499635292, 0.49446379871060586], [0.3517908692662254, 0.31489471458734863], [0.7777330829402069, 0.06569780170419215], [0.2989336059851292, 0.9419894462744552], [0.1340935345746579, 0.23619775978232282], [0.452162763118127, 0.6861881753697123], [0.18562526050074435, 0.5428164784231332], [0.017111842292322987, 0.37455469101812133], [0.5150996644586833, 0.4644241595854731], [0.026076051748107454, 0.18162458118472957], [0.9410726869702849, 0.10436090383320284], [0.6176052679763739, 0.9292991808617715], [0.5434494900421072, 0.15513696931659948], [0.1738942903999171, 0.5979740816151828], [0.40605372182183197, 0.7182915045848256], [0.23549590836841594, 0.1413489262700679], [0.6307263798331819, 0.30169331293453394], [0.009688516074629838, 0.7124718655830992], [0.7043457096775316, 0.9623401530386052], [0.7250324270007956, 0.2473756830783358], [0.6866318144432626, 0.03915890632818242], [0.8103461816322646, 0.016320641974491346], [0.9167964976892037, 0.9907002189701074], [0.5735463884390394, 0.8833532971564892], [0.37630309567503517, 0.21994204520622618], [0.7016849913102691, 0.15016191217980035], [0.8127210325761905, 0.10077027188757914], [0.026141479884242425, 0.531729935767077], [0.16172150752941217, 0.08198383342221982], [0.6304185973255724, 0.9002311681682839], [0.0008129074641025635, 0.7748013139009288], [0.3356645955841784, 0.2629095447551204], [0.18748942618821585, 0.6542749566859338], [0.10621900698640796, 0.45444694290444776], [0.7907713297976758, 0.7273602600597484], [0.16287512440618923, 0.13369598197917398], [0.8055839026887898, 0.2897481023332027], [0.5466650919208005, 0.8695424083869239], [0.6668801724315108, 0.743613692221885], [0.25100082375654886, 0.44972774894601575], [0.7591937383493936, 0.6314905644015353], [0.643151812931279, 0.7672527008580162], [0.36428482975233756, 0.06251364651582314], [0.6654825475712415, 0.48482762925586775], [0.5411862115691629, 0.9515936706679656], [0.9526313745573164, 0.06378435368165525], [0.5099791650335719, 0.6250108352038775], [0.7902048432786796, 0.7597935944042354], [0.7719252194684639, 0.2898348536054438], [0.0006843564176564065, 0.17730470823197364], [0.3199940644311733, 0.8368093708811439], [0.35762488360414635, 0.022861872858078502], [0.26669331702620225, 0.6475099420126882], [0.31123232267043044, 0.01474100402263101], [0.406092806780309, 0.0685050941397718], [0.4327393215456733, 0.24592737790193597], [0.4419021263830767, 0.5909151963869846], [0.8231641297710465, 0.06010032891599326], [0.5678385266360916, 0.7889860554456453], [0.2912762738353566, 0.8036368065553327], [0.4102639372870053, 0.06244539185549225], [0.59988529064826, 0.11503962530661371], [0.8487936268540459, 0.6625878893734543], [0.8181379447773134, 0.1523094790583459], [0.2615630420089258, 0.6659765152188177], [0.21227882315139823, 0.7448187859303564], [0.9085890311493685, 0.03725246213051436], [0.23861250261213818, 0.32015031667091876], [0.16888313194799442, 0.916849355978303], [0.8670258230568687, 0.5009477715318005], [0.2886364551341696, 0.4442193883043306], [0.8183088253894987, 0.9282556610890982], [0.052810970479147956, 0.310593473396918], [0.12677035147139126, 0.3177470696072746], [0.6342265400071035, 0.9061524073319386], [0.2661880817815916, 0.8615865061001842], [0.7440189178365587, 0.6617962238673942], [0.6918966052467822, 0.03878925453416726], [0.3355753177012051, 0.6354430479371311], [0.004867419799966632, 0.841953596011425], [0.3941754697163138, 0.802543725192168], [0.502669463223641, 0.6722939414188391], [0.3503434345000759, 0.8662813601629119], [0.9732666035053564, 0.5404281840463183], [0.9764927868619586, 0.6723582228112066], [0.5474198340012085, 0.7242615596507721], [0.5207378691396806, 0.6404293813771734], [0.0924442250156774, 0.3275556997515172], [0.866515919758642, 0.011886214207059709], [0.6407921985218065, 0.9470234574377608], [0.019962661409815063, 0.6370461816467458], [0.7208786953860811, 0.5436203112822271], [0.577187429251083, 0.2612369630010257], [0.971831765392713, 0.9123086163101096], [0.5443034194037943, 0.1799898570721321], [0.6861946348837291, 0.11357044455791998], [0.9152511552261565, 0.7149690463458568], [0.2751383289918117, 0.6663754828525535], [0.9739585995889043, 0.8775220026791628], [0.9113548816487744, 0.29522015058098583], [0.6726466772640787, 0.9178980415643974], [0.050621228545168484, 0.1860359752381432], [0.7083808599799862, 0.8873107467521651], [0.25074166039244483, 0.38237940363889733], [0.7746761404437683, 0.030341889199207883], [0.7422211874326646, 0.3190344294138393], [0.7677108539336421, 0.27533524352812344], [0.1991943611152278, 0.7370968055917528], [0.04278994843495365, 0.38946645871007146], [0.0688250591575742, 0.3609573425862772], [0.4982924779836154, 0.6059110470689689], [0.18130347862397078, 0.3628201464647528], [0.40281357494171877, 0.3682751939865948], [0.1126163620155366, 0.1783489164298786], [0.4810233518153596, 0.4320731213592688], [0.3489815917776484, 0.4894760008381466], [0.7927842741034614, 0.4857210960859759], [0.3747142522418613, 0.5309215683100162], [0.4988165007450822, 0.3920547773390404], [0.9724364403861594, 0.9323939064883487], [0.32430661547427975, 0.12059645158975896], [0.5309529307929172, 0.843508449270912], [0.8658642142343503, 0.39090022492889565], [0.8015893483395995, 0.9784060671760767], [0.4900659636011322, 0.3443070027322982], [0.5385437503821899, 0.947747982519835], [0.8429729717094129, 0.6874568378026249], [0.13048209316388637, 0.8624100823410795], [0.6383783263295989, 0.5024239733880084], [0.3454645170209819, 0.6285015077210374], [0.9434867405261759, 0.5103286197356549], [0.5973014621491269, 0.4116037019871446], [0.7035257079264642, 0.8660120992169884], [0.19392790594455078, 0.44887750822211925], [0.5104955743544414, 0.1638535289951195], [0.1091505248379474, 0.7951853573883807], [0.4460328715828167, 0.20239370058408934], [0.9450689393345387, 0.3641879292180804], [0.1002395785756679, 0.9357740441549227], [0.31200324438329563, 0.05532379304022106], [0.2883444315042144, 0.6473700965457111], [0.10102936459657563, 0.6209190356839877], [0.6560685733308248, 0.2900503388793282], [0.6262999010411436, 0.1305960653537972], [0.05159144749411704, 0.6902281502740368], [0.7609170843211949, 0.8524691049550632], [0.6311673238018001, 0.7120814362252464], [0.11917339640575086, 0.16187854172749294], [0.9236242099226546, 0.8872389649962296], [0.2592577538086871, 0.9934466451355709], [0.8410619733636505, 0.3484914014018462], [0.27603463625255886, 0.08602000639329754], [0.05459051979336138, 0.6351919168643343], [0.8333630977517071, 0.2728538750613101], [0.7392952276583484, 0.5927912820277005], [0.5038855585091543, 0.25010173696610816], [0.35801211788508414, 0.4710957489567591], [0.7999933301589308, 0.21666006446634212], [0.8984412071065694, 0.041653868701828856], [0.48401865826438817, 0.37431812509776485], [0.0476630221067228, 0.5797452635925513], [0.3958744948870726, 0.40032316368827436], [0.3108237891762542, 0.22658642980788468], [0.31767926965784254, 0.01930032467552012], [0.6124522245092572, 0.6611682486559316], [0.9909669322650924, 0.9836600890860001], [0.7808803248134057, 0.9152040199408039], [0.46298357851904903, 0.7190407210343601], [0.9410853590773325, 0.42464459315928116], [0.05228401133943772, 0.3295695116880456], [0.22498036348119055, 0.6448967157116158], [0.14022849057856168, 0.2290985780936824], [0.16905436927659523, 0.7230330027160078], [0.16180740843956953, 0.11220504153734323], [0.36060563591038, 0.8564677229865357], [0.5783138107177033, 0.34142247037144446], [0.43385700893930734, 0.9077975964693394], [0.21753006913079775, 0.3457389620953115], [0.6795887386225986, 0.03591318392124376], [0.45876458067879977, 0.5433169564435579], [0.5130006925684688, 0.8806782203930507], [0.43139548439109177, 0.46941842869569395], [0.932595149135341, 0.7323712557403534], [0.0021571310867375404, 0.5873182862445829], [0.6691863290208121, 0.39120826477758996], [0.6183030848793868, 0.24874706017725678], [0.23191996901525558, 0.6302310009106582], [0.8247016569055171, 0.7449788012915753], [0.47148391551810165, 0.6208447967648582], [0.11558625696714986, 0.0034001568436751173], [0.5399925903853208, 0.48623243119661097], [0.3453826978195279, 0.5250250281018501], [0.8528286895901548, 0.7709526099047269], [0.37231995471727564, 0.82387727600195], [0.8606760389743892, 0.3683549075496845], [0.9064140512715531, 0.1808232158266162], [0.7057251503868783, 0.7546187478089523], [0.19087971171077256, 0.47039662720113573], [0.5028727787326901, 0.18398204605781798], [0.1159113768665393, 0.9819313439310137], [0.5682448508260296, 0.7216015164406344], [0.04028426222706838, 0.28357303824046864], [0.40149871660499825, 0.9107643697988372], [0.7849357574403214, 0.857672577816649], [0.9847253010772448, 0.6376022469158176], [0.2522065028573526, 0.04345749342192873], [0.4459171625351096, 0.5698567159794224], [0.3943796020244005, 0.6988515911761871], [0.6879614087850684, 0.35140504472813483], [0.6843668076473597, 0.09043103200385227], [0.38670868503086775, 0.9608733054937584], [0.9372840540507843, 0.94799339017393], [0.6059498890526188, 0.9100364705499082], [0.6103595505530118, 0.5651817671665548], [0.1706306650730971, 0.30798504104444324], [0.03218691765367265, 0.6869498756948397], [0.7201229358750463, 0.6080305865101389], [0.8758990930352605, 0.8212483571363061], [0.013289782259588212, 0.25754421429119645], [0.2692121918204705, 0.3442337257542861], [0.944978564985033, 0.9842325936584009], [0.5546730338923473, 0.4819152012391297], [0.6430486180951659, 0.07894972091355557], [0.2185700790045163, 0.09192195735887465], [0.23749533357363328, 0.318417806359373], [0.459676790781105, 0.020354074942631306], [0.002041067076173797, 0.05275038225593787], [0.681762831640164, 0.07269590783496982], [0.537265493664487, 0.6941534925315057], [0.7183517645248728, 0.6347696927765436], [0.8146044805241638, 0.48226604159179853], [0.21024986280162494, 0.8658005417266814], [0.2666276670224972, 0.5909425756830463], [0.9294803498603529, 0.10826986448727338], [0.7856201913584882, 0.2868790979094237], [0.05934681241459261, 0.8716205869808876], [0.3073314077876024, 0.09610997561576595], [0.7457099532576894, 0.6724495950742625], [0.20564911294563493, 0.7366200690508554], [0.4336409119729664, 0.9296171814334179], [0.12779522857311076, 0.46660459164167], [0.004821490109936821, 0.5800922058062199], [0.8575279201810839, 0.44531118879243836], [0.10010443170284034, 0.6338296498035], [0.02840662592848231, 0.18882387685350155], [0.37168452906061855, 0.14629773338342555], [0.35173054812786164, 0.6196687197929418], [0.8749185896341148, 0.8677184688502546], [0.7803403670053567, 0.7166457283755766], [0.7707230292433711, 0.8928801361773707], [0.4256709401469395, 0.33806823891207893], [0.8409891787765476, 0.32385475374598993], [0.3168802395807879, 0.45220909850296476], [0.13588542420599048, 0.6139935717831876], [0.4253905187036392, 0.6715399411706063], [0.5014510701675577, 0.08353135221574493], [0.16013076232556755, 0.07774711548669955], [0.502325941631632, 0.02025918413782024], [0.4594608638028925, 0.37361440337723606], [0.7686864434802424, 0.7642164291996053], [0.051310476848361986, 0.3574027217152945], [0.04843023218172071, 0.070563302553457], [0.7399964260117088, 0.8483341417168493], [0.5607144157831271, 0.2428182191504359], [0.6482752094348313, 0.5550868851603926], [0.554041647541263, 0.7883331309707229], [0.15799859346701106, 0.7513174729535538], [0.462998289841271, 0.38608073278374566], [0.7065722279858768, 0.9766109503590732], [0.7913089261470172, 0.6159739567313685], [0.8380552845223348, 0.4767458159139156], [0.8530382920899598, 0.9956143358029721], [0.5056221642172177, 0.7603365394441438], [0.09632471654285268, 0.22553815491855145], [0.8620978860307585, 0.06309091944885614], [0.3258277709213454, 0.8044498889500928], [0.7314265519069536, 0.9858520248919705], [0.27362520865070383, 0.22280332230241806], [0.5779209574025038, 0.8122835771603713], [0.05830821737558767, 0.4718578999335239], [0.6470454045149352, 0.9425314537689569], [0.5889378646438745, 0.6253199388112536], [0.026762440780833008, 0.35232140752229135], [0.7234619743197538, 0.7132492360233019], [0.307451876020737, 0.9693483710148134], [0.6891665918266309, 0.625640198628157], [0.4707288690205226, 0.5944981705101747], [0.37545554878185383, 0.8929581999028157], [0.8438372682245464, 0.6321913325109817], [0.9172486940036336, 0.11738083911978392], [0.7909852766976334, 0.567838353133607], [0.5156025363800592, 0.8882466734860743], [0.6907992407141793, 0.3825580862156559], [0.5912658066569261, 0.742747338851272], [0.8120863318526027, 0.5700603752411655], [0.35045133418453867, 0.7934697463249971], [0.061921647794345724, 0.6898881244010374], [0.33108370795189956, 0.38538670684574916], [0.8073047280524001, 0.41526774158438307], [0.2669450119048783, 0.6219701165111502], [0.14391896669391957, 0.0005783550306174279], [0.27577868983356457, 0.06405436757749983], [0.4998851161675336, 0.6196023416859179], [0.05382391501841355, 0.8749084602898587], [0.31150633662409055, 0.8608591279034267], [0.6079592427480325, 0.10981046097522007], [0.6284424979341117, 0.5649918327736151], [0.701337381904331, 0.1011685543972205], [0.18917235526415366, 0.32781182932480646], [0.035394886785702684, 0.4948888856471969], [0.6114215260869351, 0.1427198786558136], [0.2794922225720383, 0.7989090862455789], [0.009642453864649014, 0.15521908923700933], [0.249502118401991, 0.7838865479129614], [0.8242724573076512, 0.08156083724483965], [0.06072190437839653, 0.886510248887593], [0.4546110105569938, 0.9331351892146101], [0.03469949367113856, 0.5597783894602555], [0.22371706034085037, 0.8015120428441727], [0.6080324839280218, 0.07004683000001632], [0.008215850116624734, 0.37170732244634297], [0.836869046047811, 0.6577146640492426], [0.8325240841096625, 0.3965190177887503], [0.23205315126262072, 0.0410688612999327], [0.7824792864326333, 0.0018456348635043085], [0.6553728453702604, 0.5769778811187537], [0.19804288173534856, 0.8403822368998919], [0.47094576033623714, 0.006499823285435968], [0.8844837085340517, 0.499387521118943], [0.8506017647807086, 0.6912405573412512], [0.8262069564619661, 0.6890070594635451], [0.1220190739716932, 0.5863043001634956], [0.9779254685860308, 0.8464860917500422], [0.44344503527494683, 0.6501862817629799], [0.934799362524043, 0.7110092294240347], [0.5207550392233153, 0.07095186312630553], [0.7652420902687107, 0.8549036863725891], [0.8560417287862602, 0.837307173259595], [0.11170650530587578, 0.318552629832376], [0.09491565768271948, 0.7728426416561615], [0.21141404587654522, 0.09951721419780557], [0.7705637484460903, 0.2925696668372926], [0.27774623423759337, 0.8568189457266944], [0.9106181921220964, 0.06862370490305103], [0.6685808461384138, 0.9661179039453821], [0.34693911494427565, 0.037053817173674064], [0.46174575048374145, 0.2509316034147221], [0.9230093150694889, 0.7539676141026864], [0.9692338355039416, 0.5041377290483123], [0.7907616059984397, 0.7735447764966368], [0.2785743284249561, 0.8867024226274547], [0.6048465913300896, 0.9010683698108082], [0.24029188485187591, 0.6298832567476179], [0.33114894281982765, 0.6647146320765007], [0.31207759499037924, 0.17431621642722706], [0.5808679893203827, 0.511668311972783], [0.6687161100963745, 0.9043531705082842], [0.3312000210189854, 0.15188288882260392], [0.7895444996950136, 0.462227903788032], [0.9621943478917476, 0.46985225082254933], [0.33382829589425667, 0.16000640983557657], [0.7879394292971003, 0.4526750152731578], [0.8560071116799943, 0.30020723562933116], [0.15458940232367913, 0.0803110689015849], [0.21377933461794285, 0.5182378210108624], [0.2840377399257693, 0.05315222252856899], [0.8907991164091237, 0.552789125677139], [0.8878881872844839, 0.8738498156268406], [0.5091494146602478, 0.3570571352447305], [0.03199646363585429, 0.19201630450708373], [0.7574185877979045, 0.9780614624725116], [0.5623834894457285, 0.6362310002676446], [0.09385956132456086, 0.47802092413713726], [0.5360104559600732, 0.7380100997238358], [0.34733513595886933, 0.4889595643218255], [0.5980414217381776, 0.7179920448809868], [0.28155915634602957, 0.5152828700793138], [0.9779684698740031, 0.5493097736898979], [0.6657820069506935, 0.3097684921288655], [0.6794460207021195, 0.7917225462771978], [0.5933940147505791, 0.17914729862634415], [0.6759576843877155, 0.8518325063772378], [0.5114588520228801, 0.13837737644025394], [0.6273255096281587, 0.8689007540398855], [0.22327877372204052, 0.7460194392315248], [0.12168938943695995, 0.7751216687874751], [0.8721552799150464, 0.269337508806735], [0.7933708443172259, 0.14832869927519354], [0.9461677435761194, 0.8034021664726807], [0.05853046229588765, 0.7314154727427857], [0.10142351928036608, 0.6993446689663009], [0.6838162190381787, 0.520618824985425], [0.5133392972050801, 0.5616206714387356], [0.9265332067707825, 0.6906677145891431], [0.31180395132902905, 0.21514995931458536], [0.06828595870838827, 0.36211252222857115], [0.00955305093053882, 0.9610425269901661], [0.5956657127712952, 0.07965076708426333], [0.6113087606780929, 0.06038428334363699], [0.1432181217842281, 0.5953658852809076], [0.27367141961245156, 0.25791092195478416], [0.8085653976727517, 0.6608729879874371], [0.30153913803521804, 0.9011795394408294], [0.8347815910141403, 0.8356838306116096], [0.5124790931163863, 0.10833160599124969], [0.7457341817966509, 0.31640002831092595], [0.09374902264621487, 0.538527992111514], [0.23990208188300643, 0.24311681076696157], [0.7523065599286693, 0.8418503303937453], [0.10588930467369695, 0.009044724408722726], [0.5975845927764933, 0.7033920106239158], [0.8573303093457015, 0.43819109202273865], [0.5216189061287603, 0.40872882581836123], [0.8807741491582353, 0.6062263682487564], [0.7436733827774432, 0.42585789846677025], [0.8487709057308674, 0.8064541763256203], [0.49344487118973, 0.954663403702233], [0.22535559593067944, 0.9865742081882047], [0.3038006061823084, 0.05254467888941938], [0.8196778485663369, 0.6906249537474458], [0.3522286318866512, 0.8859426620457826], [0.4476908064277323, 0.9500768900061228], [0.030494853354865348, 0.7469476601596329], [0.7115874864320016, 0.5625519397057072], [0.6518959780804341, 0.1057411500019304], [0.14014048629070042, 0.8834734756116125], [0.17223641966696046, 0.41984520032269734], [0.5113461199575897, 0.5388327375186777], [0.4224241354781283, 0.8537185326063558], [0.5052346795912579, 0.998574157186628], [0.6442805209860498, 0.5990796072466925], [0.7784830555878384, 0.5808502164891197], [0.6459716812409404, 0.8324042639868201], [0.9513994924657172, 0.8996966996442468], [0.2868760545295119, 0.26707209393738485], [0.2746763347164921, 0.33971943438244], [0.6718680257577075, 0.7040777930874561], [0.5559749760684066, 0.6451851236968719], [0.04533742834954757, 0.23690991129604622], [0.09689893235841185, 0.8931877562811648], [0.8244624269530104, 0.9258052265992714], [0.9097602971709351, 0.11536357111315565], [0.3847833499279554, 0.5658709883607905], [0.5664562688654738, 0.647450027264728], [0.5674041651349631, 0.5302629977985579], [0.6156913492762366, 0.10738073455570207], [0.8220605298712468, 0.9921520335809699], [0.3885109667199278, 0.7604308139778555], [0.10324160423666506, 0.8749342458175067], [0.9416325710519357, 0.14172457190343746], [0.9475863833703331, 0.40636754099916705], [0.03518678785906304, 0.8266993193556602], [0.7202957845886254, 0.458383959859619], [0.02382359382346222, 0.7258923986232416], [0.3325463296612753, 0.3062408357913342], [0.12756699858979859, 0.24422794669962955], [0.012640434099648434, 0.05113504343961883], [0.08625482982099497, 0.27708299215015897], [0.006589787004402603, 0.31420687412436543], [0.9116639649209979, 0.4345055784640113], [0.034608152919973656, 0.631675389411494], [0.2950672205521572, 0.33618076506617234], [0.2784116790695774, 0.10324311554102306], [0.5167901162869599, 0.5382071386895394], [0.5098811743039094, 0.21948747564220672], [0.9276927088752791, 0.6987749198324021], [0.31196839253424347, 0.036603301996005366], [0.4917250265882923, 0.36343739578201806], [0.39645796291189317, 0.34731657067240895], [0.41872206950820645, 0.7925755327437678], [0.44485668400533096, 0.4136300853028405], [0.842020072104964, 0.9867881375508056], [0.44723184117088544, 0.9081958343338498], [0.8902187830299979, 0.5465345834514203], [0.8344493058561493, 0.4301268728735519], [0.045192590073016126, 0.30481743610109124], [0.2746732285656386, 0.6480490984660716], [0.35162525492842533, 0.935199101325256], [0.5519916163019886, 0.9967355933118752], [0.7054905216022899, 0.19514360424241672], [0.6194072790377447, 0.024593889179405193], [0.4674390125866523, 0.7429621836846014], [0.7450540002347166, 0.0368028942791957], [0.40263182751764326, 0.46318172684057024], [0.41746372734205106, 0.06860667766662087], [0.22637536058640007, 0.7001646030140741], [0.6939037472304562, 0.6208909234043929], [0.8129445812302923, 0.8084841185772034], [0.439013319933667, 0.907332855857223], [0.005102918420130442, 0.9230806119710525], [0.8862633789035224, 0.9613428397835537], [0.4274991813360952, 0.9716752191615354], [0.18743409711135361, 0.4693208564162117], [0.6042629297624772, 0.9475445370838405], [0.637681417212946, 0.4549738316126192], [0.3055923258345161, 0.2441775973835334], [0.051902723218455016, 0.9506796448703798], [0.22470645553068935, 0.6456712799179433], [0.16604127012279912, 0.5887161101068039], [0.9613452678294931, 0.9054991102076269], [0.7418291932542361, 0.5491235584333795], [0.627832223195328, 0.8063463639138211], [0.6668610158906463, 0.5822216543059651], [0.791402694378581, 0.7977176703297139], [0.3650687432192079, 0.5784991340169328], [0.106344133534232, 0.5384023526451848], [0.14347129884748233, 0.7619654704595801], [0.1917980846488696, 0.5897106439742039], [0.7088550181013097, 0.9690910095097551], [0.15234061567503399, 0.3767252137855309], [0.5794441546833389, 0.25589184586384184], [0.5988640428225707, 0.49897518332742463], [0.7059485875385876, 0.23679654160945407], [0.36201887254497356, 0.09985296812940325], [0.6454115477178509, 0.22933905414943478], [0.7457182735160955, 0.37215918127731373], [0.7643093846375094, 0.44321012523480885], [0.5288684407390896, 0.2908985475650203], [0.21438353569931634, 0.4386955733865008], [0.5280076961851284, 0.2841515402742675], [0.06236233872624941, 0.2507176304086184], [0.5399636401252138, 0.23035466326586918], [0.9893902166851982, 0.9889030509107085], [0.9216743914972167, 0.8820340129572943], [0.9547219716974988, 0.056079310996163256], [0.8835222295902992, 0.559235815418083], [0.2729298805395708, 0.07356027453001879], [0.5238241379501846, 0.18202119444525144], [0.9761179552497423, 0.6566383723552079], [0.5177624736016901, 0.9233161410916019], [0.1844552736714622, 0.06319697452430306], [0.38056495378770416, 0.06500080301082589], [0.09444688301078286, 0.17303262046629864], [0.08862719950061293, 0.15531651972079152], [0.383366965883424, 0.054085991972241065], [0.2161423643343705, 0.6749527464576761], [0.9335146714878255, 0.11096778745242009], [0.6441135219258444, 0.8258791447654998], [0.8118192122574427, 0.504819864861663], [0.9376693523331633, 0.9174171305421304], [0.25078919616582906, 0.09275597517151912], [0.1167082692033008, 0.21318107834379207], [0.4394725578078522, 0.6106489425376769], [0.3920881018869412, 0.2545219633029946], [0.6328557592629529, 0.892965445397357], [0.8294366265828031, 0.9461965990009301], [0.3047979019612541, 0.5626783375618223], [0.18779795329434512, 0.5244261673416909], [0.7641417637913314, 0.6909243847697847], [0.7788245486877027, 0.8722508267163032], [0.7357131412329303, 0.3608487225536321], [0.31117211945500567, 0.7072770166730875], [0.4226911338136292, 0.5223622551236236], [0.6654603921374417, 0.7244841594252731], [0.4955716180936306, 0.362460158240807], [0.9624387536503951, 0.6014242981053294], [0.9364679077245575, 0.4518821410275953], [0.3093796979832085, 0.3932963346547499], [0.3813327236868813, 0.4862206096717431], [0.8743374503167737, 0.5548490396639029], [0.6337385009922163, 0.6521124309124291], [0.266033557344694, 0.5571076343680356], [0.5403681958633589, 0.9984827102189706], [0.2927640440768148, 0.47909844953771075], [0.6959332606592117, 0.8791270455056737], [0.6344511247294343, 0.48706748073788564], [0.11360884291234619, 0.8589842123566196], [0.8873996251611844, 0.9816881328223805], [0.10744548354019412, 0.7274793866102838], [0.5385773239514294, 0.899563044899577], [0.5646069701962889, 0.8792461472968389], [0.13136337209711857, 0.91936567725447], [0.6122363584955782, 0.023869903742586573], [0.2609638086288839, 0.8560293917435432], [0.850798062077434, 0.2354572966394317], [0.34623565062884454, 0.8097928535445235], [0.9181648934091003, 0.6379125666402775], [0.45404939162444624, 0.8762624129718759], [0.6451705623377517, 0.9047253595635348], [0.6477162388176557, 0.17682736122976084], [0.2863624999312224, 0.2644944525722014], [0.3505925172540797, 0.25222657304899765], [0.32227288299245527, 0.3179765174495026], [0.5875483320929553, 0.005420504679126026], [0.8713054561074765, 0.02706790531408565], [0.06281580531644992, 0.8837203066175492], [0.10250257052705469, 0.0034799096339004354], [0.3197140453757964, 0.5462318540834488], [0.15037082301482507, 0.6997355833613896], [0.6323629435147191, 0.672449508095678], [0.18960276692883182, 0.2727171020513248], [0.6175129219758163, 0.028885180053624837], [0.3450445223386819, 0.008125648505568295], [0.7875778546302449, 0.24167882496788462], [0.5669527537184612, 0.7136501134195131], [0.8393384236735695, 0.6920945620951383], [0.9842612951733337, 0.5443577043643909], [0.40448351841903185, 0.21232705466586443], [0.07935554156356728, 0.7503913570505697], [0.3110118647668294, 0.07732237226394223], [0.24375634825033765, 0.9029329348009429], [0.1509680073866605, 0.1766617982117572], [0.7669457378454446, 0.3374754329852664], [0.541313745759407, 0.4602972778411948], [0.5640573158315939, 0.11765813305782136], [0.8241922048833313, 0.18011941162958234], [0.4976793203093419, 0.6359668541220563], [0.6764666663494309, 0.18420315980460522], [0.49990997894802836, 0.43910506531982896], [0.18752725598379638, 0.3707790097941315], [0.795818787155164, 0.9757847637962994], [0.4591342721985, 0.023075695325559642], [0.5766521726114414, 0.018395926652960415], [0.38624232592803776, 0.1721287247580967], [0.0036275393804243716, 0.37691321971953484], [0.8763122513643997, 0.6978115493585936], [0.778884041742906, 0.5510837758103372], [0.18395896672680523, 0.3678173184097624], [0.6192632711996133, 0.5760551525788319], [0.9785028332869239, 0.8804645519288139], [0.7326312059773323, 0.002895792739919578], [0.6073188916946514, 0.7630894428193498], [0.9346619675144063, 0.6089827918455294], [0.7176038092835915, 0.3984219498277054], [0.25816335460256923, 0.5254016764097118], [0.3098740653008666, 0.7180582232900852], [0.4091792075650582, 0.24316409299048958], [0.055495485210099504, 0.19502357142694515], [0.03075590951422813, 0.17888300989205064], [0.33082447436227513, 0.6051505456793885], [0.6931979421266571, 0.34843133430656326], [0.20424632230829598, 0.6964755301470218], [0.6033274971098357, 0.6214641236168803], [0.5444972582734366, 0.044746397251792414], [0.6583810943480854, 0.5892936517436891], [0.3198944353432147, 0.6884506606757892], [0.9543562493370045, 0.18466209921191046], [0.7637457228167309, 0.5327189018984544], [0.014780649990718153, 0.6715045172461492], [0.8604117268905924, 0.7992427656520776], [0.38135349067050994, 0.3348950471263431], [0.5957736648131077, 0.8832904909113392], [0.7591862133579091, 0.910101181473892], [0.1717386994274761, 0.37983238593699653], [0.5433863108057491, 0.8217457979743259], [0.8444698069702083, 0.01912623409968106], [0.613622144853103, 0.43615788404927736], [0.321852992339542, 0.4198972441943436], [0.22833861621290263, 0.9167149484470762], [0.4394135933322587, 0.24787276188919627], [0.4101573453583168, 0.1895703998907482], [0.18094913324746864, 0.5760335170388933], [0.23013465078733042, 0.17752176662355834], [0.5104482960881481, 0.4855687961393452], [0.7075183769763714, 0.9943923744668696], [0.6744634026393582, 0.9747986255865321], [0.4417074024501698, 0.32358166946494604], [0.41593617185686027, 0.6641292634981502], [0.4156893571195024, 0.22683801549527205], [0.47911495074418786, 0.5905334561466361], [0.092477651737914, 0.5134651113289086], [0.3395643613393432, 0.9288624988447991], [0.8128253445722593, 0.8301905851519195], [0.8887985607132923, 0.9150742850721421], [0.05359754653110782, 0.36530143068547904], [0.578670031415691, 0.7899112427053468], [0.31607587156142325, 0.3794449712891179], [0.8504468900168666, 0.8842026705155605], [0.7229529944592723, 0.6251872764548376], [0.14339015816603817, 0.5678887012728077], [0.47175916187355527, 0.13127918899502833], [0.3736776045763013, 0.6656991638440737], [0.4616996079356732, 0.6224409172225877], [0.8980024496311788, 0.13806194360526058], [0.2811380742434272, 0.8680297562190439], [0.18953200423970362, 0.30185973476524197], [0.3883120638949731, 0.532624747197385], [0.3561970471613214, 0.0686230105097646], [0.8770919985449824, 0.5337449591751604], [0.0073715409357162365, 0.3404558344363112], [0.24951246092805557, 0.3198665046828527], [0.34346246317611606, 0.9001606996019447], [0.8759003804008304, 0.14005031003556945], [0.5937474883581667, 0.9523103314064562], [0.19933486139157608, 0.995567891505829], [0.14093364548740128, 0.9169307527812371], [0.3212980586834808, 0.15596171193223562], [0.794214640678436, 0.5232350886010266], [0.39891452180462106, 0.8572172224517548], [0.6567681294775752, 0.7710110641964945], [0.13835813851342993, 0.8446996363012149], [0.8153644897124328, 0.32242869547950126], [0.7686107603842615, 0.5796902874349241], [0.7261173654947431, 0.683144456409204], [0.06413442942617964, 0.12446856770264914], [0.2772326829873316, 0.9457886360693302], [0.33722152976536457, 0.013872373326195286], [0.010394324678403177, 0.058617407158543355], [0.6204883189835567, 0.5377400966217017], [0.6518982598147394, 0.2457205464556853], [0.005602245217425805, 0.9927948980074985], [0.8716205208160279, 0.831522138559661], [0.5057543481318149, 0.862482805518611], [0.4382330331233758, 0.8183966214108981], [0.6598468217027581, 0.08243392745555467], [0.33867879096654596, 0.07284683990121521], [0.8970052523174682, 0.51032150586199], [0.08752689243005629, 0.6810050259191124], [0.23565322902416663, 0.66767642240927], [0.4906776403201507, 0.13793227981681], [0.12299631985486281, 0.5677861914008886], [0.5366714733767665, 0.7107509316209636], [0.9135812136768406, 0.857418189313746], [0.3767369151679819, 0.2517995143541689], [0.15363316253950965, 0.266610136788867], [0.06348699348223907, 0.005181108102128462], [0.963918563743762, 0.3186793087612171], [0.21216011492322417, 0.7289450512091481], [0.7830849111377546, 0.7033241073399483], [0.8919879027857246, 0.6322151216068272], [0.8514041654087278, 0.8225341718387369], [0.8250191094444778, 0.8524313470673484], [0.785816655975173, 0.4464949866741801], [0.7066190839654107, 0.5694615521247147], [0.43948994190839885, 0.8462468766226282], [0.8054592914730361, 0.2526401149143095], [0.9079615111783143, 0.6929687471247128], [0.8739388788318055, 0.8997852929453858], [0.562590080290655, 0.3099818292183377], [0.4021677908199399, 0.4619439383465873], [0.3049589632931088, 0.24442974669616913], [0.3926337553911834, 0.5759339952854099], [0.567990508169456, 0.34385589939888117], [0.5105035610012055, 0.9017258450401877], [0.7719727452134697, 0.7138633628221039], [0.07604845810640037, 0.19112787364941142], [0.7767167492668059, 0.4809268161583412], [0.6255351312252407, 0.9484311122704978], [0.8430451757845615, 0.9324411551592922], [0.7929956434616197, 0.4840285136996525], [0.18132917370994384, 0.5554587917470354], [0.7868245074568948, 0.5995193570560423], [0.7810121505464647, 0.2673578634102528], [0.06967786548847954, 0.5251147918909066], [0.35829165384338, 0.922416578329101], [0.04309728160183324, 0.191049838838675], [0.5158259402263181, 0.7843349766255977], [0.08742570457547971, 0.6566811672089664], [0.2643411809592078, 0.01681325340988571], [0.15594249029107676, 0.6657216752836543], [0.17912362407344762, 0.7215669234211772], [0.9735857805984439, 0.2913180326315514], [0.9415530140068281, 0.32825915711757836], [0.8267511904468711, 0.9317908983127067], [0.8664199565914822, 0.34305012983469585], [0.604825713224496, 0.9597442796703075], [0.2904292932904188, 0.04729799496586562], [0.9728869176106214, 0.7229790142852602], [0.6422844841564809, 0.15287508561626006], [0.5147391296653822, 0.4488632943986738], [0.8993655068543351, 0.4543544366195488], [0.7380335206374814, 0.5367030049892906], [0.6457281099527433, 0.3416082607664488], [0.449766967211056, 0.07585989082145805], [0.5439715077311378, 0.7165230821674985], [0.6249295657181326, 0.9063346559482699], [0.5870867276042249, 0.5591727477933647], [0.5156588741979599, 0.5803977609338963], [0.4522408293450402, 0.2476075565615402], [0.6729215179778073, 0.16808754406190385], [0.07791327260899406, 0.8884407456200673], [0.7638486049274753, 0.9225725832253728], [0.24290981314761917, 0.6041879211655213], [0.25215029312310966, 0.0846548711203956], [0.8707539172243641, 0.37655954733648833], [0.78822128038965, 0.6883772734484065], [0.9308941093898225, 0.4201156311652342], [0.3744211749722609, 0.6968443825862216], [0.987413609447156, 0.021243693378501294], [0.6669289935041225, 0.6283590918949683], [0.4434770107203937, 0.35896481088266186], [0.44912202705733806, 0.8077649464806962], [0.24141699024930963, 0.6473648396308093], [0.18714147362911404, 0.26172714595201363], [0.5279890095997198, 0.8922421489789277], [0.24571749330996284, 0.10810371488019499], [0.7702964374434244, 0.06994576505850703], [0.6173263235908873, 0.6809005339040275], [0.6735005995401965, 0.7244417696560996], [0.6605240036552008, 0.2910066390314634], [0.9362341444232231, 0.5088015885112764], [0.8263639760899566, 0.4363041593350362], [0.878253042248387, 0.22963334634225352], [0.5996339025698485, 0.342036347123826], [0.4339743730129564, 0.31532818224800097], [0.2143754773580303, 0.5908535676271957], [0.10798416024532109, 0.4624673144600492], [0.8382940263212824, 0.9573936667576586], [0.0065388517925663026, 0.5004212387913968], [0.11316939962061856, 0.0765577488667003], [0.31375830686645834, 0.3069591484156369], [0.9599934713692935, 0.07925934430003612], [0.4670982629782682, 0.6544762333859451], [0.5542270649132467, 0.23212848860256485], [0.8042938560222922, 0.8783775040057519], [0.6288159775743992, 0.20554087003948396], [0.42785514484215625, 0.7934808096835955], [0.961617866413775, 0.2283146024521956], [0.8215356657429989, 0.17125898829687292], [0.8927512672261876, 0.8346703268101989], [0.011869626034608616, 0.1196366871714366], [0.4750478262678457, 0.499745223001383], [0.35761886568394663, 0.6453153561962964], [0.9736444735156873, 0.3576540671827352], [0.9356744866804823, 0.5639130324160379], [0.07797274906947316, 0.139613596602712], [0.16377908037224664, 0.6512015030374781], [0.33463993145414117, 0.8543552404359319], [0.10166527146128623, 0.04619358462446266], [0.27995050060050297, 0.877382147416454], [0.8342850474726303, 0.6389957528062061], [0.13513885987808272, 0.9792706860189372], [0.46946928851742586, 0.7647726032855313], [0.14924504305145736, 0.4505340368829952], [0.6220443797718053, 0.5932520201060115], [0.6468878073441018, 0.058905619186542135], [0.7823823904391644, 0.34415620803171765], [0.9941546805295662, 0.3506917463704263], [0.3426909923976761, 0.1682476867680207], [0.5927684930176834, 0.7737882623103844], [0.10236324480453884, 0.7064842962538127], [0.9921755534385679, 0.61504999738334], [0.9015393434927215, 0.5047226459191628], [0.8340210549463725, 0.2719318669113382], [0.8218566176543283, 0.707046939871123], [0.9922953215164904, 0.4450506163178384], [0.7932527618687695, 0.2708576658084447], [0.6910273818093489, 0.7353424650530549], [0.21275662404075202, 0.4691160937687445], [0.09968886788714437, 0.611966786255206], [0.6302403203475623, 0.8374745510342494], [0.8853419034106473, 0.23549752840163474], [0.28952510631288186, 0.009000601120974339], [0.14658824034986406, 0.37145156088518017], [0.37031272754903477, 0.532528041330776], [0.010337573832379099, 0.6232270553103496], [0.0007644059433623562, 0.3035422677065699], [0.8079854905358705, 0.10945210300713348], [0.8982112239526576, 0.25752443064095465], [0.991116104607803, 0.8280520801997396], [0.1712453123925205, 0.9491898234050659], [0.47854063489820975, 0.2358987814725696], [0.4778853935434977, 0.8004288619331396], [0.5822707444913385, 0.846460878469566], [0.8897400379412267, 0.32276615562213584], [0.7948200019409172, 0.20464548797666626], [0.9813871658872347, 0.356602717421191], [0.9642080683162323, 0.18286289568119996], [0.15064602172946717, 0.11415167361870127], [0.7658610414500827, 0.7077078231391303], [0.35630934503822587, 0.41987698734649714], [0.1728414676739667, 0.029268770620136664], [0.7135668299928785, 0.08510481579140661], [0.49897873087686084, 0.7486034320455199], [0.20812991088221888, 0.5352722619426133], [0.04507796096346095, 0.23745733643218303], [0.8326176953106964, 0.3388610511954162], [0.8363211145196212, 0.9620202561401622], [0.9921032116860241, 0.030796078875278132], [0.7963494764063977, 0.5789433781044171], [0.6379492391038626, 0.15226456050815795], [0.5923044637002609, 0.9535313280457108], [0.9672136144268196, 0.45869415884703935], [0.7426173334865502, 0.31862448662239573], [0.6921015355539812, 0.9209056760837279], [0.042468544611500625, 0.013091310621065722], [0.6934093627068652, 0.3482570968363847], [0.5659100623435437, 0.37636601983779927], [0.7178205454279243, 0.9215020118410145], [0.37485597265724546, 0.7401105449028308], [0.9736055764666426, 0.24940548953662867], [0.30549889647734463, 0.823763953871036], [0.3364547951490132, 0.7114756470658755], [0.18951307553676244, 0.1230916682679194], [0.6701285825025611, 0.20084074430163967], [0.8492479116438615, 0.4233431096869298], [0.7700520202704431, 0.05297918496220877], [0.2726022080200292, 0.4354968507432956], [0.4995937552203713, 0.1213886568035949], [0.7082105778845632, 0.24342056900268183], [0.7096417318067965, 0.4011639531461658], [0.9031351254789853, 0.39352126221162687], [0.2866708304527942, 0.4788039637892221], [0.18721360612512883, 0.24840404068870392], [0.8542368111997353, 0.4907614733865161], [0.8187280742973406, 0.35798455938717433], [0.5672549018604732, 0.7187549066885502], [0.05676661229516522, 0.02655920049607141], [0.032682079987230384, 0.9717032821866224], [0.5248215720825562, 0.5923479544273488], [0.3163161661096239, 0.6382926632994492], [0.44638045898371437, 0.7816501464546999], [0.04130744555451604, 0.04817137057218246], [0.8006000296184458, 0.21983725765444462], [0.2488066122080107, 0.6462158902696387], [0.026123712771733865, 0.7243171099525514], [0.7173049823843848, 0.3792461188744738], [0.15454676647701515, 0.28179192389238306], [0.8443591463843358, 0.21286945447568828], [0.007096112072170535, 0.3954456496638704], [0.7822080130473384, 0.11819629362756678], [0.12835213916740784, 0.2350188843598412], [0.7235296501890143, 0.9795142596799207], [0.33069442640605806, 0.7892287056595468], [0.9954699846931331, 0.7313430815809252], [0.19222772777123442, 0.18715075733269582], [0.7849713818944092, 0.09830702718543904], [0.9606233066476304, 0.11261648258235768], [0.7632862368979063, 0.6042658033121447], [0.07129137462653179, 0.41204694764784555], [0.07541203186145673, 0.6026671656762916], [0.7963476532641316, 0.7994212053144785], [0.6812263424045375, 0.8570204694464979], [0.22784476920540908, 0.26485351361826537], [0.4457269061560326, 0.4082729175809199], [0.7333458474515658, 0.2847717221343562], [0.36751182749935973, 0.7197216504460091], [0.43691782261723755, 0.5281971218751783], [0.9063245707071899, 0.3612882350094595], [0.4992176736209595, 0.9952250954028756], [0.7251228139147792, 0.8496213110001775], [0.5343446331540679, 0.5060486467991208], [0.8630419804943945, 0.7764576045803829], [0.7586162278393526, 0.4010323867464658], [0.8250305162556764, 0.1900878236682142], [0.8004468181244802, 0.9671840811909059], [0.041976350232664106, 0.8226197036081577], [0.6874763079196573, 0.3545459455379355], [0.9792642921073668, 0.5795211862923442], [0.5381738983582866, 0.6765078072516174], [0.45113411616521204, 0.6037484644636028], [0.7280667538196172, 0.17716690060812457], [0.4527001139417257, 0.306579953623055], [0.4354597014930338, 0.03265482893163085], [0.7074966013756518, 0.8588088327388993], [0.10429927726575483, 0.16965941511303928], [0.7427464809281443, 0.28700463529246734], [0.9843275807506551, 0.6618398267445696], [0.9467519474607728, 0.45925927866412497], [0.3538836793221458, 0.8103174211142479], [0.8115226206225876, 0.12238221618098977], [0.6304434678609876, 0.7589195602608907], [0.2977988545439161, 0.5435547630831101], [0.9823815784890224, 0.6561184938069019], [0.28777346642867496, 0.1642675832922199], [0.42117629932246714, 0.603307844855814], [0.17916462823763546, 0.2977793837262561], [0.872845438594497, 0.4923786944498564], [0.6942005018243224, 0.5725006352012029], [0.32915427505542016, 0.9527306641674704], [0.592157828836837, 0.5682741876824609], [0.22009993334489342, 0.8765144162334225], [0.06925940392945829, 0.7586233606355813], [0.5358446018349704, 0.8659516657815213], [0.46644570505371197, 0.21974945660838596], [0.16241097574274088, 0.09789436926888229], [0.35721394753057767, 0.1711333415283881], [0.8890559418276067, 0.966601890911549], [0.7028794459099925, 0.1832445576077616], [0.03175243391937543, 0.0406719661759557], [0.12154774749611974, 0.7455730384882913], [0.012406629065707109, 0.4746361805527092], [0.18759177049777143, 0.2145421235491144], [0.8913647912663544, 0.553180451511619], [0.9075565694496907, 0.8609384834605053], [0.9315734122022221, 0.14178131413581951], [0.9270211357943405, 0.8796352394791243], [0.6902698603600682, 0.17426433201654], [0.9355012197113998, 0.08193634166343056], [0.17230758795650103, 0.541205970149636], [0.8503903237103903, 0.49400769490143503], [0.305970868065761, 0.7954849842797581], [0.8643010387780965, 0.6775683072017837], [0.9527927733916253, 0.9381115353520291], [0.1714834373545283, 0.9638601894563472], [0.439629459778355, 0.7104064770822219], [0.31351722507713475, 0.04883590865163112], [0.9622245250549877, 0.3487696066891679], [0.1153773209826292, 0.07485657484782249], [0.48303461682345106, 0.12377841640708731], [0.8972885010936718, 0.19019062046381163], [0.7194505299527072, 0.760991974706783], [0.23788223963207533, 0.42656479807827696], [0.1128722713337591, 0.74565002418272], [0.018025061012426957, 0.6427107899177346], [0.7054379658020318, 0.15183824244855693], [0.9002035965268084, 0.8061731848912679], [0.0011419789846300876, 0.8628954907210542], [0.1640638533542298, 0.1708985830989761], [0.9259030997639763, 0.048477732401657425], [0.9267389141154249, 0.7832961861136469], [0.21901430994270388, 0.5472806073838299], [0.6872695667847362, 0.3828257110056178], [0.5059180385363002, 0.32931200583648135], [0.1208056507013231, 0.23477264039215773], [0.23179867493100292, 0.06959598117273291], [0.14163920230462246, 0.269002157075237], [0.30288972350982124, 0.7238592774016296], [0.5942555275609189, 0.9408831589705909], [0.9755965470446334, 0.0943088674860908], [0.5893419329967938, 0.16679683408039392], [0.4307423679477529, 0.506975851894116], [0.06234470614714427, 0.12372133738264557], [0.8135786853143889, 0.012178054765652369], [0.8361555484236775, 0.6759231826205461], [0.6407915699125597, 0.6419459561036308], [0.8853996744963308, 0.837038890252838], [0.08542326664995037, 0.9451929001740016], [0.7191458030201197, 0.18376657415372766], [0.8932081954646823, 0.13943868218501942], [0.05405367216949186, 0.42365473667447906], [0.662858625580573, 0.6227115010306417], [0.4800845171711777, 0.8703100140628469], [0.2957935160322751, 0.7717413245995787], [0.879833759774025, 0.9586066413919889], [0.5029248391968532, 0.3556960157160013], [0.5062884873863999, 0.8489824193847649], [0.15567699462948748, 0.6231517544717433], [0.420185845213252, 0.8194725063264262], [0.7008839248232734, 0.5278431412285431], [0.39117343013883266, 0.19412685633634985], [0.8884881919264961, 0.4019682337414944], [0.4174105987161282, 0.9334008987687248], [0.5777504330594495, 0.4000623506424643], [0.8145314878340388, 0.6950767308708591], [0.4926853203563194, 0.9838530791772779], [0.24612236402627197, 0.30898503478816886], [0.10426149278260122, 0.6009827305672952], [0.16192309796916704, 0.16041087093872186], [0.01142308901279776, 0.49950760014490014], [0.6752710575852019, 0.45106996807986144], [0.16984790279481543, 0.18566041340304085], [0.49909358301396556, 0.6558222928631922], [0.5368174794640772, 0.8134004190976178], [0.4662186778982188, 0.2576020650318479], [0.10845452224813124, 0.4730752601617457], [0.7848788043032501, 0.2266524782602023], [0.6322990736188919, 0.5096476364812409], [0.08192153455326023, 0.727448145564332], [0.5147807276665023, 0.7386396503584366], [0.31455712361872246, 0.33452137245729574], [0.2634216079827856, 0.11583036193640583], [0.9707362117503762, 0.3746976594457515], [0.2738150824836798, 0.2747121170342356], [0.8221816213368615, 0.3029165783977852], [0.08757390732431913, 0.2550413161245678], [0.11734466375103181, 0.6411764053580766], [0.9068567193343949, 0.3115700346617527], [0.8572758533510869, 0.5299685432016673], [0.7499072373525492, 0.3008534164556106], [0.3601308919097541, 0.19476257665691243], [0.9270123004797066, 0.06135859401078503], [0.3864514251580381, 0.11968441208274483], [0.08467087625582015, 0.5238349284577923], [0.026073478962732155, 0.8229845528626478], [0.5661770408257071, 0.5649501970208398], [0.7369484726089935, 0.8903119166619329], [0.7200090024810699, 0.2708000307276127], [0.8662294700287319, 0.4661321088305076], [0.21973069915069476, 0.8314781179783108], [0.9667941181210589, 0.40041473264096517], [0.4891735406752542, 0.7841634083255369], [0.049440416176489976, 0.2315571617133858], [0.13886400629323659, 0.8733581548478896], [0.25188444492098083, 0.004170005301241786], [0.9503378698118753, 0.9641417036570817], [0.03353976905624889, 0.033839492912895786], [0.15748629384443924, 0.20373372497151154], [0.43610581721240427, 0.26484438400995447], [0.7263112981432833, 0.949125923141841], [0.8573304371904599, 0.09400153062731265], [0.2104907483302909, 0.7784537214906737], [0.8549511844853019, 0.12033210793223792], [0.21341471495702313, 0.7842886029609895], [0.6900681739528934, 0.6692787157447071], [0.8488287650185482, 0.6286517746566218], [0.9367387961183293, 0.051813882040037784], [0.7233423647235299, 0.10518766251151024], [0.8505374280780181, 0.7130100920001252], [0.003263270938302698, 0.9558112714754105], [0.6034669704188889, 0.03258257597687497], [0.5158874921859863, 0.8143830429730726], [0.80135188021731, 0.7645881826446462], [0.9943321749541254, 0.762673468043961], [0.4756463964890524, 0.014064709781867246], [0.9209986074862089, 0.11581259685619705], [0.7867040445031674, 0.462873044559987], [0.08158617364777088, 0.44326436962066196], [0.7054893212638075, 0.8564250012966902], [0.39704921898700585, 0.14932280027871048], [0.3219496591502783, 0.25839575714805707], [0.47089217116859017, 0.808550340611723], [0.7789957678360041, 0.29411772712813555], [0.06099327381608832, 0.33068912639669945], [0.5608246071258457, 0.5947625546660017], [0.28585582175697744, 0.2042271494649307], [0.7303718097241247, 0.7007425697745968], [0.42432083323545244, 0.547474982584963], [0.7842621643547663, 0.0706320994200903], [0.023517548805814692, 0.3692880317107786], [0.19961950511388749, 0.6638922306333644], [0.8778443919244204, 0.8448325729804349], [0.7562449783522543, 0.1289684527699423], [0.26735006537961525, 0.039246398536166294], [0.46842194980326657, 0.4222286374808236], [0.5464919696147261, 0.8001936149842311], [0.5673787023128632, 0.9057359077441272], [0.723235250380285, 0.5810662913577734], [0.13250263608322643, 0.26412626380729487], [0.6171474209258695, 0.9059335490631155], [0.8887728914148832, 0.2352168220393135], [0.5278205204449231, 0.31584849346340105], [0.5953218399507259, 0.23481242467554797], [0.6244438093940917, 0.22767674575592423], [0.9957710934166519, 0.45367577057902564], [0.7178606008196898, 0.07951476447430283], [0.8435436669778577, 0.23275434026951736], [0.9411015991952398, 0.41967265930068465], [0.08022580817012315, 0.9931113327776464], [0.3367146247977413, 0.5260381357637383], [0.5206204351717081, 0.36672911116634266], [0.8446691687692544, 0.6043412433823439], [0.016804206218693496, 0.7950594819811708], [0.7317652456351489, 0.16660948829826216], [0.5946328633606405, 0.08431788343565616], [0.2134849404283944, 0.9206499951073708], [0.8242178262164885, 0.11834432042063514], [0.8506598406773183, 0.14108603922581175], [0.49692081584475845, 0.7341621934352539], [0.039562310424071545, 0.22267558177637425], [0.6046737089925996, 0.7181303427580299], [0.8249879828107264, 0.1489426581109382], [0.1913507977131309, 0.8557035436653453], [0.8440830389818594, 0.6531115233936131], [0.706841169110184, 0.2414056140850186], [0.7991029119310686, 0.09895134353756085], [0.616430182952249, 0.6361499405672697], [0.3392870322471362, 0.9334951660170865], [0.34308345340466684, 0.42569982030710996], [0.07809267839596212, 0.23920709089059955], [0.3865254429803128, 0.9586875730444905], [0.4876372051035557, 0.32205244362988605], [0.03694716432110756, 0.1794011636282632], [0.5634344829795455, 0.7569084874846919], [0.9279069443715701, 0.1278038345747765], [0.6794375218460263, 0.2907625326032376], [0.23666250418792945, 0.45101083205761316], [0.52713719161365, 0.47135570395939697], [0.9816044005645865, 0.8938309910307172], [0.17311380189312675, 0.13385712494397983], [0.37575895326651443, 0.5044162749044605], [0.8398326678363721, 0.24988929641629165], [0.7207186047423265, 0.3230118196920765], [0.5877320206777954, 0.5257470083368269], [0.8515534989566251, 0.012221269896069753], [0.8589790692617139, 0.9750671089025231], [0.02080552450308415, 0.12545322734344333], [0.2450790246682587, 0.03028224255489842], [0.7827348478624627, 0.4697606717249142], [0.3254959901775445, 0.22735441461765105], [0.6067159010800182, 0.9083029926758557], [0.6372100414725432, 0.6877233827068049], [0.28471355363160633, 0.9427243407234224], [0.7307028645792539, 0.060128636798025825], [0.12782206292641796, 0.24475236269082423], [0.9042178596502068, 0.20004588014409175], [0.8245950431511182, 0.3479569460353237], [0.6668522543170685, 0.061466994792319096], [0.3385434673746156, 0.36544567469288236], [0.4378739935134799, 0.6678807799314321]], 'n_circle_points': 7776}\n" - ] - }, - { - "data": { - "text/plain": "
", - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Loading results {'coordinates': [[0.13154137025394552, 0.9819474935820048], [0.7394497786836224, 0.14410115666416312], [0.7289775064128416, 0.9255991704994944], [0.15991470958178944, 0.0648327295056037], [0.200972710252323, 0.26734505545851994], [0.11264451625794658, 0.2575883945657069], [0.32997083466667043, 0.9110051822136703], [0.4450457686720788, 0.5246037391263892], [0.16146846244205848, 0.7079206854430556], [0.21945159723035135, 0.48334870914535655], [0.21931802498569308, 0.060281216676286276], [0.16037538947249075, 0.1837466775065274], [0.67031320257703, 0.4846253960716689], [0.3071718474559956, 0.37242654583886237], [0.7477245656692298, 0.9189489663795941], [0.49085999498887667, 0.6979861672514844], [0.2940636035325712, 0.6146227958479566], [0.9330540711393015, 0.9173243694790003], [0.9836303602047735, 0.5453440668663023], [0.06532730356038818, 0.7667895671856697], [0.957451450694035, 0.3270816264515338], [0.7067431517743173, 0.8606067643512108], [0.08250097304083037, 0.769163140632676], [0.38070221959005746, 0.8795578066281403], [0.9911603471224668, 0.8686105348080154], [0.3671255105789246, 0.9667895409916453], [0.01444375815404153, 0.2825627727705745], [0.9796243757706897, 0.11574425663889487], [0.017098443426825538, 0.646701060420365], [0.3416049671033645, 0.7037300716837184], [0.09426557700790095, 0.12878541718438508], [0.90443758599737, 0.7564292493180406], [0.30519236603327127, 0.31658434161185367], [0.8596602216419925, 0.6060286058162244], [0.7448109345981466, 0.44097071572352564], [0.11269726864891472, 0.3599111107174294], [0.2551722948111632, 0.47828864978153285], [0.8637355423757703, 0.23819341910629732], [0.6804078020120244, 0.5654440415029193], [0.1295943511416202, 0.010319249155465005], [0.3384183795611574, 0.01688768111240546], [0.5877250362953768, 0.29216022320156576], [0.3396788986693866, 0.09102419334858292], [0.2630833194610771, 0.9123396128922489], [0.6299557859035513, 0.019196331388075083], [0.07119659533421407, 0.6447395971101649], [0.8049428428257496, 0.7955737241032395], [0.05384751473613891, 0.7951414858931349], [0.4996293829013274, 0.9966200390219389], [0.6899734949646726, 0.25460718726200304], [0.9797889305192251, 0.2772033186841705], [0.25691182177908845, 0.6430379916970717], [0.6152697629233123, 0.6964252680253524], [0.20187244220646183, 0.2026501088175111], [0.7833952202680227, 0.774938390435048], [0.026204260546100144, 0.6905193969790826], [0.18829141403874727, 0.960016799779931], [0.9562913112657333, 0.9255563029968782], [0.6552699135344399, 0.7072682819520564], [0.33587530756137696, 0.2508249197518819], [0.9250994922871013, 0.27537982085782664], [0.1451753781199645, 0.217123285277662], [0.14571647829342005, 0.07826982099165625], [0.6665802961003854, 0.3368730833160256], [0.7586484598707969, 0.7144093005121146], [0.40827341753306834, 0.30698905965635737], [0.6256561876918442, 0.09517051343384142], [0.8524300193595118, 0.9435237113243259], [0.8134824123720336, 0.8960261089527337], [0.3908865047510106, 0.9492667049764892], [0.019259019462936622, 0.20371311027231054], [0.5779457245205156, 0.1701582440129611], [0.3024167576255229, 0.3821634931202126], [0.3727656581315685, 0.6673247261058842], [0.8853761109214955, 0.8544625897606961], [0.01020193651363277, 0.030713287263627098], [0.4589681252534198, 0.7008982833978379], [0.07567547710080735, 0.33700038964010226], [0.6438971419833731, 0.04219207659960811], [0.5427283853595896, 0.035799965733743555], [0.9194782051989563, 0.27124697979688317], [0.8036486928005996, 0.7710988927746667], [0.6886312596945948, 0.6159627682821815], [0.5372096546318024, 0.8327922637819568], [0.9955463864437559, 0.43305586912832017], [0.610343735868936, 0.05267316101620301], [0.010432780406603337, 0.6293731341173605], [0.7146347295331918, 0.24707094082664294], [0.7200959555179469, 0.10200475721206859], [0.9788531208200418, 0.09937020950993292], [0.5147509015432707, 0.6114450266486714], [0.20424005929337286, 0.6649539842257719], [0.07233499960116274, 0.8109548516301458], [0.4820445059780343, 0.555001544857598], [0.956001253003034, 0.27818842937931876], [0.43442844093076183, 0.8145419517322117], [0.989643931068482, 0.6437781308553711], [0.06592398153126044, 0.07471612211811884], [0.01916369013535668, 0.9703886665084993], [0.559517609051947, 0.38890063160297805], [0.9939201604152373, 0.18458461854437236], [0.7158012454276649, 0.36536045839299247], [0.4302892251956817, 0.6126789545237953], [0.15675656655310277, 0.41974649566515276], [0.5779114505102395, 0.239288946466925], [0.7490458886314206, 0.6381789354511541], [0.09267532374164078, 0.27839330518610494], [0.3107159639719098, 0.3681196198733395], [0.11317927927760796, 0.6970205151319447], [0.5664719958013936, 0.20448680187600632], [0.5375763940081424, 0.5056849865304209], [0.26820663732047734, 0.7006661633434222], [0.21238209765584948, 0.7812437286865326], [0.2910272920796406, 0.22687505996137514], [0.43621422615830086, 0.7432360116735551], [0.7740329934371208, 0.8403265912153145], [0.26843474260017874, 0.3357595312424648], [0.6292265020633736, 0.06459692635149217], [0.6802870201307252, 0.9646211477617593], [0.39908648666818547, 0.8632548339021318], [0.22745560187493452, 0.8895324039287704], [0.7710619892975297, 0.9070328009598304], [0.1599869492859476, 0.36442398421445377], [0.11111757964530489, 0.06294296107195407], [0.5440402817972962, 0.11242517268049379], [0.15814530100545376, 0.45884091418937734], [0.562613570039939, 0.29745581682466193], [0.9279361711728578, 0.0033467040000488835], [0.379112130823012, 0.8698678002681509], [0.41982809854087455, 0.12277633229127016], [0.6797766469895264, 0.8577604057466165], [0.4215932746757932, 0.09261564316047677], [0.25858759710917234, 0.03280300128007718], [0.3069299143030938, 0.32071797812386127], [0.2008693712754539, 0.2419812952692425], [0.9419986941449981, 0.6353450716236256], [0.8034286776975593, 0.40018389255723474], [0.9937608369537612, 0.24395571272971472], [0.34418082418077567, 0.5219455096747742], [0.36873045552634176, 0.35584215333242464], [0.45702869496186216, 0.5682393278076248], [0.600420527901264, 0.7766546933262274], [0.6248850833979801, 0.8708348734081681], [0.7573929198653464, 0.6315115371991088], [0.3150511552017409, 0.6605013339827049], [0.4320217849234873, 0.6054474977358943], [0.527763206580277, 0.5190775227007272], [0.685272751569045, 0.5536480818492517], [0.8897539912737661, 0.26978578602123704], [0.42023984592365515, 0.15318541957365794], [0.7637256505120712, 0.8205688088232937], [0.637583852063943, 0.16450189962598039], [0.08488602111953236, 0.9944857992390473], [0.6551527583473964, 0.726690646615726], [0.48756877081474903, 0.2443707239655728], [0.9001746299798238, 0.9596151325520553], [0.09555847295211795, 0.6788875553272973], [0.1431047925077944, 0.5832304733006242], [0.1863203032543792, 0.3497089550626127], [0.9462459170182247, 0.9962216527092753], [0.4260376766336281, 0.333703211191278], [0.8583350038014242, 0.18312264433871595], [0.8679054141793328, 0.8225026926607997], [0.4588127103224199, 0.9008602541229385], [0.39227213733676214, 0.39295850112788044], [0.45149314454047407, 0.5695950591616029], [0.5623153894435826, 0.6429330923764722], [0.5146441246517336, 0.8227989941943101], [0.3108938367634595, 0.36201752918185015], [0.5453241615620775, 0.23559409172000856], [0.8843834200237056, 0.11760516842781854], [0.38047394623916353, 0.5321927493024248], [0.6004601521928603, 0.13041898696150578], [0.5924713693617543, 0.7187028449361845], [0.38392135267622085, 0.5700465607649176], [0.5217679628133111, 0.24587207667018807], [0.5564741850241707, 0.23489959502236502], [0.342226564545153, 0.41363561239797375], [0.722568898925346, 0.1601904024978158], [0.5122560799334421, 0.8281319204051737], [0.22080594349152427, 0.5851143633528835], [0.14313783794439205, 0.37776832512219494], [0.691198604696931, 0.09931998193706604], [0.43532592451788543, 0.3733265387651342], [0.9438962596265782, 0.31458568420946054], [0.6516570276728206, 0.5562267132820021], [0.17025277568456476, 0.4586643187802699], [0.23420962347522123, 0.3618784379235207], [0.011666525240712877, 0.5801054505373339], [0.7275682127607727, 0.6500355337045653], [0.44822109500396734, 0.3943476345496667], [0.18052664617167968, 0.6965100432085636], [0.542272812658998, 0.2597314070436233], [0.9855125531793412, 0.4741841737827799], [0.3848818826538122, 0.573138272784446], [0.3215091448848627, 0.09876349916055327], [0.7077901907126272, 0.4168882937833174], [0.6578884670130913, 0.12830111070022343], [0.172676208419145, 0.8154778229295948], [0.7438699805519121, 0.15743941929862448], [0.419895571174708, 0.35285389987426297], [0.06130143426461676, 0.15809629104982592], [0.821964870403102, 0.18492887202796893], [0.22497396650901225, 0.785447232791779], [0.19217954703980855, 0.0970439596154693], [0.3438177625956682, 0.5402384852402979], [0.7359845306190775, 0.8957081101426053], [0.6100128288396754, 0.46114177195813055], [0.7736003102683964, 0.784146057386545], [0.9804797049686326, 0.8412738640674512], [0.41774969566607145, 0.6141161344019853], [0.6046591401280587, 0.4114502734882479], [0.9831657161264856, 0.1341762999544761], [0.19938671621397885, 0.06942778682641493], [0.09445747923915238, 0.4530095678229853], [0.19953399881752887, 0.20201274059992258], [0.7827912642066532, 0.3222565294337634], [0.6568443167861477, 0.6967638423957887], [0.6246041166168247, 0.15598060843865358], [0.6981434268210921, 0.07861651467607134], [0.36002076941497574, 0.6062663065388266], [0.6609740992543873, 0.8342246808779169], [0.3670748769499773, 0.42758241671427466], [0.1134657214132132, 0.07592328582116648], [0.14290936310212132, 0.8277939354314754], [0.15815428898945083, 0.11626042317367646], [0.5576320876600438, 0.5628664136663546], [0.39719196014057634, 0.22406691599779005], [0.7709747229822321, 0.8568114535291752], [0.5056185706059204, 0.16810011901552324], [0.9652669628009709, 0.640908849923674], [0.37416795072999987, 0.697464632169506], [0.2736699758397414, 0.2148992954557687], [0.38933364074998567, 0.9637887158219026], [0.24304057754661024, 0.7107082350603501], [0.12574664746049713, 0.9691087574057645], [0.6166851171137391, 0.585507349354721], [0.43527757265781175, 0.5851079412758355], [0.8437588274488155, 0.17755119123797214], [0.4305180630900788, 0.7491642865095198], [0.8469786139476289, 0.816333196347057], [0.08592958422796626, 0.5376243173034888], [0.5871051905428645, 0.34475197522300016], [0.7330105597603321, 0.9893355752967118], [0.3885539052797542, 0.8442599354993497], [0.9198277967215456, 0.2503966025382103], [0.5241087199273973, 0.41461375492383623], [0.6674858860993967, 0.9095734559165431], [0.1633363554063526, 0.8249729905436366], [0.6793054201936186, 0.720549045134326], [0.7821058751456601, 0.36071035930731643], [0.2453390801314037, 0.6313516252493806], [0.3915323901503932, 0.1961866381138101], [0.9504913506335135, 0.8681463232906395], [0.413197976114108, 0.44041703926108], [0.8887236833976457, 0.5645559072086578], [0.8172650111220167, 0.44387966719394745], [0.16830969137726526, 0.6899732874259348], [0.282723650136828, 0.5394405150741208], [0.04699738041491952, 0.08506239458388298], [0.5015007566297869, 0.21811966209003975], [0.8753282913928052, 0.233743007541109], [0.8719036595743952, 0.9616946803842474], [0.3126375411293162, 0.005498445879616898], [0.4845430828592232, 0.38503645940455944], [0.14211545107576995, 0.44547748509540563], [0.027638992435168652, 0.8583948504836751], [0.6014913645917074, 0.4900707722107577], [0.6619809963622801, 0.06946896994512619], [0.10411904910983683, 0.8887220157358017], [0.06160185443565103, 0.7348120579107739], [0.5854112881153336, 0.5133870825276928], [0.21215141604076382, 0.2832662176280887], [0.7237694053218394, 0.9234313454442998], [0.2064898392717004, 0.8744780747067862], [0.040879530699526434, 0.44792571834311656], [0.6113552692727969, 0.2537080806719465], [0.32379018764828593, 0.5928651244127595], [0.2977429675792058, 0.07957548391850522], [0.7013521685464603, 0.753683921023202], [0.708271640444265, 0.4998331157623892], [0.44317472392683943, 0.3109159797138391], [0.36074899931843385, 0.07836729570946677], [0.21247638089570575, 0.3504268543610032], [0.799751003458424, 0.24088383823418746], [0.12198889231627619, 0.6565191797442478], [0.9105868557340795, 0.6034354652712349], [0.7067128547706469, 0.03140597595366068], [0.395563416848703, 0.8326542908797907], [0.8107197793036451, 0.7600284115983009], [0.6083936745204018, 0.21919263440656422], [0.14145487231409493, 0.37287120588059], [0.9055405017848813, 0.949484950283135], [0.36863657810725425, 0.49529410180485445], [0.10992629696502232, 0.8008068847943433], [0.1685716050547862, 0.24226586824766994], [0.9378664041731445, 0.5900628735315732], [0.34163765611363717, 0.083128091703073], [0.876476502724633, 0.7402924133975853], [0.1376496168367619, 0.19036017324802978], [0.63015828352254, 0.6581621402523894], [0.024264218521090286, 0.5494786477096691], [0.6942267165214676, 0.6757666325665149], [0.8055121189100607, 0.1211283868159444], [0.9311327123401941, 0.997439158868919], [0.6654428368540981, 0.11618820488102377], [0.24091998203070308, 0.7363486251407148], [0.6336633157229129, 0.26158021200117587], [0.22675100341837962, 0.2578658288571719], [0.9715648717171645, 0.1640050000663128], [0.6359237600482844, 0.9290378474538712], [0.5705404074144443, 0.8643004845662726], [0.04547736845476358, 0.8355970208030431], [0.863250451128855, 0.08394757311610002], [0.3515998887055062, 0.2776824206772336], [0.36668471520727464, 0.003293560868443346], [0.30209822667940656, 0.4793119965329674], [0.9700868013973726, 0.08964714709433907], [0.8618741193718968, 0.2525302120876326], [0.24223267256311842, 0.8596539421201275], [0.01898653989214516, 0.5660399358351307], [0.3707022783141425, 0.07939641694871735], [0.6004938171028716, 0.7214684741972914], [0.26139558084045666, 0.13281031561585388], [0.6547729487568218, 0.8152662277300075], [0.8681524137491364, 0.029581313513232232], [0.6605582918020759, 0.6729504996599212], [0.6729915474731234, 0.5901914778972992], [0.9598227930243165, 0.026494669000022508], [0.7539336883090837, 0.9222849079667161], [0.1797081829769538, 0.6217335765635618], [0.4795101555915975, 0.34997657819932604], [0.5541201366867797, 0.6229720273500554], [0.08509522988675844, 0.5896192307783391], [0.8032027641648695, 0.6036094330165342], [0.163284035837873, 0.7675173768127235], [0.8730266226436713, 0.6563991085103426], [0.882129456472768, 0.9447657494913384], [0.9743893647617459, 0.9558798213091677], [0.47667148095522227, 0.23982454334907277], [0.6615039276704624, 0.5148030707781106], [0.2572835296502016, 0.29446129742777527], [0.2472275059679181, 0.851333276299552], [0.2616504784675633, 0.11478217344484831], [0.23931607836531998, 0.25368996175202174], [0.6421844478444547, 0.9273833550128215], [0.9829684500533744, 0.7520264000512988], [0.3197387540671286, 0.48818230404041274], [0.05515817503103382, 0.5926315376386014], [0.013029339283237573, 0.6396294724572585], [0.4587189317408914, 0.2589695760752847], [0.7971991204383618, 0.562025828263452], [0.47241348997461097, 0.47730477136414506], [0.4136359667524129, 0.8159987694912844], [0.03326492088888544, 0.6056574651703254], [0.668830741338235, 0.9761493102146362], [0.861405087082727, 0.7142637627169423], [0.0026248339638004214, 0.614423270925047], [0.8487491002973442, 0.7492816385257796], [0.4392576911218504, 0.9079374173495355], [0.9547894335872674, 0.8229494506205742], [0.16679839446895217, 0.09321025223245938], [0.048880544435563666, 0.022865073157002702], [0.14045109937820377, 0.16243217138325006], [0.6882673445839504, 0.1547998610397333], [0.7509762192388038, 0.8725726259849146], [0.5036689029154418, 0.45778757041033835], [0.6651682958929414, 0.5408326259269843], [0.9769346028185076, 0.23151773801008357], [0.872142628612746, 0.9183607979361179], [0.21041074455988107, 0.7174123604163736], [0.7293745440948546, 0.7642349946755256], [0.1476208687319337, 0.6117050765254998], [0.17400351908645662, 0.3377847759553684], [0.37877172763335853, 0.816124997993992], [0.9174216229069231, 0.623499757560276], [0.2499394190185229, 0.2503196899092748], [0.70900763470694, 0.7464131713273116], [0.05566762042417983, 0.1418427500202284], [0.6297270533351228, 0.016893054746311087], [0.9117957620496123, 0.3885381419350409], [0.10713315633818676, 0.8233994268859306], [0.2107485060867894, 0.5488504416812583], [0.8023089927806667, 0.6828351790113981], [0.6855946426154458, 0.5043359219402588], [0.7534014698764091, 0.924842574146337], [0.934697351781804, 0.427386629510197], [0.5416685341603567, 0.3046252584234851], [0.6917278154773835, 0.06309985259764972], [0.2768995661680781, 0.9309095789807608], [0.4342587976075003, 0.3220051886637306], [0.6775592879088127, 0.4875234385101147], [0.5818553903212578, 0.9585491274709079], [0.19482344257499384, 0.10537274159942234], [0.7002002422858948, 0.9092061014297143], [0.7705756641553576, 0.17677792211378385], [0.10403620036271366, 0.4329490745365242], [0.48777367822678863, 0.5845962610264106], [0.19697030404894644, 0.9830059688263284], [0.8710956850738932, 0.3635107449257896], [0.8728301409282071, 0.3285914666207077], [0.418986972311886, 0.9211534847620559], [0.5384511346027482, 0.9038940934788331], [0.414968175509454, 0.45803295131018706], [0.5093308601948613, 0.07730457781855815], [0.38059330413151304, 0.255553884069216], [0.21287183123935494, 0.21769517573459463], [0.5548303475727692, 0.8926659064968875], [0.8326349621460087, 0.10619830004846076], [0.5809995416770498, 0.474342505250093], [0.1245764335786177, 0.4859717742706642], [0.6371975215505318, 0.21866365427183332], [0.038529452613074056, 0.22840791209307598], [0.9218791033917845, 0.9115073811782503], [0.6215420817642927, 0.6456229043846754], [0.740090403569077, 0.9628685160203937], [0.5002837048929633, 0.2828276397045253], [0.2593380537769858, 0.8209735245037048], [0.636800268563252, 0.3897137704088405], [0.6708102233265298, 0.4815924204524201], [0.9011190552909368, 0.6597913863549072], [0.622854051364912, 0.290564609780682], [0.9896278236778256, 0.12294415284587668], [0.18702124977014367, 0.6778119292681148], [0.38497151484715675, 0.1667857329952206], [0.23366371043809242, 0.9653395883203973], [0.18072406186631473, 0.40435533795031386], [0.1536429236759126, 0.29652684917584904], [0.47038597237495317, 0.6665096094579536], [0.015595300705355641, 0.2536903345298236], [0.4215615315957689, 0.5936765785684498], [0.6003145537754608, 0.9440915365534047], [0.0892264712227333, 0.04018991592496002], [0.06079064197699258, 0.13593553440696948], [0.550622114147391, 0.6322121231769258], [0.5823118687702369, 0.9586395048701354], [0.5723420127327367, 0.6196624706475901], [0.5148015737720184, 0.5916701892312893], [0.41212006487987096, 0.7389967897267485], [0.47483341233498433, 0.3305495441226145], [0.8745590958835033, 0.3247177718262313], [0.05736843922702595, 0.6844596883992424], [0.839937854563843, 0.7907701412765894], [0.4974333273441933, 0.11539047082047782], [0.5847413703151254, 0.7790715403328011], [0.8527958279724892, 0.6724783617456824], [0.9807018269646555, 0.5076916172203217], [0.16831684430569538, 0.5810702654841777], [0.5772729139611205, 0.8441407264720122], [0.04475021799785461, 0.46049651103487466], [0.6366708104194262, 0.3836330771676386], [0.499241259489425, 0.8117209511796092], [0.13374556273415017, 0.9893160017132612], [0.8444276079161738, 0.42362475614828377], [0.7264308970981118, 0.95535372997316], [0.2855105737714333, 0.6941901980349544], [0.7208527219311921, 0.703182992694751], [0.1996682326366629, 0.4501012644492024], [0.6856062646140337, 0.46561192687982256], [0.9224022654188339, 0.5626360240331176], [0.5715167999324914, 0.163571588585829], [0.7262525399008711, 0.036945001372074016], [0.27732362679687195, 0.5398129496804974], [0.04387679343792872, 0.722655780761024], [0.6626368845905537, 0.23119441945301789], [0.046784631609684935, 0.4805197093092347], [0.9888550524957934, 0.047121488330476025], [0.2872995861284927, 0.8925603671119752], [0.36376211655507384, 0.9117903975451576], [0.9501048632321578, 0.5685564104042226], [0.9093336574828249, 0.5494527210350586], [0.6538708266004489, 0.49791839218353273], [0.3108208194232037, 0.5789552136310444], [0.2604549857008027, 0.7027785525953383], [0.7468375814247302, 0.351645869666538], [0.27248867636632135, 0.7419834278847548], [0.7134808041020411, 0.2336857581009555], [0.45233576653608754, 0.32309053641362007], [0.14974790714703357, 0.7123338875293826], [0.7756709524081735, 0.764492395350907], [0.8454241945640003, 0.23447555993399638], [0.6211273548745374, 0.9161080077542327], [0.05237507646695316, 0.7264228362716804], [0.1737315819677433, 0.4069075094703566], [0.6709786793971309, 0.9614810496281301], [0.08493235511876551, 0.1551972652536857], [0.4425196763997452, 0.34384537831495043], [0.34282003081468304, 0.923494027059136], [0.1419559301133343, 0.6377285712967751], [0.7193968286526786, 0.3046953060013703], [0.5153744367640011, 0.9532971407334495], [0.604339073495679, 0.18690158476673768], [0.09236555322060136, 0.6528389971054761], [0.6489709754338625, 0.8743465464936858], [0.8973430804918124, 0.3277088628730156], [0.4615509598036134, 0.7996175542203425], [0.9790425622136129, 0.7338321683130236], [0.2917328975450215, 0.9231085402831789], [0.1019189880738075, 0.573866073916654], [0.07468823155877069, 0.2891546265931165], [0.6492071977371149, 0.35444792235802536], [0.6724118311982575, 0.7809286032726193], [0.15083904383259306, 0.708910936014097], [0.2128633227563621, 0.8822586528108448], [0.05419676161143383, 0.09353435580534097], [0.664511546117926, 0.7675869921691917], [0.7734781956077955, 0.37787070780263465], [0.3389824663601083, 0.8359330666350082], [0.7520672421605729, 0.8101979683697855], [0.6665022571776509, 0.28839487758825766], [0.7479660352872218, 0.5717601170544058], [0.07118637097813041, 0.8885043305505462], [0.8683467448525517, 0.6516476938955388], [0.44194389779721266, 0.31052692926350933], [0.8175501035786482, 0.6945783892001549], [0.3902934743502978, 0.05966566676072682], [0.4798054852764503, 0.5680084186403178], [0.9590242685166116, 0.35904586808239414], [0.5538985756221178, 0.5561490612630244], [0.19423502431900352, 0.03141230500783687], [0.6258704597364756, 0.43550979804039425], [0.0083823277398275, 0.505819982184396], [0.43165864834077894, 0.9909607282722558], [0.7597670500892545, 0.961428020769027], [0.8694929955611509, 0.4049808359918615], [0.46975826052875647, 0.09082564633571677], [0.1226760180273464, 0.3370095682085793], [0.4540744951027589, 0.7515406753009342], [0.6164863344985714, 0.3053603398415007], [0.9677895670232107, 0.4899510327900467], [0.8815323361597139, 0.33422992121248585], [0.5112390560997311, 0.6467035785016235], [0.9038949258733009, 0.4756725899079809], [0.2213799259057534, 0.7927640868338833], [0.381952329298457, 0.7289965488326746], [0.7098954304443962, 0.15880066676583438], [0.8869245686857499, 0.7016759675286485], [0.530583037458724, 0.9478146761686072], [0.859848806032939, 0.8366895599863968], [0.9022101836160394, 0.4815906031146645], [0.42118436700831885, 0.06426517170241852], [0.09957312368036397, 0.664827393510216], [0.12000763120587743, 0.637083536157983], [0.8839486381149984, 0.5949677744062433], [0.33110797562642924, 0.4562534651273179], [0.843919522143876, 0.9670264346794384], [0.48276181453557276, 0.1534213624639288], [0.7260811602162898, 0.9600234368332212], [0.19967926688836934, 0.6150050286768622], [0.6983377523067771, 0.04002021237383513], [0.5512279320691258, 0.8349050665148962], [0.7997113038243365, 0.142987473478844], [0.3422206672914635, 0.347297007624489], [0.2365392401473465, 0.8038579185920367], [0.7619197052235283, 0.55405806581236], [0.7680404065248186, 0.22818804508608626], [0.9515075030035292, 0.7897571402247805], [0.3905606212282783, 0.7818435300597467], [0.09419013082657035, 0.4477029031211438], [0.7421598992766807, 0.5074851887756721], [0.9825760617961733, 0.9958042938965557], [0.9686847786028048, 0.32533704810697617], [0.8513717067731396, 0.402816109521121], [0.7339209226619688, 0.4010924469148255], [0.5999443164343978, 0.051621220049465344], [0.6764759459936824, 0.5240985103861391], [0.2051068236262017, 0.44881963852345796], [0.5507456559747682, 0.46542881194684416], [0.7976355741181533, 0.821683738646772], [0.8676252886669041, 0.320247751914014], [0.9465170581760176, 0.5629441947886605], [0.4336911495459397, 0.08191845616730953], [0.9787954346599742, 0.3709915441747399], [0.6831068634216333, 0.8819873747500268], [0.41856634574336493, 0.20890094347765842], [0.30151732413482535, 0.31152192198152384], [0.4790300200646115, 0.661675233302644], [0.14599475970793685, 0.6133060118501589], [0.6409532679473966, 0.6276390204088478], [0.5422728242482514, 0.28264776473091746], [0.9049873340995869, 0.02093571072710665], [0.8296107363537009, 0.9720186346691289], [0.298782945273936, 0.4427986370366769], [0.4245615773968622, 0.3813904079809177], [0.6105186709724574, 0.08775714708943438], [0.9693048789931142, 0.7055039725572237], [0.5749971355816644, 0.9585577418713221], [0.897355849056526, 0.5147327693535284], [0.391931776970474, 0.8413104318111044], [0.6358472434693037, 0.362215327264379], [0.8345708518453986, 0.37412571486096735], [0.3923462363145861, 0.5550692887542769], [0.4197153390008638, 0.0029493476250613826], [0.5776176472616662, 0.4289481033968505], [0.9234519064120765, 0.3017371820927226], [0.18424408403517578, 0.45094214961990486], [0.13658296672909065, 0.5255147702018591], [0.8119970646185537, 0.04869686306959753], [0.07736218188396848, 0.3160082777865607], [0.6956123890394501, 0.4525261296201052], [0.3546136774602411, 0.8917828378266103], [0.1823373034815895, 0.4523982697913317], [0.944610054714832, 0.6862967100127022], [0.7620451300302894, 0.5037137514707088], [0.4026778751059875, 0.8950541415656029], [0.7727323736061941, 0.9605860602347677], [0.7080276582530102, 0.3142348082407185], [0.39386418273978674, 0.8175669406364785], [0.916287141191736, 0.5874744702168635], [0.9895863676395693, 0.48711170308963225], [0.9844515704224263, 0.27791348426952134], [0.7935030429484522, 0.25778200660077466], [0.297025643310709, 0.32299872457847134], [0.49771405387454437, 0.940980626968259], [0.21469986333876034, 0.55232146191453], [0.947349465116555, 0.5345519466465776], [0.9760090195725277, 0.47784669651950373], [0.21941733816850606, 0.4831033240708805], [0.37864100702157033, 0.2605586887631801], [0.29586523791702346, 0.3430718115495842], [0.705014537688629, 0.9050812901038698], [0.0679517862657093, 0.04949014128190499], [0.41153004212940425, 0.8080801656357479], [0.5614496699388393, 0.512396855344443], [0.640048325878404, 0.9436418081733232], [0.2723853143787722, 0.3299943314118815], [0.18467880230834177, 0.49361690136214786], [0.2023480476313242, 0.9493179017335831], [0.11345070430275705, 0.24316604207964432], [0.41855515803939225, 0.15402541040263218], [0.525399983565811, 0.7902438711940076], [0.7635969619197485, 0.16078766864737626], [0.987616993400404, 0.02369910668092079], [0.6089064358293215, 0.6458609985501736], [0.7883060313511802, 0.054643920098843446], [0.17897233735514206, 0.4730480423762111], [0.5251503841478831, 0.9866264922216063], [0.41197837006114213, 0.6537217903385895], [0.7970727066473792, 0.530906027669004], [0.4768970187676962, 0.5835476747501336], [0.7318753470380097, 0.7906477900058307], [0.17384912078913217, 0.3735911773669809], [0.17494448857187628, 0.9128230206075075], [0.8058331803525225, 0.28400548084784805], [0.8757618043730276, 0.19100576694278149], [0.7022819566418432, 0.8450705083355449], [0.3963646692031776, 0.8596813119039453], [0.929131681300224, 0.8055339912091053], [0.6405481484696797, 0.42264681582679375], [0.8679437853838032, 0.6813701839747256], [0.763480179346033, 0.5689964307536073], [0.12743175772889237, 0.3469116139564341], [0.3832496325147613, 0.7228008948770802], [0.7896775084687507, 0.7723367765021578], [0.7812602318242106, 0.8625986913093968], [0.9818677636415555, 0.742900899957548], [0.4618718597622613, 0.4719163345069062], [0.7780442498199512, 0.8599688115949417], [0.3056409196032269, 0.3381764797643476], [0.19128513692914606, 0.355714926778684], [0.9502373519956017, 0.0790048670971999], [0.43076360265428293, 0.193424339897451], [0.3195644712152387, 0.7952084207829795], [0.306002612869549, 0.73944904460075], [0.35867396684705155, 0.2151070258868002], [0.6714931688332167, 0.5313554164469141], [0.32320268852822265, 0.123006734354841], [0.36261978797091987, 0.37565739971561696], [0.5149810008411203, 0.4780603493659882], [0.8422129059797788, 0.06674889444658982], [0.8099474509180374, 0.145653116315551], [0.20805347459168944, 0.08150210037932926], [0.7258136891675238, 0.8712189368378392], [0.001953661626326708, 0.6768927172774959], [0.06787084503460195, 0.5250939433130812], [0.71873442510243, 0.3106348408049219], [0.26812448936989197, 0.49124902452766694], [0.10790409484892527, 0.6229018220403293], [0.3556347755822751, 0.9696970984826174], [0.24601262225363263, 0.3222447905710233], [0.2626108843281447, 0.5400359607689764], [0.011618270802119857, 0.2586744956014686], [0.9105735348999566, 0.5686677453842521], [0.33199252117925315, 0.22326725905824307], [0.9830769833754637, 0.9677901224199643], [0.20296967461003257, 0.44863057385924077], [0.3026989916768269, 0.05645948986581806], [0.6368571472834692, 0.9940542231740425], [0.20985008218408774, 0.5587950634719325], [0.38070746962951163, 0.06494094498501901], [0.5754163640782536, 0.44832409270816165], [0.8890956065994389, 0.7831171858537971], [0.7575748327922559, 0.05122535465183975], [0.1776064823204485, 0.7680594246899152], [0.1498726994590368, 0.3145290744146958], [0.13617339337010181, 0.87317213848724], [0.6032392580927165, 0.8508342108446348], [0.8358001704152865, 0.5308450833294833], [0.8420361374356118, 0.33483282040416806], [0.6230893149367004, 0.04101021634333435], [0.07037633379508523, 0.009694347235204237], [0.24372836898016537, 0.043297094122793256], [0.892181148335799, 0.6913887915541], [0.7079711930644306, 0.9014695091966292], [0.6548556605985442, 0.33418565403340883], [0.6233438280052848, 0.1862063581686062], [0.09691823743970951, 0.7451631073363721], [0.3055966830193344, 0.0799821400223738], [0.6277609792411772, 0.5423283350643653], [0.05665400714459912, 0.05895965454320906], [0.43626454082883215, 0.39220649495618065], [0.5452592130375032, 0.3533582327772321], [0.47341228106052413, 0.8136724781854163], [0.26235864537764564, 0.1413625728543536], [0.15063758412492056, 0.16189516564620043], [0.997444666228846, 0.2640823906834756], [0.7382197676379944, 0.6334458730280916], [0.9826479247499846, 0.14654330100545088], [0.8532027396040986, 0.7993712946375475], [0.33090544673765465, 0.04976004701592751], [0.42784141474972004, 0.33495094969670036], [0.9821608952076796, 0.0600157484441336], [0.43555679650855594, 0.3736221008600983], [0.5146167149262773, 0.3210815250907909], [0.3363260936008253, 0.3271702156838432], [0.3718833463158727, 0.16081373094988083], [0.004958853970817745, 0.8219097507313624], [0.7306821465023278, 0.9707689103062006], [0.6779585264175788, 0.24557017223902378], [0.9380628321125847, 0.39495104462003694], [0.7177589202185554, 0.3369516320195586], [0.08303248199252355, 0.8111039691852842], [0.21950817688833424, 0.7865621410105584], [0.41748506003757546, 0.8015410512937569], [0.01950962626169861, 0.922559691513152], [0.03696783150667082, 0.7030283692850834], [0.2679008241025004, 0.25183992209285955], [0.16614974249294434, 0.9988301980629998], [0.3513579369916019, 0.5928372356026367], [0.8554794906436982, 0.09331636839714186], [0.7065354913970803, 0.008049823100071518], [0.4585864938660018, 0.7465768440611276], [0.510078722363019, 0.2955998705816023], [0.7373117185026137, 0.33603077803200687], [0.944150495627599, 0.984061355765535], [0.00947690691777936, 0.02305827761094581], [0.5417962958247587, 0.9069270271848944], [0.9798155475474359, 0.9079465652892222], [0.7003066804866493, 0.21827899013691532], [0.449356636909502, 0.576884817594256], [0.023366283524633658, 0.60703488380088], [0.6897076702307682, 0.46222758251639073], [0.6673705934089861, 0.17914272395545128], [0.6867067494832984, 0.12396252458473878], [0.2354273350103906, 0.32931954201422], [0.4367126870534812, 0.9787317095433814], [0.08788491812125088, 0.9253225795570492], [0.4155344147291177, 0.19928008928617658], [0.9620993445268454, 0.6497222074086609], [0.9925058802984394, 0.19527675700597613], [0.948795276176745, 0.8476174928399924], [0.5412132163657656, 0.30559775228399655], [0.48349363758930675, 0.6206207537812658], [0.9307280301857848, 0.4789331194152586], [0.24043079264863298, 0.5490412054762668], [0.5365058404160082, 0.5884907044151078], [0.5207399525931029, 0.050783342483669114], [0.031569444284921366, 0.27303548867233396], [0.009042514935457047, 0.6971233589915473], [0.8504247883003438, 0.47694946992843956], [0.528903415263074, 0.2409191898631884], [0.17208843879333624, 0.30026653710986706], [0.7933836070604322, 0.43807487619163465], [0.9679431790376505, 0.43541378053239754], [0.13454697020159645, 0.46723912407266766], [0.9608400181947941, 0.11825735132025106], [0.682173338925072, 0.9904871662528175], [0.5244759558736032, 0.6723939765387045], [0.9238993916032118, 0.347786239498485], [0.1028811987602748, 0.5203126184989398], [0.07070560083366018, 0.903287413997972], [0.095052836071719, 0.20661867506456943], [0.2697990448247978, 0.8115011227021941], [0.05272362038793277, 0.009452626260916586], [0.9935871152996897, 0.007518550864979878], [0.5571118407063401, 0.3020051824641653], [0.33670958072627666, 0.5298779883510066], [0.46998606812421173, 0.1540108325306454], [0.8052207721493702, 0.9503858740452147], [0.2581644129458396, 0.6532218945708647], [0.3849874968285645, 0.940028799230706], [0.35478574061739554, 0.4302993983486165], [0.7208543524246427, 0.15403710350498245], [0.21737102360558203, 0.8536225156376709], [0.23438737452349478, 0.1166044241377171], [0.6984566532397055, 0.05324496466896178], [0.2967451102223697, 0.46514030482145186], [0.14114393194662256, 0.8553598874446459], [0.37338615577041445, 0.874529605004703], [0.014674048793214989, 0.6878133659425583], [0.7480515292566603, 0.06634029206934766], [0.6728208344846097, 0.16760644716825623], [0.0127533178650574, 0.2766361578125893], [0.9459228287304573, 0.1594743437695465], [0.8081305816721152, 0.8465753445580061], [0.332689730415789, 0.29961803039362445], [0.34567875009231763, 0.9526132231965333], [0.7305523377253523, 0.5980466726142027], [0.8688867923307451, 0.33000344424895245], [0.6451510628182964, 0.8569793402819189], [0.1989365179822723, 0.6532833203478364], [0.604312514739768, 0.05979683688472537], [0.6573698549919028, 0.9233258175491751], [0.7125725158461138, 0.9996377607951032], [0.34344943899356606, 0.5099309534335742], [0.24468972242132558, 0.3286243359074167], [0.3871436854589789, 0.5759213370270039], [0.9449781000897517, 0.28393646775241177], [0.36887739406396536, 0.51662228466446], [0.5952637513976177, 0.8172965134341328], [0.4001960537488167, 0.6828503482342747], [0.3422260653318686, 0.0851880982125236], [0.544810708984226, 0.9342350477669498], [0.6302585075332116, 0.18572838460052277], [0.43708355000237087, 0.08872931404142625], [0.23125639754417804, 0.14858847319632695], [0.7861361945383272, 0.3235306350362468], [0.4583359780163956, 0.9965080795245722], [0.7008807635498653, 0.8492888963026671], [0.6258432685628015, 0.15701781774108214], [0.7918072224399163, 0.9653704422427536], [0.024630006560772966, 0.08801328077980974], [0.4296080347569784, 0.1535704541228391], [0.4282125308840272, 0.35631187058229197], [0.27071585198536097, 0.8121739383063227], [0.2998192138811492, 0.18271631771699948], [0.4640895635321127, 0.9639379713790514], [0.8396197685328285, 0.06440840205024911], [0.4682838096284052, 0.7994968759560053], [0.01708532321618428, 0.8016906891668769], [0.153366542523808, 0.9414775856777887], [0.8738024150794402, 0.27119082632401303], [0.319571336718672, 0.16884557844335568], [0.08156982227031062, 0.08568714758905671], [0.8988339430807036, 0.15262017815263207], [0.6051238092885883, 0.10552747568433374], [0.5173798666134946, 0.8858851899435702], [0.8482062267658396, 0.6238435495724698], [0.9493336034316796, 0.3123197697364761], [0.3534199405901636, 0.7920384027984312], [0.7722725314711976, 0.37187357762932904], [0.08916901974872249, 0.18670469144755686], [0.25300853367707654, 0.8746573667250304], [0.771819018668528, 0.8314927708698152], [0.31346750285551084, 0.774860644447035], [0.5330713486328436, 0.624681083947248], [0.7164887049084234, 0.539717907384075], [0.5886837589381081, 0.14267165222623024], [0.7367520939066744, 0.07027987551179549], [0.024413674860906287, 0.5386525500610132], [0.8774247338281437, 0.9263821044623376], [0.6601798940248321, 0.6548964267783709], [0.553655001959332, 0.6402065286178651], [0.8144230651877965, 0.3142619750601924], [0.00952638202945466, 0.698400177842546], [0.1477886859897496, 0.11318465614230988], [0.9454889449535688, 0.7280548798355364], [0.8949931140386819, 0.36407954185426317], [0.01910236133508869, 0.5762731619821694], [0.9991046378577657, 0.09919753331653569], [0.11992607216730322, 0.47009625756478113], [0.179029771769052, 0.48845037960433935], [0.1184314814858296, 0.9470434902280785], [0.7785729864547067, 0.31956598617462484], [0.13897999633566704, 0.5521080503582596], [0.1365374514821125, 0.21086595587546564], [0.1650841511415665, 0.5656413671997659], [0.231343270697127, 0.41834107679542687], [0.5664140366853193, 0.8868449348959747], [0.4378237243080477, 0.1839323353641461], [0.8431348762055719, 0.14025211948119987], [0.3503890474844942, 0.8823243286618222], [0.5421939164790696, 0.27093310734460263], [0.5980278702532539, 0.8900674460691447], [0.971776863270048, 0.0374826824107074], [0.19409878072400422, 0.606962468658437], [0.7132605950592716, 0.2765307575354956], [0.8351480202822351, 0.9434880321907543], [0.1481403433095706, 0.7939139469215905], [0.17826073902419326, 0.680936137187036], [0.23263562143619954, 0.9222608691522617], [0.6593151541728132, 0.8708825225236009], [0.6902452186594715, 0.8729113536777288], [0.30310464595342523, 0.3763665937696947], [0.9364853874570458, 0.5425997173629336], [0.509761543556499, 0.28385103159939573], [0.5822423429497222, 0.8487082733760763], [0.2104226018252845, 0.12060332938150997], [0.8782812355482252, 0.8856299961356104], [0.003442239574250494, 0.6260729051697358], [0.31362521794693876, 0.508668459140078], [0.11845554877989128, 0.8111188905694015], [0.5385676239578914, 0.047659720279054074], [0.706506126088408, 0.9106710024540717], [0.9149381134278363, 0.9858238863724271], [0.019743401657683735, 0.3923001525339239], [0.1667608160177938, 0.10013321266055597], [0.5520088785532, 0.47881338341101565], [0.8990475026346604, 0.3887241453345549], [0.712818955459602, 0.023088601425959032], [0.8933813051815326, 0.8453413560313647], [0.2862098513135052, 0.8029805134820924], [0.003458038489556059, 0.8105769750412807], [0.834119238521489, 0.7520085133978192], [0.9571928934496066, 0.5432660419874793], [0.5586160937088976, 0.21727279999977678], [0.3440775136246137, 0.48327199371271423], [0.5843856062777559, 0.5378604330345692], [0.7597827485495344, 0.347399066950447], [0.12200304177031795, 0.883689479066525], [0.787674656273688, 0.544286351536663], [0.6302653952227311, 0.634515454593992], [0.567371043600732, 0.5107841955288406], [0.8148914964742665, 0.20317372230023667], [0.5310483454631438, 0.06395071564287957], [0.6255487064761642, 0.8135769141206073], [0.11665443591803992, 0.6473410805681575], [0.3230739893143266, 0.6115542116745337], [0.3086843801974326, 0.8564171307921158], [0.8168775431612684, 0.20761300675337646], [0.2356799858809402, 0.27882419879376363], [0.6599544379014513, 0.6983097659319142], [0.715211625691927, 0.03282951034664616], [0.6076251134330303, 0.8017239301400415], [0.30618505869869983, 0.9990283379837919], [0.41832333683478085, 0.6293127507093046], [0.2938735542732448, 0.13893092118388561], [0.9297864518275248, 0.6667798083407671], [0.35780001634842584, 0.5615794932545484], [0.3895287106188642, 0.5352779361857711], [0.00796023930969092, 0.11178687533448595], [0.7291241224715922, 0.601868601428232], [0.9540355821112351, 0.6523292056986018], [0.4113743848878406, 0.4869585535747799], [0.8479884829587069, 0.726006510973307], [0.43361426294818106, 0.4590157923926327], [0.3639777651311401, 0.6923819443988811], [0.5939494776402512, 0.7627654616867943], [0.35773395199434166, 0.15059617205752462], [0.05462590240742804, 0.3001970244669192], [0.8597132138507443, 0.3041324113698275], [0.7402674532620694, 0.5882730583212783], [0.6332510579983619, 0.30601356093525567], [0.25399562267558196, 0.6856113882791901], [0.01295412630894166, 0.7816133251725914], [0.2541385918175927, 0.7128316556584333], [0.8536411851263288, 0.7811510430804074], [0.8621983898146267, 0.8844333990461726], [0.20113435152440284, 0.28173335827112955], [0.9151944804017802, 0.2789552407263526], [0.8027378642197633, 0.13230175924876786], [0.550353211154021, 0.9764791950361151], [0.43203894629817485, 0.49231980509050066], [0.04514229048951235, 0.37523599483595504], [0.09580401523772264, 0.7979268132617154], [0.12731180150665833, 0.751708612213891], [0.9312822723194372, 0.5793435801381274], [0.1413367004597167, 0.9311149726186464], [0.5566099280507627, 0.8175147688810861], [0.7674579738927055, 0.7642407914179206], [0.012488754785899503, 0.8912006612810931], [0.5265170324709011, 0.8826237984633438], [0.06438037439727817, 0.13447342085454939], [0.1983232500567902, 0.13311290631895123], [0.7699670300694665, 0.1798433795340435], [0.8807892959662454, 0.007513540275998154], [0.4810405787146963, 0.22455014676635898], [0.31974443027456734, 0.27729141489788345], [0.8104025329961688, 0.12033917728400079], [0.5814030027182909, 0.606906787373105], [0.0990435999237701, 0.8497314595444986], [0.281605231044466, 0.870555720936301], [0.1933021382323623, 0.8966660338031719], [0.2847528100319716, 0.16170165639458345], [0.7972388950296541, 0.9245803875373929], [0.05840198596826629, 0.5127225076786134], [0.8688399329520113, 0.9440906424901956], [0.6117783506182654, 0.8841999867582954], [0.5920663960344023, 0.5426608564190363], [0.3768246941114485, 0.3086756728466913], [0.7074932581800408, 0.7900789364873192], [0.9271647776566061, 0.17951011905391445], [0.5249631960060847, 0.47435578255424293], [0.6997200042917378, 0.3833137207735171], [0.6635465084758471, 0.23922109495614086], [0.9928797299812318, 0.8165741772774507], [0.9983242292090987, 0.8261284296234781], [0.28505514719384595, 0.48158291734180303], [0.7840628166384946, 0.4100369267040104], [0.966369628370329, 0.5870635648342476]], 'n_circle_points': 769}\n", - "Loading results {'coordinates': [[0.13154137025394552, 0.9819474935820048], [0.7394497786836224, 0.14410115666416312], [0.7289775064128416, 0.9255991704994944], [0.15991470958178944, 0.0648327295056037], [0.200972710252323, 0.26734505545851994], [0.11264451625794658, 0.2575883945657069], [0.32997083466667043, 0.9110051822136703], [0.4450457686720788, 0.5246037391263892], [0.16146846244205848, 0.7079206854430556], [0.21945159723035135, 0.48334870914535655], [0.21931802498569308, 0.060281216676286276], [0.16037538947249075, 0.1837466775065274], [0.67031320257703, 0.4846253960716689], [0.3071718474559956, 0.37242654583886237], [0.7477245656692298, 0.9189489663795941], [0.49085999498887667, 0.6979861672514844], [0.2940636035325712, 0.6146227958479566], [0.9330540711393015, 0.9173243694790003], [0.9836303602047735, 0.5453440668663023], [0.06532730356038818, 0.7667895671856697], [0.957451450694035, 0.3270816264515338], [0.7067431517743173, 0.8606067643512108], [0.08250097304083037, 0.769163140632676], [0.38070221959005746, 0.8795578066281403], [0.9911603471224668, 0.8686105348080154], [0.3671255105789246, 0.9667895409916453], [0.01444375815404153, 0.2825627727705745], [0.9796243757706897, 0.11574425663889487], [0.017098443426825538, 0.646701060420365], [0.3416049671033645, 0.7037300716837184], [0.09426557700790095, 0.12878541718438508], [0.90443758599737, 0.7564292493180406], [0.30519236603327127, 0.31658434161185367], [0.8596602216419925, 0.6060286058162244], [0.7448109345981466, 0.44097071572352564], [0.11269726864891472, 0.3599111107174294], [0.2551722948111632, 0.47828864978153285], [0.8637355423757703, 0.23819341910629732], [0.6804078020120244, 0.5654440415029193], [0.1295943511416202, 0.010319249155465005], [0.3384183795611574, 0.01688768111240546], [0.5877250362953768, 0.29216022320156576], [0.3396788986693866, 0.09102419334858292], [0.2630833194610771, 0.9123396128922489], [0.6299557859035513, 0.019196331388075083], [0.07119659533421407, 0.6447395971101649], [0.8049428428257496, 0.7955737241032395], [0.05384751473613891, 0.7951414858931349], [0.4996293829013274, 0.9966200390219389], [0.6899734949646726, 0.25460718726200304], [0.9797889305192251, 0.2772033186841705], [0.25691182177908845, 0.6430379916970717], [0.6152697629233123, 0.6964252680253524], [0.20187244220646183, 0.2026501088175111], [0.7833952202680227, 0.774938390435048], [0.026204260546100144, 0.6905193969790826], [0.18829141403874727, 0.960016799779931], [0.9562913112657333, 0.9255563029968782], [0.6552699135344399, 0.7072682819520564], [0.33587530756137696, 0.2508249197518819], [0.9250994922871013, 0.27537982085782664], [0.1451753781199645, 0.217123285277662], [0.14571647829342005, 0.07826982099165625], [0.6665802961003854, 0.3368730833160256], [0.7586484598707969, 0.7144093005121146], [0.40827341753306834, 0.30698905965635737], [0.6256561876918442, 0.09517051343384142], [0.8524300193595118, 0.9435237113243259], [0.8134824123720336, 0.8960261089527337], [0.3908865047510106, 0.9492667049764892], [0.019259019462936622, 0.20371311027231054], [0.5779457245205156, 0.1701582440129611], [0.3024167576255229, 0.3821634931202126], [0.3727656581315685, 0.6673247261058842], [0.8853761109214955, 0.8544625897606961], [0.01020193651363277, 0.030713287263627098], [0.4589681252534198, 0.7008982833978379], [0.07567547710080735, 0.33700038964010226], [0.6438971419833731, 0.04219207659960811], [0.5427283853595896, 0.035799965733743555], [0.9194782051989563, 0.27124697979688317], [0.8036486928005996, 0.7710988927746667], [0.6886312596945948, 0.6159627682821815], [0.5372096546318024, 0.8327922637819568], [0.9955463864437559, 0.43305586912832017], [0.610343735868936, 0.05267316101620301], [0.010432780406603337, 0.6293731341173605], [0.7146347295331918, 0.24707094082664294], [0.7200959555179469, 0.10200475721206859], [0.9788531208200418, 0.09937020950993292], [0.5147509015432707, 0.6114450266486714], [0.20424005929337286, 0.6649539842257719], [0.07233499960116274, 0.8109548516301458], [0.4820445059780343, 0.555001544857598], [0.956001253003034, 0.27818842937931876], [0.43442844093076183, 0.8145419517322117], [0.989643931068482, 0.6437781308553711], [0.06592398153126044, 0.07471612211811884], [0.01916369013535668, 0.9703886665084993], [0.559517609051947, 0.38890063160297805], [0.9939201604152373, 0.18458461854437236], [0.7158012454276649, 0.36536045839299247], [0.4302892251956817, 0.6126789545237953], [0.15675656655310277, 0.41974649566515276], [0.5779114505102395, 0.239288946466925], [0.7490458886314206, 0.6381789354511541], [0.09267532374164078, 0.27839330518610494], [0.3107159639719098, 0.3681196198733395], [0.11317927927760796, 0.6970205151319447], [0.5664719958013936, 0.20448680187600632], [0.5375763940081424, 0.5056849865304209], [0.26820663732047734, 0.7006661633434222], [0.21238209765584948, 0.7812437286865326], [0.2910272920796406, 0.22687505996137514], [0.43621422615830086, 0.7432360116735551], [0.7740329934371208, 0.8403265912153145], [0.26843474260017874, 0.3357595312424648], [0.6292265020633736, 0.06459692635149217], [0.6802870201307252, 0.9646211477617593], [0.39908648666818547, 0.8632548339021318], [0.22745560187493452, 0.8895324039287704], [0.7710619892975297, 0.9070328009598304], [0.1599869492859476, 0.36442398421445377], [0.11111757964530489, 0.06294296107195407], [0.5440402817972962, 0.11242517268049379], [0.15814530100545376, 0.45884091418937734], [0.562613570039939, 0.29745581682466193], [0.9279361711728578, 0.0033467040000488835], [0.379112130823012, 0.8698678002681509], [0.41982809854087455, 0.12277633229127016], [0.6797766469895264, 0.8577604057466165], [0.4215932746757932, 0.09261564316047677], [0.25858759710917234, 0.03280300128007718], [0.3069299143030938, 0.32071797812386127], [0.2008693712754539, 0.2419812952692425], [0.9419986941449981, 0.6353450716236256], [0.8034286776975593, 0.40018389255723474], [0.9937608369537612, 0.24395571272971472], [0.34418082418077567, 0.5219455096747742], [0.36873045552634176, 0.35584215333242464], [0.45702869496186216, 0.5682393278076248], [0.600420527901264, 0.7766546933262274], [0.6248850833979801, 0.8708348734081681], [0.7573929198653464, 0.6315115371991088], [0.3150511552017409, 0.6605013339827049], [0.4320217849234873, 0.6054474977358943], [0.527763206580277, 0.5190775227007272], [0.685272751569045, 0.5536480818492517], [0.8897539912737661, 0.26978578602123704], [0.42023984592365515, 0.15318541957365794], [0.7637256505120712, 0.8205688088232937], [0.637583852063943, 0.16450189962598039], [0.08488602111953236, 0.9944857992390473], [0.6551527583473964, 0.726690646615726], [0.48756877081474903, 0.2443707239655728], [0.9001746299798238, 0.9596151325520553], [0.09555847295211795, 0.6788875553272973], [0.1431047925077944, 0.5832304733006242], [0.1863203032543792, 0.3497089550626127], [0.9462459170182247, 0.9962216527092753], [0.4260376766336281, 0.333703211191278], [0.8583350038014242, 0.18312264433871595], [0.8679054141793328, 0.8225026926607997], [0.4588127103224199, 0.9008602541229385], [0.39227213733676214, 0.39295850112788044], [0.45149314454047407, 0.5695950591616029], [0.5623153894435826, 0.6429330923764722], [0.5146441246517336, 0.8227989941943101], [0.3108938367634595, 0.36201752918185015], [0.5453241615620775, 0.23559409172000856], [0.8843834200237056, 0.11760516842781854], [0.38047394623916353, 0.5321927493024248], [0.6004601521928603, 0.13041898696150578], [0.5924713693617543, 0.7187028449361845], [0.38392135267622085, 0.5700465607649176], [0.5217679628133111, 0.24587207667018807], [0.5564741850241707, 0.23489959502236502], [0.342226564545153, 0.41363561239797375], [0.722568898925346, 0.1601904024978158], [0.5122560799334421, 0.8281319204051737], [0.22080594349152427, 0.5851143633528835], [0.14313783794439205, 0.37776832512219494], [0.691198604696931, 0.09931998193706604], [0.43532592451788543, 0.3733265387651342], [0.9438962596265782, 0.31458568420946054], [0.6516570276728206, 0.5562267132820021], [0.17025277568456476, 0.4586643187802699], [0.23420962347522123, 0.3618784379235207], [0.011666525240712877, 0.5801054505373339], [0.7275682127607727, 0.6500355337045653], [0.44822109500396734, 0.3943476345496667], [0.18052664617167968, 0.6965100432085636], [0.542272812658998, 0.2597314070436233], [0.9855125531793412, 0.4741841737827799], [0.3848818826538122, 0.573138272784446], [0.3215091448848627, 0.09876349916055327], [0.7077901907126272, 0.4168882937833174], [0.6578884670130913, 0.12830111070022343], [0.172676208419145, 0.8154778229295948], [0.7438699805519121, 0.15743941929862448], [0.419895571174708, 0.35285389987426297], [0.06130143426461676, 0.15809629104982592], [0.821964870403102, 0.18492887202796893], [0.22497396650901225, 0.785447232791779], [0.19217954703980855, 0.0970439596154693], [0.3438177625956682, 0.5402384852402979], [0.7359845306190775, 0.8957081101426053], [0.6100128288396754, 0.46114177195813055], [0.7736003102683964, 0.784146057386545], [0.9804797049686326, 0.8412738640674512], [0.41774969566607145, 0.6141161344019853], [0.6046591401280587, 0.4114502734882479], [0.9831657161264856, 0.1341762999544761], [0.19938671621397885, 0.06942778682641493], [0.09445747923915238, 0.4530095678229853], [0.19953399881752887, 0.20201274059992258], [0.7827912642066532, 0.3222565294337634], [0.6568443167861477, 0.6967638423957887], [0.6246041166168247, 0.15598060843865358], [0.6981434268210921, 0.07861651467607134], [0.36002076941497574, 0.6062663065388266], [0.6609740992543873, 0.8342246808779169], [0.3670748769499773, 0.42758241671427466], [0.1134657214132132, 0.07592328582116648], [0.14290936310212132, 0.8277939354314754], [0.15815428898945083, 0.11626042317367646], [0.5576320876600438, 0.5628664136663546], [0.39719196014057634, 0.22406691599779005], [0.7709747229822321, 0.8568114535291752], [0.5056185706059204, 0.16810011901552324], [0.9652669628009709, 0.640908849923674], [0.37416795072999987, 0.697464632169506], [0.2736699758397414, 0.2148992954557687], [0.38933364074998567, 0.9637887158219026], [0.24304057754661024, 0.7107082350603501], [0.12574664746049713, 0.9691087574057645], [0.6166851171137391, 0.585507349354721], [0.43527757265781175, 0.5851079412758355], [0.8437588274488155, 0.17755119123797214], [0.4305180630900788, 0.7491642865095198], [0.8469786139476289, 0.816333196347057], [0.08592958422796626, 0.5376243173034888], [0.5871051905428645, 0.34475197522300016], [0.7330105597603321, 0.9893355752967118], [0.3885539052797542, 0.8442599354993497], [0.9198277967215456, 0.2503966025382103], [0.5241087199273973, 0.41461375492383623], [0.6674858860993967, 0.9095734559165431], [0.1633363554063526, 0.8249729905436366], [0.6793054201936186, 0.720549045134326], [0.7821058751456601, 0.36071035930731643], [0.2453390801314037, 0.6313516252493806], [0.3915323901503932, 0.1961866381138101], [0.9504913506335135, 0.8681463232906395], [0.413197976114108, 0.44041703926108], [0.8887236833976457, 0.5645559072086578], [0.8172650111220167, 0.44387966719394745], [0.16830969137726526, 0.6899732874259348], [0.282723650136828, 0.5394405150741208], [0.04699738041491952, 0.08506239458388298], [0.5015007566297869, 0.21811966209003975], [0.8753282913928052, 0.233743007541109], [0.8719036595743952, 0.9616946803842474], [0.3126375411293162, 0.005498445879616898], [0.4845430828592232, 0.38503645940455944], [0.14211545107576995, 0.44547748509540563], [0.027638992435168652, 0.8583948504836751], [0.6014913645917074, 0.4900707722107577], [0.6619809963622801, 0.06946896994512619], [0.10411904910983683, 0.8887220157358017], [0.06160185443565103, 0.7348120579107739], [0.5854112881153336, 0.5133870825276928], [0.21215141604076382, 0.2832662176280887], [0.7237694053218394, 0.9234313454442998], [0.2064898392717004, 0.8744780747067862], [0.040879530699526434, 0.44792571834311656], [0.6113552692727969, 0.2537080806719465], [0.32379018764828593, 0.5928651244127595], [0.2977429675792058, 0.07957548391850522], [0.7013521685464603, 0.753683921023202], [0.708271640444265, 0.4998331157623892], [0.44317472392683943, 0.3109159797138391], [0.36074899931843385, 0.07836729570946677], [0.21247638089570575, 0.3504268543610032], [0.799751003458424, 0.24088383823418746], [0.12198889231627619, 0.6565191797442478], [0.9105868557340795, 0.6034354652712349], [0.7067128547706469, 0.03140597595366068], [0.395563416848703, 0.8326542908797907], [0.8107197793036451, 0.7600284115983009], [0.6083936745204018, 0.21919263440656422], [0.14145487231409493, 0.37287120588059], [0.9055405017848813, 0.949484950283135], [0.36863657810725425, 0.49529410180485445], [0.10992629696502232, 0.8008068847943433], [0.1685716050547862, 0.24226586824766994], [0.9378664041731445, 0.5900628735315732], [0.34163765611363717, 0.083128091703073], [0.876476502724633, 0.7402924133975853], [0.1376496168367619, 0.19036017324802978], [0.63015828352254, 0.6581621402523894], [0.024264218521090286, 0.5494786477096691], [0.6942267165214676, 0.6757666325665149], [0.8055121189100607, 0.1211283868159444], [0.9311327123401941, 0.997439158868919], [0.6654428368540981, 0.11618820488102377], [0.24091998203070308, 0.7363486251407148], [0.6336633157229129, 0.26158021200117587], [0.22675100341837962, 0.2578658288571719], [0.9715648717171645, 0.1640050000663128], [0.6359237600482844, 0.9290378474538712], [0.5705404074144443, 0.8643004845662726], [0.04547736845476358, 0.8355970208030431], [0.863250451128855, 0.08394757311610002], [0.3515998887055062, 0.2776824206772336], [0.36668471520727464, 0.003293560868443346], [0.30209822667940656, 0.4793119965329674], [0.9700868013973726, 0.08964714709433907], [0.8618741193718968, 0.2525302120876326], [0.24223267256311842, 0.8596539421201275], [0.01898653989214516, 0.5660399358351307], [0.3707022783141425, 0.07939641694871735], [0.6004938171028716, 0.7214684741972914], [0.26139558084045666, 0.13281031561585388], [0.6547729487568218, 0.8152662277300075], [0.8681524137491364, 0.029581313513232232], [0.6605582918020759, 0.6729504996599212], [0.6729915474731234, 0.5901914778972992], [0.9598227930243165, 0.026494669000022508], [0.7539336883090837, 0.9222849079667161], [0.1797081829769538, 0.6217335765635618], [0.4795101555915975, 0.34997657819932604], [0.5541201366867797, 0.6229720273500554], [0.08509522988675844, 0.5896192307783391], [0.8032027641648695, 0.6036094330165342], [0.163284035837873, 0.7675173768127235], [0.8730266226436713, 0.6563991085103426], [0.882129456472768, 0.9447657494913384], [0.9743893647617459, 0.9558798213091677], [0.47667148095522227, 0.23982454334907277], [0.6615039276704624, 0.5148030707781106], [0.2572835296502016, 0.29446129742777527], [0.2472275059679181, 0.851333276299552], [0.2616504784675633, 0.11478217344484831], [0.23931607836531998, 0.25368996175202174], [0.6421844478444547, 0.9273833550128215], [0.9829684500533744, 0.7520264000512988], [0.3197387540671286, 0.48818230404041274], [0.05515817503103382, 0.5926315376386014], [0.013029339283237573, 0.6396294724572585], [0.4587189317408914, 0.2589695760752847], [0.7971991204383618, 0.562025828263452], [0.47241348997461097, 0.47730477136414506], [0.4136359667524129, 0.8159987694912844], [0.03326492088888544, 0.6056574651703254], [0.668830741338235, 0.9761493102146362], [0.861405087082727, 0.7142637627169423], [0.0026248339638004214, 0.614423270925047], [0.8487491002973442, 0.7492816385257796], [0.4392576911218504, 0.9079374173495355], [0.9547894335872674, 0.8229494506205742], [0.16679839446895217, 0.09321025223245938], [0.048880544435563666, 0.022865073157002702], [0.14045109937820377, 0.16243217138325006], [0.6882673445839504, 0.1547998610397333], [0.7509762192388038, 0.8725726259849146], [0.5036689029154418, 0.45778757041033835], [0.6651682958929414, 0.5408326259269843], [0.9769346028185076, 0.23151773801008357], [0.872142628612746, 0.9183607979361179], [0.21041074455988107, 0.7174123604163736], [0.7293745440948546, 0.7642349946755256], [0.1476208687319337, 0.6117050765254998], [0.17400351908645662, 0.3377847759553684], [0.37877172763335853, 0.816124997993992], [0.9174216229069231, 0.623499757560276], [0.2499394190185229, 0.2503196899092748], [0.70900763470694, 0.7464131713273116], [0.05566762042417983, 0.1418427500202284], [0.6297270533351228, 0.016893054746311087], [0.9117957620496123, 0.3885381419350409], [0.10713315633818676, 0.8233994268859306], [0.2107485060867894, 0.5488504416812583], [0.8023089927806667, 0.6828351790113981], [0.6855946426154458, 0.5043359219402588], [0.7534014698764091, 0.924842574146337], [0.934697351781804, 0.427386629510197], [0.5416685341603567, 0.3046252584234851], [0.6917278154773835, 0.06309985259764972], [0.2768995661680781, 0.9309095789807608], [0.4342587976075003, 0.3220051886637306], [0.6775592879088127, 0.4875234385101147], [0.5818553903212578, 0.9585491274709079], [0.19482344257499384, 0.10537274159942234], [0.7002002422858948, 0.9092061014297143], [0.7705756641553576, 0.17677792211378385], [0.10403620036271366, 0.4329490745365242], [0.48777367822678863, 0.5845962610264106], [0.19697030404894644, 0.9830059688263284], [0.8710956850738932, 0.3635107449257896], [0.8728301409282071, 0.3285914666207077], [0.418986972311886, 0.9211534847620559], [0.5384511346027482, 0.9038940934788331], [0.414968175509454, 0.45803295131018706], [0.5093308601948613, 0.07730457781855815], [0.38059330413151304, 0.255553884069216], [0.21287183123935494, 0.21769517573459463], [0.5548303475727692, 0.8926659064968875], [0.8326349621460087, 0.10619830004846076], [0.5809995416770498, 0.474342505250093], [0.1245764335786177, 0.4859717742706642], [0.6371975215505318, 0.21866365427183332], [0.038529452613074056, 0.22840791209307598], [0.9218791033917845, 0.9115073811782503], [0.6215420817642927, 0.6456229043846754], [0.740090403569077, 0.9628685160203937], [0.5002837048929633, 0.2828276397045253], [0.2593380537769858, 0.8209735245037048], [0.636800268563252, 0.3897137704088405], [0.6708102233265298, 0.4815924204524201], [0.9011190552909368, 0.6597913863549072], [0.622854051364912, 0.290564609780682], [0.9896278236778256, 0.12294415284587668], [0.18702124977014367, 0.6778119292681148], [0.38497151484715675, 0.1667857329952206], [0.23366371043809242, 0.9653395883203973], [0.18072406186631473, 0.40435533795031386], [0.1536429236759126, 0.29652684917584904], [0.47038597237495317, 0.6665096094579536], [0.015595300705355641, 0.2536903345298236], [0.4215615315957689, 0.5936765785684498], [0.6003145537754608, 0.9440915365534047], [0.0892264712227333, 0.04018991592496002], [0.06079064197699258, 0.13593553440696948], [0.550622114147391, 0.6322121231769258], [0.5823118687702369, 0.9586395048701354], [0.5723420127327367, 0.6196624706475901], [0.5148015737720184, 0.5916701892312893], [0.41212006487987096, 0.7389967897267485], [0.47483341233498433, 0.3305495441226145], [0.8745590958835033, 0.3247177718262313], [0.05736843922702595, 0.6844596883992424], [0.839937854563843, 0.7907701412765894], [0.4974333273441933, 0.11539047082047782], [0.5847413703151254, 0.7790715403328011], [0.8527958279724892, 0.6724783617456824], [0.9807018269646555, 0.5076916172203217], [0.16831684430569538, 0.5810702654841777], [0.5772729139611205, 0.8441407264720122], [0.04475021799785461, 0.46049651103487466], [0.6366708104194262, 0.3836330771676386], [0.499241259489425, 0.8117209511796092], [0.13374556273415017, 0.9893160017132612], [0.8444276079161738, 0.42362475614828377], [0.7264308970981118, 0.95535372997316], [0.2855105737714333, 0.6941901980349544], [0.7208527219311921, 0.703182992694751], [0.1996682326366629, 0.4501012644492024], [0.6856062646140337, 0.46561192687982256], [0.9224022654188339, 0.5626360240331176], [0.5715167999324914, 0.163571588585829], [0.7262525399008711, 0.036945001372074016], [0.27732362679687195, 0.5398129496804974], [0.04387679343792872, 0.722655780761024], [0.6626368845905537, 0.23119441945301789], [0.046784631609684935, 0.4805197093092347], [0.9888550524957934, 0.047121488330476025], [0.2872995861284927, 0.8925603671119752], [0.36376211655507384, 0.9117903975451576], [0.9501048632321578, 0.5685564104042226], [0.9093336574828249, 0.5494527210350586], [0.6538708266004489, 0.49791839218353273], [0.3108208194232037, 0.5789552136310444], [0.2604549857008027, 0.7027785525953383], [0.7468375814247302, 0.351645869666538], [0.27248867636632135, 0.7419834278847548], [0.7134808041020411, 0.2336857581009555], [0.45233576653608754, 0.32309053641362007], [0.14974790714703357, 0.7123338875293826], [0.7756709524081735, 0.764492395350907], [0.8454241945640003, 0.23447555993399638], [0.6211273548745374, 0.9161080077542327], [0.05237507646695316, 0.7264228362716804], [0.1737315819677433, 0.4069075094703566], [0.6709786793971309, 0.9614810496281301], [0.08493235511876551, 0.1551972652536857], [0.4425196763997452, 0.34384537831495043], [0.34282003081468304, 0.923494027059136], [0.1419559301133343, 0.6377285712967751], [0.7193968286526786, 0.3046953060013703], [0.5153744367640011, 0.9532971407334495], [0.604339073495679, 0.18690158476673768], [0.09236555322060136, 0.6528389971054761], [0.6489709754338625, 0.8743465464936858], [0.8973430804918124, 0.3277088628730156], [0.4615509598036134, 0.7996175542203425], [0.9790425622136129, 0.7338321683130236], [0.2917328975450215, 0.9231085402831789], [0.1019189880738075, 0.573866073916654], [0.07468823155877069, 0.2891546265931165], [0.6492071977371149, 0.35444792235802536], [0.6724118311982575, 0.7809286032726193], [0.15083904383259306, 0.708910936014097], [0.2128633227563621, 0.8822586528108448], [0.05419676161143383, 0.09353435580534097], [0.664511546117926, 0.7675869921691917], [0.7734781956077955, 0.37787070780263465], [0.3389824663601083, 0.8359330666350082], [0.7520672421605729, 0.8101979683697855], [0.6665022571776509, 0.28839487758825766], [0.7479660352872218, 0.5717601170544058], [0.07118637097813041, 0.8885043305505462], [0.8683467448525517, 0.6516476938955388], [0.44194389779721266, 0.31052692926350933], [0.8175501035786482, 0.6945783892001549], [0.3902934743502978, 0.05966566676072682], [0.4798054852764503, 0.5680084186403178], [0.9590242685166116, 0.35904586808239414], [0.5538985756221178, 0.5561490612630244], [0.19423502431900352, 0.03141230500783687], [0.6258704597364756, 0.43550979804039425], [0.0083823277398275, 0.505819982184396], [0.43165864834077894, 0.9909607282722558], [0.7597670500892545, 0.961428020769027], [0.8694929955611509, 0.4049808359918615], [0.46975826052875647, 0.09082564633571677], [0.1226760180273464, 0.3370095682085793], [0.4540744951027589, 0.7515406753009342], [0.6164863344985714, 0.3053603398415007], [0.9677895670232107, 0.4899510327900467], [0.8815323361597139, 0.33422992121248585], [0.5112390560997311, 0.6467035785016235], [0.9038949258733009, 0.4756725899079809], [0.2213799259057534, 0.7927640868338833], [0.381952329298457, 0.7289965488326746], [0.7098954304443962, 0.15880066676583438], [0.8869245686857499, 0.7016759675286485], [0.530583037458724, 0.9478146761686072], [0.859848806032939, 0.8366895599863968], [0.9022101836160394, 0.4815906031146645], [0.42118436700831885, 0.06426517170241852], [0.09957312368036397, 0.664827393510216], [0.12000763120587743, 0.637083536157983], [0.8839486381149984, 0.5949677744062433], [0.33110797562642924, 0.4562534651273179], [0.843919522143876, 0.9670264346794384], [0.48276181453557276, 0.1534213624639288], [0.7260811602162898, 0.9600234368332212], [0.19967926688836934, 0.6150050286768622], [0.6983377523067771, 0.04002021237383513], [0.5512279320691258, 0.8349050665148962], [0.7997113038243365, 0.142987473478844], [0.3422206672914635, 0.347297007624489], [0.2365392401473465, 0.8038579185920367], [0.7619197052235283, 0.55405806581236], [0.7680404065248186, 0.22818804508608626], [0.9515075030035292, 0.7897571402247805], [0.3905606212282783, 0.7818435300597467], [0.09419013082657035, 0.4477029031211438], [0.7421598992766807, 0.5074851887756721], [0.9825760617961733, 0.9958042938965557], [0.9686847786028048, 0.32533704810697617], [0.8513717067731396, 0.402816109521121], [0.7339209226619688, 0.4010924469148255], [0.5999443164343978, 0.051621220049465344], [0.6764759459936824, 0.5240985103861391], [0.2051068236262017, 0.44881963852345796], [0.5507456559747682, 0.46542881194684416], [0.7976355741181533, 0.821683738646772], [0.8676252886669041, 0.320247751914014], [0.9465170581760176, 0.5629441947886605], [0.4336911495459397, 0.08191845616730953], [0.9787954346599742, 0.3709915441747399], [0.6831068634216333, 0.8819873747500268], [0.41856634574336493, 0.20890094347765842], [0.30151732413482535, 0.31152192198152384], [0.4790300200646115, 0.661675233302644], [0.14599475970793685, 0.6133060118501589], [0.6409532679473966, 0.6276390204088478], [0.5422728242482514, 0.28264776473091746], [0.9049873340995869, 0.02093571072710665], [0.8296107363537009, 0.9720186346691289], [0.298782945273936, 0.4427986370366769], [0.4245615773968622, 0.3813904079809177], [0.6105186709724574, 0.08775714708943438], [0.9693048789931142, 0.7055039725572237], [0.5749971355816644, 0.9585577418713221], [0.897355849056526, 0.5147327693535284], [0.391931776970474, 0.8413104318111044], [0.6358472434693037, 0.362215327264379], [0.8345708518453986, 0.37412571486096735], [0.3923462363145861, 0.5550692887542769], [0.4197153390008638, 0.0029493476250613826], [0.5776176472616662, 0.4289481033968505], [0.9234519064120765, 0.3017371820927226], [0.18424408403517578, 0.45094214961990486], [0.13658296672909065, 0.5255147702018591], [0.8119970646185537, 0.04869686306959753], [0.07736218188396848, 0.3160082777865607], [0.6956123890394501, 0.4525261296201052], [0.3546136774602411, 0.8917828378266103], [0.1823373034815895, 0.4523982697913317], [0.944610054714832, 0.6862967100127022], [0.7620451300302894, 0.5037137514707088], [0.4026778751059875, 0.8950541415656029], [0.7727323736061941, 0.9605860602347677], [0.7080276582530102, 0.3142348082407185], [0.39386418273978674, 0.8175669406364785], [0.916287141191736, 0.5874744702168635], [0.9895863676395693, 0.48711170308963225], [0.9844515704224263, 0.27791348426952134], [0.7935030429484522, 0.25778200660077466], [0.297025643310709, 0.32299872457847134], [0.49771405387454437, 0.940980626968259], [0.21469986333876034, 0.55232146191453], [0.947349465116555, 0.5345519466465776], [0.9760090195725277, 0.47784669651950373], [0.21941733816850606, 0.4831033240708805], [0.37864100702157033, 0.2605586887631801], [0.29586523791702346, 0.3430718115495842], [0.705014537688629, 0.9050812901038698], [0.0679517862657093, 0.04949014128190499], [0.41153004212940425, 0.8080801656357479], [0.5614496699388393, 0.512396855344443], [0.640048325878404, 0.9436418081733232], [0.2723853143787722, 0.3299943314118815], [0.18467880230834177, 0.49361690136214786], [0.2023480476313242, 0.9493179017335831], [0.11345070430275705, 0.24316604207964432], [0.41855515803939225, 0.15402541040263218], [0.525399983565811, 0.7902438711940076], [0.7635969619197485, 0.16078766864737626], [0.987616993400404, 0.02369910668092079], [0.6089064358293215, 0.6458609985501736], [0.7883060313511802, 0.054643920098843446], [0.17897233735514206, 0.4730480423762111], [0.5251503841478831, 0.9866264922216063], [0.41197837006114213, 0.6537217903385895], [0.7970727066473792, 0.530906027669004], [0.4768970187676962, 0.5835476747501336], [0.7318753470380097, 0.7906477900058307], [0.17384912078913217, 0.3735911773669809], [0.17494448857187628, 0.9128230206075075], [0.8058331803525225, 0.28400548084784805], [0.8757618043730276, 0.19100576694278149], [0.7022819566418432, 0.8450705083355449], [0.3963646692031776, 0.8596813119039453], [0.929131681300224, 0.8055339912091053], [0.6405481484696797, 0.42264681582679375], [0.8679437853838032, 0.6813701839747256], [0.763480179346033, 0.5689964307536073], [0.12743175772889237, 0.3469116139564341], [0.3832496325147613, 0.7228008948770802], [0.7896775084687507, 0.7723367765021578], [0.7812602318242106, 0.8625986913093968], [0.9818677636415555, 0.742900899957548], [0.4618718597622613, 0.4719163345069062], [0.7780442498199512, 0.8599688115949417], [0.3056409196032269, 0.3381764797643476], [0.19128513692914606, 0.355714926778684], [0.9502373519956017, 0.0790048670971999], [0.43076360265428293, 0.193424339897451], [0.3195644712152387, 0.7952084207829795], [0.306002612869549, 0.73944904460075], [0.35867396684705155, 0.2151070258868002], [0.6714931688332167, 0.5313554164469141], [0.32320268852822265, 0.123006734354841], [0.36261978797091987, 0.37565739971561696], [0.5149810008411203, 0.4780603493659882], [0.8422129059797788, 0.06674889444658982], [0.8099474509180374, 0.145653116315551], [0.20805347459168944, 0.08150210037932926], [0.7258136891675238, 0.8712189368378392], [0.001953661626326708, 0.6768927172774959], [0.06787084503460195, 0.5250939433130812], [0.71873442510243, 0.3106348408049219], [0.26812448936989197, 0.49124902452766694], [0.10790409484892527, 0.6229018220403293], [0.3556347755822751, 0.9696970984826174], [0.24601262225363263, 0.3222447905710233], [0.2626108843281447, 0.5400359607689764], [0.011618270802119857, 0.2586744956014686], [0.9105735348999566, 0.5686677453842521], [0.33199252117925315, 0.22326725905824307], [0.9830769833754637, 0.9677901224199643], [0.20296967461003257, 0.44863057385924077], [0.3026989916768269, 0.05645948986581806], [0.6368571472834692, 0.9940542231740425], [0.20985008218408774, 0.5587950634719325], [0.38070746962951163, 0.06494094498501901], [0.5754163640782536, 0.44832409270816165], [0.8890956065994389, 0.7831171858537971], [0.7575748327922559, 0.05122535465183975], [0.1776064823204485, 0.7680594246899152], [0.1498726994590368, 0.3145290744146958], [0.13617339337010181, 0.87317213848724], [0.6032392580927165, 0.8508342108446348], [0.8358001704152865, 0.5308450833294833], [0.8420361374356118, 0.33483282040416806], [0.6230893149367004, 0.04101021634333435], [0.07037633379508523, 0.009694347235204237], [0.24372836898016537, 0.043297094122793256], [0.892181148335799, 0.6913887915541], [0.7079711930644306, 0.9014695091966292], [0.6548556605985442, 0.33418565403340883], [0.6233438280052848, 0.1862063581686062], [0.09691823743970951, 0.7451631073363721], [0.3055966830193344, 0.0799821400223738], [0.6277609792411772, 0.5423283350643653], [0.05665400714459912, 0.05895965454320906], [0.43626454082883215, 0.39220649495618065], [0.5452592130375032, 0.3533582327772321], [0.47341228106052413, 0.8136724781854163], [0.26235864537764564, 0.1413625728543536], [0.15063758412492056, 0.16189516564620043], [0.997444666228846, 0.2640823906834756], [0.7382197676379944, 0.6334458730280916], [0.9826479247499846, 0.14654330100545088], [0.8532027396040986, 0.7993712946375475], [0.33090544673765465, 0.04976004701592751], [0.42784141474972004, 0.33495094969670036], [0.9821608952076796, 0.0600157484441336], [0.43555679650855594, 0.3736221008600983], [0.5146167149262773, 0.3210815250907909], [0.3363260936008253, 0.3271702156838432], [0.3718833463158727, 0.16081373094988083], [0.004958853970817745, 0.8219097507313624], [0.7306821465023278, 0.9707689103062006], [0.6779585264175788, 0.24557017223902378], [0.9380628321125847, 0.39495104462003694], [0.7177589202185554, 0.3369516320195586], [0.08303248199252355, 0.8111039691852842], [0.21950817688833424, 0.7865621410105584], [0.41748506003757546, 0.8015410512937569], [0.01950962626169861, 0.922559691513152], [0.03696783150667082, 0.7030283692850834], [0.2679008241025004, 0.25183992209285955], [0.16614974249294434, 0.9988301980629998], [0.3513579369916019, 0.5928372356026367], [0.8554794906436982, 0.09331636839714186], [0.7065354913970803, 0.008049823100071518], [0.4585864938660018, 0.7465768440611276], [0.510078722363019, 0.2955998705816023], [0.7373117185026137, 0.33603077803200687], [0.944150495627599, 0.984061355765535], [0.00947690691777936, 0.02305827761094581], [0.5417962958247587, 0.9069270271848944], [0.9798155475474359, 0.9079465652892222], [0.7003066804866493, 0.21827899013691532], [0.449356636909502, 0.576884817594256], [0.023366283524633658, 0.60703488380088], [0.6897076702307682, 0.46222758251639073], [0.6673705934089861, 0.17914272395545128], [0.6867067494832984, 0.12396252458473878], [0.2354273350103906, 0.32931954201422], [0.4367126870534812, 0.9787317095433814], [0.08788491812125088, 0.9253225795570492], [0.4155344147291177, 0.19928008928617658], [0.9620993445268454, 0.6497222074086609], [0.9925058802984394, 0.19527675700597613], [0.948795276176745, 0.8476174928399924], [0.5412132163657656, 0.30559775228399655], [0.48349363758930675, 0.6206207537812658], [0.9307280301857848, 0.4789331194152586], [0.24043079264863298, 0.5490412054762668], [0.5365058404160082, 0.5884907044151078], [0.5207399525931029, 0.050783342483669114], [0.031569444284921366, 0.27303548867233396], [0.009042514935457047, 0.6971233589915473], [0.8504247883003438, 0.47694946992843956], [0.528903415263074, 0.2409191898631884], [0.17208843879333624, 0.30026653710986706], [0.7933836070604322, 0.43807487619163465], [0.9679431790376505, 0.43541378053239754], [0.13454697020159645, 0.46723912407266766], [0.9608400181947941, 0.11825735132025106], [0.682173338925072, 0.9904871662528175], [0.5244759558736032, 0.6723939765387045], [0.9238993916032118, 0.347786239498485], [0.1028811987602748, 0.5203126184989398], [0.07070560083366018, 0.903287413997972], [0.095052836071719, 0.20661867506456943], [0.2697990448247978, 0.8115011227021941], [0.05272362038793277, 0.009452626260916586], [0.9935871152996897, 0.007518550864979878], [0.5571118407063401, 0.3020051824641653], [0.33670958072627666, 0.5298779883510066], [0.46998606812421173, 0.1540108325306454], [0.8052207721493702, 0.9503858740452147], [0.2581644129458396, 0.6532218945708647], [0.3849874968285645, 0.940028799230706], [0.35478574061739554, 0.4302993983486165], [0.7208543524246427, 0.15403710350498245], [0.21737102360558203, 0.8536225156376709], [0.23438737452349478, 0.1166044241377171], [0.6984566532397055, 0.05324496466896178], [0.2967451102223697, 0.46514030482145186], [0.14114393194662256, 0.8553598874446459], [0.37338615577041445, 0.874529605004703], [0.014674048793214989, 0.6878133659425583], [0.7480515292566603, 0.06634029206934766], [0.6728208344846097, 0.16760644716825623], [0.0127533178650574, 0.2766361578125893], [0.9459228287304573, 0.1594743437695465], [0.8081305816721152, 0.8465753445580061], [0.332689730415789, 0.29961803039362445], [0.34567875009231763, 0.9526132231965333], [0.7305523377253523, 0.5980466726142027], [0.8688867923307451, 0.33000344424895245], [0.6451510628182964, 0.8569793402819189], [0.1989365179822723, 0.6532833203478364], [0.604312514739768, 0.05979683688472537], [0.6573698549919028, 0.9233258175491751], [0.7125725158461138, 0.9996377607951032], [0.34344943899356606, 0.5099309534335742], [0.24468972242132558, 0.3286243359074167], [0.3871436854589789, 0.5759213370270039], [0.9449781000897517, 0.28393646775241177], [0.36887739406396536, 0.51662228466446], [0.5952637513976177, 0.8172965134341328], [0.4001960537488167, 0.6828503482342747], [0.3422260653318686, 0.0851880982125236], [0.544810708984226, 0.9342350477669498], [0.6302585075332116, 0.18572838460052277], [0.43708355000237087, 0.08872931404142625], [0.23125639754417804, 0.14858847319632695], [0.7861361945383272, 0.3235306350362468], [0.4583359780163956, 0.9965080795245722], [0.7008807635498653, 0.8492888963026671], [0.6258432685628015, 0.15701781774108214], [0.7918072224399163, 0.9653704422427536], [0.024630006560772966, 0.08801328077980974], [0.4296080347569784, 0.1535704541228391], [0.4282125308840272, 0.35631187058229197], [0.27071585198536097, 0.8121739383063227], [0.2998192138811492, 0.18271631771699948], [0.4640895635321127, 0.9639379713790514], [0.8396197685328285, 0.06440840205024911], [0.4682838096284052, 0.7994968759560053], [0.01708532321618428, 0.8016906891668769], [0.153366542523808, 0.9414775856777887], [0.8738024150794402, 0.27119082632401303], [0.319571336718672, 0.16884557844335568], [0.08156982227031062, 0.08568714758905671], [0.8988339430807036, 0.15262017815263207], [0.6051238092885883, 0.10552747568433374], [0.5173798666134946, 0.8858851899435702], [0.8482062267658396, 0.6238435495724698], [0.9493336034316796, 0.3123197697364761], [0.3534199405901636, 0.7920384027984312], [0.7722725314711976, 0.37187357762932904], [0.08916901974872249, 0.18670469144755686], [0.25300853367707654, 0.8746573667250304], [0.771819018668528, 0.8314927708698152], [0.31346750285551084, 0.774860644447035], [0.5330713486328436, 0.624681083947248], [0.7164887049084234, 0.539717907384075], [0.5886837589381081, 0.14267165222623024], [0.7367520939066744, 0.07027987551179549], [0.024413674860906287, 0.5386525500610132], [0.8774247338281437, 0.9263821044623376], [0.6601798940248321, 0.6548964267783709], [0.553655001959332, 0.6402065286178651], [0.8144230651877965, 0.3142619750601924], [0.00952638202945466, 0.698400177842546], [0.1477886859897496, 0.11318465614230988], [0.9454889449535688, 0.7280548798355364], [0.8949931140386819, 0.36407954185426317], [0.01910236133508869, 0.5762731619821694], [0.9991046378577657, 0.09919753331653569], [0.11992607216730322, 0.47009625756478113], [0.179029771769052, 0.48845037960433935], [0.1184314814858296, 0.9470434902280785], [0.7785729864547067, 0.31956598617462484], [0.13897999633566704, 0.5521080503582596], [0.1365374514821125, 0.21086595587546564], [0.1650841511415665, 0.5656413671997659], [0.231343270697127, 0.41834107679542687], [0.5664140366853193, 0.8868449348959747], [0.4378237243080477, 0.1839323353641461], [0.8431348762055719, 0.14025211948119987], [0.3503890474844942, 0.8823243286618222], [0.5421939164790696, 0.27093310734460263], [0.5980278702532539, 0.8900674460691447], [0.971776863270048, 0.0374826824107074], [0.19409878072400422, 0.606962468658437], [0.7132605950592716, 0.2765307575354956], [0.8351480202822351, 0.9434880321907543], [0.1481403433095706, 0.7939139469215905], [0.17826073902419326, 0.680936137187036], [0.23263562143619954, 0.9222608691522617], [0.6593151541728132, 0.8708825225236009], [0.6902452186594715, 0.8729113536777288], [0.30310464595342523, 0.3763665937696947], [0.9364853874570458, 0.5425997173629336], [0.509761543556499, 0.28385103159939573], [0.5822423429497222, 0.8487082733760763], [0.2104226018252845, 0.12060332938150997], [0.8782812355482252, 0.8856299961356104], [0.003442239574250494, 0.6260729051697358], [0.31362521794693876, 0.508668459140078], [0.11845554877989128, 0.8111188905694015], [0.5385676239578914, 0.047659720279054074], [0.706506126088408, 0.9106710024540717], [0.9149381134278363, 0.9858238863724271], [0.019743401657683735, 0.3923001525339239], [0.1667608160177938, 0.10013321266055597], [0.5520088785532, 0.47881338341101565], [0.8990475026346604, 0.3887241453345549], [0.712818955459602, 0.023088601425959032], [0.8933813051815326, 0.8453413560313647], [0.2862098513135052, 0.8029805134820924], [0.003458038489556059, 0.8105769750412807], [0.834119238521489, 0.7520085133978192], [0.9571928934496066, 0.5432660419874793], [0.5586160937088976, 0.21727279999977678], [0.3440775136246137, 0.48327199371271423], [0.5843856062777559, 0.5378604330345692], [0.7597827485495344, 0.347399066950447], [0.12200304177031795, 0.883689479066525], [0.787674656273688, 0.544286351536663], [0.6302653952227311, 0.634515454593992], [0.567371043600732, 0.5107841955288406], [0.8148914964742665, 0.20317372230023667], [0.5310483454631438, 0.06395071564287957], [0.6255487064761642, 0.8135769141206073], [0.11665443591803992, 0.6473410805681575], [0.3230739893143266, 0.6115542116745337], [0.3086843801974326, 0.8564171307921158], [0.8168775431612684, 0.20761300675337646], [0.2356799858809402, 0.27882419879376363], [0.6599544379014513, 0.6983097659319142], [0.715211625691927, 0.03282951034664616], [0.6076251134330303, 0.8017239301400415], [0.30618505869869983, 0.9990283379837919], [0.41832333683478085, 0.6293127507093046], [0.2938735542732448, 0.13893092118388561], [0.9297864518275248, 0.6667798083407671], [0.35780001634842584, 0.5615794932545484], [0.3895287106188642, 0.5352779361857711], [0.00796023930969092, 0.11178687533448595], [0.7291241224715922, 0.601868601428232], [0.9540355821112351, 0.6523292056986018], [0.4113743848878406, 0.4869585535747799], [0.8479884829587069, 0.726006510973307], [0.43361426294818106, 0.4590157923926327], [0.3639777651311401, 0.6923819443988811], [0.5939494776402512, 0.7627654616867943], [0.35773395199434166, 0.15059617205752462], [0.05462590240742804, 0.3001970244669192], [0.8597132138507443, 0.3041324113698275], [0.7402674532620694, 0.5882730583212783], [0.6332510579983619, 0.30601356093525567], [0.25399562267558196, 0.6856113882791901], [0.01295412630894166, 0.7816133251725914], [0.2541385918175927, 0.7128316556584333], [0.8536411851263288, 0.7811510430804074], [0.8621983898146267, 0.8844333990461726], [0.20113435152440284, 0.28173335827112955], [0.9151944804017802, 0.2789552407263526], [0.8027378642197633, 0.13230175924876786], [0.550353211154021, 0.9764791950361151], [0.43203894629817485, 0.49231980509050066], [0.04514229048951235, 0.37523599483595504], [0.09580401523772264, 0.7979268132617154], [0.12731180150665833, 0.751708612213891], [0.9312822723194372, 0.5793435801381274], [0.1413367004597167, 0.9311149726186464], [0.5566099280507627, 0.8175147688810861], [0.7674579738927055, 0.7642407914179206], [0.012488754785899503, 0.8912006612810931], [0.5265170324709011, 0.8826237984633438], [0.06438037439727817, 0.13447342085454939], [0.1983232500567902, 0.13311290631895123], [0.7699670300694665, 0.1798433795340435], [0.8807892959662454, 0.007513540275998154], [0.4810405787146963, 0.22455014676635898], [0.31974443027456734, 0.27729141489788345], [0.8104025329961688, 0.12033917728400079], [0.5814030027182909, 0.606906787373105], [0.0990435999237701, 0.8497314595444986], [0.281605231044466, 0.870555720936301], [0.1933021382323623, 0.8966660338031719], [0.2847528100319716, 0.16170165639458345], [0.7972388950296541, 0.9245803875373929], [0.05840198596826629, 0.5127225076786134], [0.8688399329520113, 0.9440906424901956], [0.6117783506182654, 0.8841999867582954], [0.5920663960344023, 0.5426608564190363], [0.3768246941114485, 0.3086756728466913], [0.7074932581800408, 0.7900789364873192], [0.9271647776566061, 0.17951011905391445], [0.5249631960060847, 0.47435578255424293], [0.6997200042917378, 0.3833137207735171], [0.6635465084758471, 0.23922109495614086], [0.9928797299812318, 0.8165741772774507], [0.9983242292090987, 0.8261284296234781], [0.28505514719384595, 0.48158291734180303], [0.7840628166384946, 0.4100369267040104], [0.966369628370329, 0.5870635648342476]], 'n_circle_points': 769}\n" - ] - }, - { - "data": { - "text/plain": "
", - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Loading results {'coordinates': [[0.8724415699724664, 0.6687925773724308], [0.7139529950836644, 0.5558872943960451], [0.9162203559816746, 0.810126905544009], [0.8473531644754981, 0.46131733138732567], [0.12510716676812927, 0.30529506566393416], [0.2576547151915758, 0.6343821274934224], [0.21505999185257374, 0.5435234712569175], [0.4068178860635181, 0.7028955091925485], [0.37846887026521425, 0.995082970870481], [0.5854972880240692, 0.7551726022535769], [0.8523183613857028, 0.8404803122246443], [0.7550216921139927, 0.3271379764725475], [0.4871324772244381, 0.9261672999894868], [0.846652513125822, 0.7447060798105404], [0.7094909718762383, 0.16996167251750816], [0.11225899975604992, 0.23617771144512567], [0.1063818978708907, 0.37272840260932816], [0.5286961574343874, 0.6146413105241002], [0.2698698342788467, 0.340030521265104], [0.9024651386911181, 0.23003239812434628], [0.23162147665868016, 0.9080007912119784], [0.9389403674333924, 0.10254030957738836], [0.7148899521590778, 0.09585328322653597], [0.24888078658695656, 0.8112934678963141], [0.13075731757937004, 0.9505368778459006], [0.3055509795333823, 0.4944051187761861], [0.027788983526958244, 0.6604442213818409], [0.6824561544752077, 0.03227725032856621], [0.2566473716506169, 0.2152580465435191], [0.3000722963390575, 0.09571484738905334], [0.3742252978174708, 0.9865563590757114], [0.8034346188773879, 0.7732734941874885], [0.024718034776928355, 0.4910559446979269], [0.17415224501669635, 0.415436182537658], [0.8868068653525156, 0.9725684710119596], [0.35838867871585034, 0.5833140106259812], [0.3634656807689972, 0.24720813088601856], [0.7242339038192316, 0.9694591604889826], [0.37733834319106974, 0.9334829529401529], [0.0006349831004736073, 0.003654539868615081], [0.29032310255690263, 0.3293871958607205], [0.7750354925873231, 0.24712642714868438], [0.2559069836186706, 0.6425697871146188], [0.8760958692530465, 0.8103421550452001], [0.5063847187245503, 0.742085772429558], [0.020120557020084084, 0.06002094776588529], [0.3862024299218526, 0.07737170848901054], [0.2847735706110348, 0.7336887023132208], [0.26924888631681265, 0.6468134439896706], [0.650287738933305, 0.7187525537761554], [0.18689512378681583, 0.12965336013677753], [0.2984720045293585, 0.6012236213982736], [0.2462543353253055, 0.3860813337440231], [0.7705563135612046, 0.023172994625081045], [0.9970382455831638, 0.5235423980889591], [0.04331630049543467, 0.686891699510759], [0.2477419446031811, 0.34586415568617257], [0.9199861363850664, 0.9420843244847292], [0.07956700491099844, 0.990352493212584], [0.22362844241392865, 0.4204824934377409], [0.5065318923922221, 0.8835072007272383], [0.6357126811465665, 0.8159100399639898], [0.5752315717544011, 0.6860868537824555], [0.1975392814718896, 0.7136391366429367], [0.08143514831943321, 0.43463512069164145], [0.9795549253666438, 0.7384703399283447], [0.2707338489086254, 0.8650587125791233], [0.526819962983226, 0.31828988847787687], [0.17099459111149462, 0.6723278646663978], [0.8957812423943582, 0.8269730661991015], [0.02399385608604032, 6.475514030035434e-05], [0.689355717979233, 0.8269140958131169], [0.6390720863900603, 0.7667121485599443], [0.5880432835660038, 0.6944333214483293], [0.6497266580995348, 0.8413897553021841], [0.9638282499602526, 0.914149715215774], [0.5936457435540645, 0.7817605009880019], [0.9899991668450543, 0.1468660752561296], [0.1432370215432781, 0.9510314261701022], [0.1945945833401067, 0.8385174691017977], [0.2841319832021313, 0.8250938043346294], [0.7908542507962149, 0.9457010550156159], [0.6916585054491086, 0.12692247645022847], [0.4457999843422039, 0.3549917133715276], [0.5464567153996673, 0.2055063488617913], [0.7079431816010259, 0.2930335466438233], [0.30634975571544776, 0.531421574096599], [0.43165537669777676, 0.20718048313369908], [0.41207443385892306, 0.012529220104311234], [0.9577643131682864, 0.14571480615419397], [0.811881146312646, 0.4194988279304107], [0.2651184909406148, 0.18323008993678558], [0.5382964673821484, 0.21575718644083197], [0.00879893092226347, 0.8188555307363313], [0.018467538539431616, 0.6888954316661959], [0.27963440820986385, 0.30442789055605557], [0.7099060190862881, 0.8121153350007336], [0.8839776774249126, 0.20000256975233388], [0.4142751947273744, 0.6970083170959117], [0.09663502024195769, 0.9319790669125918]], 'n_circle_points': 76}\n", - "Loading results {'coordinates': [[0.8724415699724664, 0.6687925773724308], [0.7139529950836644, 0.5558872943960451], [0.9162203559816746, 0.810126905544009], [0.8473531644754981, 0.46131733138732567], [0.12510716676812927, 0.30529506566393416], [0.2576547151915758, 0.6343821274934224], [0.21505999185257374, 0.5435234712569175], [0.4068178860635181, 0.7028955091925485], [0.37846887026521425, 0.995082970870481], [0.5854972880240692, 0.7551726022535769], [0.8523183613857028, 0.8404803122246443], [0.7550216921139927, 0.3271379764725475], [0.4871324772244381, 0.9261672999894868], [0.846652513125822, 0.7447060798105404], [0.7094909718762383, 0.16996167251750816], [0.11225899975604992, 0.23617771144512567], [0.1063818978708907, 0.37272840260932816], [0.5286961574343874, 0.6146413105241002], [0.2698698342788467, 0.340030521265104], [0.9024651386911181, 0.23003239812434628], [0.23162147665868016, 0.9080007912119784], [0.9389403674333924, 0.10254030957738836], [0.7148899521590778, 0.09585328322653597], [0.24888078658695656, 0.8112934678963141], [0.13075731757937004, 0.9505368778459006], [0.3055509795333823, 0.4944051187761861], [0.027788983526958244, 0.6604442213818409], [0.6824561544752077, 0.03227725032856621], [0.2566473716506169, 0.2152580465435191], [0.3000722963390575, 0.09571484738905334], [0.3742252978174708, 0.9865563590757114], [0.8034346188773879, 0.7732734941874885], [0.024718034776928355, 0.4910559446979269], [0.17415224501669635, 0.415436182537658], [0.8868068653525156, 0.9725684710119596], [0.35838867871585034, 0.5833140106259812], [0.3634656807689972, 0.24720813088601856], [0.7242339038192316, 0.9694591604889826], [0.37733834319106974, 0.9334829529401529], [0.0006349831004736073, 0.003654539868615081], [0.29032310255690263, 0.3293871958607205], [0.7750354925873231, 0.24712642714868438], [0.2559069836186706, 0.6425697871146188], [0.8760958692530465, 0.8103421550452001], [0.5063847187245503, 0.742085772429558], [0.020120557020084084, 0.06002094776588529], [0.3862024299218526, 0.07737170848901054], [0.2847735706110348, 0.7336887023132208], [0.26924888631681265, 0.6468134439896706], [0.650287738933305, 0.7187525537761554], [0.18689512378681583, 0.12965336013677753], [0.2984720045293585, 0.6012236213982736], [0.2462543353253055, 0.3860813337440231], [0.7705563135612046, 0.023172994625081045], [0.9970382455831638, 0.5235423980889591], [0.04331630049543467, 0.686891699510759], [0.2477419446031811, 0.34586415568617257], [0.9199861363850664, 0.9420843244847292], [0.07956700491099844, 0.990352493212584], [0.22362844241392865, 0.4204824934377409], [0.5065318923922221, 0.8835072007272383], [0.6357126811465665, 0.8159100399639898], [0.5752315717544011, 0.6860868537824555], [0.1975392814718896, 0.7136391366429367], [0.08143514831943321, 0.43463512069164145], [0.9795549253666438, 0.7384703399283447], [0.2707338489086254, 0.8650587125791233], [0.526819962983226, 0.31828988847787687], [0.17099459111149462, 0.6723278646663978], [0.8957812423943582, 0.8269730661991015], [0.02399385608604032, 6.475514030035434e-05], [0.689355717979233, 0.8269140958131169], [0.6390720863900603, 0.7667121485599443], [0.5880432835660038, 0.6944333214483293], [0.6497266580995348, 0.8413897553021841], [0.9638282499602526, 0.914149715215774], [0.5936457435540645, 0.7817605009880019], [0.9899991668450543, 0.1468660752561296], [0.1432370215432781, 0.9510314261701022], [0.1945945833401067, 0.8385174691017977], [0.2841319832021313, 0.8250938043346294], [0.7908542507962149, 0.9457010550156159], [0.6916585054491086, 0.12692247645022847], [0.4457999843422039, 0.3549917133715276], [0.5464567153996673, 0.2055063488617913], [0.7079431816010259, 0.2930335466438233], [0.30634975571544776, 0.531421574096599], [0.43165537669777676, 0.20718048313369908], [0.41207443385892306, 0.012529220104311234], [0.9577643131682864, 0.14571480615419397], [0.811881146312646, 0.4194988279304107], [0.2651184909406148, 0.18323008993678558], [0.5382964673821484, 0.21575718644083197], [0.00879893092226347, 0.8188555307363313], [0.018467538539431616, 0.6888954316661959], [0.27963440820986385, 0.30442789055605557], [0.7099060190862881, 0.8121153350007336], [0.8839776774249126, 0.20000256975233388], [0.4142751947273744, 0.6970083170959117], [0.09663502024195769, 0.9319790669125918]], 'n_circle_points': 76}\n" - ] - }, - { - "data": { - "text/plain": "
", - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "project.load(\"n=10000\")\n", - "mc_study.plot_sampling(show=True)\n", - "project.load(\"n=1000\")\n", - "mc_study.plot_sampling(show=True)\n", - "project.load(\"n=100\")\n", - "mc_study.plot_sampling(show=True)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - }, - { - "cell_type": "code", - "execution_count": 7, - "outputs": [], - "source": [ - "# Cleanup all files\n", - "os.chdir(\"..\")\n", - "temp_dir.cleanup()" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index 613baf51..f0a1bb8d 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -29,10 +29,13 @@ information or write an issue on Github for https://github.com/zincware/py-track :maxdepth: 1 :caption: User Guide: - Overview/01_Intro/01_Intro.ipynb - Overview/Functionality.ipynb - Overview/Introduction.ipynb - Overview/PassingClasses.ipynb + _overview/01_Intro/01_Intro.ipynb + _overview/02_passing_classes/PassingClasses.ipynb + +.. toctree:: + :maxdepth: 1 + :caption: Examples: + tutorials .. toctree:: diff --git a/docs/source/installation.rst b/docs/source/installation.rst index cc24cabb..a85ad088 100644 --- a/docs/source/installation.rst +++ b/docs/source/installation.rst @@ -5,7 +5,7 @@ PyTrack can be most easily installed via pip: .. code-block:: bash - pip3 install py-track + pip install py-track If you want to install PyTrack from source you can use @@ -13,19 +13,19 @@ If you want to install PyTrack from source you can use git clone https://github.com/zincware/py-track.git cd py-track - pip3 install . + pip install . If you are a developer we suggest using .. code-block:: bash - pip3 install -e . + pip install -e . If you have cloned the repository you might be interested in building the docs locally. This can be done as follows: -.. code-block::bash +.. code-block:: bash cd py-track/docs make html diff --git a/docs/source/tutorials.rst b/docs/source/tutorials.rst index fe8158ea..558694ab 100644 --- a/docs/source/tutorials.rst +++ b/docs/source/tutorials.rst @@ -5,4 +5,4 @@ Tutorials :maxdepth: 1 :caption: Contents: - _tutorials/estimate_pi_with_mc.ipynb + _tutorials/estimate_pi_with_mc/estimate_pi_with_mc.ipynb diff --git a/pytrack/utils/decorators.py b/pytrack/utils/decorators.py new file mode 100644 index 00000000..8006c01f --- /dev/null +++ b/pytrack/utils/decorators.py @@ -0,0 +1,44 @@ +""" +This program and the accompanying materials are made available under the terms of the +Eclipse Public License v2.0 which accompanies this distribution, and is available at +https://www.eclipse.org/legal/epl-v20.html +SPDX-License-Identifier: EPL-2.0 + +Copyright Contributors to the Zincware Project. + +Description: +""" +from inspect import signature +from functools import wraps + + +def check_signature(func): + """Check, that the signature keywords match the attribute names + + Valid: + >>> class HelloWorld: + >>> def __init__(self, arg1): + >>> self.arg1 = arg1 + + Invalid: + >>> class HelloWorld: + >>> def __init__(self, arg): + >>> self.arg1 = arg + + """ + + @wraps(func) + def wrapper(self, *args, **kwargs): + input_signature = [key for key in signature(func).parameters if + key not in ["self", "args", "kwargs"]] + parsed_func = func(self, *args, **kwargs) + + for idx, arg in enumerate(args): + assert getattr(self, input_signature[idx]) == arg + + for key, val in kwargs.items(): + assert getattr(self, key) == val + + return parsed_func + + return wrapper From 8e94afed61ac6271777eb48cc8320fa15f164341 Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Tue, 19 Oct 2021 17:41:03 +0200 Subject: [PATCH 34/39] Update docs --- docs/source/_overview/01_Intro/01_Intro.ipynb | 1236 +++++++++++++++++ .../02_passing_classes/PassingClasses.ipynb | 508 +++++++ .../estimate_pi_with_mc.ipynb | 612 ++++++++ 3 files changed, 2356 insertions(+) create mode 100644 docs/source/_overview/01_Intro/01_Intro.ipynb create mode 100644 docs/source/_overview/02_passing_classes/PassingClasses.ipynb create mode 100644 docs/source/_tutorials/estimate_pi_with_mc/estimate_pi_with_mc.ipynb diff --git a/docs/source/_overview/01_Intro/01_Intro.ipynb b/docs/source/_overview/01_Intro/01_Intro.ipynb new file mode 100644 index 00000000..1c231578 --- /dev/null +++ b/docs/source/_overview/01_Intro/01_Intro.ipynb @@ -0,0 +1,1236 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "# Overview\n", + "\n", + "PyTrack is designed as an object oriented mapper for [DVC](https://dvc.org/).\n", + "For an introduction we highly recommend reading the [DVC Getting Started](https://dvc.org/doc/start).\n", + "Besides version controlled data management, DVC provides method for building a dependency graph, tracking parameters, comparing metrics, reducing computational overhead and querying multiple runs.\n", + "\n", + "**Why does it need an object-oriented mapper?**\n", + "\n", + "Whilst DVC provides all this functionality it is designed to be programming language independent.\n", + "This can require writing custom python scripts, reading and writing config files and managing depencencies.\n", + "\n", + "PyTrack is designed to make these steps as easy and well integrated with Python as possible.\n", + "In comparison to the DVC backbone, it is aimed directly at python developeres and therefore allows a highly adapted and optimized interface.\n", + "\n", + "## Structure\n", + "PyTrack is based on two parts, a class decorator and descriptors for e.g. parameter tracking.\n", + "\n", + "### PyTrack class decorator\n", + " \n", + "The PyTrack decorator converts a Python class into a DVC stage, by wrapping the `__init__`, `__call__` and `run`. It handles almost all of the required steps to create a DVC stage.\n", + "\n", + "### PyTrackOptions\n", + "\n", + "PyTrackOptions are custom Descriptors (implementing a custom `__get__` and `__set__` method) that are used to track parameters as well as defining dependencies, metrics or other outputs." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "nbsphinx": "hidden", + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rm: refusing to remove '.' or '..' directory: skipping '.'\n", + "rm: refusing to remove '.' or '..' directory: skipping '..'\n", + "Initialized empty Git repository in /tikhome/fzills/PycharmProjects/py-track/docs/source/Overview/01_Intro/.git/\n", + "Initialized DVC repository.\n", + "\n", + "You can now commit the changes to git.\n", + "\n", + "\u001b[31m+---------------------------------------------------------------------+\n", + "\u001b[0m\u001b[31m|\u001b[0m \u001b[31m|\u001b[0m\n", + "\u001b[31m|\u001b[0m DVC has enabled anonymous aggregate usage analytics. \u001b[31m|\u001b[0m\n", + "\u001b[31m|\u001b[0m Read the analytics documentation (and how to opt-out) here: \u001b[31m|\u001b[0m\n", + "\u001b[31m|\u001b[0m <\u001b[36mhttps://dvc.org/doc/user-guide/analytics\u001b[39m> \u001b[31m|\u001b[0m\n", + "\u001b[31m|\u001b[0m \u001b[31m|\u001b[0m\n", + "\u001b[31m+---------------------------------------------------------------------+\n", + "\u001b[0m\n", + "\u001b[33mWhat's next?\u001b[39m\n", + "\u001b[33m------------\u001b[39m\n", + "- Check out the documentation: <\u001b[36mhttps://dvc.org/doc\u001b[39m>\n", + "- Get help and share ideas: <\u001b[36mhttps://dvc.org/chat\u001b[39m>\n", + "- Star us on GitHub: <\u001b[36mhttps://github.com/iterative/dvc\u001b[39m>\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!rm -rf *\n", + "!rm -rf .*\n", + "!git init\n", + "!dvc init" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + }, + "tags": [] + }, + "source": [ + "## Stages\n", + "DVC organizes its pipeline in multiple stages.\n", + "When using PyTrack we can write our code inside a jupyter notebook.\n", + "We can make use of this functionality by setting the `nb_name` config as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from pytrack import PyTrack, config\n", + "config.nb_name = \"01_Intro.ipynb\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To define a stage we can start with a Python class implementing only a `run` method.\n", + "The class must implement a `run` method, which is the entry point for the computation executed by DVC.\n", + "To convert the class into a PyTrack stage we apply the `PyTrack()` decorator to it.\n", + "\n", + "There are two things we can do with the stage at this point.\n", + "1. Create a new instance of the stage:\n", + "After instantiation of the new instance we can set attributes, e.g. parameters or dependencies.\n", + "Ideally now expensive calculations are required at this stage, because we only want to create a frame for our method.\n", + "2. Calling the stage:\n", + "If no explizit `__call__` method is defined, PyTrack will add one to our stage.\n", + "This method is usually the place to interface with the user, passing parameters, dependencies, outputs, etc. .\n", + "After the call, the class will write the stage to the `dvc.yaml` file and we are ready to run the stage via DVC." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:00:44,925 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:00:48,410 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-19 09:00:48,410 (WARNING): Overwriting existing configuration!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Writing 10241 bytes to 01_Intro.py\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:00:51,883 (INFO): Creating 'dvc.yaml'\n", + "Adding stage 'Stage0' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml outs/.gitignore\n", + "\n" + ] + } + ], + "source": [ + "@PyTrack()\n", + "class Stage0:\n", + " def run(self):\n", + " pass\n", + " \n", + "stage_0 = Stage0()\n", + "stage_0()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[01;34m.\u001b[00m\n", + "├── 01_Intro.ipynb\n", + "├── \u001b[01;34mconfig\u001b[00m\n", + "│   └── pytrack.json\n", + "├── dvc.yaml\n", + "├── \u001b[01;34mouts\u001b[00m\n", + "└── \u001b[01;34msrc\u001b[00m\n", + " └── Stage0.py\n", + "\n", + "3 directories, 4 files\n" + ] + } + ], + "source": [ + "!tree" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see, that PyTrack has created a `dvc.yaml` file for us (using DVC in the backend)." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "stages:\n", + " Stage0:\n", + " cmd: python3 -c \"from src.Stage0 import Stage0; Stage0(load=True).run()\"\n", + " deps:\n", + " - src/Stage0.py\n", + " outs:\n", + " - outs/Stage0.json\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import Pretty, display\n", + "display(Pretty(\"dvc.yaml\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see, that it does run `Stage0(load=True).run()` I.e. this method must be able to run on its own.\n", + "In addition to that a config file has been created, but our stage does not yet depend on it.\n", + "This makes sense because no parameters have been defined.\n", + "The file `outs/Stage0.json` will be used to store PyTrack results and is required for dependency handling." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{\n", + " \"Stage0\": {},\n", + " \"default\": null\n", + "}" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display(Pretty(\"config/pytrack.json\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now use `dvc repro` to execute our code, which in result does nothing yet" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running stage 'Stage0': core\u001b[39m>\n", + "> python3 -c \"from src.Stage0 import Stage0; Stage0(load=True).run()\"\n", + "2021-10-19 09:21:40,190 (WARNING): No results found!\n", + "Generating lock file 'dvc.lock' \n", + "Updating lock file 'dvc.lock'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!dvc repro" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### PyTrack Results\n", + "We can see, that the stage is run without issues.\n", + "Unfortunately, the stage we just created doesn't do anything.\n", + "In our first example we would like to create a random number in our stage and save it.\n", + "We can do this utilizing `DVC.result` which is a special type of a DVC outs file, managed by PyTrack.\n", + "We do this by defining a class level attribute.\n", + "This is similar to setting a Python `@property` where `__get__` and `__set__` has some custom handling assigend to it.\n", + "In comparison the the `@property` we do not need to think about the `getter/setter`." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:24:11,845 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:24:15,200 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-19 09:24:15,201 (WARNING): Overwriting existing configuration!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Writing 10225 bytes to 01_Intro.py\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:24:18,324 (INFO): Adding stage 'RandomNumer' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add outs/.gitignore dvc.yaml\n", + "\n" + ] + } + ], + "source": [ + "from pytrack import DVC\n", + "from random import randrange\n", + "\n", + "@PyTrack()\n", + "class RandomNumer:\n", + " number = DVC.result()\n", + " \n", + " def run(self):\n", + " self.number = randrange(10)\n", + "\n", + "random_number = RandomNumer()\n", + "random_number()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can access the outcome of our stage by passing `load=True`. Doing this on our stage will give us a warning and simply return None.\n", + "This is, because we haven't actually executed the `run` method yet. Again, this is done via `dvc repro`" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:04,460 (WARNING): No results found!\n" + ] + } + ], + "source": [ + "RandomNumer(load=True).number" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stage 'Stage0' didn't change, skipping core\u001b[39m>\n", + "Running stage 'MaxRandomNumer':\n", + "> python3 -c \"from src.MaxRandomNumer import MaxRandomNumer; MaxRandomNumer(load=True).run()\"\n", + "2021-10-19 09:24:33,879 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "Running stage 'RandomNumer':\n", + "> python3 -c \"from src.RandomNumer import RandomNumer; RandomNumer(load=True).run()\"\n", + "2021-10-19 09:24:35,467 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "Running stage 'WriteToFile':\n", + "> python3 -c \"from src.WriteToFile import WriteToFile; WriteToFile(load=True).run()\"\n", + "2021-10-19 09:24:37,081 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!dvc repro" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can have a look at our result and work with it." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "6" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "RandomNumer(load=True).number" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because we are using DVC, rerunnig the stage via `dvc repro` will not result in a new computation, but instead it will use the cached value.\n", + "Changing this is explained later." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### PyTrack arguments\n", + "Currently our stage will always yield a random number in the hard coded range 0-9.\n", + "PyTrack stages become increasingly more interesting when introducing custom parameters. We can now start by adding a maximum value to our stage.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:24:18,337 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:24:21,268 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-19 09:24:21,269 (WARNING): Overwriting existing configuration!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Writing 10225 bytes to 01_Intro.py\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:24:24,286 (INFO): Adding stage 'MaxRandomNumer' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml outs/.gitignore\n", + "\n" + ] + } + ], + "source": [ + "@PyTrack()\n", + "class MaxRandomNumer:\n", + " number = DVC.result()\n", + " maximum = DVC.params()\n", + " \n", + " def __call__(self, maximum):\n", + " self.maximum = maximum\n", + " \n", + " def run(self):\n", + " self.number = randrange(self.maximum)\n", + "\n", + "max_random_number = MaxRandomNumer()\n", + "max_random_number(maximum=512)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running stage 'MaxRandomNumer': core\u001b[39m>\n", + "> python3 -c \"from src.MaxRandomNumer import MaxRandomNumer; MaxRandomNumer(load=True).run()\"\n", + "2021-10-15 15:37:15,560 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "Stage 'RandomNumer' didn't change, skipping\n", + "Stage 'Stage0' didn't change, skipping\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!dvc repro" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "448" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "MaxRandomNumer(load=True).number" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Custom Types and Files\n", + "\n", + "When using arguments PyTrack can handle the most basic python types and also some more complex ones like `pathlib.Path`.\n", + "In the following example we introduce using paths as arguments and writing data to a custom output file.\n", + "Therefore we use `DVC.outs`" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:24:24,299 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:24:27,613 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-19 09:24:27,614 (WARNING): Overwriting existing configuration!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Writing 10225 bytes to 01_Intro.py\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 09:24:30,782 (INFO): Adding stage 'WriteToFile' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml outs/.gitignore\n", + "\n" + ] + } + ], + "source": [ + "from pathlib import Path\n", + "\n", + "@PyTrack()\n", + "class WriteToFile:\n", + " filename: Path = DVC.outs()\n", + " \n", + " def __call__(self, filename: Path):\n", + " self.filename = filename\n", + " \n", + " def run(self):\n", + " self.filename.write_text('Lorem Ipsum')\n", + " \n", + " def read_from_file(self):\n", + " print(self.filename.read_text())\n", + "\n", + "write_to_file = WriteToFile()\n", + "write_to_file(filename=Path(\"outs\", \"example.txt\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Stage 'WriteToFile' didn't change, skipping core\u001b[39m>\n", + "Stage 'MaxRandomNumer' didn't change, skipping\n", + "Stage 'Stage0' didn't change, skipping\n", + "Stage 'RandomNumer' didn't change, skipping\n", + "Data and pipelines are up to date.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!dvc repro" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see, that a file in `outs` with our filename has been created. The file can be generated anywhere inside the DVC repository, but using the already exising `outs` directory can be handy.\n", + "We can again load the stage and have a look at the filename and read from it." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PosixPath('outs/example.txt')" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "WriteToFile(load=True).filename" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Lorem Ipsum\n" + ] + } + ], + "source": [ + "WriteToFile(load=True).read_from_file()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "At this point our `dvc.yaml` file has grown a bit and looks like the following" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "stages:\n", + " Stage0:\n", + " cmd: python3 -c \"from src.Stage0 import Stage0; Stage0(load=True).run()\"\n", + " deps:\n", + " - src/Stage0.py\n", + " outs:\n", + " - outs/Stage0.json\n", + " RandomNumer:\n", + " cmd: python3 -c \"from src.RandomNumer import RandomNumer; RandomNumer(load=True).run()\"\n", + " deps:\n", + " - src/RandomNumer.py\n", + " outs:\n", + " - outs/RandomNumer.json\n", + " MaxRandomNumer:\n", + " cmd: python3 -c \"from src.MaxRandomNumer import MaxRandomNumer; MaxRandomNumer(load=True).run()\"\n", + " deps:\n", + " - src/MaxRandomNumer.py\n", + " params:\n", + " - config/pytrack.json:\n", + " - MaxRandomNumer.params\n", + " outs:\n", + " - outs/MaxRandomNumer.json\n", + " WriteToFile:\n", + " cmd: python3 -c \"from src.WriteToFile import WriteToFile; WriteToFile(load=True).run()\"\n", + " deps:\n", + " - src/WriteToFile.py\n", + " outs:\n", + " - outs/WriteToFile.json\n", + " - outs/example.txt\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display(Pretty(\"dvc.yaml\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also look at our `pytrack.json` file investigating the passed arguments:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{\n", + " \"Stage0\": {},\n", + " \"default\": null,\n", + " \"RandomNumer\": {},\n", + " \"MaxRandomNumer\": {\n", + " \"params\": {\n", + " \"maximum\": 512\n", + " }\n", + " },\n", + " \"WriteToFile\": {\n", + " \"outs\": {\n", + " \"filename\": {\n", + " \"Path\": \"outs/example.txt\"\n", + " }\n", + " }\n", + " }\n", + "}" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display(Pretty(\"config/pytrack.json\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### PyTrack Init\n", + "\n", + "As you may have already noticed we have not created an `__init__` yet. Arguments are passed to the `__call__` and `PyTrackOptions` (DVC.<...>) are defined on a class level. The following example will illustrate, why using the `__init__` can lead to confusing results.\n", + "Therefore we need to keep in mind, that DVC runs the follwing command: \n", + "\n", + " python3 -c \"from src.Stage0 import Stage0; Stage0(load=True).run()\"\n", + " \n", + "which we will use to imitate `dvc repro` in the following." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:25,706 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n", + "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" + ] + } + ], + "source": [ + "@PyTrack()\n", + "class InitStage:\n", + " def __init__(self, value = \"Not defined\"):\n", + " self.value = value\n", + " \n", + " def run(self):\n", + " print(self.value)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:28,839 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-15 15:37:28,840 (WARNING): Overwriting existing configuration!\n", + "2021-10-15 15:37:31,662 (INFO): Adding stage 'InitStage' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml outs/.gitignore\n", + "\n", + "Lorem Ipsum\n" + ] + } + ], + "source": [ + "init_stage = InitStage(value='Lorem Ipsum')\n", + "init_stage()\n", + "print(init_stage.value)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:31,679 (WARNING): No results found!\n", + "Not defined\n" + ] + } + ], + "source": [ + "InitStage(load=True).run()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see, that our passed value is not available during the command that is executed by `DVC`. This is important to keep in mind, when using PyTrack. The issue can be easily solved by using `DVC.params()`. Altough possible, it should be avoided to define them within the `__init__` and go for class level definitions. Nevertheless, the `__init__` can be used for e.g., defining class attributes or setting `PyTrackOption`.\n", + "We can therefore extend our `MaxRandomNumber` in the following way by a constand minimum value:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:31,688 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:34,699 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-15 15:37:34,700 (WARNING): Overwriting existing configuration!\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:37,769 (INFO): Adding stage 'InitMaxRandomNumer' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml outs/.gitignore\n", + "\n" + ] + } + ], + "source": [ + "@PyTrack()\n", + "class InitMaxRandomNumer:\n", + " number = DVC.result()\n", + " maximum = DVC.params()\n", + " \n", + " def __init__(self):\n", + " self.minimum = 0\n", + " \n", + " def __call__(self, maximum):\n", + " self.maximum = maximum\n", + " \n", + " def run(self):\n", + " self.number = randrange(self.minimum, self.maximum)\n", + "\n", + "init_max_random_number = InitMaxRandomNumer()\n", + "init_max_random_number(maximum=512)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running stage 'InitStage': core\u001b[39m>\n", + "> python3 -c \"from src.InitStage import InitStage; InitStage(load=True).run()\"\n", + "2021-10-15 15:37:39,957 (WARNING): No results found!\n", + "Not defined\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "Stage 'Stage0' didn't change, skipping\n", + "Stage 'MaxRandomNumer' didn't change, skipping\n", + "Stage 'RandomNumer' didn't change, skipping\n", + "Stage 'WriteToFile' didn't change, skipping\n", + "Running stage 'InitMaxRandomNumer':\n", + "> python3 -c \"from src.InitMaxRandomNumer import InitMaxRandomNumer; InitMaxRandomNumer(load=True).run()\"\n", + "2021-10-15 15:37:41,006 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!dvc repro" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "208" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "InitMaxRandomNumer(load=True).number" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because this is a essential property of PyTrack and differs from most other Python code the following example DOES NOT work, because dvc will try to run `InitMaxRandomNumer(load=True).run()` without passing a value to `maximum` and therefore resulting in an error!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```python\n", + "\n", + "@PyTrack()\n", + "class InitMaxRandomNumerWrong:\n", + " number = DVC.result()\n", + " maximum = DVC.params()\n", + " \n", + " def __init__(self, maximum):\n", + " self.minimum = 0\n", + " self.maximum = maximum\n", + " \n", + " def run(self):\n", + " self.number = randrange(self.minimum, self.maximum)\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "what does work would be the follwing version. But for code clearity it should be avoided if possible and the `__call__` should be utilized.\n", + "Sometimes a combined approach might be inevitable, because e.g., upon class instatiation a generated value shall be passed and later a user value." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:41,603 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook 01_Intro.ipynb to script\n", + "[NbConvertApp] Writing 8652 bytes to 01_Intro.py\n" + ] + } + ], + "source": [ + "@PyTrack()\n", + "class InitMaxRandomNumerCheaty:\n", + " number = DVC.result()\n", + " maximum = DVC.params()\n", + " \n", + " def __init__(self, maximum = None):\n", + " self.minimum = 0\n", + " if maximum is not None:\n", + " self.maximum = maximum\n", + " \n", + " def run(self):\n", + " self.number = randrange(self.minimum, self.maximum)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-15 15:37:44,539 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-15 15:37:44,539 (WARNING): Overwriting existing configuration!\n", + "2021-10-15 15:37:47,448 (INFO): Adding stage 'InitMaxRandomNumerCheaty' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add outs/.gitignore dvc.yaml\n", + "\n", + "Stage 'Stage0' didn't change, skipping core\u001b[39m>\n", + "Running stage 'InitMaxRandomNumerCheaty':\n", + "> python3 -c \"from src.InitMaxRandomNumerCheaty import InitMaxRandomNumerCheaty; InitMaxRandomNumerCheaty(load=True).run()\"\n", + "2021-10-15 15:37:49,754 (WARNING): No results found!\n", + "Updating lock file 'dvc.lock' \n", + "\n", + "Stage 'InitStage' didn't change, skipping\n", + "Stage 'RandomNumer' didn't change, skipping\n", + "Stage 'InitMaxRandomNumer' didn't change, skipping\n", + "Stage 'WriteToFile' didn't change, skipping\n", + "Stage 'MaxRandomNumer' didn't change, skipping\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.lock\n", + "Use `dvc push` to send your updates to remote storage.\n", + "\u001b[0m" + ] + } + ], + "source": [ + "init_max_random_number_cheaty = InitMaxRandomNumerCheaty(maximum=4096)\n", + "init_max_random_number_cheaty()\n", + "!dvc repro" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "723" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "InitMaxRandomNumerCheaty(load=True).number" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/docs/source/_overview/02_passing_classes/PassingClasses.ipynb b/docs/source/_overview/02_passing_classes/PassingClasses.ipynb new file mode 100644 index 00000000..7b8ab990 --- /dev/null +++ b/docs/source/_overview/02_passing_classes/PassingClasses.ipynb @@ -0,0 +1,508 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "# Working with child classes\n", + "\n", + "There can be scenarios where it makes sense to subclass different methods for a single stage.\n", + "E.g. testing out dense neural network vs. a CNN which are both defined in a custom class.\n", + "\n", + "Such a scenario can be handled by using a class for each method, which in the following are referred to as child classes although they do not necessarily have to inherit from a parent class." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rm: refusing to remove '.' or '..' directory: skipping '.'\n", + "rm: refusing to remove '.' or '..' directory: skipping '..'\n" + ] + } + ], + "source": [ + "!rm -rf *\n", + "!rm -rf .*" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 10:41:21,669 (INFO): Setting up GIT/DVC repository.\n" + ] + } + ], + "source": [ + "from pytrack import PyTrackProject, config\n", + "\n", + "config.nb_name = \"PassingClasses.ipynb\"\n", + "project = PyTrackProject()\n", + "project.create_dvc_repository()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the following we define two operations that have different arguments and perform different calculations.\n", + "We apply the `check_signature` decorator, which asserts the signature names with the class attributes. I.e. if the signature has an argument `factor` the associated class attribute has to be called `self.factor`.\n", + "\n", + "We then collect all available operations in a dictionary in the PyTrack stage and use `inspect` and `getattr` to store the parameters.\n", + "In the `run` method we then instatiate a new version of the operation doing the actual computation.\n", + "Again, this is required because it will be excecuted in a new Python kernel." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 10:41:24,218 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook PassingClasses.ipynb to script\n", + "[NbConvertApp] Writing 5086 bytes to PassingClasses.py\n" + ] + } + ], + "source": [ + "from pytrack import PyTrack, DVC\n", + "from pytrack.utils.decorators import check_signature\n", + "import inspect\n", + "\n", + "class Operation1:\n", + " \"\"\"\n", + " An implementation or algorithm you want to \n", + " be tracked by py-track.\n", + " \"\"\"\n", + " @check_signature\n", + " def __init__(self, factor):\n", + " self.factor = factor\n", + "\n", + " def convert_input(self, inp):\n", + " return inp * self.factor\n", + "\n", + "class Operation2:\n", + " \"\"\"\n", + " Another implementation or algorithm you want to \n", + " be tracked by py-track. should accomplish the same\n", + " goal as Operation1 but perhaps in a different way.\n", + " \"\"\"\n", + " @check_signature\n", + " def __init__(self, factor, shift):\n", + " self.factor = factor\n", + " self.shift = shift\n", + "\n", + " def convert_input(self, inp):\n", + " return inp * self.factor + self.shift\n", + "\n", + "\n", + "@PyTrack()\n", + "class ChildHandler:\n", + " \"\"\"\n", + " PyTrack enabled class which handles calling the\n", + " implementations.\n", + " \"\"\"\n", + " \n", + " methods = {\n", + " Operation1.__name__: Operation1,\n", + " Operation2.__name__: Operation2\n", + " }\n", + "\n", + " operation = DVC.params()\n", + " operation_parameter = DVC.params()\n", + " inputs = DVC.params()\n", + " output = DVC.result()\n", + "\n", + " def __call__(self, operation: object, inp):\n", + " \"\"\"\n", + " This is what will be called when you run the\n", + " script. For example:\n", + " data = ChildHandler(Operation1(), ...)\n", + " Calling of this class will add it to the \n", + " computation graph which is later executed.\n", + " \"\"\"\n", + " self.operation = operation.__class__.__name__\n", + " operation_parameter = {}\n", + " for key in inspect.signature(operation.__class__.__init__).parameters:\n", + " if key == \"self\":\n", + " continue\n", + " operation_parameter[key] = getattr(operation, key)\n", + " self.operation_parameter = operation_parameter\n", + " # Note we have to use \"=\" here and can not update it iteratively!\n", + "\n", + " self.inputs = inp\n", + " def run(self):\n", + " \"\"\"\n", + " Called on the backed to execute the methods in\n", + " one of the child classes. In this case, the \n", + " method we want to run in the child class is \n", + " called convert_input.\n", + " \"\"\"\n", + " Operation = self.methods[self.operation]\n", + " operation = Operation(**self.operation_parameter)\n", + "\n", + " self.output = operation.convert_input(self.inputs)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "We are using `inspect.signature` and assume that the class attributes have the same name as the `__init__`\n", + " parameters.\n", + " They can be changed in any way though.\n", + "\n", + "Let us now use both passed child methods and see how it works out." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 10:41:27,410 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-19 10:41:27,411 (WARNING): Overwriting existing configuration!\n", + "2021-10-19 10:41:30,885 (INFO): Creating 'dvc.yaml'\n", + "Adding stage 'ChildHandler' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add outs/.gitignore dvc.yaml\n", + "\n", + "2021-10-19 10:41:30,890 (INFO): Running git add\n", + "2021-10-19 10:41:30,993 (INFO): Queue DVC stage\n", + "Queued experiment '1c37fdd' for future execution.\n", + "2021-10-19 10:41:33,707 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-19 10:41:33,708 (WARNING): Overwriting existing configuration!\n", + "2021-10-19 10:41:36,742 (INFO): Modifying stage 'ChildHandler' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml\n", + "\n", + "2021-10-19 10:41:36,748 (INFO): Running git add\n", + "2021-10-19 10:41:36,810 (INFO): Queue DVC stage\n", + "Queued experiment '4ba3132' for future execution.\n", + "2021-10-19 10:41:39,204 (INFO): RUN DVC stage\n", + "Running stage 'ChildHandler':\n", + "> python3 -c \"from src.ChildHandler import ChildHandler; ChildHandler(load=True).run()\"\n", + "2021-10-19 10:41:43,685 (WARNING): No results found!\n", + "Generating lock file 'dvc.lock'\n", + "Updating lock file 'dvc.lock'\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: The following untracked files were present in the experiment directory after reproduction but will not be included in experiment commits:\n", + "\touts/.gitignore, src/__pycache__/ChildHandler.cpython-39.pyc\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running stage 'ChildHandler':\n", + "> python3 -c \"from src.ChildHandler import ChildHandler; ChildHandler(load=True).run()\"\n", + "2021-10-19 10:41:45,907 (WARNING): No results found!\n", + "Generating lock file 'dvc.lock'\n", + "Updating lock file 'dvc.lock'\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: The following untracked files were present in the experiment directory after reproduction but will not be included in experiment commits:\n", + "\touts/.gitignore, src/__pycache__/ChildHandler.cpython-39.pyc\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Reproduced experiment(s): Op2, Op1\n", + "To apply the results of an experiment to your workspace run:\n", + "\n", + "\tdvc exp apply \n", + "\n", + "To promote an experiment to a Git branch run:\n", + "\n", + "\tdvc exp branch \n", + "\n", + "2021-10-19 10:41:47,267 (INFO): Running git add\n" + ] + } + ], + "source": [ + "child_handler = ChildHandler()\n", + "operation = Operation1(factor=3)\n", + "child_handler(operation=operation, inp=15)\n", + "\n", + "project.queue(name=\"Op1\")\n", + "\n", + "child_handler = ChildHandler()\n", + "operation = Operation2(factor=2, shift=500)\n", + "child_handler(operation=operation, inp=15)\n", + "\n", + "project.queue(name=\"Op2\")\n", + "project.run_all()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "We can now load them and see the results" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Changes for experiment 'Op1' have been applied to your current workspace.\n", + "Changes for experiment 'Op2' have been applied to your current workspace.\n", + "Op1: {'factor': 3} \t 45\n", + "Op2: {'factor': 2, 'shift': 500} \t 530\n" + ] + } + ], + "source": [ + "project.load(\"Op1\")\n", + "op1_rev = ChildHandler(load=True)\n", + "project.load(\"Op2\")\n", + "op2_rev = ChildHandler(load=True)\n", + "print(f\"Op1: {op1_rev.operation_parameter} \\t {op1_rev.output}\")\n", + "print(f\"Op2: {op2_rev.operation_parameter} \\t {op2_rev.output}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## Parent classes\n", + "\n", + "This nested methods can get arbitrarily complicated, having different dependencies and outputs.\n", + "In that case it might be useful to have a common parent class and loop over e.g., a list of dependecies as such:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 13:18:31,902 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook PassingClasses.ipynb to script\n", + "[NbConvertApp] Writing 5743 bytes to PassingClasses.py\n" + ] + } + ], + "source": [ + "class OperationBase:\n", + " def __init__(self):\n", + " self.dependencies = []\n", + " self.outs = []\n", + "\n", + "class Operation3(OperationBase):\n", + " def __init__(self):\n", + " super().__init__()\n", + " self.dependencies = ['File1', 'File2', 'File3']\n", + " self.outs = ['Out1.txt', 'Out2.txt']\n", + "\n", + "@PyTrack()\n", + "class ChildHandlerWithBase:\n", + " methods = {\n", + " Operation3.__name__: Operation3\n", + " }\n", + " method = DVC.params()\n", + " deps = DVC.deps()\n", + " outs = DVC.outs() \n", + "\n", + " def __call__(self, operation: OperationBase):\n", + " self.deps = [x for x in operation.dependencies]\n", + " self.outs = [x for x in operation.outs]\n", + "\n", + " def run(self):\n", + " method = self.methods[self.method]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "Now we can pass our custom operation with a list of dependencies and outputs" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 13:18:36,145 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-19 13:18:36,146 (WARNING): Overwriting existing configuration!\n", + "2021-10-19 13:18:39,994 (INFO): Modifying stage 'ChildHandlerWithBase' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml\n", + "\n" + ] + } + ], + "source": [ + "child_handler = ChildHandlerWithBase()\n", + "operation = Operation3()\n", + "child_handler(operation)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "If we now look at the PyTrack dependencies and outputs they are all set correctly." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 13:18:40,012 (WARNING): No results found!\n", + "['File1', 'File2', 'File3']\n", + "2021-10-19 13:18:40,020 (WARNING): No results found!\n", + "['Out1.txt', 'Out2.txt']\n" + ] + } + ], + "source": [ + "print(ChildHandlerWithBase(load=True).deps)\n", + "print(ChildHandlerWithBase(load=True).outs)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/docs/source/_tutorials/estimate_pi_with_mc/estimate_pi_with_mc.ipynb b/docs/source/_tutorials/estimate_pi_with_mc/estimate_pi_with_mc.ipynb new file mode 100644 index 00000000..7e74b793 --- /dev/null +++ b/docs/source/_tutorials/estimate_pi_with_mc/estimate_pi_with_mc.ipynb @@ -0,0 +1,612 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + }, + "tags": [] + }, + "source": [ + "# Estimating Pi\n", + "\n", + "The following example should highlight, how one can convert most Python classes that take arguments into a PyTrack stage.\n", + "Here we take on an example to Estimate the value Pi.\n", + "The original notebook can be found here https://gist.github.com/SamTov/907aebbc6c36a242e15e3745a91989eb .\n", + "There were only a few changes made:\n", + "\n", + " 1. convert parameters to `DVC.params()`\n", + " 2. convert results to `DVC.result()`\n", + " 3. Add a `__call__` method for the adding the parameters to the class\n", + " 4. Add a `run` method that does the heavy lifting for us and runs the expensive computation\n", + "\n", + "That's it - now we can use the `@PyTrack()` decorator and we can even stay inside the Jupyter notebook." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "nbsphinx": "hidden", + "tags": [] + }, + "source": [ + "!rm -rf *\n", + "!rm -rf .*" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 10:02:02,490 (INFO): Setting up GIT/DVC repository.\n" + ] + } + ], + "source": [ + "from pytrack import PyTrackProject, config\n", + "\n", + "config.nb_name = \"estimate_pi_with_mc.ipynb\"\n", + "\n", + "project = PyTrackProject()\n", + "project.create_dvc_repository()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.patches as patches\n", + "import matplotlib\n", + "from pytrack import PyTrack, DVC" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 10:02:05,343 (WARNING): Jupyter support is an experimental feature! Please save your notebook before running this command!\n", + "Submit issues to https://github.com/zincware/py-track.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[NbConvertApp] Converting notebook estimate_pi_with_mc.ipynb to script\n", + "[NbConvertApp] Writing 5159 bytes to estimate_pi_with_mc.py\n" + ] + } + ], + "source": [ + "@PyTrack()\n", + "class MCPi:\n", + " \"\"\"\n", + " A class to study Monte Carlo sampling as applied to\n", + " the computation of Pi.\n", + "\n", + " Attributes\n", + " ----------\n", + " coordinates : np.ndarray\n", + " Coordinates of points plotted.\n", + " n_circle_points : int\n", + " Number of points in the circle\n", + " n_points : int\n", + " Total number of points.\n", + " \"\"\"\n", + " \n", + " coordinates = DVC.result()\n", + " n_circle_points = DVC.result()\n", + " n_points = DVC.params()\n", + " \n", + " def __call__(self, n_points):\n", + " self.n_points = n_points\n", + "\n", + " def run(self):\n", + " \"\"\"\n", + " Draw N points from a normal distribution.\n", + "\n", + " N : int\n", + " Number of points to draw.\n", + " \"\"\"\n", + " self.coordinates = np.random.random(size=(self.n_points, 2))\n", + " self._circle_points() # compute the number of points in the circle.\n", + " \n", + " def _circle_points(self):\n", + " \"\"\"\n", + " Compute the number of points in the circle.\n", + " \"\"\"\n", + " radial_values = np.linalg.norm(self.coordinates, axis=1)\n", + " self.n_circle_points = len(list(filter(lambda x: x <= 1, radial_values)))\n", + " \n", + " def plot_image(self, axs = None):\n", + " \"\"\"\n", + " Plot the circle, square, and points.\n", + "\n", + " Parameters\n", + " ----------\n", + " axs : mpl.axis\n", + " An axis object to plot to if desired.\n", + " \"\"\"\n", + " circle = plt.Circle((0, 0), 1, fill=False)\n", + " square = patches.Rectangle((0, 0), 1, 1, fill=False)\n", + " if axs is None:\n", + " ax = plt.gca()\n", + " else:\n", + " ax = axs\n", + " ax.set_xlim(-1.3, 1.3)\n", + " ax.set_ylim(-1.3, 1.3)\n", + " ax.spines.left.set_position('zero')\n", + " ax.spines.right.set_color('none')\n", + " ax.spines.bottom.set_position('zero')\n", + " ax.spines.top.set_color('none')\n", + " ax.xaxis.set_ticks_position('bottom')\n", + " ax.yaxis.set_ticks_position('left')\n", + " ax.add_patch(circle)\n", + " ax.add_patch(square)\n", + " ax.set_aspect('equal')\n", + " plt.show()\n", + "\n", + " def plot_sampling(self, axs = None, show: bool = False):\n", + " \"\"\"\n", + " Plot the result of the sampling.\n", + "\n", + " Parameters\n", + " ----------\n", + " axs : mpl.axis\n", + " An axis object to plot to if desired.\n", + " \"\"\"\n", + " coordinates = np.array(self.coordinates)\n", + " circle = plt.Circle((0, 0), 1, fill=False, linewidth=3, edgecolor='k', zorder=10)\n", + " square = patches.Rectangle((0, 0), 1, 1, fill=False, linewidth=3, edgecolor='k', zorder=10)\n", + " if axs is None:\n", + " ax = plt.gca()\n", + " else:\n", + " ax = axs\n", + " ax.set_xlim(-0.0, 1.0)\n", + " ax.set_ylim(-0.0, 1.0)\n", + " ax.spines.left.set_position('zero')\n", + " ax.spines.right.set_color('none')\n", + " ax.spines.bottom.set_position('zero')\n", + " ax.spines.top.set_color('none')\n", + " ax.xaxis.set_ticks_position('bottom')\n", + " ax.yaxis.set_ticks_position('left')\n", + " ax.plot(coordinates[:, 0], coordinates[:, 1], '.')\n", + " inner_points = np.array(list(filter(lambda x: np.linalg.norm(x) <= 1, coordinates)))\n", + " ax.plot(inner_points[:, 0], inner_points[:, 1], 'r.')\n", + " ax.add_patch(circle)\n", + " ax.add_patch(square)\n", + " ax.set_title(f\"N: {self.n_points} ; $\\pi$ = {4 * self.n_circle_points / self.n_points}\")\n", + " ax.set_aspect('equal')\n", + "\n", + " if show:\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "Now let us define pi estimates with different numbers of points and run them all." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2021-10-19 10:02:08,444 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-19 10:02:08,444 (WARNING): Overwriting existing configuration!\n", + "2021-10-19 10:02:11,431 (INFO): Creating 'dvc.yaml'\n", + "Adding stage 'MCPi' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml outs/.gitignore\n", + "\n", + "2021-10-19 10:02:11,441 (INFO): Running git add\n", + "2021-10-19 10:02:11,553 (INFO): Queue DVC stage\n", + "Queued experiment '21ab248' for future execution.\n", + "2021-10-19 10:02:13,821 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-19 10:02:13,822 (WARNING): Overwriting existing configuration!\n", + "2021-10-19 10:02:16,935 (INFO): Modifying stage 'MCPi' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml\n", + "\n", + "2021-10-19 10:02:16,942 (INFO): Running git add\n", + "2021-10-19 10:02:16,979 (INFO): Queue DVC stage\n", + "Queued experiment '8d5279d' for future execution.\n", + "2021-10-19 10:02:19,067 (WARNING): --- Writing new DVC file! ---\n", + "2021-10-19 10:02:19,068 (WARNING): Overwriting existing configuration!\n", + "2021-10-19 10:02:22,081 (INFO): Modifying stage 'MCPi' in 'dvc.yaml'\n", + "\n", + "To track the changes with git, run:\n", + "\n", + "\tgit add dvc.yaml\n", + "\n", + "2021-10-19 10:02:22,089 (INFO): Running git add\n", + "2021-10-19 10:02:22,159 (INFO): Queue DVC stage\n", + "Queued experiment '5b9b31a' for future execution.\n", + "2021-10-19 10:02:24,288 (INFO): RUN DVC stage\n", + "Running stage 'MCPi':\n", + "> python3 -c \"from src.MCPi import MCPi; MCPi(load=True).run()\"\n", + "2021-10-19 10:02:30,963 (WARNING): No results found!\n", + "Generating lock file 'dvc.lock'\n", + "Updating lock file 'dvc.lock'\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: The following untracked files were present in the experiment directory after reproduction but will not be included in experiment commits:\n", + "\touts/.gitignore, src/__pycache__/MCPi.cpython-39.pyc\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running stage 'MCPi':\n", + "> python3 -c \"from src.MCPi import MCPi; MCPi(load=True).run()\"\n", + "2021-10-19 10:02:34,244 (WARNING): No results found!\n", + "Generating lock file 'dvc.lock'\n", + "Updating lock file 'dvc.lock'\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: The following untracked files were present in the experiment directory after reproduction but will not be included in experiment commits:\n", + "\touts/.gitignore, src/__pycache__/MCPi.cpython-39.pyc\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running stage 'MCPi':\n", + "> python3 -c \"from src.MCPi import MCPi; MCPi(load=True).run()\"\n", + "2021-10-19 10:02:37,448 (WARNING): No results found!\n", + "Generating lock file 'dvc.lock'\n", + "Updating lock file 'dvc.lock'\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: The following untracked files were present in the experiment directory after reproduction but will not be included in experiment commits:\n", + "\touts/.gitignore, src/__pycache__/MCPi.cpython-39.pyc\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Reproduced experiment(s): n=100, n=1000, n=10000\n", + "To apply the results of an experiment to your workspace run:\n", + "\n", + "\tdvc exp apply \n", + "\n", + "To promote an experiment to a Git branch run:\n", + "\n", + "\tdvc exp branch \n", + "\n", + "2021-10-19 10:02:39,276 (INFO): Running git add\n", + "Changes for experiment 'n=100' have been applied to your current workspace.\n", + "2021-10-19 10:02:41,716 (INFO): Finished\n" + ] + } + ], + "source": [ + "mc_study = MCPi()\n", + "mc_study(n_points=10000)\n", + "project.name=\"n=10000\"\n", + "project.queue()\n", + "\n", + "mc_study(n_points=1000)\n", + "project.name=\"n=1000\"\n", + "project.queue()\n", + "\n", + "mc_study(n_points=100)\n", + "project.name=\"n=100\"\n", + "project.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "We can now see our experiments and the respective hash values:\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "Let us load them and plot them after each other. Because all the calculations where already performed, this is simply loading the correct result files." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Changes for experiment 'n=10000' have been applied to your current workspace.\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQYAAAEJCAYAAAB2Y4npAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAD/xElEQVR4nOz9d3wV153wj7/PzL0SCFUQElWiCFNEk2gGF5wCmLgDttfJk8QxLtndfJ/9reO4rx07Lthxks2WrBu242zs2BhcExuwE+MCFiAJMAKBhUB0CQk1mnTvzPn9cWbmTrtCYO9D8jx8Xi/p3jtz5rQ553M+/SOklJyFs3AWzoIbtDPdgbNwFs7CXx+cRQxn4SychQCcRQxn4SychQCcRQxn4SychQCcRQxn4SychQCcRQxn4SychQCcRQxn4SychQCcRQxn4SychQCcRQxfAQghdgkh6oUQvVzXbhRCfNjN538khFgvhOgQQrwQcr+3EOJ1IcRRIUSdEOLb3b3/ZZ79awQhxH8LIQ4IIdqEENuFEDeepHzSuT3Vuv5fgrOI4auDCPBPp/nsfuAh4Lkk9/8T6ATyge8A/yWEKO7m/S/z7F8jPAoMkVJmApcDDwkhJnVRvqu5PdW6/p+Bs4jhq4OfA7cJIbJP9UEp5TIp5RtAk/+eRYXMB/5FSnlESvkJ8Bbw3ZPd/zLPhvVTCPEbIcRvktxLtU5eQwhxxPozhBAnhBDfPNU5SQZSyiopZYf90/ob3kX5pHN7qnX9vwRnEcNXB+uBD4Hb/De62lDdgHMAQ0q53XVtI1Dcjftf5tkASCn/QUr5D0nudaAopg+klOlSynRgBzBbSvm+v7wQ4h0hREuSv3dCZyLx7G+EEMeAauAA8Keuyv+fquv/Joic6Q78Xwb3AZ8KIX7tvphsM3UT0oFW37VWIKMb97/Ms6cD44DPwaFGhgObwwpKKS89zTaQUv6DEOL/A6YDFwEdXT/xf6au/5vgLMXwFYKUcjPwDnDnV1jtESDTdy0TaO/G/S/z7OmAgxis7weklIdPs64uQUppWKzPIODv/1rq+r8FziKGrx7uB24CBn5F9W0HIkKIEa5rE4Cqbtz/Ms+eDrgRwwTX9wAIId51ySL8f++eQpsRvjq5wFdZ1980nEUMXzFIKWuAV4D/3d1nhBARIUQPQAd0IUQPIUTEqu8osAx4UAjRSwhxHnAF8LuT3f8yzybp5wth6lTrXi7QF9hiXRqFQjyhIKWca8siQv7mJmkjTwjxd0KIdCGELoSYA1wH/DlZO8nm9nTq+n8KpJRn/77kH7AL+Kbr92DgBPCh9ftJ4Mkunv8pCam4/fdT1/3ewBvAUWA38G3f80nvf5lnQ/r5AXBTkntfB7a7ft+GEuZN+wrnuS+wCmgB2lAUyU2+Mu8Cd59sbrtT1//Lf8KavLNwFroEIUQKSmMxXkoZO9P9OQv/s3AWMZyFs3AWAnBSGYMQ4jkhRIMQIlTtJBT8mxCiRgixSQhR+tV38yychbPwfxK6I3x8Abi4i/tzgRHW383Af335bp2Fs3AWziScFDFIKT8CutJFXwG8KBV8BmQLIfp/VR08C2fhLPyfh6/C8nEgsMf1e6917YC/oBDiZhRVAXDWWeUsnIX/YSi84x1z16JL9FN97qtADCLkWqhEU0r5NPA0gBDirNTzLJyF/3k4LVulrwIx7EXp7W0YhHJ17RZ8duejmI2NpFasp6RiFQIwUEp126a3HWXA3yY0Ph87hWPRCFmVqzkoJQeB7Zk5tLc1cwA49iUGkhqJUqSnkJo/jLqx3yClXxEpfQaD5kW4moCbLxjGrOJ+XPf0GjqNcBwX0QQPXjGW5mOdnDusD5MKcwBY9KetPPlRbbf7JVCYVgC6Jrjx/KE8t3oXnXHT6Y8mBHHzq8O1ulBtpkQ07ru0mAffqaIzbqIJgWFKpz9dtRjVBXFDespMHZLDHXNHs7RiLwKYVzqISYU5vFS2m7tfT2oo6QEBXDFxAO9sOhA6Zl3Az64cx8h+GVz39BpihkSzxuMvronEGH/61mbnXaZENBZMGsQf1u4OPONv69qpBSyr2MuJmOmtGxACohGN3994rvP+bbjmydWs3dXcrTEDzB6Tz4ot9c7vorx0bjhvKCP7ZfCdZz+jI2Z65rrusdN2R+meulIIMQR4R0o5NuTeJcCPgG8B04B/k1JO7UadEuBYJIWoEccUgohpIEiQIGGLzySBAsMWZjuwz/qrR2GonUCVprPTNDw8T3cgqulk9B5ErGCcQhT9ioj2GYzQdEb3y2DrweRuBVdOHMB7VQfpjJukuBbHS2W7+dXKbRw60nnS9jUBeRmpHGxTvj26gLEDs9i4N+H7NGFQFtdOKfAs7K8KdAEzinL55ItGZ64jmsA0JSLJZrNhYHYP9rWcCNapgWHtIU3AQ1eOY/P+Vl4q231KfZs4KIsNrnkY0ieNPYePOQhtXukgXi7b7UGqUkp0XaMgpyc1h446Y/y7qQUANLR3kJeRyrzSQQB859nP6IybCCE4Jy898L5TIhoXndOXlVvqA2uxKC+dq0oGcu6wPgB8VtvkfF9asZe1tU1OH2zoCtn+8MJhPPvpTuK+d/zIVQoJLqvYyx/W7Xbmtu6xSym84x12LbokjKrvEk5KMQghXkZ5neUKIfaifAGiAFLKJ1Fuqt8CalAH9g9OpQNRI05EmoThJ+H7LlF2rW6E4Z5IgXILHAWcY91xkIxpoAHHgS+AbSh73Wqr49tQJnB+iJkGhxvroLHOuabrUSL9RtBcMI4eBeNIHTgKLdoj8OzOxqN0xk1MCbG4yWe1TWw72N6tk1EAmrWQbaSgoRb30U4j9JmLRuZ5TpSvAoSApiMdnsU6dkAmm/a1Ykq1sZMt5v0hSAESSAEUUvmXNzczqSD7lPu267CXPtzfchx7z3TETGrq251+SWBEXjqlhTkUD8jip28ltO+aJliyfg9xU3oQOMD104fw9Me1GKakOuQQuOicvny4rSF0/DecNxSAB9+uoupAG6Yp0SykmgyZdoXW7Tr88Mq63bz5o/OZVJjDvNJBPPbuVtYlKJF4F1UmhZMiBinldSe5L4F/PJ3GAQxNQ7dWiptSCLST5LcbKbhBR2Ja190LtycwHuXh46/zIFABlKOCK1SgKI9An40Yxr4tdOzbQtuaV0CLkDrgHHoMHsfYtCzmnjhC+dASNuljiOgahmGia4KNe1rYtLclfCLscQi4YsIARuRnsGpbg4fUHJDdg4YjndQeOuJ5ZuPeVjbu7RrZDMzpyf7m4w4yFSL5Se+GuAlbDng3xMa9rc7cmVJtLCOksu7SLoYp3Qu529BD97LPbmpJQqDOrQfb2XHoCHIyDgsigDH9M/ncQnQ2Ap9UmEN5XTPPfrLTmSf/eCK6IDcjNcDO2KwmEDgEzC9B0TUd6Qh9Z1X7Wymva3aQWVF+BhV7Wuzb4afISeCMx2OomngeJeWrAkjBPX6N4EuxN3tbajppnceJSMN5zk1N+J+xy9j344AQ6mTOA6ak51Cclsk9DXXoKGSxDkEFUIlkPSHIwozTsXcLHXu38CmwDpj26UuU5BYyZPhYMr9xOS8yKOlprrk2qZTwzqYDvHLLEF6v2Ospd6zTIBY3nb4X9kmjrulYtzZgcf9Mmo50EIubRCMa108fwjMf1+Jfp2kpOseSUCShfdcEotsoIEkd3URSfjjY3nXohLAqY4aiIlMimjMX104pYOuBzeqeJtiwp4WbX1xPfduJruU2UpKZGgn0XQAZPaO8su7krNGpjN2PoG0wTMWmAGGyhlPWSMBfAWIo3vApEHyJGgrV2UjB3ux+xJHZcYQ18xeSt+ZDhu/f4Wx+u7wpNIQ0A+SuU5+mUzl9NpM/VZ6+fY80YxxpdtrNB4YWjWduzUYi1rWDwKcoN7ylaVk0HPPGOukEPgbFfjTWkVn2R4p6D+KcvkNoHz+LzcMm0S8zlXPyM9h9+BgFvdP4pKbRWSCGKXlq1Q51rLsgP7MHh4/FnPFfXNyP5z7dGZArjO6XweDeaXxQXY9hqsV30cg8bpk5nM9qm8hJS+HdzQdCF+TYAZldCsRG98vgi4YjGKZE1wRfG5XHB1tPj33RBUwqzDktauF0QROQkRphXukgR/gJgBBIJHFDsrKb7FjchPe31gfWlpTwx037k25kG3r3SuGaSYNOSRAdBhIosxBDZ9z076XT8ms5427Xuml6NrP9KQGEcNgBhRSEhxKwPwd/+B7pR9o812zYWHIB6+ZcTVXRREyhOZMWB+KaTsXtD5HactjzrI0tBWAIQWdWtke20Q+YB/xKj/J8yUX89w238XtN54fA6JAxtgEVh/fyh22f8N6S+zn6wj9xovItPlj7ObuajvHRF42eTSqBFVvqqWlIsAxRXVBamIMmEn2rOtDGRSPzAu1tPdhOy7GEYNOUODz1ucP68OA7VXxa05j0nNf8k+i6vqPxKIYleLzx/KH8cOZwUiKakn8IGJTtlbUU5aUzMKdnoC5haQ6K8jMCCLsoLz1Jz8Ihs0f3zzdDwpMf1fJy2W6WWhTZZ7VNxA3zJE+Gw45DR4la47fBJPnp7oaWY528sGYXP7xw2Gm17YaPvmjki/r2MGT/jdOp74xTDDE9goh3eibWABCCihkXM7bsA6LxmIXRISJlgGro37QPKTTnmo1IDKERm30x45+4n5R4DM0SRsaFYMuYqaQ8+ADT5s2hDKCqzIM0dKsfUmiktCqe2s3S1A4YzuD6OmZ/+hZiNQgpseOuH0D58/4FWIHyyXaPrbF+B42v/TsAeWlZZA0tpW3it0gdOBIhgrh6wqAs7rusmG0H29EstkcCn3zRSDQSjtv9p36nIVlasZeB2T0dgWiY0LAraqF/Vg8OtJ5QSFrCM5/sBGBQdk92NB7FlLC/1StwdCM3N0gJzcc6A4g8Nz2FnLRo0j74IaoLpg3r4znlM1J12ju6ZockSp6wtGIvje0docY43QEJzDynLydiBh9/0Zi0XO+0qEPt2WBKJSRt74ijCwJsXRh0xXpsSMgVvjSccYqh7pW3WDf7amKajoEgLjS1ySWMLfuAyiu+y5biqWwbPh5dmkFWAYXdhJQc6pXjXItrOuV3PIzZ2EjUiKNbW8BAENOjpDz4AKPmzQEga0oJMU2VMBBgURYaoJkGxTUbPHILE9CNuNKoINGk9LA6/YFrUUEYdqB8lR9C6XL90HCslS+q/kL973/Cvv+6geYPn6fz0C5PmfzMHmw72M59b24mbp3Wdntxw+z2on6tfC85aSlEdM3RepwKHGzzbnrDlDz5US01h446WqXu8suagI17Wmho78AtQzx0pPOUWIuvjcxTVIsulOxAF/RJT+3Ws7qljVixpd7ZlILkFJMN/tsNbSco7u+PkJeAqC7I7BmO7CRQUdfcLaQASlX8yFXj+Pa0Aob0SfPcu7i4H5Fg5y/qXs1eOGNu17Ydg5SS6mXLMe64gz71+2jKH8jIHZ8TkSZxIZBCQ5ims7FtMBAYuuL6dcNwtBBSaFQPH8/R4SPIunkhAIXXXk7UiGNoGhu+eRVZNy9k1Lw5VC9bTvO7KxG7dzN55VIi0nTkGn51aFf65bB7ydSpe4D/Kp7EpqpyPkBFcwmDaN8h9Cq+iF6jLyKamQsCZ/PZm9q2JTiVzThuYBZVB9owDImmqTq7+7wAhvftFdC9nyr4Bc1dza0NyU7UiAav3DIDgCdX7WDLgTZH+3IyKEoylq60YwBThuRQsbvF0cTYyMTdv6K8dIbm9nJsIm56cR2Hj4az+ym6CLU/CRME6wJunT2Sc4f14bPaJtqPx6g60Mbcsf359rQCXirbzX1vbsYwJbuUHcPNuxZd8szJ5sIPZxwxbF36HsOuvpSomVC3xoWO5tIy2EI/gSLFN5bOpDM3T8nmSkrp+fYbFFeVOXIAsCiDSJS6V96idV0lPd9+g47s3qS2HOb4ZVeSNaXEQRim0NCkCdIMFeEmQxLJBJpdLfROPUrlN65kyorX6EDyPvAmgqXpGbRachJ/66kF4+g15iJ6jZyB1iMdXYDQBIbPqtDfj68abIvCn7612bEmPBXt28RBWY79w6nC7DH55GaksnbnYQ97IoDrphXQ2N6RVOtT2DuNusPds4nVBErFbJqEiR001Nx3hZRTIhov3+S1dDz34fdPqkXpDvSIKo3Ss5/sxDAlqdGgVaWNHHY8egmFd7xzfNeiS9K6qDIUzriM4dgjjxI14x4s7WYZIMHz2+S90TONCX9+k6gRJ/bBm1Re8V00S0Zgb4oIEow4rU8vZvwHb5LilmNUlbGlaAKp1jUplSRXCoEppSNf2Fo0gVE7PkeXpqcfBgKNhFmwH9wyELdWxUBQ+Y0ryb5lIZ1/fpMUI8ZcoZF71fVcn5XBurZmPlv6O96WpouSkHTs3kTH7k0cXvlfpA2fwrDzL6MttzhUHlHUtxePLZjADS+spfV4Atm6rQ2TwZA+aexqSr6Bhub24tvTChjZL8Ox4tt2sJ13Nx+gI2Z0KZ8QcNpIAeCD6np+dsW4gApQE4pFss3Dw+BkSCG7ZwRNE+Rn9KDUMhK647WNodSEFCSMjKQi7W0TcRsuOqdvwPzZv1C6K1PwPKMJBynYatTOmOmoKu130nysEzNx4HdfYOOCM44YSspXAf6TN2GxaALHUtLI6DzmbPp+1Zsci0mMOH3Wrw4IB+MIYnoEKSEajwUsJkfVbPScrBpgumQFbnbCFmRWzJ4PJaWYjY1kfPgBxTUbAn23wRAahqajm3F0KVV/IlGyb7HYmFfeovndlWi5uZQ8cT9RI865QvBPUmJHaH0JFWTRWfJGjGPbV7N5+2oi2f1InziX9HHfRE/LctrddfgY2w620xn3sV6ufRPR4Ouj8h11pn2tZ7RrlffOpmPc/frnzC8dxD9+rQhQ6kabhPUjBuFif07XVsHd/9/85YsAchvaNz2pgLO70GIh0MNHY3zR0M680kHk9EqBMMTgGoMQ8LVReew8dMSDRHIzlIyjvK7ZUQ+nRrxz60cKEQ36ZfZgr89a1D2HSKmsH12dMIGXy+r41cptGKYqf/mEAUQSgpvTMnA646yEWx1pswr+c9BAeGQMW4omULSzCt00wJKu24pIQ2isnfcDRE42OXNnAVC04FsOFeI/zcPaS8Yi1GfkUvePP2bao3dSdtciJi+629F04HrGLl9ZOpOO0sloubmYjY3kzJ3FqHlzKLtrET3ffoPjl12J2djIlMW/IiJNZy7c7e4HXgaejaRSHQ8hRfUovUZfQEbJJaT0PwchRJenkQC+Pa2AeaWDuO6ZzyzHKGXkFWa9GPa8Tb5C4pR6atUODykvSFhXCmDWmHw++uKQY3xjIwpNwICs4IboLoSxTRk9dNpPnNZ+AKBfZioN7eFWhmHtRyMapsV6RHXByzdPB3Dmtyvo3SuFSYU5fG1kXqivi25NpJTS49Dmd5gKA8tXomPXokuC9vonG9dfA2KwQW0M4aEYEmUSFnYmAkPT0cy4IxOwtQUbSmdSWv6hp62agUWO8dPJBIh+YWGYzKAttRdpncfRpEQLqdGPGGyEAFB21yKmLrrLKbtm/kImv/4CUdMIPO9vdwvwjND4TTSVWOfxQLsp+cNJL7mEXmMuDPXdACXouuG8obxXdbBLtqEr0AV8fXQ+f95ajynVZijoneY5NQfm9PRYWv7+xnNZWXUw1JinK2Ffd+Q2brDNkcOsOv+nwHbCamjvoKHtBNdOKaBqfyu/76ZTWEQXDOnTq0vKJ6IJLh3fn6ajnRT3z6TqQFuX6lFwEIOxa9Elp8wZnHHEEAMO9BnI4fxBjN26FqT0kPGeZwjfvLh++ymGUfPmsKvfEArr60KfC/OnSLYIwyiJOHA0tReZHUc99+NCx9QEumkS0yPUvfIWo+bNYdPYcxlXVeaU3V44mpymg/Q90hzaro04ddfvt6/9e36Znsum15+n5fBe/JCmR+g/YjrHZ36faHY/z70x/TO6ZXxja700oRbk25sOOBSFhhehAwFP00euGgfAu5sPOBLz7y4uO+liPh0Q1sTZayM1qnFxcT/e2NBt7/9TAt2lzdGAFEsg6EZ6U4fknJJL9cnAvzZ+eOEwnv2klq4IEgsxxHYtuiTlVNs74zIGQ4+w/6YfUfr4vR57ABv8sgMIbh73htalyfSlixVjtfhXVJRcQEpGDtTXOeW7QhB2fTZbIy1Bo5/Et2UPOpDecdRzzwRqC85h+O5tSg4Sj9F53/1UAx3ZvT19HrZ7G8dSQiwDrTL12fnktTRgi7cE0DfeyeN7q5nYepBK4CngDyRUn8eMODuqP0Zs+5S0MTPJnDaflL5DADh8tHuu3g9dOc6JI/FZbROmmdhkYWuxur7dYR8unzCAzftbWbJ+DzFDsnqHEo7NHdv/fwQxXDFhAE1HO/nUMivviJls3h+m4flqYOyALGYX9yMnLcWZo39935tb5/DRztMSMNpgr/lkj7/9+QFeuWUGi97dyvpdzV1RU784nfbPOMXQ0iOd5sw+DG7YjY7XqjGuKUWlTWa7N6QbWZyM/DfQ0F3L2V0G1EJvyOxLftshr8BR09EsG4pkFISb4rD7DbAvux/9W+uV/79VThluSXQXojEQVBdNYIwlyPRDTNM9cSqUVailXnWN5TDwPAmjKj+M6TOIvpOvZOL1N5z0JBXAa38/w5Gsl9c1c82Tq7u1yAUJ+YG7uCbguqkFZKRGvhQbEwa2Cu8ZS4UHQarmq1Thzh6Tzy0zhwdUhG5Pyi8rbPVDds+IIyS1wTZ0uvnF9R75Tt/0FA4f7aR20aWnra4845aPmSeOUNhQh4YyUDKFYP15cym78cdU3v4zNBfikiQsFw1ra/k3uRux2JtJx/SUcdcngZgepTHPm2qyLr+Qzyeej6FpHrGuKQSH07KIC82y0hSe+uxfA1sOormQgo6iZmykkEA+Gu3DRrD+vLns7TOQ9efNpXLSTPbn9KMpLQvdiiNh168Bmkuday/+PsCPUXEl/gR8zTfWLU17WbX8P3j3nu9wYmcFXR0IkoS3ng2im1aSEnVKBlgiCb8v280zn+zk4uJ+pCQx5T4d6IiZHqSgOqx4f4GSq9xy4TAimghVL3cFmlD2F254f2s933n2M8rrFKtQXtdM87FOfnjhMC4YkcuY/hlfKVIAiITM17ubVVhVWwtigyE98R5OS115xhGDm7+XQiClMoXOmTsLKiscbYL9QvfmF7Dz1bdZP2cBcaGFkrV+mQGo09pfdldeIWvnXM2GnzzIObXKych+ZuChvUyoWEXUtTEFoElJ3eiJVNzxMA1ZfR3E5UdI+D79yMsE9vQZiCYlk1e8xtiyD9h/048YW/YBE8tXMaD5IH2OtaKh5BiGZabtX9h1eYXEtIjTvo6K9f8+8KEe4bz03p7y22u3Uv/qfWj//h3yV7+CNMOl9+9s3O8sfMVKfDUr3TAlz3xcy08vK2aCb8OdLkirXhsEysjoZ1eO47Y5I3n55unc+a3RPHjFWPRTNAOXEjbvb/MKw2UibkN5XTPfefYzfrFiGy+s2UVx/8xuq09H98vodj+a2oMs4NyxKhj7/NJBRPREDw8fjbnX/t+md6V9cpoIZTCCJGoZJuVVrvWUAxhwyBK2lZQScZ2cfhmE/du06nYjBQO10Rpu+CHT3nsVs7GRiGVkZdcXMQ2PxsMNE8o/ouTxe+nfUh9639/n8vPmOn2yy2rA4KZ96NJUY47H6Pn2G5azl7fdA30GUn7Hw3REUrBNwQygU4/Q8V9PUXn7zzBcTmR2/ecbcT460sxm4Ht4HfN3HW9j7ce/I/5v31YIwkdBbD3YzoInV3PTi+tpPx4LPQEnDMpyTskfXjiMHlHN42eQbA8aUgUXue+y4sAzbkjmNVnYO61Lf4bJQ3KYXzqIkf0y+MevFTGpMIdFf9rK48urQ+MraEIJC8O8Om2k439K1zXOHdaHpRV76YiZjmzjyY9qTxpeT6DYn8G9u0/h+2ucOkTZj4CyJblm8mDPfdf0nJZ35RmXMezLzufgsFGOF6RjomwaAf8IxWML1s9ZQN6GtQwJ0TTEEezJLwCJI7fwP69AEtcj7Hz1HSBo6+BmRSB44ttkfdg9R3CY2Ze6f7gVgImP30uKaXiQiLusrU2ZvnSx01e755WTZpJ2t1Jx2kZRZmOj85n54QeMrtlwUruM3cDPgcUEfTRy+gwmOuuH9CycgB/8QjRb8n/fpcWeQLcvle3m6Y92OPIDjUR0p8DGEip25fRhfVhT2+SJYWnD6fDpbhmHbVPQlZr0ZL4myWQTEV3wtZF5fLitgZghuyzrB10T/OyKsXy4reG0Q/FNGZLDkh/OcH6X1zV7AhNHdUHNI5cgpTxV7gn4K0AMxyIp1L3yFgAtTy0mpamB8RUfe8yi/T2MC01J++26SJDncT2KkKZHYAkJqkQK4UEAu/ILqZ8wFf3oESdYy8kg5hOK+sGWW+x89W1a11V67Bbc/XV/ryqaSPtF32DKs79wfEMUwtDRpImpaVTc/hDTHr0TgOply5WvR7zzlPw7ABqAXwP/iYoV4YYROf0ZdO411I6f5anL3my6BtdOKaB4QJYTOTol4rXfd9gaTXDT+UNPqnNPhgC6s9F0TfD1UXn8ZVsDhhH0X5g1Jp8v6ttDhZ3J1pe7X+5AvF2BQG3W7qooi/r2YmfTsW4ZlYWBrglevWV6QAD6L298jiGVXOWLL4EYzri6MuryZxgRj4FApeEmaDNgL3DdJZHHVU4KjZqhxYxxuUm769hYeiEAJRWrnGtD6usYsqLO4eHdp63/lRkIthVNoCMry7nZe+8uChsSlIsBbJo0k84+eWQDPd9+w9P/ZHB0+Ahy5s4i9sK/QzyG1DQ+n3g+Eyo+QkeimQaTH7ubMpSbeOd99xONxzwOZn5k4x6DW3uSC/xjTj9ubT7IIuA/AHvpf9F8gC/e/TUDt3yInPOPRHMGOM9LQNNU9OXPapucuA6dcZOnPqoNzpcpeeaTndx0/lDW7TrslPdD2DXdUjudTBNy2fj+fHf6EFZtP4QRMsMfbK3n8gkDQhGDJhRFEwtpRIXkV1GjuwO6BiPyMxiQ3bNb9hNf1kNVmiq+hjsMf/OxzoQm7kvKhM44YrD9GVLiMaUWtMbjNzyyhxkHTE0nahoBxIGU5O/f6anfLb3v1dRA0+QZGJUfO5J9R0BoIRv/dArPd8nIHZscxBTTdDaXnE9hQ51TVgPGV3ys7v9ZOXi5g8DYpL4JCMsQPq5HE67gr7xFy1OLHc9Rc8MnaBYLoknJpEV3I4RwwtX5zajdyMH+LRFsKL2Q4o2r0U2DmB5hz5QLmLxiCU8A/xt4EKXutOmwfXUbEYv/nvRxs8k87zoilhAzbgndzh3Wx4mbiOV8FgaGKXn2k51Ofo2ctBT+sq3hpOHTHAOik5D6n9U20Ss1QtywHOF8ZU0JvVIjoQZHhlRyl6lDclhf14xPqYEpg20LYPygLLYeaCNuSGe+4qY6sVOjmmV8tPOU8nzYbI20sPyo/AwyekTYsKclILMQgKbhyXmxpHwvP72s2BPL8svAGWclyktnEpt9MaWP3+vo68N65GYXNk6ayYkhRfT/+H1SO0+Q29bosTfwywb8kCw3hftZ/ymsnhMB34jK0pmM3fCpx23crtcADmXmsmfcFDL37mLonu2W7CQBhtAov+Nhh0VYveBGpi17zkEYe/ILGGaZcyejCuy+GEJDWHYS3n4I1t54K1puruOjkTWlhOFXX+KZ863Av6AcuNwQ1SIUjf06R2f9kGhKqrPJ7VgAJ/Os1IAfzxnpOF4BAd27G07VMCiiK21WslPy29MKGDsgKzRsv+1GHfasHykJFAn/4BUqvcrTH+0IBOP156hwyyC+ChjdL4OSwhxeWbcnoImxhZESpamYPKT3366MIY6gMxJl87RveHj8sM3ppR6EtVFN4lqE/bkDPSQ9Ic/iq7MrPtxd/ngkhX15gynanzAdssuunXM1WTcvRNz6z4yo2xoa0RoUAhlf+bHKoeGq3wTKbvwx0595wuNH0RXrETaWw72yaEvPdgSy9n0JdERS2HTbA45w1zbRPvzSEqYtew5hsW42BfKHQUX8wuig4oA3PU+v9D5MveFudvca5clG5fGiDNlkPUJiBthqvjBnoB5RLZDV6WTgd5yy5yCqC356+Vje3XwgVM7RFUXi8Wy0fgtUvAakdE5y+x1oWPYGUjrIYHT/DDrjptf7Mj2Fxm4kG/KDrsGrt8xgacXeQHIeXVOdNWXCye3LIIYzrq7UkaTGOxn8+frAhnGDScJ/VPlSSHRMNCBqxknp9MrZberC/dvNjkDyjSfxlu8Z72SYhRTcmy6mRRwWQP7yV3REUpw2hesPFBtjaF6XK3u8qRXrqV62nOyXX3Selb563G27+25/9j7aSoHL7FvJOwTr5lxN3StvOSHuItJ05Dolb/5OkeyWkZbdn+v21vDZgT38EZV/w4ajR5r4y7/9mKMv/oRr/ryY0n1b1TxL61mheH7bkEgXykowLD3bpMIcfn/juUwZ4r0OnDJSAALelBeMyOW2OSO54byh3PfmZj5JIvzslZrc1dx/ZtrsTSxuesh7IZTvwo/njGTBpEHErAA6EhUUtrbxqLPRUnRBaUFwzN0CCb9bs4tX1iUQtoZihZDSMSw7ETN57N2tAAy584/TT6epM44Y7MXoNkcGFWzVjgPZqUcom7+QmsLR+CNF29CR4vUmdPPebjK8snQm6278MZWlMwP12G1vLZpIkxXjwL/BvWtF0rqukjU33Qao+JVfFI523U2Ubxs0hC+GjnXqdLc9oeIjCq+9nHg0GKvQXYef5bHB/u52tDKERvmdjzDtvVcB0PbsxtCUtaYTp8KKWSlkok7npAXmohLv/AZwL+WD+7bw63WvM+b3tzOhbpNz3ZTw5sb9DjVhSvjoi0OBMdmw7WB7t6T4Gurkty0Zk0FuesJX6KMvGmk/HuMZi9e35y7Dhwi6657ttpvwHyhSQntHnHOH9Qml9ExpWb8KFfKt9tAR9NPYeYaENzbs94SUu25aATNH5gWoHte8fnDqLf0VsBJuvbubNI5rOuuuup706s10ZPdm4poVCNNECuFRVSoVZYTyK7/v2AA4bRB8SWvmL2TGa89SvWw5Q6+5lBRD0Q8Ggr35BQw4tBfdVAI1zdVOXGg0p2XR92izh6oxLcMimzwHGHrNpUSNuAchbS8czfDd25LaSsQRrJ+9gMkrlqATpBpwPeNnV9z3DaFR7gooo+XmOiyEoelOBClIxMKU4MxpMlbsIIL/NXICf962wTOfA/Uogy/4XxyYNp9k8J1pBTxseVu64WTelgJlrNQjqjN3bH9G9stgacVeXivf64R7d2+I3r2inriK/t+QSKnXXbbfjpMZZmfhhogu0MChFroDJws5dzLBqwBnXu994/NAWcu7Mr5r0SWnbBZ9xrUS/tPT2SymwZTXX0D4LBDjUp36kY4THBk11nGvFu+uxER4UtO527DrnrbseXbmv8+xwUMov/L7TF32vGMn0NEjjYhlAi2lxETQ0iuT5qxcBtfX0edo4nSz++mYbMc7Sf37W2geNISqieeRcWAvRft3OItEj8UCIevcdelIMmq3g9BAevluhwXSdIRpYser8FMStiAza0qJE0dTUVjKZ0MYJjnbNiPBowGZuuI1z7uw42KYSAdp90Pyp5oq/rtoIv9Vs4Fy6/o+I8a+D58n/4vP0C/9ccDNG1RuRTuxi63RmFSY06W3pYbabBv3thI3TNbtOszvbzyXR64aR2ZqhKc+rg2Q+n4kEBZ81Q4ccypwsmArAIYhLW/c7sPJQs6dTKkhsfKFWK4ESeC0TKLPOGKA8FNKCOEgBb9gMO2eu5zAJzasfmlJIA6jf+MIlAPSkIY6hjTUYVR8jLDiP0RNg3PqtjrlBSoqVPbRNjKPH7G0Hl7S3n3ya+DUC2qT2s5TJjBkf42nLxDMsjWmZqNTrw0SOJyWxcEBQ2gfdg59Nlc4QlB3+3X5hTT84IdMe/ROKiZf5Iqj6Q1Xd07dVjqvuZTqV99h1Lw5VDzyKP7AOMqCUiIspGIjh4gRZ+zwEXxUu5nfmnHuRXl1AtTv24q++B/I+toNpJd8yxOP0jBhmaVzd2f+/va0AtbubPLo/SMaPHjFOP6yrYHyXYedXAyd8URsw2c/2dnVRvBAmIYj7FFdE1w2vj9vbdzv2ZCmJDSZrR80DXQhAhRDd603bVYlrGxXdSghZ5dUyj+dvPWQNk/noa8awvjoihkXY1q5HtxIQUcSv+MOyi6+huply6letpyKyRcxzWdKbD9nojaWOwuVTb5rUrEmfpLd355uGkiCiW7cIHx/ig0Rlru1cNgDdzv+sSVDaJnH2ynauYXJK5cy7MBOz7zZ7RXW11H6+L2sXnAjA7ZXefrl71/EiNP87koAejU2BOoDdWJoeD1BEYLooQY2XPV9vl44ms1C40bXM0a8k8Mrn6T+D/cQaznomZ+G9g5P5u9lFXu5+/XP+dNmbznTxLFzcCdoMSV8uK2BB9+u6rZ9gEAlySnq24srJw7o0r/CNCUj8jN46MpxAYrC31qYwBSU9uO6aQVMHZLDhEFZPHLVOG6+YFi3KBRTqihNU4fk0C8zNXAvDPxrPSWioQcb+3U3mg/WfaZlDH4iTaAyRa1bqPTupY/fi+6KR+DubUxT2822IXDfjwsdgXR4/9Z1leQ9/yRDXJJ7gC1FEx0/A79QLyBkwmWcRHBTJ5tJGVIebL8N6WGVwmQH7vb8bfs/3e35wS5jICifs4CsmxcGTLbD+hA2Ljuvx74+A2hoqGMhKvScDamazqhJl9H8tRsQQlNu1lKqnJd6QqUXVneYbKC7YJ+u/n7rAm66QBkemaZE0wU5PaMccqkNf3jhMGYV9+Pvnl7jsT1wI+yoLnjg8rGB+IwCy/DpYDuxuOkErHmv6qCXFZHeg9ANwvrnqH6t3921kyrsncae5mNO+S8jYzjjFIP7JAO18GN6lJy5s8iaUkLFrHlsKZoABFV4EdNwSGb/aawhWT9rviMQHP/E/Qxu2OMQzXa51GNHLK9FnDb8L85PSfhPdv/3Q+k5ng0ctknXnzeX8jsfUdaPeBeygcC0KJkw+YtBML+0u1yyl2rLD0xNY/Ly1xh+9SUArL3zUbYXjiau6R51q79e91giSCJGjIKG3UxDaS/ucLXdYRpsXPcGPPv3xFrU5rhoZB63zlYqPbemwA/dRQoCxXp4xpikUkOqvJtfH5XHuEFZPHj5WAZkeyNnvVd1kGUVe4n7Nrx7PRimpPlYJy/fPN3jNi2BjXtbnaSyplQaBNvzUqAC1fx4zkgKfF6Vim212nH1f1heejAMvesZP9QdPqZMub2X/7bdru35MIXGptseAJTUfNKKpQzftZU18xdyuFeW5zn/S3Nf16TpJIvuvE/lrlRu2t6VM3R/DZtue4B1N/6YtXc+SmXpTA5k57M/p5/jiZnsJA6jGkBlzLbVqn6KwkFILYcxGxtBeu/ZfzUFo0JVrgB78gsC4zfwxgn3I0v7+6GMXHTLSjRiGpQ+fi9ZU0oYuWsLO5b8kbWzrw7EfrCRhZ/l08AJPNMDWASsAca4+rH78D4OPftDSpY+SOPKP5OTlsL80kEO2ZuiK/L5dCArLUppQU6oKjEMP3ywtZ4VW+rZuLeV+97azOb9rZ77u5qO8XLZ7qQIH1QMzHOH9QHgi27GXbCjcBcPyKL9eMwjdBQozcJ5I3IDz+08dITyumYimgqua2tUNAH5GeFp+CSCv5tW4MTc5DTdrs84YghsLCnp+fYbtDy12DHISYnH0Nrb+OK82Z7n3J9hCyF9xxcMv/oSiqvK0JDEhXDUi/azAjAbG5n+zBNkTSmheOOn5Lc0kN9c7+GxdwwY7sgj3G2qU1h46lSfksrSmewYMNzTP/vz+GVXkjN3Fp2RaIBaMTSNluu+FypjAchqO4xEeE53HWjqldhg/k1sf2/KH+ShRDTToPVpJZ8ZNW8O5y5/lfI7Hiau6biNvGNahMrSmaydczWVpTMxEYG5l8AUgtRDzIjzRs1aDv/+Tl587Cm2HWzn9zeey62zVRCVmSPzTpovMgxajsVYu6vZobpOBm6SPG5IzBBlw8n0DzOGK43K0oq93ZZ1SAlxU3Lv65+Hun+P7JfB/++b55DiEhDYLJEp1fMzz+nLZIt6MCVJs1rZNg4jTyEITBicccTg3mgq05NkbFUZpe+/7pDTGpJJ7y/DzMh0nvGf0riuGSj5w8gdm5yAKwawo2AUG0sucEhxiaJQtFyFrVueWkyKlQDXHYJNAAUHd1Ex42JPO1VFE1k752rK73zE8T60+6QBnbl5HPrWlc7Jb6JiNFSWziRrSgkAWydMpz6nX+C0z5pSQsXtDzmntxtyjrd7fDbsz14nvB57DuuAoC21F4bQGF2zwfGlsE/9kpXL+GzONaxecCObxqp8ETuW/JEtxdMss3OFQCIdJ6CklM7cPOJ6hLjQPNSF3c+ehFMPq6Tko7ef4J8ff5ptB9sd34l9LceJ6CqVvK6JLiMbXTgiN5DM1W+CLYQyH/ajC/fviC7QrUS4p4KUPqlp5KWy3bxWHozOjVXXwJwEi+KhhkPKS+CO1zYC8NPLxzJhUBazx+Rz+YQBnvEsWb+HtV0EfXWP4ZV1u7nmqTX2z79NAyd3whk3OS2BxvQccl1h1XflF1JQv9vjLOVflJvGTOPYjPNVotoVrxGxyppCI65p6IYBQrCz/1CGHdiJkKYTO+HYw49SUrEqqWCvbPbViNJSjyOSHTil12uvOJmp7PLbC0fTct33PAZGINFNE0PTFEnviyuB9aztg+E2lnLPj13O3Z5//uyNH3bP/+l2LAMld3Dye1qer7YTmYkKlFs5ax5GemZSwzIJrLry+/zpzd/xSyuhjg2Zky7lG9+/lY0HjiOlyoMpEdZ3kfQ0tvMrJHNttlwGEAJ6RL1JYQUqPoM97j9bmbh0TZH6cUOG+nr4xzZ+UHKDp4iFbE7VccpGZIYZTJB7MtAETC4Meo9+mbwS3XpACHExSu2hA89KKRf57mcB/w0UWHU+IaV8/lQ74xfUpR33noC9jrTRGYk6C9UvGJPAuC1r2f4zJaMwPngD3VCyFykluhFX8QukZPj+Wmz9fYoR49jDj1K8cbUqa9XpfzdCqJO8ubERDSUDGWHlv/T7ZQCMqNuKfOxuKmZcTHz0GAtZLSECCMN08me4n3M2vVQUTMRQBldxIdjTt4AhDXUBWYf9241kQRlE6aaJhgx17nKX9duLDH7yX2l8ewiVV3yX9OrNFFetdeZcR1EQUoLIycZAECFoWNbSM4P+372OBaNGcflj9/C/pInt+tNW/g5/3LuV3MtvJ9p7oEXmS+ddJYO4KXln04Gk96VMCPH8maLtWj92ZcSyn/n6qDyOxwyK+2fyzCe1SfN8apqgan84UgDI7ZXS7RgObnC3d6rOmKaE8t0tSW+fcmfoBishhNBRwX7moijD64QQY3zF/hHYIqWcAFwE/EII0e0kFxJF+sctntohSQ2vB9rR9Ew23fYAW4qnsv68uQ4Z6z0RJccefpRR8+ZQNWFGgpd2bQ67nBt679vlqEUhsdHs/gFoR45QeO3lTFn8K0ofv5cUV/Qkt8rRrkNFdJZM/vRdZHMLGbXbPcl53eP3Uz4ZtV9Q+v4yx2hLIujsmebZ/IYQrJm/0JEH2KHdTOt67ZI/sm72AsvnJNGWCPnuXz39W+oZV1XG9KWL0Ts6iOuRQJmUpgZy5s7C1MID1eYcb1cUz4r3mCElG4ArXfc763fQ8Pz/ZvqbiyjdtzVxQ4RL3W1IFvvhwhG5J2ULag8dcTQHVlPousaH2xr4tKZRZbDqYiuVFmR3qT6sb+tw4khE9VOPSn06IESXgVlePp06uyNjmArUSClrpZSdqNwmV/jKSCBDKClQOsogLk43IKbprJ1zNbVL/kj5N+d5SF4/yXw0I5uSx/+FsVVljP/sfdbO+wF+9SPAhMqPKbtrEcUbV4eS4Eod6B16TI8Q0yPELUFWHIFpqe/s50pXv6eiJkkTYflT+De09H23n522dHGoZaP7t7v86JoNRF2IKiJNiuqqnajRcU2n/I5HmPHas+xY8kd2FI5GgkMRpVdvpnVdpVO/hteLMhlVFNavMTUb0E2DrUUTiItEtIfiDZ/Suq7SiZTtH4dAGVONr/xYWZECS4F/A+xTIx7v4A/Vn5Dx+zsYX6fmxz71tRAE0S8j1Z2w1YHc9BT+6ZvnJFXv2VDbeNSzsb85Jt9Rn5qy69NaA87JzyAlonk2jiZgUHYPZ+yg/Cuu9gVo/apBCBWf4STI8LrTqbs7rMRAwO2YvxeY5ivzH8BbqBysGcC1UsoA3hVC3Azc7L5WeftDSm0HZN+ykNgHb5Bikf/uDQfKZNhecClGLDTLtUCpKvOee9KhANwbzgD29xnAidQenvgKw/fXUn7exaS2HHZ8MGwDK3cEJROhhG6aCiM3csfnCGl6FoopNDaPnsL4LYnITTbb4N6UyWQFdnk/JaGjNCtbxkx1EuJWL1sOwNA9213lUJoYK3KUPWealGwpmkAk1klG62H6tdQHDLbc4DlVpcmomo00WXIfDdBNk+yXX3SiYcmQZzXAdN3XgP8POA+4Fqixyr0oTfLeehz97x52smblZaRS0DvNwzvXt3cQpoRoPNLJtU+t7hLRQTDwysTB2Zw7rA+vrd8TGt1ZURQC05AITdDQ3sF9lxazeX8rje0d9M1IpXhAlvJZcMHWA21cO6WA1KhGZ8wE4W3bloWcItfgAQ1l7dgVhcNpKhi681AYPvKPZw6wARgATAT+QwiRGXhIyqellJOllJPta+OfuJ8pz/6S4VdfQuu6Sna++naoQVNYZ4/2yaMzEsUI6WLBoT2Wm7H3lNSAAU37HKTgZi0mf/ouxVVrVZyC5hZ6vv0GG6bPdrQjqg+Snf2HAoKROz7H0HTLHdy1uaTk2IzzOZCd7+m/iimRoHD8k2j/NqxkNjFNV9/t6yih3/HLrlTztvhXDL3mMsSt/+yxDoUEa+Ofs/Zh59By3ffIaz0UQJru/mwpmsj2wtGOKblNdbhzbJpCMGz3Ns9YDFd9YWyZ3U4pUI73OGs41srBF3/M0a0fAXCwrYPyuuaAnUIyqjluEtgk/ZLo+0Ftzpy0FJZW7KWgT6/QMg9fNY4HLx/rRHlauaWef3nzc15bv4f3t9aztGIvm/e3BoSNcVPyRuVe0qI6A7J7cPMFVnh9lAD15guGcduckcwek3/a7EY0opGfGUxe7KsvecCJLqA7iGEv4KaJBqEoAzf8AFgmFdQAO4FR3elAarxTWdFZxjYAR4afE8qzuhdfpx4hNvtito6fjt+PQQBCmlRNPI/1sxbQmK7IS/+mCSPhdSQp8RjTly5mXFUZkz99lyMpaZ7yhQd3EbFsLHQzTu+mg15qQKjgK0fTvHkK1L0EorLHYoOwfq+fNZ91C/+ZytsfYv2s+WwqnUlMizgoRVZUJGw8jFiXkaPc82KgkdLUwKTH7gl4etpIRZUT6I8tYuSuLay/42EHMQpfuZ2Dz3HyjTpIJoy9EoINpTOJad6EABnA74BnUSpOABnvoPGtx2n+6HdIaargI10cq+4xRDQ8iVcgub7fnpP73vycl8p2J00S89ynO6na3+rh4Q0TOg3FenTG1DyGJbJZu6uZw8di7G05wdMf13JxcT80TcXHfGHNLs4d1odbZg4nNaqdNNaEH2ZZAXBumTmcFEuWoWsq18esMfnuot0LOOGD7iCGdcAIIcRQS6D4dyi2wQ27sSyshBD5wEggaMkRAh4ZgDRVZKGVy5KeqDFNZ93sq9nwk58x/on7mVixSknJfeUEMK7iYya9v4zcI82eepwAnqjT2UA4p7Lf2hDgSFqGUy9gZadSUnhdSqd+h7KRkpKKVR6HJ3vzuDfkwYzcYOxJS/Zhx1GYvHIp4zZ84qSq000DIZRMxKY+3EghTL6RQHomJeWrPDEhwmBvfgGt6yopu/gaZEUFZfNuCMglJNBy3fecqFR2e9sLRgXYJU1KejU1sP6q6wOJcXTgBtQiO8fVh7Y1rxB76S7MjmNJ+2nXo2uCKUNyuHZKAQ9ePpa+6d2Te5uSLrNFA9Q0HOHltbuT3jeBjNQID14x1olcFdEEvVK8B7Up4S0riI07k5Udyerro/MD40yGKHQNfmjlzpxUmMPLN0/numkF6JrG5/ta+cu2Bk/xrkcYDt2yYxBCfAv4V6uR56SUDwshfgggpXxSCDEAeAHob41nkZTyv09SpwQvz92pR6maMIOJFas8wVvcp5WBYN3sBQgBU5YvCbgu2+wCJE84K1GnmLDGrpLXGp7n3Iimqmgix/P7U1z2AT3jnZ62wup3sw5hLzfseft3XNPRpEQK4QS4jSOQmmZFshZsKrmA2OyLobKCie+/bqk0E+9xZ14hgxv3BmJZ+E9ygUKONptgg22vYEOnHmHTubMCeTfWzF9I5sb1FFuyn2QL2x6bYcWTcKs23c81A3P6DmD9oQRBmpmVT+9vP4yW1Q9EkqCt4JzE8NUmk+0OaAJuvmAYbR3K3qR4QJaT38ENNmUhpSRquZ6DilHxeuW+ANXSFfKeNSafZ77ncOT8519q+MWKbR4HMsuOwdy16JJTRg5n3MApJgS6VKyAYSWJTZbIxQbTinXgjjoEFv9JYpEbCI8Fo9M23s3h39BhM2Ii2DxmKuO3lDnX3EjIv+nsfiJNT8g1SSLStL+dqqIJjNrxORFpqlR0VhQpCWweM43irescg6i40Njx2p9oXVfJ6F/+jIzOY54618xfiMjJJvPDDzx5NsLaVa7hGnvyBgcMyNQ8wtobf0zB0t8zoNnNNgn2Z+czsOVg0jnFdU3Je4THqMu+Z7dTXTCK53ZX80vX/dReWUy64UEuu3gWz63e5XgvapoSCvIVCPL8femqrtH9Mvii4UjACEugArHOKx3kCe0OlqDQl70L4DvPfqa8L2VQZZyiB+M72OBOOFNe18zSir0sWb/HY6RlIQZ2LbrklMUYZ9wkekeBEkVoqI0e8dkS2J9e0tRMmrdSoBBMVdFENk26UGWk9tWXDCm4T3H7mv2nIRm/pYz1583l8+JprJm/UMVOdNXhr2vr8PEYLtuMmB6l4ryLQ8tWFU3k6PBznLiMhq4nxguM31LmSfAbkSYZN17PxJ/fR3qn1ykHYPCH75EzdxZHFlwbmCN3ObBoTWnS2SPNMnVOyEFs5CebW6gfOtL3vGSAlb/TXb9/bKbFrhlahE0lFzhzrHKKJszTDS3COXu28wQqx4XNEHQcbWX1f/wzv/j1v2NYDg4RTXDjeUPRNHFKSGFQdg8Ku8gZ6X6fyeC704fw4BVjA9oRicpfWVmXYC17RDUeuWoc100r4MIRfdm8v9WJYOVO2uMHAfTNSE3KT0gp+ay2iUV/2srVT67mpbLdCSQiPYF3/sdkDP+j0DJqrOe3KYSTuNVtYKQWWdCJCd93DUBKRtZ+zviKjwMnpX/Resldr0dkGL/er3oTKQ8+wIzXnmXnq+9QNvtqtheO9kjj7fKjdmxCuKihDT95kPjoMR4Ww0AQ0yOM2FnFpBVLAcH6WfPZ8M2rApm+/dC/+SApRiwgXwGleSm89nKorPC0lwyJ6UBR3VZ002BT6YVsKZro3Ac4d+lznBha5CDaBBskA/0zUfEw4kIjrkWszGIS3YgxaPsmS+UriOsRNpZeSGXpTConzWRf7kAH4X8feLrfcHTbMUyaNK74Lxr+9O+YRgzDlFQdaPOkxAtLgusP0LK35cRJQ6qdDJ7+aAe7m46GBUVRB8LBdidy9viBWYBKCLNiSz0vle3mGmsj20l7dKGEpqP7ZTgh6iWwr+VEUsFrRNdoPx7jyY9qA4jFIqJsOPU49fwVIAZKSr2OQlJSXTTeCrSiwP5sTktoQP2bEJQlYFxoSE1DMxVVgZSB6E32c4DPIjDomOS3fhzQtI+h11zGZ3OuAeDc5a/Sct33wOfsZAsaIy4bB1lRQWrleo+wcOOkCxUSsLUcRhxZUICRHnQYc6bI+nTLRNzX7ZByUSOuTlOfG/XBzFzHI9R9Xbf6PK7yEzoyszxjEUimvP4C6+b9wBMPwk912XXVFpzDptIL0KSSk2hW/X2PNCsnLqmEzeMrP6Z446cUb1jtZPSy4TsHa/ll4USyew9yrh3ZuJxDSx9Edh4PsCxtJ7w2dRFd8LYvVNtXAbuajvHkR7UeweXA7KDaEJRm4r43N3uCtRgS7ntT2T38/sZzuXZqASYKoUj3C+kCFkwaRNWBtqT3XV3723S7jq54z5OLUkcZMkWkEdjE2+YucFReYQvTFBrVw8ezr++gRKj0SJRNpRd4NoC7XnsC3NoBu04Dwe78QgzXNOko46opK16j8NrLKbtrEeOfuN+JKB2GsBQ5LSj54A0mlq/y9ltCtLHB5Ycg0XJzSa/e7KnPv1YSfbRJdWsOrLHELUpElJYGqIT8tkakCwn6KSNl1Zm4Zl/XTIOi5cucje5+1k2RacDwumrGVX7ipNJLUBgJ1ky3kHfUiBN1UT52WR3Jj7b8hR2t9UwYm7CpO76zkn0v3c2qjTV0BYalUvw/AZk9kgdJMmWQqoqbkgffruKpVTuo2teK4ZJUnkzspwsYOyCLE7HT4hK6BWccMfTetwsI8vVuqM/MdYRp66+6nvqMXPyI1V64xTUbKKyvI2oaVA8fT90rb5F2912eZDDuZ8I2h8TCuEJQWF+HTlCeoewdOin8z1+oeBHWdQNhIS+vPv9QVl8iRjyw+EsqVnmQhSEEZmMjxy+70tMeeJGgsyGFCpNmE9G6VceW4qlOohk3S2L/6Xg3NSieP44gFomS0triuWdv+L4u1a9baOjul4mK8CRME9MV10F6/kTAPsJw1eumirKNGP99/Dj3aAnheufBL9j/37cHYkv6oStz4VOWyHUBMVOq8HUW9E1PUa7dQglJw/b6xr2tTuCYU8FfN10wjAffqWJd9zJrf+8UqnbgjEeJPjxwCIVWHEb3IrEXWFyLsL+omElv/BbdMDzh4d0bz0AoYZArU/bomo2sX1eJrKjg2PjpIJRtQ7IcCvh+u019EwIznDD1GpDfrsy57SAwOwcry0KAyYvudjQQA5oPBuq3f9ushXJnjpAzdxaj5s2hDOXl2K8lkePREAIhE4FakRKpacQt1aTKdaGTeqSNlnWVKoP28//mMTP3z50NG0svpKN0MpGtW5jkU03SxXN+xzDnneg65Vd+n/TqzRwZNZYeO2voV1tNXkuDVU465eNCsKNgFEP2foFuJiQ2NlIr3rGJB1CWdv9gjTPevJ/DL99Bzvz7SckbFuivg+B9MLpfBpdOGED78RjPfrLTI6dIBnb262R2D7uajnLpuIQ7+KEjnfzwwmFk9Izywqc7PbElvwzoGqypbaIjJFuX/71YkB+8dHI44xRDZ24ecaF7+GSJEl5tmDQTKWBixSpSrKxJ4LXYMFHRhbYWTaCpV7ZTh02uTlp0N9NWLKGkYhXFG1azbfh4ICiMdG9+CJ8YiTIs2p87wKnDRhZKuyIYUbeViT+/D+3jjxxbADc15G8PEmbSEmXAZDs/gfJytJ/fUjSR8tkLPJtTCsGWUZM99gpRM845dVuZuuguDr+0hA3fvJLdfQYG2nXLJAwEsdkXI5tbmPzpuwHKTSICoe6CZRLXAfbkD6Hkzd8xZss6St78HbHZF9M4cAigKArdopklCiHKX/6Kna++w7qFt1Lz2p/YUTDSUx9CsBDBHxCkWCqBE21NtPz2VgaXv0MYhJHl2xuO0H48xnOf7uwy9qQbTAlCCGaNyXcEhh5TbVOyYU+L55k1tU3sazl+SnkqNdE1lWOYJKUwkoyj67TiSeCvwI5BOSTtGjRCScVRJOW62VcjCwqYsvhXTiJYv5wgQfYLdN+0+HleUBugITOX/LbGAHbtinqwrxkIqosmMMYXkMUQGptKL6CkfJWnXUEQGZhCo2r0FPL37uBIehZt/QbRq6mB4XVblWckyshpx5I/kvr3tzDElah3f3Y+7Yt/y9BrLnMogLjQ0KQM2EYk+pGIgqXOYUF9dh75LfUedgKUValtYemnDpQ6dQSlK5YRkUZgzsLmvjW1F+kdx4hYbUsrG7dtNWq3Y2cFr/uHHztZv6uXLXcC59iw/ry5lHz6HjqSVSgXX1v8lgJ8a8LFVF78o5AeJe9jGNgOToSUuWBELsX9M6k60EZx/0xeWLPLSTt/cXE/TwCZ7uaUcEPvXlFaj8dO5hiVFKK6MqAyTNil7Bhm7Fp0yZqTP+mFM85KRKQJpnKI0uq2Ohs5pbGBWGkphqY5QU3c4OZB3SSp+74hBBIN4VrIfdsU6e+3vJO+73Z5RZqr1g1Np0/DXueeXbb8joeRFRWe/vmRgkFC6m97Xea3NWLsr8XUNE+gFGEaNL+7koKY186/f0s97UDlN65k6oolVrwHM9CWf6bsuiMoS8fdUy+kzwdvoLnYC8CxIfEjs5imE3lsEea7KwPslXu8+K5ldhxDpayx1cimh20Yume7g4jy2xrJX3QXtvnYpMfuQUgTA0FjZi61sy5HP9LmGKxdBHyEChJyAKWTe3Pje0xITaPlazcgTrIpu9qvAnjoqnFU7W/llXW7PezDx1808vEX6mBZt+uwY7DUfjzGMx97vQDC2p9qpdz7KEkGrtMNm2/DRSPz+OHM4Syt2MujX6KeM85KxIWSnsf65nkCjE6oWKWcfcwEUnDzsDYET8jEKV5+xyOUz5rn0eP7bUPdVIhDWgtFNhsoGcemkgvYVHIBIB3EYpfdWjSBrCklZN+y0FHjhQk07YQzflbFdiDzjEHTyZk7i/phXoMiAYhb/xkzI9Mp6z7dwat+heAm15GI0lIqv3GlR1ZjUxf+uYlrOpW3P8SoeXMCQVn878Hdjs10+MvaVpZNk2coCsLVT4Cif1vEpEV3o1sWozqSvLZDTHrjtwws+9jT3njgUxI+FhLYsHYZhXtXcDLQteQkuymh+Vgn80oHJc1MLVH+DrYV47Of7Dxp5KWivr24Y+5oVu9oOmn/bAjzDh2Y3SPgLGbDqu2H2HawnWUVTkzK04r5eMYphh0Fo5SRU0kp8fcTp5gOyBAVIIQnfLE/9+QOpLGgiM7cPLKnlMCUEjr//CZRI4YupZNEN5njkXPd8qWImnEmVKzCtOz8ddSp25iRS++jLcr1+prLqJowA4SiQRP1qSRv7tgKfvAjEolg3VXXM2PeHKqB+IJPHNIdVIo5o67amRfp+7TbcoebC/iTVFSQfctC4h+8jmYkdP+mJUC1EZUdS8GOl9G6rpJ9uYMY3LAbLXQ0PkQjNMe4KTFegTBNpi59LjTkXO9jrU49NmhAihFngE8DIYChwMfApShHLIBVv/83+lx4mKwZfwci6Irt7qkuoHevFI9w0HbH/s6zn3EiRMhnQzSikZOWwr++v71bEaMPH+3kyVU7uh1dGsK9Qw8d6eTG84aqaFPS+64Nw+TdzQfcdhOnnGwG/ipkDGoDGpqOkNKTydpPHhsI1s6/Af1IG5MtByrhuQ/r51zN+A/etIKvalRNPA+kEnKK0tKA45FwPWtquqN3R0oPeZ+4r7JbbfrGFUxasTQg/3CfjGGsin9MbhmIfb3TCk47at4cqpctR9z6z45rdVjdYXPlrt8vl6mcNJPS9R9SdvE1TF2+xDMHSg7gZd3W3qmIUnfGKhvcSMk9Bny//cF0/OX8SM4NbnlEMrnQUZTM4c+u+xd/9x+ZeOXNvLzWHWcoQSkk2595GSn0z+rJ5/tau2RHrpyoMk2540d2JbsI6/fpgCbgvKJcPq1pVGHkwGGdorpKlffTtzbzxSOXUHjHOx27Fl0Sbn3VVRtfon9fCejWBoyaxklNgE1Np/e3r2bae6+y08rXYIO9wXrt2O6KVRCnpHwVJRWrKPngdbKmlDDtvVfZ8JOfUVM4yhMz0tB0dvUbgpDSSXTrWahCUHH7Q6xb+M/UvfIWWTcvDLg+2/042UZxb+owxBE1YjS/u5KyuxbRed/9NE2eQUyPOuVMv5E+3k3nnkM/UgAVkq162XKybl5Ip6te6XP6chBiYyPZL7/oqc9fp9M3RCALlx95mK7n/fNi12HbRsSFxkYrloNi77zsmg3pqFgAM3okAq6897v/ZOezD5AaSZQu7J3GN0fnE9G1pOusob2TjXtbHU/FZOU27GkJxI8s7JPcD8M91mSgifDQ924wJRT3z/SYU2s2thO+z9OEM85KJFtoYWV0SyjHvDk0ji1luC8KkwRG12zC0DQMKTwUQcSIY9xxJwd/8F1K25sQMpG92kTZBvizSOP6LJt3AzMsibkN1a+8RevTi5n4/uvopolpeUP6g5dAkJy3wcO+2P0RGpGtWxJuzlVlrJm/kB67aujV2EDT5BlMef0Fj2zCfjbZSezerLqp4l5IicUCQWcfRVFNeuwepCcUmyC1Yj16LBao1/3dAGqscPnuOsLmsnbAcIbv3xE4Zd0MhyOTsShIJY8wlFpTms519zymAQ9dvID766r4uHI9AK+8u4xLO+JUTb0ZU6o0brsPHyOqK9XjB9UNGGa4tytJrtlwcXE/lQvTpXbd1dQ9Pwy3xiI9RadfVg++OTqfto44r6zb3WW7AFUH2rh++hCqDrTRM6rz/tZ6dcBZrEQ8wT+dVjyGM44YIDl56L9vWEI5sOJDvr/McdFO8NgSKSUbSy9kfMXH2BYSGjhqRnc7alNKdBkMELelaCJGaqoTA7J62XJGzZvj3B81bw5Y5H7zuysRu3czZcVrAZlCstPbT1XYn5Uz5lC6+j1P2WEr3yLnaAu6aVCwbwf7cgdR6FJlgtIe7Os7iML6ukAfthRNZMTOzVZOC52SlYm5c7MuX7z4rCcWpkB6VIb+voKSucQiKSp7VmMjlTPmqMjYvjE2p2Wxbe4CZrz2LGV3LSL75Rc9mgn/PNmQY0XwVloYg8aMXPLaDgXkKAbQIzeXn+Wcx88r1/NH6947f36Lb9TsIvPC71IxUIXhs+M62J+S7qkXR/fLIDcjlblj+/PtaQUU9OnFfW9uTmok1S8jNVRO4G7nSKdBzaGj1DbWMrkwp1uqyk9c2pGoLojoGoah1KZzx/Zn3a7DdtHTUnOcccTgXzzJKAYDqPjmVWQDa266jZy5s6icNc8TrCVRl6QzN8/ZVWG8uIeMFxoxoTlZs0EZTemPLUIHSq69nKgRJ/bCv1P9ylsOcii7axE9337DQRz60SPY4d7DxuYfk3vMCZNqlddSSu8p1tfaCAIgHuPwoCEUWjkmALYUTUB/7DEAOqz+mkJjX+5AmgcNIe2eu9gJHgTmpqaa311JNVDkijrl76dHsIjArSbePO0bTmIdu7ybSgIlWJz8+guUXdxG1s0LGfnonVQvW07Gwu973LdNQGq6QxENPLRXJesxlVFUbpuKVxkXAmkJS+32tNxc8qeU8PJv/5Nvm3Fss6cPdm/iX166E769iIqBo4lGNOrbTnjGakqYbYVFk8CH2xoCsRxLCnPceSH59rQCRvbLYGnFXl5ZtycQSCY/q0eX4eX87Z/MzNlGXu41ZpiSa6cOZmB2T8elG+A7DwHwT91q3AdnHDFAkGLwX5Mo+YKZkUnhtZdTZG3Syiu+q/JJujaRiYp7IARKXkAQEbjLGppOxe0PkTWlhNanFxM91ECsbx6UlCq9/Z7djswCawMxbw5ldy1KCONc0ZjtMdhGve7NfTAjl7wjTSpCk6u86dpkhqajd3SAEBiu/ttsj/ouOTG0iEqgV1MDLdd9j2nWJmt+dyWttz2A2djohIcbfGgPsWvXUPfKW0x/5gmqly33aCSkEES2bqHX638IRHwOQ9Q2lWWPVQKln74LCMcZLNl7jZoGU5YvoeODN6m2MpHnt3hCkbGtaCLtw0YwZcUSK7mNyfrZ88jZtpkRliFYHKXRGl631dMPWVHB4S9qGGHGeQWYD7xn1fsz0+DiT15CXPszrp8+hII+vdi493NP2/VtJ7jvsmK2HWzngy1Bo8GxA7IAKK9r5rPaJnLSUpyI0dKFFAQqaEteZg+gNWQWw6ErymXCoCymD+vjyX8pUNqR+aWDHIRQXtfMg+9U2UV+DTzT7Q5YcMYRg4lgT34Bg1yRgyBEAm0aTHn9BSfcGUaMKa+/4IRniwNYFohpd99FFtD5wZuWg5NXQ2+i7BwqZs9XCMBSx01771VAWd3ZqdmwVHhxlDl0ztxZ6v5vfuHpp1+GYJO57mt57U2eZ0yrzg0/+RlUVtBrx3ZG7djkYXlswyj3vJjA1KXPqVNT19kAfDbnGko+eIMi07B8NkZwtE9eKFIbNW8OZT/5GfnPP8mg+t0IaXrCttlGXQLpyEvc78IfMs9BcJoGVuarZGwS1tykxGO0PLUYWVAQeD8dWVmI0lK0FUscRGhmZAZC5MejqY4swob02i+cVIFpwBLgKuB96/57uyrpXfknntUu4ZVbpjN1iDe128a9rVz3zGcYhjelng0fbmvgL9sa+HN1A2YX5tQSuO/SYkb2y+DPW+s9Ng7J5Bn2vZH5GWw92O65rgm4dkoBzcc6HcQhgPNH5PL/8+XTsAPAWHBa6sozrpWQQnB44BAQ3qw99oZyyF2wvPWUO7VAEHHFabSjEBVv+BTjjjsQt/4z288poa1neqAugbK4NNIznTDshdde7uRoaH53pUosg0SXJpppUD57PnXWCTf0mkvJa/NaroWxD/6xaKhYjnGh0alHWTv7ana++g7THr1Tkda1m9FdgksBHg2Buy478W6KEWfSY/cwZcUSUgyVDMf2lSipWKUC31hm59qe3ZTdtYiKSRcx+bF7LM9RGWijIbMv5bPnB9gw2y9lg5Xt2r/p1111PVtdof/91Jk74Y2GpOSDN9BycwMZyMaXf2QFmFFrwhCC9OrNHstME4i4LEOlVa5Xe7MzFgn0FIJ7f/wgE/MTMR0Or/gv2rd+wme1Tdwxd3TAWCiWJKoSwPtb6lm5pb5bjlfNxzqZVJjDN0Z7/Zj6ZCQPVishgBQs8xh++tZmVm1rUGtJKIrERgrldc38519qeKlsNxv2tLgzgJ+WjOGMIwZdmozd8KkyrrGuhckcJIBQxj92ABD7uht5pBhxxtRs5Jy6rYzfUkb28faA1NsuP/jD95wTNWqfqCg+1TbltTdh9FADo+bNcTJih8UjcH8CjrejG1p7ZrCp9AI2/ORB9fvpxaxecCO9bl7oSZBjg12fO3uWH/FoLhWjvz+NmbmsnzUfEExe/hpTF91FScUqh2VwP2N/9j5yWGW1jkRVpCVNZ838hZTd+GNql7xDafmHbCy90NsHYOqy5z0b0w0taVkOorHvR4wYA575D74YNs65Zs93rx3brfY1YnqU45dd6VHZSgRtg4ZgWPE/DaGxdt4NDDy01zOWihkXk9LayrO/+HeGjZngjPTQ2z8nUq/YEM2l2hMoN2ktZGcIEe6tGQYRDc4d1ofyuuaALKOxvftOVQKc0HWdhmTtrmYnQtN9lxY7SOE7z37GL1Zs4+7XP3cQlwV/mzIGAUTMuCexiZ+dcMhzaVLy5u/YPXC4575N2oZFhbbL1Gf2pSMSpeDwfqf+PRddTN4bLyIM6Wg8qpctZ/wT9wcW9oSKVaxecCN9tnkzDvn74N7UdoIYAxypeu9jrfQuX4VR8XEgKCp4N6m7vt15BRiRiKOi7WqevPUJZEEBumkEgrz6x2B/10xl7Vj3yls0v7uSnLmzmOHSxgCk3XMXxvyPHN8FUEi+wOVC7/7cNneBxQomkJ8GDGraB037Agit//5dbLVc5Tv7KCvWTed+02F5dKSj+bDlRKKx0WF9TJRAdmzZB0RXLyf2wr/zu6df5Lqf3cPunTuQRpxbv7eAq//uJ8QHTnfaFgJMU4aaAVwxYQDvbNp/0pDzAAOz09h2sJ0H36nyRG8Kg6y0CEdOGAHBpW2aEGaDaEjYvL+V//xLDftbjieNHQnknry3QTjjiEFiR1P2WhoGqAXUQorGY6QeP+a57j+t3fNjf68fNMwT4XlP7kD0EUWBVprfXckIK/CKZ7MA05cuDoRR8/fB/u7IGSR8Xno+hVs30PtYa4JH9p3Y7s1NyPWCht2Bcdl/bsFksC8qIlRMj4BlFt4VCWzz9LK5xVHHuqF62XJHSCs1DSyNgHueDAQ7CkfRNmgIqS2HOX7Zlcx49E5WL1Bz6KeI3ON2qJZjrfS21KQGwIrXHA9ad1kNkKZJz7ffsKiKCBhxYnqEo8PPIWpF3caII1avY9Wf32dq6SQONR/mWKyT9373MBOuvIsvRp2HZoWnl+6OuOC9qoN8fVQ+K0KEkn6oO3yMe9/43DntHaQTUm/rMW9IOoEKD5+bkcrLZbtD6xfAa+V7iRumyvFpWRCHVB/urXUSOOOIQZGAP6Dkzd+BK729De5FoARxkoKGOuJCpymjt6PPxlXOfYrXFI6mafIMzl36nFOfBAY37mPAY/dYCEkiTZOWpxYrl1uXpsNfp5s96MrM12FvpEFJ+apQa0W77rBPf51+ab8BIDR0aSZ9BpRHZp+f30f5ld8jvXozac1NDN9f45ojpRHxU1pTXn+B6mVXe+w2qpctZ9jVl3rUuu72EhtccnjWt5j+zBOeZ9OrNzvxKP0L2K6nPSWN9M5jHlZNuaN7kYL7GQ3JmKq1GNUVymDLguihBkvNaeW02L2bExXb+MVFl/Kj11+kDRWsoGL5fzBp6nQKBvbnz9X1GKZlfSiER10Zi5v0zUglqouAGjMM3EhAAhcU5Sb1qnTDlCE53DJTUcWvWiHh/SDBoURMC5PpFvbxUR7/zmloJc64jAEpETnZVF7xXQ70GcDBDEX52AvVPcRjUZXITENtuP1FY3x8p1UlidOrxbIxwEXyOrysNFX0I0s4V/LBG0xasdQJd+6u0/B8CieDlV2fu5y/PwKshLjhwskw9sddxh06zW5rT37hSakOu56opcEZU7WWofu9cRI3ll7IujlXe2JpCnBcv6uXLeezOddQdvE1GHfcQdSMB/rrbks9r6wlbWFu9bLlDL3mMsZWlQVsG/xEdkNu/1CK0U9Jue+D8lJNMWJMrLBM4K0/3Yyzbfh4NNNg6oolFC2Yy3AtyhI9gu232Hi8nbW/+AeWb9iFleIBIQQPXD6Wb08rcEyPdV3jUHsHEwdnh0akPhls2tfarXLrdimZAcA1p5Ax25SEJeRJnryzCzjjFIPUNGRzC9OXLg7e832mx4577ufs3cWmc7/JmLV/pmesw1ERuhdR9FADaTcvDIQ3s+vcMH028dFjSK1cz8RylQHLkJKtRROIxjqIR1PoyMwm1jePHnt2W+yIJCIlB7LzyW1rRHOFVUNoVA0fT6+2Zgob6jyYt7VnBjnH20MXvH3NbdNggz+blASaBw5hiMXP+8cUx3sqm0JDmIYTCMZuL6bppN2jbDEqgd6fV1BkmSrrQGTrFoY+/2tSDC+p6+57GKWjoawlO6/5lOpX36H16cWkGLFA+ZgWYfuwsYyq2WC9O8FQnwylKS2LPsdaA4jP70hm//YjHl1KRlsJdwQgpGTasudYf8cj3P3OGzywuQwTaG7aS/QP99DjO48h9CgxQ1K1v5VHrhrH/NJBLKvYyyvr93SLjUgGLce6pyCQJFLYZaZ2vUWL+vZi1+FjGEkS05wunHHEsO6q6xn8odf892SCNftzSEMdQ1whx8NO415NDbSsq2TDN68kfccXjPZFX8rcuwt56z8x7Ll/9ZCmxTUbPO3GNZ2I6Y0V2b+lnrjQnY1ru4qPrP2cLaMmI1yWiQDZx9ud5+3++sfZmJnL8Z5pjlmze7w2VBdNIO2eu+i85lOiRuIEN4G6/ELqJ0xV0aErKpQQraSU0sfvRZreyNuVs+aRBcpmwwiyB3bcxzCqxP07zL0bVPj6lqeCCF+gqKDNE8+jeONq1/wF2YWesROePrnbdc9NY3oOvY80O3YNXbF4mpRQWcGsc8+nz+a1/Mgq0XBgO0PeWIQ5716EEGyvb+ee1z932jNCSPpB2T1U/ofAHRw1Y1fg759mXRBCODEpu4LevVLY2XT0K0UKwJl3uz6hR4n4kqY4ZazPsJfsX6z2dz8Pa7vsmgg6I1G2n1PiEUIaCPbkFXhCqCX7DOuD/+QSqBNb8133P2uDfSIm+gOGHnEC34b1Yf15c4mPHoOWm4usqKDkgzfQzbgn1Z/beCtn7ixa11WqACiuHmwpmkgk1kFRXbUnyK5/3sP6bqf/CwN32U49yoafPOjJsG0j2gqXSbvd3snacb/fILXldc9WkagVxRT1BcOpyyuk/oYfMv6J+1kU7+RBV5sTplxFy9cXeiwQLfY9VHjYNz0lNNjr6H5BQ6WuQBPKuGlbvUpYo2uiSyMqgLQUnWOd4WHkv0yKujOOGOzFaJO/0DXFYAgNM0l+S8OSFehGPDSZq21br5veEGZuvj6MV4fEQrPtG+z4EXYMQzdJa7piJ4ZtLkWVJMYDeHJrxBFsKr2Q8RUfeTaFe15MoDOS4hhd9fj7WwJOVf5yxx5+1EkY7H/rhhCYQkc3EzYayRCEbe4dJnz1v7u40Fi38J/RcnMpffxepQrVNMcMvWjBtzwIQ82hsoZtHjiECdYcmECLxYr5IayfMS1C5e0/c0zDJy26y0NNmEBcj7I7v4Dh+3fwXeAl61kNQf51D5NSMD7Q1qlASkTjhhlDWFPbdNLYDslAF9a8yOA7Oxn8TeeuhISEHYKCPL96sHLGHGqX/JG1c66msnSms7HsMjVDiz3CN/dGAhU9yD/oZPEk7e+Jha6+GUJj+7Cx7CgYydYi7+IRKLmFP4+FsyAtE2t7Eyk3ba+LstQ00u65i/I5C5xn/chKR5kVd953PwApnV4jGne5qBGj9enFFG9cHdi4drm9eQWBAC3+uQCFXA1f3gwIhpRTKeqE0vA0t0BlBZ9PPJ/1cxawY8kfmfbonYyaN4fyOx62BLlK5rFuztXULH2XoQd3EZt9seOUJsBBCu5VHkZVmiiHu2mP3knO3Flkv/xigMWwEwcN378DATwL2LmjTSRtbz6C2dp1zgo3aCh+3923WNyk6kAbeZk9PEjBPe8ng3PyM/jx7JE8fNU4BiXJdnUS+BtNUQfszi/08I8Swfrz5mJqEc8mB+V5OGreHKa99yodpZM9myoiTcbUbAxEOcb5LTB03Unaai9md0IU9wvzW2L62zmnbiujajZ5nhXAxDUr2HTbA2wunuacrs74pKRyxhzimm7Fu4x6TIINoU7TUfPmhKapc5/KGpLiqjKGXX2JxxEpeHqrxK+66XUt9yNAf6AcPwKRwJ6+BUBCQBpHbehDmX0TvLgQbB8+ViE+02D60sVMXa5C+JesXIYbpj16JzWv/Ym1N/6Y2iV/ZNp7rzoqUrOxMRD0xf+eZMhvDRClpZTdtYjhV19CkeVo5QZ7bPYG6AEsA/pZv48eOwIv3c64XZWBZ/2gCYhENHY2Hg3M6cdfNLLSJ7CcNSafb08r6DJMvA3bDraTk5bC/W9tZm/LiaTlBDCib6+wW3+b8Rjimg4SJ5mpBDaUXoiZnu6oxtwbw87QBLbpcnJe2P89Ig125Bdx6FtXoOXmOmSm2dhIxofvU1yz0fOcf4P42wGvwMx+RjcNJ5uU7vO81IGS1cspv+Nhh/8HnMApolTJBWy9v7vu/Tn9yG9pcIKUaFZ9mmVk5J8L99h77t3tMYDxl20eOISBh/YGWDT/HBZYmhb7ekN2Pnmth+jrcoU2tAgjazZ5WCx7/FHTUAJJVxyLnLmzPDYPoFSc2p7dGJqO5uqTKYQj0DP0iMUK1ILrPcQBWVHB5JVLA2yKH7m4rw9GIYeLUMfsnrbDTHj1Pkq/s4iKgcVOH3ShskFl9IySk5ZC87FO9rUcT2qM5IaoLrhl5nA+q20KCCY1YEB2Dw8CkMBv/vJFUrsJTcA3RufztZF5/PTtqrAipxWI/oxTDBHTCCQz7czNI33HF55rTWlZVE6aSdaUEkAtHH+4sbAN7UfKw/fXIJtbPJuy15pPaJswOZCsFd/zQZlDsF3nJLIQju0I5C6rSRNZUcH0Z55InI6DCxClpcqp69lfMvzqS+jI7u20BdDcJ9+ScwTH5W/DfV2zQtb7E+CA7Ril1Ja1S/5IZelMtheOpsYXOs+py3ctv6XeiehsAAd6D+CLoWM8glM/pDQ2OB6sfgc2sA2pLlGCSSm970VKTE1n/ewF7Hz1bUbsq2GD5bfhtCc0Mmq3e5CCG/y/3fNxLvBrPeHk9I6U6Otf9ZQ3JLy/tZ6Ne1qctPbzSwd1iwIoGZztuGunRjXnXQ7M7sFDV43j19eVEnU5dWkaAUpBoIygJgzK4qErx/HM9ybz4baGZKbXvzh5r4LwVyN8tDdaTI9QfuX3A3YNcXcg1tseYPwT95Ma7/SQuaHt+H7bfL6SWHuDs1QXjmZUCNnZXarEBtue4WBWHnmthzxRnm2wLT577KxhfOXH2KnmbJsI1U8NafH9Nu8cFhTV7ocdzNUvswj7tOfCnvOdr77jBJ9teWoxk95fFghr7/9uIvAnujFRcgX3prRdx91j31R6AeOtdIG2gNKmGiomXURJhTd5j9+tvXLSTDpKJpMzdxbxO+6k2LJVkKi4F33bm0K1Osnmzgb73o+BX7mu515+O71Gex3HbNBQeSg+3NZwUjsHW5gY0TWG5/ai+mDCriVFF7x8s/LbeGrVDurbTnC0I07NoaOeOqYOyWHTvlY64yYpEY37Li3m3jc+D8gxrIQzx3ctuuTkgSh98FeBGGxQuSAeJvvlFzmnbmsor2sgqCkc5ajYHGGXplM7+ByaJs9Aa28jpamB8eWrQhksW+V1skjO7gUJyRGE/7kwkt5tfJVscXZXMxNGDoMS+B3KyiXPyjLlHm8y0tBGKHa8xvFP3B+IYRHGQpkold8QnybERmCmlXUqrkfY8JMHyX75RSfStS1LMSztjaHpVH7jSrJvWcioeXPY17s/A5oPJp0nScIQLKZHaczsEyhvz7kf3HN2TE8hzegMnWMDFZLepmOimk7u9b8mpe+Q0HnUNcHPrhjLT99WTlOasObWNYDuhI67YEQuc8f2d5yvdC1ofj0wuwf7LdsJXcDYgVls3NvqKaMJ2LnoUgrveCe+a9ElpxyToVushBDiYiHENiFEjRDiziRlLhJCbBBCVAkhVnW3A5WTZiY2lpREV75HRuvhQLnERpUM273NE0LNsCI4j9y1hRmvPYsoLaVXY4PKa2D3D9fJYJkzG1b2ZH8Z/yIH78Kx3XzdQksIbl73SaTchyNOZGo3q2I/41YThiEjf9Zo/0kXkQb9LaTg3UAKaWwvHM2WogkB5KKh8lVMeuweopa/intcAEeiPTxtmULjwAXfdDQs/jkCFXdz56tvM+3RO5G//JWlzbDuS5PKb1yp4j4gmbxyKYXXXk7ZXYvo0eG1cPUjXsDJSZFixOjvShjsZyv9f+5x+ZECJN63DvyBRDKbmGlwZOnPMGPhAkDTlDQf6+Tlm87lJ3NG8ndTCzzzl9FDd8dISAqffNHIfW9udrwlDUMGtBFugyoh4KjPjmHKkBx35u3/mXgMQggd+E9UNrAxwHVCiDG+MtnAb4DLpZTFwNXd7UAsN8/ZLBqSkvJV9HfF/wvj+TXLcUg4vyXRFe+x5qbbWHf+t5i66C7OqdtKJET9pipWXgumEGyxAou4T0L3b3zX4yi7gPI7HmZL8TQrb2b4M05zCMpnz2fnq+9QfsfDxLVgEl9CPt3Q3DNDpbx3teV+Nsz2QMkE1AYS0qQjPZPWCZMDJ2tiHk0Q4e0f7DuQmNVvA8HaeT9g0hsvOoJQv1xDl5JxGz5xro2aN4d1V13vtKmDErQOLiBiGCrcfzxG6eP3km0ZfHnYE4Jrwd2ef9zu9WICu/ILKZt9NVuKJnrq8M+FoemsP28uhtDIQgkje1r321vrOfbhs1w4IjewrnRdsHFPC8sq9obKHNpD3KrDQIKTkMbue1faCIlgR8MR53dEU8lyLhjR177025M2GgLdoRimAjVSylopZScKkV7hK/NtYJmUcjeAlLKBbsLk5a950tLbn/4/+7qbLHefnCUVq5j67C8cf33/RvdvIh0VBDW70ZuefocldHOXNYF9fQayacw0lUdxyBiyppSQ8uADTjATdxv+RWrXNmreHKY9eic7lvyRLwpHe8YKXj7cv/ij8VhocBUTAtnC3fMFCa/U4qq1TF32vIfycW86dZJLz7M2tPcfpPJOoLQBPXbWkBJiseqmGnTTQNz6z5RdfI1KnJOT7VAwJjDgmf8gsnWLQ/1pSCtuhLf/24rGU1k6k7bUdMIgjHVLsFeCzkgKHb95inOXv8qRBdc6dhP++bIRaGrLYdbO+wESdRL+m6vupor3uLjnDpb8/Qy+Pa2A2WPyGd0vg7ghWbGlnt+X7ea6Z5QD1JDcYH9PTjMocAd8TQaawGMZqeZBsMKKMmXBTd1s0tvPk8kYhBALgIullDdav78LTJNS/shV5l9RseWKgQzg11LKF0Pquhm42fo5CbybKYx/D9SB+8WrX37BlPvZytKZxGZfDJUV5G9YS2F90DrQrikuBFvGTHW8AAkpZ0NM06ldogKUN7+7krTVnzim1mH1d7oEfKBiNE5bsaTb4w4jp938sG1ZYMvvbTPwuK5bmcS9MhkbthRNYLRl+2FvFn9cDENorJ81n8krlzrCwvqsPAa0HAywM8n6bwjB2nk3UPLm74jGO73CSPA4eNljs+s0EBh6hKjliHWytXEgO5890y6EkoS/SNbNCwE8mcJJUpeBAJ8A9X+RsIxMT0+noqKCESNG8FLZbu5+/XP8UJSXTlQTAZPo2WPyuWhkHs99upMa10l/OjBrTD5/qW5ImvLuf9ryMaxSf08iqI1+CTAH+BchxDmBh6R8Wko5WUppG5klcu6hBIg2GRfmauwO/6ak8xKJ8JyW7s89uQOJzb4Ys7GRrJsXqtiSvoF5T2DBkVFjPa7c/tPXfiZiGnTedz+t6yrR9uxmbAhScD+jG4YTOg5UXoxOPaJ8I4TGofSc0H65TzO7n/4XYid/BQlC85Td8JOfIX/5K+J6xNMv+9SOxDqVkZXQiOtRJ+IUKLYprulKIHyLyrxlu6jntyaIwjDk7p8vXUqmLnueTbc9wNEe6b4ywuPC7q9TQxJ1USf+Nvxt92+ph5JSsqaUMOHPbzJphZJftDy12INcktVlx/p0338SKLK+HzlyhAvmXM7tr5bzyrpw24WahiOhfhIfbmtgZL8MuvKu6m4Sqa+NzOPBK8YS0RJzF6IyPS07hu4YOO1F2X7YMAjYH1KmUUp5FDgqhPgImABsP1nlzgsRgs8nnk/Grf9Eza3/RPO7K53w59F4DKlprLvqevqsX805LpWihuRwWpYnOpL9ObhxH4MX3aVOnOf/LZHViOAiligysuTN37HhJw+S/tofGFOzMYAB3c8UV61FcxkwJZcxqI2r5SaibI2aN4fqV99xxtnrtT/Qt6Y5KYXi7yu+3zbfLl3sho6k12t/oLWygsaMPvRvOejRsmhAUV01hqaxo2AkTZNnMOmN3wKCmKaxueR8J6zaqHlznMxb2dWbKbK0RtLXB6WqFZ7o0h4ZRmUFGSe8J2VTr2x2nv9NTz5SPwXongO/lsUtF7KfyX75RQ43NlJkxfQU8RgZtdsD793vpm9aiXj9kavTgVdRdg6dQP3Oap58/AH6zrqFU4FOQ/JZbRND+6YH1JA2CGvQJ1MYfritgae/N5ndTUd58qNa9Q6Cz5yWrVJ3HloHjBBCDBVCpAB/h0oT6IY3gQuEEBEhRBowDQgaBISA+0SZUPERhddeTuu6Sue+ivsn0EyTKa+/QNPkGQ5f7N+I/hPe/h5BEjHiTpRhu6yd7t4tiY4acczGRtqHnRNYNPh+29J790nmbA68C9AQguiK99g09lxWL7iRNTfdBkDO3FlM/Pm/OFaXdnlpPeP3QTB8Zfz98l8vrtnI1OVLHLLf7t++7H6W4FQSNQ1G1G1l2rLnLAc0xeuPr/iYySuXMvSay/hszjW0rqtk/AdvMryu2sN6+N+FITTllOWbF4lgcNlHgX7mHGsj2thgMYXB+vzfbbmPafdBBPNQxqMp5Myd5WhNNCQjd3weQDQepGbZlqyfs8ATuMbuZwngts9sL3+b9m1rmDUmn36Z3YuHoqGEg31D0tvbYKI2uEAlzrWT4Pjhg631lNc18351t0V63YZu2TEIIb4F/Ctq7zwnpXxYCPFDACnlk1aZnwA/QI3rWSnlv56kTgneiRcoz0KpaVbK+YQDjZvf/aJgpMcQya7DPm3AuzkkENciKpqydaKawAZL/mCnStOseAv1OcrMN+IyxQ2jMDzjcbW13QonN81K9Q5KXenO5C1RiXEqv3ElU1zxDNXGVS7im257gJ5vv0Fx1Vp0pGPDMWzPdk/fAnNL+InrnpeYprh6vztysrpMBKb1XiJI4qi4jv6+2HNrWjEIT3bydEfGkoxl6KqeuNBZN+96pi1d7KwLt51IsrbsdH0Axx55lJw9u8huP+xEGzeB2SlpfNCp4o5qPXrx9/+6lEGDCzyJYJKBbZzUEfOyKslAAA9bma9eWbebTXtbPRTfN8bkB3wxbHuJ/3HvSinln6SU50gph0spH7auPWkjBev3z6WUY6SUY0+GFDx1W38xTbfiGEg008DmiP28tS5N8g4pTsbNf/tP7cApY5psGz7OkV0IYOyGT5j48/sYvnubU05HMqD5YIC6MMAxzY1DwB7BjeBarvseIicbKRLm0MctOwB3n1OMGClNDcR13TMP6+csUBm1p5QQT+3hkdrHo6kIXzJb+3sytsd98iVkJHH29R0UikDCeHAdiTANhFDIOxaJqrB50hsyL/GevPkq/H/SV79dh4EIzK1/LO4xh1F0AmXTMW3Zcx7WxK/SDetbxJVGYPTGNQw+tIfM40c85V/pPEah9ds8cZTFj9zO0x95Q+aFgSagKD+DEzHTs166Agnc8/rnfLitgfsuK+bhq8ahC6uvuqChLajKHNY3nSlDcuyfr3ejmWBfT+ehrxpMBBunz3YMc9x8cBjLcCK1Z+Ce/9O94NSGNxlds9GzWHXTIGoladFdGZTC6pBCY+38G9haNJHGzFwqZ8wh5hLoSZQ0fO2djzruvkpYp5BDr05vZGsbMg/sZX/uQPZn51M5aSaVtz+EObiAwy8tYfjVlzDRipRs92lMzYZA9iVQGyquRQJthLFb9rwNatgT2KRhY1f1Ww5bFhVQecV3ybp5IYamJd3kQVbCS7bbqku7fkNobC2awKbSCzy2Hm4IQxZh4wM8KQpNIdjbZ2BoWfdf3Mo21vzuSifniK3LsevtDbxMYvOc2L2J1op3ORlMKsyhsZt5LP39XLGlnuue+YzdTUdBWLonIZg+rE+gfE3DEXcOzItPuUG6yUr8T4CblTCAtp4ZnuQwNtlmR2x2k4Br5i9k6rLnQ/MywMnJTTd5HNcjyhtSCAc5+MuCHZDVG02o2Qoc4l58ZfNuQORkO9GVcrZtZnhdNRFreflZIzcoXwfdk3k7Gant3yD1mX3ZXzTGE4jFX9bfvj9ik10Ga24MTVNOTJrOgdwBHlWvgaBm6bu0Pr3YicJkm0I7kbdRLNzmieeBgIwDe+nd2khzVi4n0tIZteNzQGIKXQkmLWcs9/v3h4tLvLvEb+H8TvhuxAGp6QhpIkUiMMyI+XOdMgZwMDvfqlNQP3wkaXff5fiM2GkK/SytPU93AY9Zv/VICvkLf0M023bc9kJEA03TiMXNwHt3qEhNKZ27SkPhXg/JWAkbLFbitEyiz7jbtU3iZVlBOOxBG6hISFtGTWbs1rVIqdK7ORvPJX23nws96UnIJvzedpvHTOXE4AKihxoo3rgaCLovJz4Ti86+nuPqs0CdpnbuCVs4Z+gRDD2CsNRtYdGT7DpVmr1EQhZ3/5OR4DbktjXSp/LjJH0PsgnJSHVTaGwsuYC0e+6idV2lk827z/rVnv7qSFqeWkz2LQvp+OBNlQ3ccnDLe+5JJxCuZhpEOk5wZNRYSsoV9dP7aKtTlyE0Nk88j/EVHzm2DPYc6agNfqDPQAY07fNQexqKQts99ULHVV02t6h8pqZJLBKl8orvkl69meOXXcm0R5Ul/+r5NzBt2XNIKUFolpOb2om5G5rYCZ7kwH4fD/e8PwC8DWwBjHgnnW88SuT7v/JYqEZ1wcTB2ew5fIz6to6kVI4mYFJBNuvrmkNKBN8TKEQSxkr4ILkwqgs444hhe+Foj/GNje2FEGim4TEaMiTOi47pUU/UZwhf7G7+0n3PAMZvKcPcshZT0wKh2PwbzNR0MBMOwP523G3Zp14EEEacg9n59Gs9BK4cENL3vL9NsKTums6hzFzHTNwu5z/tNaSHdA7rox/R+BfpofQcDv/2ZdJQ8SFKVioPS1FVFqgHIKN2u6PGtOMqsK7SCdCr5kIytqoMqtZ6xuggKilJbWsN5M1w+qrp7L/pR+Q/fq8nLgMoe4Xc91+n9paFtK6rpPS5f3VCx1Ve8V1lTGXEMaor+KyiAlFaqvKX2BSoz+I2YsQ49sijjK/4GE2alkdv2HtRh0QK8Dww3XofjfU76F35Lhmll1DUtxfThvXhaEecNzYktPsClZ36onP6UnvoiKOyNKXKUi26E0HWghvPHxrI2J3VM0LrcU9U7+e7VZkPzriMQf7yVx6z4jgCWw/u9zTUrEVW8vi9VI8sDa/P9Yx7EQpfdCIbI9pCNfAuWDdogCYN9uQXePrjb9dPvtsIaUBLvSe9vCFEoJ/uvtthzjZMmsnnE8/nWFp64L6bXgrrt/t06y6zeLRXJq3rKlWchOVLiLqSBofNy8iaTVRMuojWpxeTM3cWo+bNCcTIgIQxmruvDiWn6YzcscnzTOK+ylVqNjay3ZXf0v4UKCHqsUceZfKiu4hYafg006T/J+/TI96pfDCMGFNXLGHSY/eQEo+FJgq239X48lUqkTEqqEzEx9ap8SQox6nA7a6xtv5lMaK9nscWTKB4QJYHKQAU9knj5ZvO5aKRedQ2eu0YTAlfH5XnMVgKm3cbqg60AcrD0mnfixQAAhbI3YEzL2OQ0iHdtNxcoiveo8QSuEHX5LR93wYJtPXoReaJo577StuRCEfm37xxTWfD9NmeVPD+9g2hsankAidOgN2eu+2wl+gum1D5JXI8hNVlx2qY9MZvPTkd3GO31Y3uDNCeOvDKQwzLDVp5lEqP1sW/UTWfqtg9xmQxIWJahNol73Ds4Uc9sRTc9fufOZihInD1bW8MmGGD5QOiKdmPLbfwz5fpkkGFIWz/3NlqVP/YE3IKr4bLXcaGuEsOJIATKLPfLdb9YYUj+cNfPuXapz8LuFlfOXEAU4f2CcRPAIhoggevGMsblXtZmxAeJgWBYifCnLMEKh6DlLIr3JIUzjjFUL1sOaPmzWH6M08w7dE7iXQk8gi4X2ajy2TYBveClqgX1qvjeGLRkNBdm0jLYEg47suGVfe6q65nyid/Yu2dj1KfkRu6YSVg9ExzvvtPfP+pEjgZEVQXjWfbsHGe8PZh9WjSpM/61UQMw1O3W+CmSZPKWfPYUDrTU49935+jYW/eYNbNXkDtkneovP0h9vUZGEjEqwHCIsX9jmHuuh3DIlefo2ac1qcXK78U1/j9c+EeT7/2RvLbGx3BpX8+NGkqwzRpeuw8PCyHCym4x+vumxs06bVodJAQSlDqH6/bAM5+7lBWLlstr1yJSvW0mMRmqq3bxr2P/jI09sIbG/Zz9+tBpKBrghvPH8qD71R1CynYbSfz2LSvDrnzj9O7VZkPzjhi8If1smM62i/IFBpl824gxxJYhfHmBsoZSFgGTA7GF4IdhaMxEBbrICifs4B1N/6YNfMXKrmBhJI3f0f1suVkTSmh99GWwGknUPYT/gQsfmrG0yehOyS/zWuPqdkYSHjjHou7ruF11Z5r7nYNVJQkSkrpKFUh6dwnXhgU1NdR8sHrynrxifvp37TfEpAqu4GYpvwgYpEo6666ni1jprJm/kIqS2cGKDYBSJ8/C0B29WZkRUUA4Zg+b8Ywiu9EJMXzW2mkgoFy/J9dObv52Tt/m4kDRWPTpJmos1Xdte1WthVNYHdeoafe/i31jLTM5YVVdpKmc5urzIcv/IJYS/eiTPfuFeWm84eS0TN60szYXUFGeNq8D06nrjOOGKIugxJQUYPX3vko2wtHUzlpJuvveJj06s2BCMaH0nM8G3Lw7i8Cobx0KTnaJ49YJKpkF0C0sYGcubMQOdnWaSOdPrQ+vTg0N2NgUxBcpAZqgdVn9rUiXKs7ftsI3SmvIkTbJ1IAEZFQ+QVjREiEaTL+iftVJmtrfF2RwMqgKk7ec0+SGu8kgsQA9vcZQPkdD1O75B3KZ89n6/jpTHrjRcZsWUfJm78j7Z67HKoEV10A21ynJii/i9L3Xw+oGGv7D6WqeJqDaLYXjmb9eXM9z1ZN+4bnt4mSM7nH7ac83OX948b13T+3HqoEENKkV2MDESvJj6pfWMh8AwMP7XHeUeL9uOoSGhumz+Y+BHagks5YB8Y73Qu3ePhojCc/qqX9eCyRJ/M0dmZWOGI4ZVUl/BVoJewsxGV3LUJWVJDS1IDsk4f85a9IQ1EUKVZsRz/Pa2g6puW/n2EZEPkh1jeP7eeUMG5LGUKqQDCd16ym9ScPYmgawrBMU5tbmPj+6+o7XjLUf+r4vwO0pGWRceIIue1N9FmzwjLpDumz1e/GzFwisU76Hg2Sje72wtSbtjBPxDvJf+5JaoeMpk/9PodXt+MsuF2wbSho2O3UrQP9m/aT+8T9Ko7mB296w7oZij2QuXkevtqmWDoysy1qTDpUEVbEanebRft3YO7fAVvWUjbvBkrLPwSg7K5FjjpUa2+z0gAa2PYiboos2Ry5f7u/+++735n7/dp9HbrnC8fC1Gai7Of9pux+ilGTJhPXrEBD8hxKSyGB+n1bObdsKQemzQ8ZQRDW1Dbx+xvPZWnFXtbuPHzKbtlhWbE5TXXlGRc+xiyhmOZ7/YbQqB4+njFWwtOwXrq97JIJnjaNmeZReYJa2OtmL/AEPDUQTrSjZDPibyPMQMgm6W0HJT/sGDCcoQdqndMwrN4wJORfzCeDsBRydiYtR3aDZSsgNLaMmeL4ZEgSxl8gnXR59nXhqs2whHn2fcPa3P6xuPtdWTqTtHu8hkRuhOQfn596U8luvEZv7rZMBFuLJngCxNqKyZ0DhjF0/w6PALUxPYeco62WlWP4HPspFP87sv1DdCm5GZXABmAIMP7vHmFj4cmzWo3pn8GgnDTe31p/Wlmr/GAZOK3ateiSi0712TPOSuguwZKbXNel6Xmx7g3oJ8vDqAmBUgsW7NziKSNRsoeM2u0eib77hDIQbCmayJaiCSolnq/P9qm5bvbVnkhMePrqJYPtz2H7dzgCsLDFFoZ8DJf3oB+BuP+8cyMD1/xZtB0jLE1TpzYJW4LqovHsGlSkwq65KA8dhcR1q76INKkummB5I6pMX26v1DAPzIkVqxzZkm167I8zGcbO2VGwAQw9SmXpTConzaTKx9JUnHcxkccW0WmxanFNd54rPLjLs/lNIaj90e0qHmfIHEPwnfj7KX0XH0GZTQPsAvq/8wtK953c2bj6YDsrtoQjBRG8xIUjckmJqLWhJ49df1rpq844YvCTeH4y0L84ACeohx+7u5+zefia0vOde2CdHFK54OJ6zt2WhqRoZxXtw1SsGd1XTgKGrpN9y0KaR44NHVOyiXVv/q5IZPe4/bx22JyE8d/+Ov39wOmnIGtjuef6qJpNDK/bqhy3XPXYZdx1ZjUfsuxOpIU41P2YprPRlUbQfl4jIVvKmTvL42/h7rP7ndnUoWYdJLpp0FE6mdL1H9J+0Te9iGfNCgB2vvo2a2+8lc8nnu9QNcoRTDhBaNbf8QjTHr2TTbc94NBCfmQbxkr6tSiQQMZ9gYdd1397pIlHXrrrpMihKyoh7NbaXYf56WXFfHtaAYNzeoaUAJTC5JThjCOGZCeEO/iqfc0QGmvmL2TtjbcGhFdubO/2UMy49Z88TJYG2Eopt0DJXZft+Zi7uQIpBHG8Hn8mgqqJ59Hy1GJSmhqIabqS7ncxPv+GBzgaTQ29HkSOXhI7jO1IhiAJuebedALQjTijXfEg1BxIIqh5bexChQuw56KLnQjQ7j5VzppHR+lk55r9jG3RKZtb6LzvftpTezll7HLtKWkO5aG5/rCej1nOToAnI5lAmWG3PLWYUfPmqGA/lR871JBudUJqOhW3P+SYSpuNjbjlCg6VYlGMtkdtzEotaFrRxuqt1Hx+794bsWIXouwc7jDjzNv8Z5KBAE+ime5AZ9xk8/5WlpTvZVeTV8aWnuowWptPqVILzjhiMFz6chvcpKhmbTgNQJqkV28mZ+4sx+5gu6WOtKXEJlDxzXlODsSeNy907rmpCUPTOeyzjfC/luH7d6j0b5pG5Yw5GNaiMDSd8eUfMW3FEkrKV6FLydaiCUhXOHr/aWN/t/9imk7Vj3/qCSMXtuGlhRbcCMSNOKTv2qYx0wKBcgn5jes6IvxUtL/7VbjuZw0EfdavpmZosUdNKQBKSi2KIOEpaY8hYsSYvnQx46rK6GNFhU70U7D11n+hM5ISCPkG0JDZl023PRCa49LepJNWLqXsrkWUPn5vIE2djjIfV8hAQc7cWQE7Bre2CASbSi9g/VXXq6Q+pkHJ6uXktjV5xpxgTeHXrj6/BTTsCU0h58CY/pnMtvJaJgvO4gYJ1NS3h6o4j8ecY+pvU125o2BUYHHbgiGbV7el+zpQXFXm8KfTHr2Tw7O+5d0wQiP7FhX4c/WCGylo2ue0ZZ9WW4smoJsmfY40e/ri35hYbQrTYKKlaQBhZYtKyAk0aTKmZoPHmtAGE4vicI3PEBqV1mm189W3qSydyeG0rMDmty0l3W6/ic0t8G/m8vPmcs72Sg/L4WeT3OCUsxzUwkLnawh0M+655mZDdCTn1G1lTM0GJ4+H3W505Xu0PLXYCalnP+tmtcL6aghB1pQS6l55i3WzvdGUAPq2NVL6+L2U3bUIUJvadOWsEChNQt5zTyrWwTVvhkXdmUKQWrmez+Zc4xjZVXzzKk8dmlWPHVNzYvkqprz+gpMtTMnHgs58dj+nAze47v26eT8ynshloWsJt3MJfL6vlQ+3H6KxvYM/V3ed0QpASpIaQxmJKT8tdeUZRwzDXbEDIXgC2uDeqFFLjVZ28TVkfPiBR2gmXZE0h61803nWvUFG1Wz0GkJB6Mt1n0CaFblImdN6VWl+VsCuA0BqmtNvZ0P4TqvRm9aQfazNU6cpBBsnXRgIp55YSN7zu2bAcOKjxxA14gF7Bn/SHP+82rr8MOpCfXpD6YVRFwB7+g72sFwl5auYusLrc4HvGf982WNsfnclo+bN4dzlr1K75I+Uzb6aXVZWdB1l0l36+L3OpnbnrLChoGE3bgRqopAgqMhVJeWrmLZiCcOuvoSyi69RXprCL6JNgD1PdjyEZGPo0KNOlvNFQLZ1fbcZp3XtMiKaivCsCxACJ2uVKRV7sGJLfZeu16cIp6WuPOOIwTakcG98N4TxtabQKFm5jKnLl1DssiQUqOArtsFUU94gTz0JMi+5jry5ZwaH07Kskz7RpoY3uWrYwvCT2wIVTdpt5KRId0HO3FlUL1tO5333W4490jdegdEjLRBbIaxdgMPjSgOCPBMRSLACOAFL3OMPS5ojAVPT8EcQkCie2/QJFRtu+CHrZ8339NEtF3C3GcYK2UZihqah7dntsYgVwhtYRpCQJZTdtShwCCiEJxGWGbyj0QiJLBU1DaYsX8LEn9+HLWXwI0KwIlfpUcrm3UDcFU0bV30AqZaLvUAJIh9ylWn7bAmXDO/JhMHZdBoSU1pCRxH+Xr8CeP50HjrjiMF/+rhfSNhGAziU2cejarSfcxaEFY1Zf2yRc4L5N5WJkkp/Pmaa8zxAxoljZB1vJ65H2FE42sk0pU6AhNQdEqjYjdzdCCiMXweoHq48BQuvvZwxVWu9FI/dR2lSVPFJ4HkDtUDjeoSYFsFA0KlHnbwJuwaNSMypELQPG+FJ1QdwYPIMRz6zpWgCnXrEsQz1UwG6b57te5tKlVXqjgFFHIuksid3oMrhUFrqSUWnNrxgd34hQUbLN2YEe/oORkickO9ldy1yvD0jvmS9SpawjKmL7iK/rTG0Tmmd8ALLNFvXPWO1x6s0JTGPL4UbwVYVTaDcEmjPeO1Zdiz5I+vnXG0Jnv3j8CLyGxHkZag1KWMd7P/w97Qf92aOk1Ihv5NZPBb17cWUITmhM5kEsfxtelfGLQMZwwrKEpa0xV4E9vew8OE2SWwA6+dczbT3VOry6mXLyVz4ffq31Hte+L7sfuybdgFSwuQVSxwJvBM4VGiUz55P6YqljvDK7pfd5ubiaRy/7MqkHqHuvrtnOaZFqPjmVUxe8Zpjmuw2uPGfpu5xxq0AsqI0mEzFbShkALFICnWvvEXrukomPXYPmjQxLS9Rt4GRcccd9Nu/C0PTyD3SHKBSPO/Nura9cDRD93zhyRYOSn5SNXqK8x6x5lJzZe2258Vdp33NzZrZCYDGbFnnGB/5++I2MgtDxLbYUbfqK5+9ACmVcNJt0ej0Hxd75eqXO0Cv2djouJnb1ptSEli7dh/Kz5vLZzf9gP99/TUA6JEIk259nnqRExjP8L69PGHl3WNJiWi8fNO5ADz4dlUgka1AeVuapkTTBLWPXnLa3pVn3CRaWqhy3VXXo7W3YW4pC7jgurUUpitnAdb9+mwV1VlYi2/SCiWRnvbonYyaN4dtt/b2BDoB6N/aQL8VSzGF5rTnRj6GpqMdOeJZPJ4FLISDFAbUVDlWhO7++kOT2Z9RM86A8tWOtWCYjwPWdRNo7ZlB5vEjqrwVkHX8E/c7UZPqbl5I87srGeEOQyYEm257gGnz5sC8OZQBkx+7G12alFSsInb1J1RMPJ9xGz4JRJy2EZXdXwNBU3o2fY8k8l7Eo6mOX4kbdGkybkuZMy4T2/bAu1ncCMDPetjldCnpyO4dQFDKylBHoPKPRi0zbLBtXBLsgk0r2fVRUgoVFR5k734/GhZlIVWcUGdcSKJWbk0hJbEX/p3VV3zXEzFq/XlzKV39nuPWbY9l8qfv0pnfn4suuogPP/wQIx5n89vP0PdydyQHlf8y6iMZRvXLYFDvNBraTnDtFBUP5DvPfhaqidAsmQV4YzScDpxxViKCMuCZuux5St9fFnDAARBCc6zc3MYy9mLIaz2kYgZaz+nSZNKiuym7axFrbrqNpskzAs9o0iQiTSJmPEACmggqv3El/aoTAUT8p4AmJZMeu4eSilXktynXYdtoxgabBbHbdo9psKUt8VMi/vYEsPVb11jBbBT/nV29mWg85iSCbX16sWKfhJuElvR8+w2HT09/7Q8ei8uoaTCxYpWHJbPbbOuZQXXhaEzLEKgzEqV2xjed09QAOjKzPHPqP+3tEz+mRz3aCv97CPt096X003c97zZxmkvKZ8+n8vaHHK1FTNNZO/8GDvQZ6KnHPb/pr71CyQdvBN6nm6Wwkzqo+0Jl6RIaUtOUEFqaROMxpi17jogV0Twa7yRz7y42llzIhkkzAzYy577+PP9r8GjnHR/b+hEdB72Rpa+ZPJi2E14Wo+1EjD9XN7Bxbys/fbuKpRV7nUzYfphUmOPksuxOAt2u4IwjBkcuIE2Hn7WvJzC5pKN0Mp198jxlbAjTMOhIpiy6i6nP/pKSN3/HmvkLQ2Mt+MlQRS1oCAEHR4339MUGh//2eXweS0lDmKavTsEen7DPz4fi+vT3DaDHzho2feMKqoePRzdUcpgEtSGZvPw1Sh6/FzskmB2DoriqjOFXX8LqBTcyymXA5NkEBDdl9vF2RtVtVWpMTWfTbQ+oFHWRFMs1O4XO3DzH3VuivF3dm8EAtoyZqqwP5/0gMEa/sPNwWpZnTpx1QRAxC1BBXiVEV7xnCXiVMHLasucY0LQvsPFtGFWzgYgR97wDgMO9sizjJYUA7JwYthXJjoKRrLvqeoWgrXG7s23pwDl1WympWMX48lXBNSYlP/jdf3Glqy9tH79Iii7QBfSIamSmRtjny2y9v+WEs8k74yYbdjc7/XZbQWtAdloKmhBoImEifbrxGM64jMFPEKkEpjo1Q8daIb8kMV3xdiWP/4vD07pPVP+mwnctLgTrFt6KlpurDF5Coh65X6RNlcT0CPvyBjN8/45Q3tgPYYimq+ue+Qi5Z1+zoy/5I1h39d3925/8xV/ezar5qRWbLzcHF6Dl5mI2NirqpLKCie+/jm6aip2xZBmlj9/rkNabbnsAKiuclHZhUZrs73X5hU4Uavec4XvGLV+KC52IDGrjks2lXZeK+pQIZgMq6fCGn/wMKivotWM7Y2o24VdLx/QoXwwtZvSOTQ4Vk6wNdz/cY6kGxpJY93f/x0vs7jGMuWP7n3aiW01ARFcal5gh0YSSNdQ8cgmFd7xzfNeiS9JOtc4zLmPwb/DWtEy2zV2AyMmmfMG1jqDHfHclERdP6z9p/d/ddUuhIZtbmLT4V5YATmAKzcH49kt2sxkagBGnrd8gjAM7nVD17v6aKM+8Hp0d9Oo8FpAxuPlWLwWUuI7rt/LwBK8HpNd7MRnr4a/f/YkvSKx/vsrmL0Q/0sak5a952lGfQiEAQ1mAbpg+2zH2MvQI62fNJ/uWhcoKcd4cqqeUOGH6Jv78Pk9m6UC/7DEKjfof/JBBi+72GI65+yhRQszPSy9gYvkqy/gomEXL/z1gjYk66XflF3I0I5vRNZucmBzpr71C0c7NnnB6buoqxYgxxnLsS4bA8P12z7wARgHXA89ZZf7r/jvIWPgb1uxoJD/z1P2dBJCXkUp6aoTaxqNqPiWYCRfsv814DOBd5L2PtVoh2JUUuO6Vt5T0HIg9/2+eyND+DRh2UhtCsG3YOKYte94JyCqkZFPJ+XSUTkbLzWXyors8WgGB5aMhJeMrP1Lms6663Sdf3yPNVtTgBAlvj8f+bds/COF1iPJTEkpYJ514kBI4Fk0lLdYREAj6N7mNVLxLMeFu7L7u/9SPtCGlN8ipsyGlRDfiqk+m4cTFFABGHFmgBGJrbrrNoSgSCVtiTn0qx2Qi3qJ7Q+3sP5Tsl19k14BhDNm/I6k7dW3BSGKzLkaUr0pKeSUQSWLMtku9u67C+jpijfs9wuwxNRs81JM9f6bQHMG2G8m72xSu8m7+vKVnuidfCsD9wO+BDqC5aQ/69tX0GnkeRng8hS5BAgfbOqzaLDZNQ0WbVvC3GT4ewjGtjiQlHqPlqcVUoyzhWn/yINGV7zG+4mOQEkNX21A3YqFBUexNMbpmo2fRA3Tm5jH9GZWidN3HHzH503e9m8XuiXSR9ABCczJKJ8oqxHE82oP02Ann+h7rVBq143OQEim9FIQ91sQJlDD/tucjPZbgOZOR4Vh92DRmGmO3rHU2QSLGhPTMsx/svBphrAhCUQ1SBhGL1DS03FwKr72cIksjYiIwn/tX1l11vSfEf1yPUH7l90mv3oyUMG7LWiQSQ+gM37/D9c6E40bdu/EA/VvqnT61XPc9lT+CILXl9NfpYwIRIAQ7+g+jaP8ODwUQMWIcSe1FZsdRz9jdc2Ci1Ls5+3YxpL7OuW7ntNCPHqHUQpZxPULVxPMoKU8Ew/XnHokDA4XgH6Xkl/a4PvodaSPO5WB7YnP3SU+h8UhnkjeWHNQBpFSWvmk5JTjjiMEmBv3xC9TLl0xe8RqsfE1tLE1n3VXXU56bh5SQbeUTsPXIY7eUebC1TR3Y5LE9VXGhhItldy1SPPDeXZ62w8hdQSLNvP/UsO+7NzGoOIvU13moEXf5sIUIwc2fmI/gdXf5sVvXeubRb03pjuxkqxJNoYFIGDJJ1KLv034Y3TSI6RE2T/uGRw1n92HdVdcjGhtVKjcSUZw002Dq0sXszS8krkfoeewoAsmUZS84UaBMVK6OfX0HeWQLGpJROzZhaLpqX4uwP3cghwcNIWtKCRCkHCXBk9qNzA1No/BgXeCeBmR2HPW8A3/gHw3JxIpVystSJMLN5bY1crBRIVSJSsRcfuX36bGzxqnPv37sA2fT6KnMKp3Eb5Y8z4mO48QP7+XY9jX0GpUIEVBakMOH2xqIGX7j95NDzEt5pJzi42r8Z1r4WD5pJsUbPiXisvF3L96w09FeVOuuup5Jb/yWiBFHCo1tw8cxpmZjgHxFghSCbcPHIYFROz4PjRoV6KPvtySRbCTZ5g07daXrXhgPfCQljY6UVHKPNAdI+bA+JbvntqXwj0GxVRrldzyM2dhIZOsWSle/h5RSZcqSOILdmKaz/qrrSa/erDJIvfk7ovHOQGCcqqKJHF1wLZMeu8eTLrCrPnrZNcGevAInQY17TiBhB2F7l9oCTVlRQUbtdhVTw7KRsIPuHk3tRWbHEaedurxC6kumOmn03HPr7ovf+zPsHfp/u9+pnRIvTLAd9txn8xfy888reGN7JQDZvQeSeeOTDgvw7WkFjB2QxbubD9DY3sHWg+1JZjQIds6aL5Pt+owjhpjLKs7uieHi6cI2XWKCvaHK/KwEJE4SO12cbpoeN1w3EjmU2ZfGvAF0ZmUzruJjx7jJ/ZKbe2aQdeIo0mpd89XlpgI8Y7JOla4WjhtsmYLb/No97m1F42kfdg760SP0q97EwVHjmbhmhWOX4A41Zj+/yQqpBjD86ks8ZRt75dD3aLPrpFUIULrehf8UlCiEGyY38X9CcI7sa+6DIBkIzxwkrBB7vv2GJySdHzr1KBt+8qBHEOqnMuyEve57/ra7Qvo2+I3cpNDYVHoB+vEToRa9B4FhqHgNADO+fiP7plyJAB6+ahw/fWsznachdxiY3YN9LSe+FGI443YM///23jzOquLO+3/XOfd2s9MNDc3eLI2yCd0NSJREkkkAyaogcTLzxCwYk2eemed5JTGKmkzGxAwmOsnMMzPPRCNJxvxmMlFBjRpFzUzUsNPd7DQ7DYjSNLIv3feeU78/6lTdOnXObVoyBn29qNfrdt97Tp06tX7rW9/l83UXqSBulwBJlruQt9BphXO6K6tQKQNkgiC2kHUevYj7nWxl1L5tdLv7Lhru/B7N/asSBKf83Ck8GbJ91EQO9Bsaa4ueEAf6Dk5yFEIda2KEwqmvPXpS+AqSzKqfoODqXL13K6KujomrXmbw0deZuOpl1t74efIRZkTOz7Kx9jplGFY3g8DPMrHxNapu/iTHH1qMF8b73QWl1T4hbn+5/W1boboKvLSjkluObk/a+NnvsftAy5/C1lbOfeIGFfi4yLN+GCAbGmj88A0Gqi+PoN3PsG72fNYsXMTW8dOKLnz7expRELF8tpOdYM3cL9BWO4XS794bAxbS+QcSd8s+tmapyfOLlfsuiigAjB/U2677e1f4aO/47jUXcLXYrmM/E1AAMs0Eyrsxj4JjExL8UB091sz9Al327WLQzi30O3nUqK1OPLyYiVGgVoVcrBnawvvGRnEF7PfryTvEsmq0dw+NHB0Au6rGcHLIcCP0dPsjIwMaa2eAgEE7t1B5sjU2UbNBjrJfPkpJJPkvCXJ02beLhjvuo+yXjzJy/w5qGl4xvhEZjasY5BBCWTOWRujbaYTSXRT2Pfe6m3SbdR7DwRDX2rjtzkccju07ovMldm1BTAVt18fud6RUFrVSkvMz5ihVPmemMhcHVuzchdiyuii35861YtohW/PhI7l6yWIQHrmf/yMbP/yp1GdvBx5CzYltp99iwOtNlA4ew76j8fB1HSXfU8LhUCqNxAev7M+rO4/o229fgsm7gGOA+DlvX/8q2v1sLBKS/p/kGFTKCbXn5FGGKhvqrmP9R25g4/tmgmExBfU3fA4pomdlSPdtm7mq8fdUnGxVxEMIcn5GWdRFEZA8KVlfd52JN2kTIdd6z3P+67yh8Fh74+cJ/IyZHMMP7iTs0cOwx2lp+LYGaupfoSLyHLTbHyI407d/LP+k+lepeeBbjG7eRkYqa0BfhkxqfNV4cGp/gY2332sgRopxLm7f54XH1upJHCqrjKFE2c/bfaE/gRBsHj/NxKGwy8Z6dvuoSWytruGwU34aK/96n0FMW7I4wV26ZfrIKAZlSDbIx9SpTUuX0bR0GVOf/LnJr+H9XdAal+joNqRxNzr5YMyns0daDGdTIFyCocLjM9YzJ1Y9DkCP0kwq1JsgCQF3Rf8exkQ6CGHzoRP89cfH69v/p0j3dJjeFYRBYeoJ2jMltP3LQ+x97Bm2jrvaQLYFCA73rEjomPUAZWXEmAslGR67cSVTlj3BlOXPm8npIxn42stGyOmhvOEyURxJhW3Yl20Tr0HU1ZHzo8hMfoZu99zFrieeZ0t1DadKusUmRBqb7d4HEOVlbJl0rbnnh8qkN/AzCbdtXV55pP92MSsANk6+jm733FWwkSDCabSEuPoZTxaMlkKg7JeP0v9nP8bFkrSfcSe5RHE91Xu3MOB4i9n5AmBfZZWBlXeJjAblLfnOvbT1Kku8x+6rsbvWM27XegYeP2wJHtN37qFHX49xFdAxoZJEjnGRenXqIz9k1PyPcfZvF8WPVZFD39rZ82lPGRu3XJ3CIu796jgrmbB+OdpkXdevYfr1hMLjTqucc7tW035kH0dOK27uz6cN44aaQQzv240bagbxZ9OGUdWnYMjoCcgF8UNc66k2vvOsgZH7By4ivSsIw5Fe/Vh769eMMRPAuSHDlO98FDZtz6xPxXAF3MHXXEDfdSsozbcnVHUAFdGES1vYPlB5spXahleo/cG32DbxGupnzYvVafTeLfRoP5vYNXC+a/BQwEC6VT3x/zHRCvYaeB6iri5Ww2IL1J1oALmZ1zNm7mw21l0Xe0YKLwYw4x6zPJRN//BIjSpRjl8K2yH+nP1eD3Ve19GazDXg2ODhtGeyCaSoQHisnaUwDAC1OFL6LnUsSaof3f/FjqAuKIy+1vjhGwhbW8lGkbgyYcDEhtdiHIKUktqnf0Hv2xZQf8PnUo9R9vcQ5Ua/ofYDNE6ewa5BoxJtClFRuW0OMwAGNG0kE+aZAHzKakPmv5RdpFY7vrDlTfa/dZbfbH6TX63dH3PL9jyRiJq9Zu9RzucMsXjnLB+FENejKI8PPCKlvL9IvqnAKuBmKeUTna3Enpmf5NrI2EgHIMkGeQLPZ93MeYi6OiY/8K3EWdJlNaUQjNy/oyi716P9fOx5SE4qUGq7SQ2vKsvLCOvgxMOLzXnenYz62TCqg2dpApS8IDRu33pS7BsyWjkARWg/LjfUESeSBwMN1+2eu8jNV67Tec+n8Y77UiX17nldpxDYXPt+2vv2p+Roi8lQcuIEY3ZvRKsDtT0AKGclO3U/2mL8Imzz6YY77qNsai0nHl5M5fo1MTdt92hQrF/TbEYgfdwkcXuGGDEVAlFXh//aq3FjOOcokgGIoO17NG2O1c2tY97LsLlmOuM3LGdi42vGZ2Tlvz/OyJd+Td9TCihW9ZvCzvSlNBaxAy1nr4XA01G5h/Y28OHty9l+5XR2RGCvoYRcPolJMbxv94R/xfFzMYyMiwKJuyBhEEL4wD8DM4GDwFohxK+llFtT8n0fWJYspXhaOW8B/uhq9lUORwoIepZRmm9XgxWiTG4bGiiJPOLSdhl9Xts3cKRxeJKoMOuVp1rNoLoDW2zAASOIPPb8SzB3Nq5WN+08LhEJj7u0Hd8DRjdvQzRvM9dc1tRdOPb/wIJOB6JgKgFSeMoIaGot+U9/Ai/IJcq0/4OaNVc1vGa0QwHC2AtsfLE3kxpfM4snAHaOnGBsRXQ5o5u3kXvgr9n72DOsr62j6zNPce4TN9B7ai0jPv2JhL+E+11HzeqIGKYROPeefT9RlpTUPPAtskHcCU+5WYfW0UgYaPoTFRXgCCV1UhqbgH7NuyLBLoh8O13+55eZfPRQZFsjDCgOKOtdeew4Vzz/BH3OnjCm7wDvAz4E/FfUz2L5L+HK6ew+coaMJ8iHMjVCdrZ4oBmdGi+UIS115ihxNbBLSrlHStkO/AdxzkenvwKWAC1vpwL+6Gquvv8uqlqaGX64OTHpvIoKtZNZKW2hr573RYZbprWgwqzrfPZZHOITJ45BFGk1IvmCXoCiri4WlcqdoCGCJku4pu+nYR1CfFezWW8TOclqp1vmrhHjzfHm2PMv4Udux9kgh/jaVwHFNrv9lLbwtIBM1yeDpCTfzuT776am4ZWCfwnqKKHdt922lAQ5gjvvZOKD32bc1rVMfPDbKkhwxGXZ53L9/3jXnqxZuCgmlCQlX0jB41W/O41YuP1p3/PBuFvb920nq7zns6tqjIGm7z21lsa6GeyrrOLNyGVfvztAaVAGRrIOTWSqWpopCZR5uBb8nlir1qZ3YD9Tl/6MvmdPpHJL37DasfrIPiY2b+CtM+1I4KrBvRPtDEJJ04UNny4q4ExnjhKDgQPW74PANDuDEGIwcCPwJ8DUYgUJIW4DbrOvlf3yUXUv+m0PupAhtT/4lmFdNUV3PQ0P9h3Mlc8/EVOFmXdGz7WU9af/8ZZEKLS9/asY8NYbdLUC57b2qmDf+z6oYNPAxCdwkZTt5CE5MWkyYRRr02XX9TMuJTa7puezqeb9IFC4E2dOx/w37NTt5HFAHbtKG9eBJVy8onkb7Z/+BOu/8R1yv33SeAq6nEux41ShjknAXNdc2E1jdm1AooLcEuSRkpi/hPu+1wePJNi5Sx1ZcMbeyhdGqmVt5WoEk8IDy+LSNlkGtdC9MDTqapz85zIlsXEXYcio/dsJHvhrGl58gQkRulViQQInu/ag57lTZtd3+1Nf86RkyvfvIe95ZINkJHX7/yyUwdMe4DhQ2vAsVE0iF0gmDO7NtjcLMSTSuJi0tO/+j/3kAllSU2cIQxqv4tbn74E7pZSB5dWVfEjKh4GHAWP5OOLAzkSB+rsPeBb+QgiRB96e2Pl5qBU7olhZ/Y+3pLL/I1qaE518eMhIJv3n02TzOXhxiTlnpx0LsK6PXrY09ahjyxCKuWBnwoBJDa+Y+zk/awLyuhPv2NDhtC1dlmDTjYwkyCEbGtj72LOc/d4iJja+ZqwX7fq6z+l6eyn33baS0hYA6XnkI5uBsi8voL5nL963ZHFicUmULYgXcSAipSxTtyjQUP0Nn6PvuhWM3L/daFq052MusnDMvvQC3VtbOP6ZWwh27mLa0p8SSIyfzZQn/9WYfnfNx1X8HlKF2gtCaiJBcbGjYK9zp8zxqphdQ4E4hGSDpI+N3e7XywaQLynlKy3NaMC3197cRalU+I1z64bQcqqNl7ZeON4EKHj6Ry6crWjqzFHiIGCb+A0BDjl5pgD/IYTYB9wE/D8hxA2dqYAfBjE2MSQ650WBQSA+OKMO7Ta+Ch2xkFj3BYVgrGmsuT1gITCuaZ2RXPsOUYD44NrXK04fi0W9crkgTdzc53Trfet3SZCj19E3Y3n1caPb3XfF3JrTzt21v30KUMLJ+lnzOBKhFBej8nZ7XFO5YkeawMnjoRyr1i74qgFumbb0p4n+0H2QBlnvtkNSQKO6ZsniyEZDxa/MyBARAdxuqbmW3lNrqVv3O67ct5XeU2tVcBip3Ni9MMA7dZLNNdPNO4txl5DO2dlzy3fyxcYopewwgodr97NsqZ7E8S49TbkAA08cZlhLM18ASqNrh08eYcTGF/nyB0YC8MqOI3Q29e9ZeuFMHaTOEIa1wGghxAghRAnwp6iIWyZJKUdIKYdLKYcDTwB/IaV8qnMVkDEWXUf92TFyAhsiVZx7XpTWR2Ms2pPJnYCxupIcZNu6UkeecncKnU5nu7K1epIyM6a4WbPLUgmUoc/pkiSYTjG2sPuZk7HfrT3KWTdzHhBFX3Jg4WOEMFAu6yM+/QmmLnucvpHJs0sE0v6DYsvt/nOJYs7LsD8yGY/trOVlxp1dIVPHjyR5z2d93YwEZH3aMcccJUguRHsB+zKkpr4QQRuU7MW2T/CAqS8+Qf892xNtUptRXDNkt9eeU+7csn8HwmPVPA2Bp+4EKKO7+ju/x9oFX2XvY8+Q+f736dF+Nva8FyFs9QVuppCGLvtn6g41sWrPUfKWvcK4gT3pVpK+fH0P5tYNSb3X2XRBwiClzAN/idI2bAMek1JuEUJ8RQjxlT/o7cRZMTuN2b2JXL/+qYO1edw0dlSNZUt1DQ0z57Ju+hxOdumeMIhxd2x9zb5ucyv2DpW2QwL0yJ1j3K4NnB9RHSszjZuw26T9FzZ/4jOxe24Z2ksQFAiMXc/yMyeY8uITVN38SYAElqK7y/bcs4OSSB2aCQPeKKss2i/2bw+iiE3JhUFUl3U3fo7BrUlsxdKGdTQtXcbxhxbH/GCg4NjV7Z672PvYs6y99Wsc6V6e6GOXY9FHMcAEGLb7TOfJBjkTbKh8zkzyloGSapdk8PE3TV0C654PMUJrc3d2P+ixKPhdWPmFR58/m69C6y34GmsWLmLNrV9n72PPMm3RQq75yYOcWNtI99sW4Fmbj9sWe1E9LkNW/uxXlHcriYW63/rGKc62p2sihRAsbTiYeq+zqVN2DFLK3wC/ca79uEjez7+dCkjPJwzDGGaCOldKskdaYkRDs7njmtYV8AMiqC2dQuB0lx70On86NmndM2DO89lc+34mNryWOEu6u6Cd9LWRL/0aSIKXhAi2VU9izK71sSPI7mFjOP6ZWxCtrayct4CBv3+ZoREOgUeBcGybeI3SBljlBhDTDpBXC0CUlxFATO2ln8kDmVz8DN1W0oWcl4nFgnDb58oP7DKx/vdo2pyA2hNgoOlf7xffsYznYRhy7PmXuOYnD7J6baNx3rLfcaRXBf0j5G37XhD5fRC9x66PIWpRsCHALD6dkkc7NTp6jM5lu9Cj/WxMy+C2QQtCa5/+BQoyr1BGNlR+NtNeeAwirVHT0mXK/Bo4sbaRq++/K1aeO88ESrI/GahH4TI9cf40nzx0otMIT/lA8m+r9wMKDHbf/R9b2akHrXTJLR8b7rjPQKPnPN94v+UyWXq9WXBGMp0nhFHPQVLt5wE9zyuDD92NB/oMQiKM/GJfZRWNd9xHW+2UBPhIGgVPO1Kc6tGL9kxJzMpQPSPpfexIQjMx5OBupt5/N1c/8ndcvfRnDD28XwlXUbvo7mFKTdbtnrtos1jRPEI5YBEnWt6B/XgVFUgnmCsUXMzz2RITng1gWEuzit5NgeDYHEoa96AsNwvHCu1PcnrMhMSE1p9sGFAVoR3JqH35yMTcDj/X9ZmnYs/q3bj5L74eiwKu8/gyVIZEs65XaM44HKKU1Dzw12YxuijeSW5SWn8xVq12v7jzIPA8/NMnDTiNS1ptexdtrDd18Y+ouvmTCQ3csW69DdcR6PkfkZq/sMrcu2MlLSfOXZylEtxyMQ9dcsIwbdHCiPX6Knsef476O7/H1vFXs3nahxl5qIC7r4dg26iJ4Axa2gQNUcjDeeEx7K1DeEgjvxh+uJnJ378Heex4RJSU7cC66XMIiZMA1wdA/x92eD+Nn/osWOyn9uu34ct16ha0oyN3+5HwzBAzKalu3sbEB78NEGNF62ffxPGuPWN1Esgo1uK3lHOWtUhyns+GuhkICeN2bTDvgYL8RgvCFFFJR4/Wv31g1bwvsvrWr7Nm4SLWLlCm66K8LGYD4C5Se2J5UvJWtzIO9h+KF4ZMWfYEIz79cdrK+sTGVrsqmyjgk2ewr3+VCTSricPQH/99zNUa650lQSHORpqjl/3fc+7bm0woPAVTZ5Xvg7LqlIpAqKjZXqzcsGcvgFhcUu3Alc+WxPL2PnfKQPTX3/k99jz+HOtm30QgPG4GyqN8Z06/xbZfPHzB8HX/nemSEwY7nVjbyMQHv834LWuYsvz5BJsVCI+xuzbiQnK4O7rmHNq6dIsFWXF3n6uX/JTGT32WreOupuGO+8iPHWfu62MBxBeKeT4MGPj7l2Pefce79TaOX4ndjDghc5MPlOTbjYHSNT95kN5Ta5n426cpP3si8X61CPL02lDPupnzaJw8g9Wz5rPn8edoq5ti2HxXPgCwfdREto6bytobPx/jOOz+tNt95fNPII8dh8YGShvWKTyHiopY6HmJgoRL8xUAZWxWdbjZaBRKgjx1K+JGshIVeKhh8gc5sbaRsRtWMvTIgYTV6cDjh2MRtN32Va5fQ80D30rcTxsDzdlJ4RnOykO5vdtE1RBAzyPs2Qs/VDyF5jB0vqlP/tzE2xy/ZTUe0pjKt/Uqi+U1G0QU/XzM3NlMe+Ex1sz9At1QaNI69f+vn/LRU/solnqU+owd0DPt1qNFH+ooSSkvyUf387YlL8jzfkbmQeYRMlDcmAyt/wHITdU1Mq9EYjK8wEfnqa+bIds8P3FPWnlyCJkTnjybKZGrFi6S5/2sDEDmhCeXz1sgz2ZKZF4FP4+9u83zZc55X14Ied7PmOu5IvVy6+LWv83z5cpZ8+XKWfNNm/Mg3+ra0/SP/VwOIc9mSuS2JS9IKaVctXBR0b7JCU+2eb7Mo+q6fN4C2R79LlbPtI9+Nic8mY9+r1q4SOaElyjD7fO0e+71nPBkLmp7rkj+C9U1rb+L5cmBDKw+cN8VROO7ftw0mReF+RBE81b/zgkhm6rGxuZxGI3feT+b6J+8M3ZSSrni1q/LHEJuobC/lIJ89FML5JXf/I0cufBZOfKuZ2XVnfHPiIXqo7+r5X1x6/OScwzHH1pMSWRrbmMpFnZthY93ZtTomD97aOVzU0B0Zpt1PY0z5wLx3cLegLQ+PBvkobEBUKBtgWdJmGfdFDOplsCR3v1icgSBOuNuqZlucPtsd2n3aGHXRTifbBgw9cUnmPLiEoOj4AG76t6fai6dwfLrAGhsSOWiQJkhZ8PA7NreqZPsfvw5toy/OnE0sOtufxcovIpeG9YReL7hq7IvvhDTRLisvMv641y3+0IJWxVGRpqtgMvF2W107+0eNIqcg7Gg6mYdUcBwAO67zG8pmbh1dUwFq44dSlOSF4LA8xlxYGeCM1HHkDwbaz9gULYUitRNMQ9eUBqVXCbLFUJQG11rA/YP7sW/3fo+vjbrSv506rDE3A8lxp/C5bLebrrkhGHYmlfN97RFvnfQKGqf/gWTowC0WjiZ9zPk/GzMCMosvih+wcQHvw21deYMbid70LTjTPZIi3Er9sOQ4w8tVtL/ujpCy15CAIOOvZk4XweeT3vf/iCThEDnaaoaa37b9+w8oAiWnsq6njUrX2THyAnmmjliRe8unzOTFTfdytRlj6e+H6AkHzdPLjnawpi5syn5zr20Z0qic7Ng07hpiTrZbRXA+F0bjImyH+YZtCvmV0dT9SRWzVuATBnZtCOO/Q59XEIWjnRp/WSXl0ZgAIJsCY0z5xZUjEJhf6ya90XyVhj7NFkSVjmZlHxaRrSx9gOsXfA11n/kRqNBgnjsUh9JyckTbKp5P/WzbmLvY8/SOwpIrOOsNi1dxpi5s42c6f0f+qipx6MrVrI98o0YP6h3KpCL3Y8Awxc+96WimTpIlxzazY5CnUbkgmyJQVPKA/Wz5plwaTqc2JgompBOOhybRuypv/N7TL7/bsORhFgAsZ7P3qFXcHTKtUx+6lGzQyMlU15aYkLHC2snLPbfDwP8M6cJPc8YSdntCoTHyTETCKNwbcXUVTLlnuJIQrKOCtL23njr3x/nmiWLTTn2u3U5PSPDGp26t7aYybj69nsjo6SQMdsbWDlvAYN+/zLZ9jb6H2+JqUwL9ZLGoaji5JHYO8fs2gCRU5zbV2asrHqmfbfh0kLgjfIBCCkZePxwoiz7Wfv6qP3bEc1NeEgTG2TbpGvo82fzaRhdTdkvH2XEgZ1GvWkjlKcRC5fgekjGb1jO3siLMvfbpyGCDTjRtQf9ThdAdsfvWg9EILW1dUx88NuMzueMLEI88ndsGDeNs9e+n/I5M1n4vq/xT0OGIKVkx/rV3PGv/0VJ7wpKMh5/88kJ/GrtfjYcPEEHaR7wtv0lLjnH4NI8/TtEdd7xz9wSQ1Oitg7vwH5qHvgWU5Y9wfgomIzNJupJpHfR3lNrjcoPClZ0+olR+7cz9cmf41uRk7R3nLasg7h3pp3sHWrK8ueVSlCImKDJsOCWbUZa2yUFAxpdNii7hJyfjUXuVv+l4XCG/u6FWDlpi83uX4Dq5iZGzf+YibGh21wS5PBPn2T4m/s4MPUDyoeA5ELUL9T2FHZbPCzhnlUPfd/+jfU77ZiVj/4PPPYmlceTDrxu++zvWshHVEdfhtTWv8LI+R+n9gffpLq5CZBsrLtOAehY9bLnVRqXov/7kX1GYbf/Kuu/8R36RkZq9jMC5enZ9ZmnyGosTgqGdRO3rubqR/6OUfM/xoF/fJQr6nRcWsmZba8YbIZjZ9u5eeowMp7SnPkCBvZKmEJ3zrnCSZecY0g7dwcI6mffRO/bFjDNiYc48cFvJ0BMXSMoPUkykStwW68yMjJILBLAgIeYs5lThk4nuvagd+Q4k1Z3+90+EMp4XAy1sDORNacw0avcZ0MhqL/ze0xbtJDVd91P12eeoq2sD6XH3+LcJ25AtLYSoDwY84AQgrxUZR/44PUMWbI4NqnTFmYoBMe69qLP2RMmQEzdD77J9uiYolP2iOIman/7VEzWYbfdA/IW0XC5H/NO4PW+g+l7opVu+bbYe9x+tIMQaavHE9170+fMiahPC4CxIYIt467mKgueXZdpzxFbfqLz2QGSvTBgQqMKGSAoIG/p9uaFiLg2mShT23Z4FRUmVB+oSNyuPYvhHj2ffGkXBeISSnzLQ1bPIS8MmPz9e7jhylq+Hz0Xrn8B733zyGY8Tp3L8aOXdhCEKpAtQvDGyXjfouwYPudevFB6VxAGewAApBD0vm2BEcjogKkrv3Q72ehM6+6IdnlQ2LHG7dpAaHl82p3vWtal1U1f16HGQuFxoN9QhrQ0G6xIu+4uUTEscN/BHPrSX9J7ai35l5/Cs7gTu94N115P76m1rPzS7QoLYmotoyNEq9z2Rjbefi+5TBZ0SDgJ0vPYePu99JlaS+7Jn5MxjmkCTwaFyRj1rcSjr6UCFYAIQ7qfOh5rf/ejLRx7aLGxMtWEzLWKTIvJYC/2AAi9DIPeeoPA88lFgVnShIp54dEwax5Bj15cExE5AfQ+E2eXm6pruHLPJkQYMmZ7PaHw8GUS4UhvNAcrh5mIV6lcD5CNXLLVO+OBhQ70G8YbH/iIqRPA1upJtPcuo71vfwXl/+C3yUbjIiEC0In3R4CKCVK9dwuTGl4BlKVst5PHEp6+AsXdLGyq5x9Q8SdOHn+De3/3/+j/9//Ct57ahDaGDCT8wRJHK13yo4SycFNLRFN4XyrBn5vK58wsHCu8jJF66xSi3FdtqzWBEg4FllOQdphJY/WLTRxzX4a8NXS42SHdHTSNAxIooydtwNT44RuM4ZRdNkDt8heovumjTH3kh1Td/EmCO++kS749hnLc/Ktfs3X81YbzEDIkbG1VXFXEqfgyjHFJ6kUeB/oNM2Hi9D1tKTmk5UCsDaObt1H38pMEnjKIynu+EgBb9XbbCnC0W+/YtQP9q/BkqGwYwoDGmXPZ4sRy0GXtGHUV4dBh9N6wLtY3SiYkCFDS/NMjRyPC0GhkXCtH3Y4AwZp5X6StS9x5rTBe8blSGJP4LBh65AB9/mw+K+ct4GDfwaybPofRe7cwqf5Van/7JLKhwbKG1AhPYWzemf4u7WJQnzwk43etpyqKxmXXQdegjDgy0hurfsP++/+eiww70al0yQnDviHVpEWTqnv5SeMp17R0GSu/dDuAZSX5LOsWLoqpLT1gwIkWDvYZCFZ56kdhyggg8DLKbNiCqdcfbfHmEgnFhnsgC++032+X4U54H4xKsezLC2jPZBNuy4KCbCODJJtvZ5yFmCQo+ALkS7sY9t6XEq+iIvK4jMtCYhyUDKlqaY7VVedp7dnHsNE6eSh2e9eI8ewedmWUWRpC7r5Hf3e5kWFHDiizaFtO1HY+1ke6LuN2bWDqIz80SFF2OVKIKDTAjcrICJmog3uE2Dj5OiY/9SijLRg9Ys/I2LNpxyDd2uMPLab26V8w6Oghpix/PlKzK7VvSWtLDFRWp30DRxrOQXFXktNjJqBJj36Pe+SzkwT+h/X7l8C0xv9KyVlI1402PiO3dZSvWLrkR4lRzU0JCbA+/514WEW6rrr5k1QHeXI//0eaf/Vr49bL3Nms2LmL91mSeF+GDHurABdROLPFXXA9GVI/cx7ZIy2Uv76PMz3LEAi6nzpG3s8w/I295GWIRv1RE9Oj8drZ1K5YZsoKPB8pPCW4FIKGa69n4qqXDVaCPmroc2j5nJmMmTubpl/9mrPfW0RtQyGku0zUOf5byJCaB74FCLJOuLX+P/0xb+z8CKPDwFzXZbqL3Z38PnHtkDtBr7Rifeo22fm0LMNO9lgqkx7BhsnXkZt5PTUPfCuBLGV/z5jlGr+XkcpXAil1SNJUc279PednQRID8XXz2AvSvp8XIjqeKI4s8DIIodS9aeHwBuxpUmZOTgqyJTFYgQDosm8Xp0u7mYC6bp3seugNahZQAbSi4NQWV45MvMtOK3YfBd5ZBKd3NNlCNM85I2WPtHDs+ZeojtSVRFGiVj7/ksFirH36F4ldJ20HsQdeL9KgRy+uXqYCfHC4OQENpjkH7ZK7Zu4XlPbCElA1fGQu/pnTTF7+PFJKJq18KYaiLFDYBQ0fuVHZQ0SedmPmzmbVQ4sLXodWfrc99iTWuIWuq/rwlmaGWwTS3TndFEYxQ3VKQxcK0RxSIWK4TQQ0B7Vt1FVcuXszvgwSZ/0CNye5qvH31PftTyZIqnLzno+QYWokKjuZOKcy/rzdbl33+htuwTsVx7QQzn+3b7QaW3vD1v7gm2SkEmR7p0/H+tZONgq47qecn+HkkOGI5m2x8a2tf8U8pxe+zaHa4yaFijJVAnwS+Gn03NrIK1UAGV8wqHdXmt8qqKKDSJp+sd6Vl9wkWpuMrpk+R+ZxTJonz5Dblrwgz2ZKIlPejDGVPZspkStnzZc54cXMVm2T1nbhxUx9tfnwqtnz5bYlL8imqrEXNN+17zdVjY2ZZedB7hw0KtXkVlr/c8KTK2fNN+2wza8vZMKrr+WEkLkiJrvSeV+xeug+avN8WT95hqyvmyH39K9K3JcoE+EN46cps2fnvbY5cI5CvbQp+Zrpc+T+voMT5u35qA/bhR8rJwdy5az5csWtX5fL5y0wdUrrh2LtSruWE55ctXCRbPP8xNywP/mUa21eRm6qnpR4x74+g4qOld2/eo5tGD+tw/xHuvWW9ZNnyKaqscYEXNep3fONWX4O5FMUTjzjQN79jYfkP/3nTrlu31tSSin/bVWzHLmwYCINyKo7nz37njSJFihko14H9yV3CamQeDbefq+KGhzmrfO3isGY8zPG+lHvevsqq9hSXcPBfkM5XdrdvEfvXGVRvIBcNq7zdTkLN+WzJeR9P7aDj4qQqYuxqpo7EaIQ9i4b6bB9ywgqbXfUdVEIQH9rBI6ugM39L8H0ic19BEKwvm4GIKipf4WJja/xxgc+Qs7LJOruA21lfbh6yU8TwXvsnc1HxgRuvgypWfkih770l7RlShJAuKOat+FFHIXpJ+FR9uUFlM+ZyZQnf54QxLlsvstNubu/qZsMyb70AtJCUzpUPoBTEYqWfu54994JYXA2zBv5jp23R9sZ8hZauDsOEAkde/RSXp5t52N1cuvf9+wJJtW/qrBPhYgF3N39+HNc+8QjkbB5Gn8CdIme2wpUb1/O//pQNZOryqlvPsbvtrekuWa/cwFn3smk2CVPxWG0BEQBMH7DCvxGFSnIj9SUhcmkVJoba+tUENcDOwyi79DD+/EjPAD7PUTPX9G8jdz8j5ur7uIq9n30ns2xuAppZeu6hxH4qH/6JFKCqK0zFnE5P8O5T9xA0NSAFySRp3U5p0q6sWvCVLrdc5ex52i/+ZPGjsN+v72AJEoS32XvLgNoArCx9jpy/fob2w0hQ65e+jM21n6ASQ2vxoR5AYK6KMSfS7Q022u315YTeWFotCfia1/liuZtlvwAc0I3bH8knDv7vUVkLWQjdwzcftLHGveeXd/urS1RYGN1fdCxNxOE/2T3Mrq1nUv0q91Gfb3PmRPkvAzN/YYyvCWp/tToV9oCFat/3FQgwhIvzKu+9Hzqb/gc/umTHH9oMavXNhK2tuJ94gZKmur5SJDn2ej59fsUTN2/r94fU1066b0b7ToTBgRdFRXXbdtePYkrd29SMQ+CMEFpBcoEuPbpXygHKFkwwHF3OHvB6ZSNBsIdePea/Ww2DOj3xn5TRhrx0PKEsi8voA9KcFqSzxG+vJS1N34eUV6mrDEhAUfvLoju7We5av3vaVjbCHNnM2bubFZ86rNMi1CX057RBkDTliymYfocgsicOx/F4LTVwJo4AISehwwDfIg0NcrMOW3BNfevYnDrQfwwJPB8Gj5yYwzu3kNS2rAO5szk+JgJhuCntVP5WQSceHgxZVb8kLQF53IO7mJLI/AnhwyH/U2KOBfJ3/LFr9AWRcyqfWmpiiuKjFnIxudBnr7HC8CsxQi7vq5lSIHw2D5qIm29ejNh/e/JWmERdBvDMODqpT+LrG2BFx8nRNCeybL+G99l8uJ/5tkjCrZt08bV/Oav7uVbPaf+t6su3xVHCVBx/DR6TYAwAVA1gpCdX6BsE6Yt/akBwnAjGdmTzxVGprH89vWOSGxFJPSx6761ehKrZ82ncfIMNtdMRwh4698fp/ttCyiJ4mhmwoCpT/7caCVUoJgkwpBdro8imnU/+KaJzHz10p/FdnFJ0mxXL5opy59XC1+oSN8AQhSC70jUbj2x8TW8MER6PivnLWDtgq+xfdTERNslygCp5Ytfid6nSin78gLyY8eZ8QOoaXiFEZ/+BNkjLSZSeHLH9wwhmfziErWIiS9s9xmNW2nfc+tobyI1K180D7tjD+p41XtqrcFC2PP4c6y59WtsrJuRKNt+n+1z4paZ1latsDz5wQ9TV/87GmfOTXA3+ggXg/EjioqWb6frM0/x4ZIuJv+rQOa5J42gsUjyO7pZLF1yjkE36XSPXshjb5IPQwLfZ8L65YZqFgNmkVKC8LQwM3WiACZWoE0oXDbRLBSgpaySAZaU2X5nWjo18grKvryAEZ/+uFHDpdVXhIEJeVc+Zyb5n/0DnpXf3f1t1ly7VNtchrsz2fW1ZQVSKgCU4KlHI29Ija8plCZA55ehQXnePLo21gb7Xd2f+JVh+bNhQOn//DLyAx9BRBJ0KKAp1TS8QgHSRDplSaOV8WXI5OXPc7xrTxOzwe13icKxdAmH7jPtkq534lB4eBGeaMELN+4yjZS0//W3DctePmcm1/zkQZqWLiN/kzKRToxjSr/r++73OIEQRpvW+7YFtP326Zh5v/0Od/NSEPprCDyPq4E1qA3sPwbakR1SU+5CGdLSu4ZjGNO8jUwYgBDsGjG+cA4m3mmxXV14NI26qijEmCCuXrOdetKOC+oYolRPNmSXy6KG1vUAFSz12PMvGTWcvTixnvVBISFFaUvNdJr7V3GofEBqn5i6CSwDpiTWoeu/kUpcZGhCpxX6QjoxM4Rx3dZegG5/IsOYUA6UqvSaJYtj6s94n2r7wnidNC9oL7iyiCi4i1CnfmeOJfpX59kz9Aoa77iP1bPms2b2fNbM/QKhp9yslQAyLm3XG8a4Lau5+v67mPbI3zFy/sdYff2nAXi939DYe+z+cJOypBU0Tp7BmoWL2Ne/KtEX9oPa2Wpn5IYf7xcVpsBN2q9lysDh5trBPllKfMWpZTzI6u8Fl+wPp1T3wundoK6Uzn9XfSSte0mVZFz1FYI8UdIttYw0tZF6n4ihMcnoPXsrq+TrZZXySLfeMu/UT6sP8wjZ7vlyzfQ5Bp2no/fuqayKUKsKqso2z09VqeWt/1p1pVWDHbXHRQ9K+8iU71o9HJDsizxKNdke1VM6edK+d6Qy1f2dd/J1pt7F8gUoJKltS16IIYPlhEidJ7oeafVT41FcPeyOU33djBgK07YlL8TU77oftVpW59VzIXDqoPs7bbx+8cX/beh1r1695Modb8p/+s+d8t9WNcvRdz8nh9/5rBx993NSLe+LW5+X/Cihk02V9a6ud2bPuWdT1owMEs93bz+XumvjPFv4nQ6IOvRwszF4sQ2KtPekro8XBkbwZr/D3e0Ahh1uZp0V7BWUy+662TcRDh2GPHacHk2bOT1mAj2aNjN+y2rjafc+B2vBfpf+r3sjiNqUxvbqI1MgfHTAn1B45GZez4mHF6eytvXT51B6/C3ayvrE2mr3mX0tJBmSXt/fNG4afQ4fZNDR1+Mh6a1kc4Bp2AgJrooCDubxhxZT0tpSiJAupTlMSKesNFdyZQoexMoPESThfgr5x29Yzl7r2om1jWgYYZvTnPLSEoQMkYt/REMUCXvvY89w9nuLqGl4FSIuSnuVum0NgeqDhxjQoxdvnj7JyZMnOXdwK//rQx/in/9rF/lQve8CcocLJqHPhH/spGNXugMF6QvqguVZz+hzq1tGYFnxpT2bJgTsTN3cfMXy6LIb62YwYf1y4/YbCM+4WtupaekyRs3/mFHDyiLlpS0smzjZbQLF8h6qGGQCxugJl/cz7BwxgfFRrA6b2AjripbYp/WJu/jS6qtsBpK4TnY5+qgYCmHan9avmvjY5R8qH8AAC1hGUggsJKPy7H5yrUjT+q6xbga5fv3psXsnQ/fvoGcENV/oUzjUdzAHPng93qmTTHlpibGQheTY6d86vsn49csNGpbOo486dsp5GaSA/x3kVRBY4Ev/+xtMuuE2Tp3L8cjv9xKGkpKsx/b7PoqU0u3mzqV3w1EijV1yWVCbhTvSrXcMcNN+7lDPCmMd2R4BlWpWeFP1JLl83gLZVDVWbq6eJDdV11yQvU5jP9PY42KsswtkGqKAbc/7GVNWDhKAoDqtWrgoBj7q9kUeId/oWVGU1bW/7+szSOad445bf/d+R+PT0fW0senoeGF/3zlolGz3fJlDKGvXIu/MI4zFYEdjpC0gV9z6dVlfN6NonfV4NVWNjYEIt3m+XLVwkayfPCOaWxdue0fvsMeqWD/mUOCz+girrUYVQDDylxTEPxWVI+XwyNpx+J3PylF3PSf/bVXze/8ocaqkW0z9k8by2VR2x5yb8EdXE37/HqOH1/cHnGoFol1JhjF2enwENab1wtsmXmOedZN+18Zx0xjXtM440uwcMY4xuzeZ3UhTdRVmXRjADV1G4GfZVznMWEgCZHNt+GEh+nEGEPl2jj+knMaORb4gY+bOZtqihQlHsfjuJukXtdnuJ3fHDoEe58/EdtFUzsa677Lxdl+5HIJ2b9bRqDOy4C+hbSnSPAglahcEhUKV9zOcHDAEL4poHoRBYvfW7cn7GY5/5hbCH3wTPyzgTug6hyiDoYY77jPcWMPkDxbaapWpuUnpeRz/zC3smVrL8YcWIwRQW0fNA39tIovbbUjjBFy8ELuv3Oft3zp/GP3XoDB5QHq+auvOXXjADOv5Yy376Jprw8uWqnaHkuc3v8Efki45YQjwTIBPnexOdzs3QJB98xB1S38KUhrHJ7fzbaxA95jgo3z4u1sGNWmsfwh0OXOShjvuU9ZnEYKUXjwhasDWXTOL0uNvkS/tYsLL6TLfqBjE0VtuZegDf00myCGFx9Ep1zLs9d2ICOtPT6YpLy2BF5/AQ5L72T+w+hvfhcYGJr/8ZFFnq7RI3JpUCgqWjB7QJ3KHdttsT8wwUv/aICVp/eOmg5XD8EdX09a0OYZypJ9rmD6HmpUvGjNwW24jBaz/RqGPa3/wLdMvYQTs6y4qEdVKNjQY1GZ9/NDakVB4yqistdW48I/fsCLRnnY/S9OVdVy1dTUyDJj44Ldp/tWved+yxwAigKBcbA7FFrDTVp2KHUHtZ+KyH0EgVA7fIeBEaE46puhAYAzQBAQypO1QE12rJpl6vbZTbRbDFz73pYvysHw3HCVcdrIj1tSVYhdjWzs6iuQhEUciQMQ0D/ZHx3lYNTvutKXrkxOezAlPxQ1IqdvZTEksfoPWMGwYP61DljsnvBhbmgP5Rq9+Ji5EWt+5cQ6KHYdyJLUXuUg7E8T6W8j6yTPkpupJ5liWxioXNCgi9lvnMVqVqE12GfnIsU1KKesnz0j0gesIZ/pDeLJ+8gxz7DibKZGbq2tic0WPjet0lwd5sHyAbKoaK9dMn5M4TmjNgXbsCogf59L69XSmNHW+6T53tRzuZ3N1jVw1e77c7DhvueOkv3+ZwnHi2pFT5Jf+da385D++5jpR5d+zRwlIZ89cCq13Vje/y5rtHjSKoYeb8SOUHPte3vOp/8hc5QLd2sr6b3wHGhvIHmlh/IblyFB1vR2FKBsGXP3i4wpq3PNjGH0eQETdCeImxET3s0GOHk2bjbGNF5m9rpn7BcSW1alCRbBcjCmEv+t3spXA83mzvDJh91/YyeK4hBDnNrZW19AemeVqiDXNSbnjkPcz5GZez6Tv31MUTERa5Wssy/PZUkpzbYaj8cKAQa+9nIiArfpQUvPyk6y+634mN7wWK9vuA8OlRbYcgedzVcPvyciAUAhe7z+UKyM/luTY5I3TnUZwrjjZSuXxFsT+JtP3EhQEQEUFIz79Ca6IOIWQeNvdfg2Ex+bb/4bJ998d68c0oXja8UICY3etJ9iziX0Dhif61y0L4EPAQ9H3U69vo1/P0uh+jDN8b1o+QnKipbFmbkcXY9EC4OhVdRy95VblXLV/e+TNp7D2To28ooDPF+QVGCcqUG7g+aybOY+Soy3GZz62wMOA/X0qOTT3M5Q2rqOm/hVr4QqIjjVx9lBN5NNjJkBEBATK0q/vuhVmspi8FCZLKDylFhWCg/2GMrRlv3G4GXjsTdNmrOf0eTQfBggh2Dz2asY1rUNGLPzRHuVcsWeTIVI6peFohigYOtHYEIuV4BK/IKqn7YTVLadASTVB84ChRwp+Jm69/TCk6zNPJYIMu0Qk52dY/43vEra20ut3v2VcpEHxpEx4utryD40ctRG15fbYs5Nxu9YrEB2nPQ3XXg+NDTGAFz8qZ1fVGM707W+0SpooGABfiFj+0Kgc9VFOJmZ6/L0eIMKAUYf2xO43VdeYMdMQ+KHwmSEL2pUt7ec4uXwHJV26pRLvt50u9VGiGFvW0fcQ5JlMSVHWLoeQQRTursAeKhZes5bu0cRmaV0DJPcdm6snyVULFxl8hfN+VtbXzUhIxzVLvWb6HHk2U5JgwZsrBqcejdTxJSPXTJ9j2M/2yAiqWH/YnzXT50TsdaEOaVgO9n99THCvrVq4qEPcCt3fK2fNl/V1MxJHo9PZ0gsaXOljQKFPhamPXU/7yLFtyQvyjV4Viba47QpRWiB7vNq8TOKouGb6HJkXwmiIimkvtHajcCQp1EmnbUtekKtmz5ebqifJPZVVJpyhbUjnjoN79LLnT33dDINT8XpZpTGmWrVwkRxZ2sUcJ/rffJ8cufBZ+aV/XStHLjRHifMXtT4vNWFwOyjtDFvsXGtP9nyKjCCWNzqrdjRBQwoxGNXA1sicSLc+02dm+yxarPzOvtturz7rxyePSO0bdzG80atfwqKvmApNg63Yakp7stoWmWmqWv195az5HcbMdK0p1TUR60O9qPSiTPajkKsWLjLgPWkAK2n9mROekg9FY+C2o6lqbGyx50C2du+dGAMN8rNy1nwTh1KrmfUcsK0uzdwU6TISmzDZ8pe0cXI/uh/mjp1kCEOva26W1Xc/J9fte8uoK6vufPZL70nCkEbhXdPiYubNr5dVGs5AcwNpkzeI8hbreDuv5ixsIZprqqzzt3u+mQiFySJkXojYzpmnoJN2F0exeoQpeS+089r50iZgWplpC74YMdnTvypmvmvfWzV7foI42u/JoxC17OdyQsgVt35duslFPbLrdd7PxhZ5Wpt2DhoVExaGYNCY0j7L5y2Qq2bPjwUkTiVMUQDkXDRH7Z1bzxkt5NT90BHXq/vY5lLdvnXniv5+sHyAPJspidkzlA4eJ6vufFYuem6rvPKbv9GE4b2J4KSTpKDG8WRIc/8qDvfqFzuDu2fb/sdb0ObMmTBQ4eScPLrcgccPJyzR7LM06PO5Fzt/28IiCXFoehly4uHFVN38SaVqRFI/6ybW3fm3ESw+lhAMcBCpi50F7b6QVh4Vd1ErEpO2BbodnlVPu53HuvaMOYAJK7/dZ2mqNIBjQ4ZTf8MtCRlKu5+l920KgclGuLLLA2iYNY+t1TVKLYcg52eNt6FOTUuXkS/tEnve7o9MkFerw/NidbT7aejh/SaSl07ZXLs579tJAtOW/pQpy54ABK29Kkyd3f4tIHgrGdHExtc4sbaRuh98k0wUKDgbKGQx3Q9uH0DcCS/vZeh92wKOP6TM5AuynsL4pc2VgccOk82380HrWvDGDmQY8MKWN2nP69lwcQhOnSIMQojrhRDbhRC7hBALU+7/uRBiY/RZIYSYlFZOWkobXAEMa2mm4uQRI4F29diHIr98u8O09yQkJ0DaQLsLQUaoS+2ZrIGV1+IdD6VT31B3XRQIVSCFR/ZIi4Fs88OQcOgwpi1ayN7HnqFx8gze6tbbSOs10GyaHtsd+LQJBSp256ZxVyf6TucNIQramqW1R3ns2fOl3Vg7az5bq2uiGA1EbSwQLPe/Xa/xG1bQd92KWL0O96pg72PPMCYCktlSMz3RxxKlQaC2jpH7tkaaBWEMzHRqWrqMqps/ycTG18h5Ps2VVezvOzhRTtmXF7D2xs/H6nqofICpbybI0967N+1R0GMd6jCM3LLtPteCSx9JJsgT+JlYuW4/2+Pmy5CyXz6KCC2jMOHR+7YF7H3sWRrrZhRMsVPKAQX60vPWzzPlxSdiZZtlXWRMQCKEoBIYHN3Lh3lGb3uV68cPoCRjlvY743YthPCBfwbmAOOAzwghxjnZ9gIzpJQTge+CMePuVNKNDonvej5EDj5J6tnv5FECPx7a3N193cE0O6913d41hZSI8jITaXjNwkVsmDzD1NGXktys69WkFEqCPKnhVZBRMBTPi+2AExp/T5+zJ1Kl7G5d7V3RvmZf92WIlFB5MB1nUrcDBBtvv5e9f3lHrH/7H29h6otPUL13s4nlmRc+u6rGxODHJFHoeD8b699skGNI9G5dZt9Tx2LtaO/b33yPEQfhxYKy+DKkNgJz0ZGeTzy82BBZLwwZ0nKAYUdfN2WFQMNHbmTM3NmI8jITMCgEDo+40nBpHpKrGl6jtVdf9lcOo/6GW6Cxge0jJygNilVfm0h7SAZF2h7oOG6lTmcq+pPLZMkjCITHppr3A8qtOtevf0Kbk0YcBh1706g4be5E/w6Bc5mSWBlSCFbP/SKhEEy26jP2zUYWfnQs/3br+/Sld8btGrgGWGb9vgu4q4P85cDrb1fGkHau1fe0Icue/lUFFONIoOSeHdePm5Y4G2pDl/q6GXLVwkWp500tjdZSZy072DB+mhFqauFTe6QdsOuuXH6zRoi2ctb8WDu0kO9CMoG0vijUMSlRd/tPooSUug2bqyfJ46XdHe1L/Nn6uhmJNgUomYASwqW7k7vv0sZAaXm1oZQtNCyMr4i0Oxkj1NNyJrs+bZFMR0qZEHTmQR4sq7ygHKY9mkvFtACFdimhpJYbKdlCvB/avEyKjKmAAm5rkQrzJClATquv7SaukbdduYiUUi6ft0D+DYV9c/7ka4ysRi3vi5QBdmIB3wQ8Yv3+LPBPHeS/3c7v3LsNWBd9JCkTPE2dk0dJvbWAJo9QQigHgr1d+EYYtKd/VYSZoISEqxYuklIqqbe9CPR7lWNVjdEgFKDqC5O3IFhKDqpeyJura+SKW79uHLTsdm2yrPLSJq0sck/3wZ7Kqli+YoRFa1Y6A08fooRfBQFa8cnqvtd9V4BywurIgnT5vAUxpy+7bK32VP2XhG63F8SKW79e1OI1bXOxv9fXzTDaprT7ul2utsEWKuZRwlg9L2NaDeElYPmLqSntd+ZBtnbrLZfPW2CIep4CHsea6XPkhvHTjEZi1ez58mBZpfw1BcJwVVnfPxphmJ9CGP6xSN4PAduAvp3lGJKEQcj146bJ09nSWGcWCEHG7L57K6sS0n/dcRvGTzOSax3XQXvXpS3ONCCPwoRV5eqJ4u5m7se2G7AXb1y9qjQlx0u7p0yQlGeFl5Dq63ubqycZtWJOeKnm1u5E1ItH73qaaKpFk3xP2nuNVH72/KJ501SuxWw3QhRYjEvUZOx5RchszsRt48GyAR0uQjeGg9v3eyurzOJzVakqxoMTqyTq84JdS8aof+3+6oiY2/2jOQ6Xi8sJz2x89hgdokAYuoLc9NhzfxTC0KmjBDAR2A1c0akXRw1RbrWFheBSVvvooNj6ju0B3OdzqJ3KdZctRgTc33pAtEpJSil3REFm9P02ZxJ0pkwzqM7uaROQYrt2sbbrhZiLdu3OPOey5+1FjKjciZ0HQyjd3dHNl9YnOUglEFr17I6zu6hsJCm33zXhaO2mbBFy1nP2BuO+u6VHuWzzMsavoV277zscZ5rLv86z4tavy1Wz53c4T3UgJA0H4I6TnutpxOtw9/IERyRBDqJAHH4x93N/MGHojFZiLTBaCDFCCFEC/CnwazuDEGIYsBT4rJRyRyfKNKnxju+ycfJ1BFEU5aRWoRAM9dwnblAw56RrGUIKNt62MM4LQ6NmipddSGnqPan/C8GUZU8wav7HWH3X/YTZktizdvh0+78raEwTFlZaLtO6vghiQjK7rXbb07QsWkjpqnjdsoxAMwKaXX3X/Uz5/t0GFMVNdlu0svTEw4sZ8emPMzwKEOO2H2DvoFHpfeL5NEUqRVezJMIgwmr0DMCrdPL4FniNvh6i+i3o0Yvap39B73OnCL0Mu6vGKvTr2fNp/PANAByqGJx4d5/Tx8iGOn6JJCNVcKNMGDDl+3ez+q77ARhxYGeiP7wwIPviC6qg2jraM3HBLUBzZRWrZ82neeAIPGSqFk2ihOBSgvQKkcV10piX9vslMMXKc3BQBX9w6uTu/lFgB4ojuCe69hXgK9H3R4BjwPros66zHIMrbHKp+M5Bo0yotBW3fl1ujcxz0/LaO6W7wxRjiW0q/npZZWROXcjjmubmhBcTXtoUXe8Axdh2bRabVn+blWzzMnJv/yq5qbomIcAq1o40bsX+vaeyKpUT0TICl20tVo62QtUep7YhTxCNl94NtcDX3j31br983oKibdO7bzGjozSglLwoGB9p02a3T9M4qbR+LcbltUeh54rJNnTdzmZK5Jrpc+SJkm6x5+snz5ArZ81PGF8VG1t9JM071rdp776XAp34q7/6K7noua0SkFV3PrvoHTlKvFMf3YhiLqVqEomYtWIa62kvWNeu353MsYlEwa3Zfme78Av27dF5MU1C7k6IfPSsfWRx33mwfECM8CQIG0p4ad9bM31OFDMzfSIWm8z2O/LRGVgL3TRAqpYRFBOoFitbf9zFrdtvE0Jb09Dm+bKpaqxhudOOJ1oD5Qr77Hq1du9dlACn9UHa/EpbYBfq3xwi1VxbOuWmHYfbvEwETltc6FlMW6EEkEk/C/v9z1AgDFVja22364s6TlxywpB2pr1QR7mDn6cwyZXvfLKcnBDWYs/KlbPmd2if3m5NYr2jdqRmsomX3hFd5yP3vJ3YIVKk2fnIP8AlTsX6qKNJbnMjWnW7ctb8hBrOxWSwiZ9dtlbnaW1EGoJ1LoJfq6+bkVDnuW3aU1ll8pz3M0VVs9okOY1Ap/ZrynU3jzJ3FvK8n5EHywcUZFsUBKaasBWTbRQbkzd69Yup2tPq3Ob58nD38g7HUnOreyqrYoL3kLgAMpMpkcPueOYPIgyX3O1ahKH5Lp3/roWge7+QRzKp4RWC+b/nSgfoEwrGSxtr309b3RS8igpEYwNTopD2iTqhTKxHN2+jLULz2f34cyYOY1oqYBqAlMpQSv7wR7R/+hNkg5xpgWsaq697KFPwKuu8LqKyaGwgFAJfxttu11c63+3fujztsl3V0qze0/BKKpiqDhzjgqRuHjeNiVsL+BGl588aANNAKiNeuy756J3VzdsID+wwpuYin0M2NFB/5/eY/P178GRIzs9ybPBwhh2OXMsDu3cci0NAynQ3cNeIKAR2VY1l+MGdBp/DTVuqazhz080m4AxAn5s/adzyPankDF4YMMqKw6mTOy83Of3U99RbZE4eMXlynk/jzLlQW2ewQBBwVYRFkTbfBWoOh6VdaLnpK8iGBoa8dMCgiQ0AyoDjQD7fzrhdqyk4ub/9dMkJg0cc3GTXoFGcK6/AazuvMBqddLxrT8rOnUpMGB8ltILk5LBT+ZyZVFmBYV3TXfsZDbJy4uHFhEOH4X3mFgIHiMN+n12Od0ANy/pvfMdMfnuhheZdsmh9JRD4GaTE4Dzo59LeDcnJZF/Tz8aJhVt3ATIdBbry4G5WzltA33UrGHFgB0MO78dDkheCwMso3EVZMA/WgjUfkGGgrB+lgo2r/e1TrK+rY2PtB+jz+j7O9CznqsbfG0g3t+466TakQcqntTtEcKaiP1v69qf70Raqm7fFBLMSGLtrA+0PbqX5V79mzNzZADT96tcce/6lGOaDRAflLaSAgj9NCKyvm0Fd/e9Yfdf9dH3mKQP3ZxOqHSMnEA4dRvnUWpham5iPLmE3cwrJ+C2r8basJkQovA6rn69ARagCmHx4A5Eo9H4uJl3qo4R75rL97V3hVJvnF/WT16xeGptmHw9ceLZiH5t903IGBR1WMLxxWdMCKylMfre+R7v0jAkgOzo22fgQaW071KvCsJMXOnbpI5dbRs65f7B8QNEjjxYo6jwy6ve3uvZUHoqOft1+tt3zZf3kGRaLLlIRqe13ph1nQuL9Zf92hX16/Oz5017knRr3wLZ6XTlrfsIeodjY6zZqGxJbvekamumjy9lMSSpcoFt+sf7R7Q4QcsegUfLPVEgGCch7v6yC0lz0+rz0hKHQQNuk2NUXx0FUMpEwRsgTJd3k+nHTlP544SJZXzdDNlWNNWd89zxYXzfDGKLYwkc9OWwBp5aq2xZtGjfQHSzpDJbOb1srdvSMto2wF+x5PyPr62Yo2PIUzMFiZ+y0iZz2XS+m9eOmFRWqpf0v9tlUPSl2Ptfv0FoG23LVli/IlHfo+aCjSbltz0eLoRjh0ONpP6fh5js66+sNRtszdNRuaT0TQEJjZlso7nFkArp+eyNX9o7sTop9t3/nhCdv+8BMQxj+/Na/kICsuvPZa96ThEHvHtqyUEppdh49MAHxuAu6s+2dXButKAGbn7qgQoiZsLqGLjagik2INCEpJjSLT1hiQjbbNLrYAmu3LNq0anblrPkXVFV2tHj17l5scrllHe5RnlpO2vuK7ZjuRwse7d3TWGh2UO+2iLMrtnNrbiItRkas/Y5viY4PocdTm4AXG5sYt+VgbHSGYLzRq8LM0bYIsDZNXdouvKIqTLce9n+3HotGjDWEYeCQcZowXBQewyUnDDYKjp48aSbHr5dVmgkmpbKVNybP0SCkdazWaWtVmD1JNXHQCNAayVn7Rdh16gxSUx6RMKW1namKDfjOQdUmr14Q9nvciXGhRakXlqvuK2ZDEYI8E7G7NoHLI2RLj/JU02pVnwvHdtQESvdz2kS3CYltYWonRZAL73PniGumrD/7+gwyKlrX/8F1TCrWtydKusk10+ckzLSLPWe3vaOxt4mc2/d7K6tithghSTWo++56CpqJK6L/F4sSfckJg22Lrhd8sYkYglnYxWDE0nZxjbxj26G7XEBcx+/FiJCdNAeRNui234GdvxBc1UvlIPQuaZfjcjMdtVV77GlOR5+V0yDr9/UdLHPW7qfLOpEtjZV5MtslsfBTCW/KAi92NNg5qLrDRdVUNbZon7tE3JXd1Ncp4yFXzmCPk4aF12WmeZR2RLiWz1tgZEw6X/KZjuVHaUTC5WrT0K50OTYxcdt6CktlGf2/8X88IN+ThMFNF1rweyurUu3Riw2m3dn2saUgNxCpLPfKWQWAT9eZxhWy6cHSLsjFJra2s3DrZwvZ9Pv1zumeid3JlRMKN1Gf3TXEneYOtHdpmqVhZ3Y+e9cstviL/U677uJW2vfWTJ+T2nc2Edc7vk3INScgpUztX3dxa3d6d0d2P+6ib6oaG8HKFfK0C99YJrrYnnozOFhWGbMV0fePdOttPFuLAf12VL80C9AhxCyl5fevuyV8TxIGd2d2vR+LUVhjUacXgEg3e0173vaEcwWQOr8OV29PzPN+Ru1Wk9M1I2mchrvbpZkl6/OnS5hcYNS0CROAMZ0uZhmqnXLSTHnTdnf7usuqpxGO+MJPn8SxPEU8RbUxl53sI1VOCCNb6qjPW3okDYXsxa0wIdKPQTaRTphiiySWQp4C8dXo3PlI42I/nxYEyAbCtU2tOxpv95o2Adf1+hPihOHGP3+g/T1JGEIK7rtpZ760yaUne33dDLlh/DTjp+7a5adNYhtYpJiGQS+4835W7ulfFTO/LcaRaApuo0frI0tadCZ7Qe3tXyU3V08ywintv5AGalJsQRabPFq74ZpauztOsXKL7Vg7B42KCf+0lqgj606bs9rsgOUYAhQJYnVyOUh7jPVCrp8cVzPa1qNu/fdUVpnnO2Lx7cW+t39VQjiYtkBtyP40gmM/t2PQqMRxNk2tWYzw2teUf4r6/j+JE4b3NHy8NlnuaHK6ndPm+YZ9VgMpitoxuINu5BSz4yhLnVkQaSxy+oIUCffhC5Xf7vlyT2SurLkL9xm9Q3VEIPRHC/5sCPgYF5Ci0y/2iXM4GcMBaccgO/ybPYGLyWL2pixe/b++boYhDK7AUplWJ2UvWgXa5izOtAXfUdtsrkET6TRheKrZfZG5EKJkBpqr0+HxCpyQcusvFsHd/q7BhNLeIUH+gARhyF3M+nxXoER7KDxFSLqT6qS/69jHnlTgnRqTOIOKlhxaZeQsIE4bP082NLDyS7fTfffORPl2HSBuKWgDqNr1kyStLTNIRBgghYihUOc836AE2ya92gx7eEsztQ2vUPfyUhAili8AQs/nUN+4y7CM6mbn1f3qyVCZ8zp9qSwcw0QdXHdu2xpPX8uEeabcfzdTXnyCsRtWIurqEAKCyFW63c+wbvZ81ixcxNrZ82n3M7FoT16YJ58pGN3afQ8wsfE1E4RWOOaguX792fvYs+yoGhtrr0ZwzoZBzL3erjfETX1ta8QAQc7LkBei4JIOZIN8LKxeKAQr5y1gzaz5xiUcK39APOnxEVLyZvkA42o96NibUVQpVYu6F5cw2jK3tttmf+/bcpA1c78QARLH2yGBQSTSRYHBvis4ho52aPtzqGdFgcoaQVuBYzjvZy8oYHM5jbSdV++09jlYG724ZXZkZGTvnHqHXj5vQQwtKq2umjNQ8HSezAlhdO7FVFZ6R3Lrl4afGFKIVtVR36dxUu59rQoOUII4LRuRMi5fSTiHFeknPba29sCG89PHhYJLdnpAoLTxL7YLb6quMQFzOhJKBgi5qbrG1MGGqCvWrmI7u+ZMOgoilFZfdcTNGAM+l+t7mQTHcFEGTpfcVyKExG5moxXb1HCABWoS+L6JYehVVEBjA1JCzz07GBcFNtV59Y66se46cv36M2XZE7E4i/bOD8revds9dwFw/KHFZteauuzxhC277f+Q5sNgOyh5MlTBba2dOgR2Vo2l/Oib9Dt9LNYHVS3N5D2fnSOvYsyuDbGgsq5fhSclu4ZdyejmbbE4lI3XziY3YBDXLFkca69//iybat5PTcMrpr52cjk2u02ur4W+J2RASWsLY+bONlDw1UGenJ/hzb4DY+W4wYmbqidxxZ7NiDAk8H28A/sN19D44RsQAnrftgCAKuPg5LNu1k303dxAtRO38lD5AAYeezPhCGa3T+cds3sj7N5I7j+fZuPt98KWNUiSgWkFkvG71pO/6aOEnk8myJmyTB9Y3+1+dH+DDnIb97ux2wAKeAYJHqHpt5Igz9VLfhr9LnDaeaBHaTdoO5vS4reXLjlh8FAQ5p4MUie+u9AEil071r2cYOcu/NMnyTasY/yGFfihy8gVUuBn6HbPXZxY24i37PEEMdADtmreAq594hGali7j2PMvUf7lBYyZO5sVN90aq0OIdugRhJ5HJgxSjz4usTg9ZgL5pnq8QDHXeS+D/OGPOPa1rxrCYBOVbBgwZtfGRKTp5GSXnBwynNzBXZREE1YAU5Y/z5EovoS9+Cc2vGY883R5aQ5JtrOS27YQEXOCA+h+tAWAY8+/RHUEBU+Q59jg4Qw/3BxbFPaGcGrkFaydNIWRLz1N31PHmPziEoKXnwQKAYcbpTpaZPM5MkgIQrq9vp/2bj0Tdet3opW85yvHLgQyCjgshUDIMOZlqR3cvHw7/X/240TvJo4jMkQGYaJv0uat206As9lS9laNpb13bxM82X2PfQSx361TWkRtHxidJAq/Bbq5Fy+YLvVRIodSzRUDL72QvXoaa5umOdDh0NLUofr7puoaw77aAWtXzpqfGthVY/fZrN3OQdWxY0oai6ztIGwdfDHYdZu1dNniPAVTZv2x/QfSWFhdXppQNI3lTpOyBxTQjF2LQ5vVdu0PNJDO5upJiWNamv2BZrMLbLpIvC/tKKfrqEFx2oVvBLqrFi6KvbuYAFamvMPt046ODUGRuunn2j1frh837YIGUWn1cY8tWlCqf3fjDxc+XnKOwQdEXR3n6uoQW1bHaLXmDmy2MyQuEHNZNB/bpblwz5eSzLat1Eass73z6rxjdm80nILe7fwgZOqLTxB4cUGmKjPaNcKQLnt3MWr/doPvoOouOFA5jCEtB0BKcpksXkUFXZ95CmTk2hxhLoryMhOOz92hQ0QkWizUOw/kMiWc6d6LfqePmTqNOrQ7xr7GXZCtYw3S9G3akUqzpm/0HcyBD15Pl327mFj/qtmp+pw9odjZ6EHbhTn/6Y+z/iM3svH2e81RL3z+JcrnzEROrSXzta+SkQWB3uaa99OjabPpN13XvK8cmhXmgzTHPztfR/U3QVtkQE3DKwSez/ozpxUXE6WmURMZu2t9jIOQ1kcQPy7a7zoU9U3fdSvwczlGHdqVOFakcWI+CiNy4tbV2Em7r2+ZdC0TG19LDanorg/7XToNRGEwRqk4G91RutQcQ4iyZlTqucJOaAvaihnNFKPwxXZX15/icI844q42mXWduGS0s7gIO9rUWjtNubtKHhE5yKj3r5k+J2bXoF1vCxGSk3rsEGRzxeCUHV+ZGKdZ1KX1Sw6lIrOvtXbvLY927Rm7tmPQqJg+XnNEq2bPj5k0X2g3016V2uJS7+BpiFn1k2ckvDvzEfScjf1YzHkojdMpdi/NmrGzuJrud+0Xo820N1VP6tDbs1j9NIejka5sdLG3M9/19/cT4xguyo5BRIv0j56E8h0vqPI8n4wlI9g9aBRBtsQAa7g7hfudTtwPEPjWlbzwzPlSp63VNYzes5lsmLeeUzKKQxWDGX642ZTbWDeDtropiP37mfLiE2SsHS2tTiEgEWSQhMDpkm5snzqDsEcPpISS1hYmNbwaE4zqHnHlL2k7h8tp2Hm3Vtdw5e6NMdVbWlo5Twn43rdkcWzXs8t26yFBgYYIgR+GRu7gci7uuEgiGYuATBDEBGmqvwR532f9R24k6NGLga+9bBCpi6XO1NdO66bPIejeg6kvPh7j1orlBzWOeweN4uSAIUxY/3uy0bwN8KKHpOmDtDL0CNjzLkAQer6Zd+1+hvXf+K4lVN8ZA4yx2+WmPwUei77f+D8eCJb+4va3fzK41ByDTUldaqsxGovtCjb178gU16bKofU97eyedp7MoyMsCWvHFiYq0prpc4yBSy5Cmy62K3S0CyiVqF/07Jr2KbYDuc8f7lGe8AqVJNufL6LeTCvfWGk6LtIXej6kYLmqgG47NgLTY6JxGTtqb7H5UWxstUl1WiAZ/VFh+grzzEZtdsvTnFJaqER7DtgyEN3vtmzI9rvRPjNp3IyWqUnr+/+mwDH84LrPvje9KztazBpVxwZiDa1O2BuBoOiPNl1+OwLLYpOoGJvmCpTcCbB+3LSirtZtnl8Un0GXrYFH0zwg384nbaF1lNdd8B31g15QNtaCndIEqXY/6yOGvRg7sgex23Ihy8W069p7tb4uCXgTUIhepj1StZn9nv5VZsHqRZh2ZHTrqI8Fa6bPkfv7Dk4AuBSbp/amYbuIpxGtAiFPErP7KRCGb33kKxcFH3/JhY/6yDCquSnGiktACo9u99zFbuDEw4vps6mBkYf2IJHkMiW8NXg4VRZrL4VHXsrYcUGXlaZagqQQM49SQQriYKjFdM2jdzTGfk/cupqVYyfQ7mcMUKpOXhjSw4oO7bKrivVULKgCVyWVVbRZ5bR2qeA5MiHIDCmw9fp3saSfC1D9KqQk8Hw210yn9ORxrty9iermJtof/DZNU2sNViIQRaJWRyYt4NRt2Vk1FvnDHyGef8lEvtbvCiOVojtG0qkTxI8M7m/dJ2F0543ySg5++f/Qe2ot2+88wZhd62MC7fFbVtO+vZGNt9/LxJ//IyX5nFJrIk19JEpouL/PQBOBO60euo5XNG8jd2AHjXfcR90Pvmny5kkXMAM0jbqKM6OuIHukhfaK/oi1jZT98lFK8+1KrY+amzYuppAy1mZQUaV1Gn780B4uJl1qjuFspqSooEW7yGo0I43OZDwPJzs++ZNnFPUivBB0VmF3EQmnp8IuKRL1tDkGe8fdXF2TavtezAnrSLfeRXdqd/e3WdKcs2No68qVs+YboeWFdtjXnSjRhr218Cs08IsbnEZ5d04yLK+NjJVPYf3rJ8+QUiZRuqT1zmJjVKwNadyGC4nfLooHNdLcqXuscfPo+ZHWn67rvM7vlpnmYq8/MYSptDaJ4gGD7c+/UeAYzmZK5HvyKKHPWkl8PoVJkOZhqKXV9qKwHXs6Ml2+kAlzYaII+VbXntbZUkSelgXPPD3J04iDmozpMTMSLCSk6vHTJoBbvvbKtBdzm5eJLbCAggYmbdJr02v7ug7ku2rhIrkzso2wPQjdummNi9bSFDQRbuh4P3Uj0OXpd3VEFDsiFrp/T2a7JK6l9av9XbvtF3uf7l+XEBTuJd+xqXpS7ChcbP7p/Hsdb167rM3VNalm7G5dn6ZAGHLCe28ShmKDfN7PJDwMza4iksFNNlVPMqrAnPAiVV7xzkubIMkds7Bw2zw/5masg8GmITrZkzGNY3AJnT6TFtsNNlVPShAfXX4+RRiX1iYXqyE2oVN2bi2Uc4mb6/+v85+J+t7Uq0hdlF9FEthWf2xhWnxBFu67XEVaOR0JHotd11Gw0kLZaflPu/AN8bWJiG1sZhN8G1S2I8JmP1NsTeRI51Ddzy/6DvqDOYZL7l3pnnclSnWz/hvfRdTVxYxaJPpcFSZMcbO5dkryOeNlV/XmXg5UVpl32GXo/6Y863fO89lZNdYYG+nnPSljPg5+GHL2e4sQX/sq2egMaJcrUao4OyhriGBrdQ2h8OPtgZiPg90v+yqrOHPTnzJh25pYW2TUZ1LK1Pa551d9zreflwhl1izDWP2J7tHYQEYGsef8KFPo5C/Jt8fOvh7EvP/0O3XA2DQZgaAQo0ECgRA01s1g3fQ5HOo7mI3jpiE91Xd5y0vVbbPbdoDDvSpMfW318bbqGtr9LHnhIYVg5OZ1CGthFAzClFFYRgaARApYM/cLBMIz7bJ9XQJge/UkEyQ3rX663vp7oX/SZE+qb1yjKFDzauO4aYSRJ+/w4y3m3i9rrr8tpTsumC45YdCNP1Q2AIhcsJHIhgbC1tbI6q/QcQGCwPMTE+vkkOGmPAGIMOTY4Pg1iA9KKESs3H39q2i84z7kD39EGC1oMzFkQf+vJr6ktuEVrkixswA4VdKNDdfMpHHmXLZU1yhnGJR1pS+DxORIi3oM0Fo9jroffDMmBDNtER5h5H4bCI+t1TWxiW/3j9vfW6prWDPrJogtUmHqkJEB2SMtJgq4/bxPMkqV684coCJA5RzXZLc+drluvvpZN5GbdT1Tlj/PkKOvM3HravwwUBaNUrJu9nwa62YkCESAILCIL8Bb/YeYsnXygOq9m1n/je+wfdRVZMKA3m1nEkGQ3H73iewuTp1kY90HYuUW/gviW1e8nfYd+9k0YWYa4YvXSdLlzEkkAh8oDwr2QF9c+/RPEpXoRLrkhAGUoVHLqCtj14QAeex4MjKRECasne6gEKhdscwYyEgg9JRGY+W8BYnB0P/XzryJNdHkCnyfoUcOUPPAtzjx8GLW3vh58p5PHkHez6goSiQH1C1T76Q9288yZfnzTFn2OGN3b0BIabiZtN0A6/kQEWEEQM3KFxFWyHfdPsM5RQQj8HxO33QzOT+bWHzuRJJAe6/elBxtiS3w3YNGxp7rfrSF1fO+qHAgrLJsTqeYlkd6PvKHP6LhI3NjGBmhUJgNoVMmwOlsl1j7gh69lPm408/6XdkjLeRmXY92f9V59lcO4/V+cULQ/eQxs7vbfZIJAsLWVnoda030lU5p3KaHZPLLS5lY/2rint44xu7eqAyXnHt2cvuzM9yPSzg8YFRzE0E0X7u7IBYXkS45YdAql/a+/Wn3swQI2v0s1NYx9cmfmzygAV3CBCtauG7v8Krrrn3iEdYuXGR2FShM0LBnL7oe3E/JyeNkgoCMDCkJ8kxd9ji1T/+ChjvuY+2tX1Pu3dazdtK/80LQ7mdo6dUvVmc/qouHjC2EJFuvdv1QeGhVaQYQYRDjSOz3Fo5VKM/SxgZAJiaXO5EEUNvwCjWRZ5/a4QVvXVVHu58xR4DRzduYuvRn1C9cpNSMxCds2kTWv3eMvAqAsi8voD1Togis59N47ezYeKb1qb7fo2kzp8dMiOUx/SpDahteYfL9d8dUnABDD+/ndK/yWJmne5VTf+f3DKCN6XPPo7RhHW2lXRN95W4CEjhZ2t38zmjuxXnGEIdorgaer1h9i/tyx8PdvFwiUqxO+uMh2TliHNLz6C1Dk6dx0JVHuIh0ye0YNGsa9uzF3seeUa7Oc2bCw4vxnZ2y8IwgiBaPZluT53PJsedfogkIW1tZPW8BVy/9mRJbAVvGTuWaJYsTdQEdszJP2NrKNT95kFWzPx1z+nHT/j6DODT3M5TPmcmJtY1U3n9XYuDzwO6qsYzcvyM6pxbqqifFxtoPMLHxNdOWABIBZt3JIhDkBeSiGJfKtDg+wU+Udufg0NG09+odM7m23yM9D2rr2HvbAnou+ByDjh+OggGH9Hn0EYZZ9iJ2P+iWJONBric//+PsHTqaxk99FlFehldRQd0PvhnjmuyyeuTOx8ahrawPk596NPUoUiAuhRHR5flI2nv1Ji884zB1xZ7NNDSMpn7h3yIbGig52kLJiROM2bXBONaljYn9WwC92s7E6ugeM9w2aUe5cU3rDFlwiahEcYkH+g9jaMt+Mz66rJBk2+366Wtjd29CyJBe1vWaN3ZUcBHpXcExAEx98uecWNsIwIm1jdS8/GTRhbhx8nVsqJsBFDgGu6wQCLwMpQ3rGPHpTzD1kR9y9dKfsW/giOhIIGLCPP1fs/F5BDk/YyIfu5yZS/WHvXUIeey4MfIJEMmJIwTHP3MLDXfel8qWS6Dk5AmkEBGEnADhgSwEs017tzbCafzUZxF1dSDiZW6pnkTZ+dNM2NlIt3vuoj2TJR+1OkAFRpUIvDBk4oPfBpRg1U6VrW/gh3FwGYngSPdyQi+TAF0BjSWR54rmbQok5thxuj7zVOxYVGz30+2rXbGMkiAXA7txuaAQYY4mdsr160/DrHnmPdkwz9UvPk7dD76JqKuj2913ceWeTQUPTOtZRSw9miPhtZ3Sjo8uF6VTgDomIxSmhCugjrVHCA5/8StqfIRHzvMNlKAOXmv3f7ufYWv1JN7q1tvhUFTfd3PKf9vp3aCulFg68ih0WM5SfbmqGW2v4KoCNY7/5upJxsAmTa2j3+eqglQZwsRa1EmFVksP/iKt51zjH1sdpo2FVHSo4qqmnPOc3bYdg0YVBYLV8Paumq09UqvqpOHL1kyfk+pBqs2C7TLWj5tm7BdyII+X9jBYFMX6N9k/6WrGtD7Q99NUjHa/ali5duEZL1F7jhSLMdEeGcm5YLt2njd6VcTjpIriKtZibW+PzLDTIPfcPspH8U4MyG7dDKPqbPMysTLyKP8NbQBoe+zq+vXDWl8Xsz4vNWHQRMBGVNYYh8pfIGnbbrtLxxehME4urhGOO6k0uIqOFblh/LQYau/KWfNjkOQdIfjq3/v7Dk4setdxq37yjBjxcCdKsYljFoPlbOP2SzHDGO3kZMf7TIt+ZIflWz5vgdzfd3AUmi2ui09bBHZbc5CwyCwsgOSC31RdI1fNni/3OoFfL0RsOiL6q2bPL2oMFETv1BaGeVTkcLscHfzGtua0jbLSCHdafTUuo5tPW/Havg52vBR7oQeQcI/XH00c7EA4EuRA1PoKeI8SBu1hp8FJddzINdPnyLxIDwKaNim09aR7zTVMKhCGArCoHQNCmz0XDFn8GPdRbELak6XYAg9RhlFu/AxpfTpqZxqn437SDGQOdy+X5/1sKvdlT2DtSGRzGG4ouLR6JhZJFB3L9TI1dYwMiNxwgG4MCU1IOurPtHrlhYjhe6T1TYiystRWoznhya0R8dcIS3ac0zS8iLRxcutpR1fX3sK6/LR54KJWdTQXQtRmZHODuo2DUevrsQkf/td3jDAA1wPbgV3AwpT7Avi/0f2NQF1nCYM7qbXnnUvt8xCbaIkBmDwjYcPfVDXWQIqlsc3ac1Oz+YVYj/GyA6cexQbJ7NwRx+IuGptldLmPYlyI2wfavNblSuw8F7L6S5YrEvE8NdHsKIaB+26beLnegHmH07HrromDGzBYEw7bpLgjbsFe8PYxQhOY1m69L9CW+OaiiUOaZavm/jaMnxbzmLX/54SIbz6zC7E3csKT+/smAXhMhDWR7jPi/l4/bpq0k/YtquzSVSpJwcVt3BcUPgohfOCfgTnAOOAzQohxTrY5wOjocxvwL52VcdgCmwxKddmjaTNemJRcn+rdxzxnXwfIzbyehjvuM7pqAQw/qOJGhK1KR60bq42kJja+ZlRO2SBHjyaFUmzDfKl3idj7DpVVxqTG7v/Vc7/I2lu/buIq5KM6SSDvZ2gr65OQLMvY++K/ddpVNZa1N34+IbyLqchS+sZF3ZZEmghzX1L5sx9Tks8plW0+x4mHFyvIOVlQx2n7Cl1W3jI00ykPILyYUE8C20ZNLKJVUKrHyd+/J2a3ovtdSEkoBKdKe6T0iEqHygfE+mPUod1cveSnsb6RCHqdP23qbtdBf7c9agVKBVz2y0fJWl6yZhy9DN3uvouJm1dx5qabY+Xq/6E2aps7m2t+8iDU1iFFQbh94IPXx/Kvr5vB+m98l8YP38CB/sNidUxqo6LrjnRxzNzZvG/ZY3Sp7F+0vzqTLojgJIS4BvgbKeXs6PddAFLKRVaeh4DfSSl/Gf3eDnxQSvlGB+V2/OLL6XK6nP7gJKW8KMVEZ+wYBgMHrN8HgWmdyDMYiBEGIcRtKI4CoK2ypOvpIe3n+tp5jma7nt+XO7elsqTr8MHWvddLuh493H5uX69MaUVPzysvlbK0PHe+FNROtjtT0nwy39baK1NaMSrfXqUQCeLXe3pe+akwPObms8uvLOk63K6TBA6XdD15MgxygxC9e+TbMvr6W9mu53OCdh/8ivZz3dX1wjsBBpd0HV3Zfq6X3rnOZErzugxdzq5MaTOAXe9DJV2ODmo/39etX69MaUV1vq2q2GhLBAezpWeyQgRZSUnf3Lku9v2T2dJcDi9wryfLUe0+FYbHdL/1EaKyb+68ee5kpjTXM9+etYFqdVvcOp71S8JuQXtRDlUieN1ps97vdX8Mbj/X19057X4ZLOXQtHckyxbR1YgTzZTmcsILzgnODGo/39e1jXgr2+V8Toj2aO4AtNrlu3PJrreeC+48OFzS9eTr7ed22uW4eXRJ8bYUrh8p6Xpmf/u5pmJ9CiCE2CylnNBRnrTUGcKQNgfd3b4zeZBSPgw8DCCEWPdm29kpnXj/uyIJIdY1SfmeqK8QYp18j9QVdH3D90R934t9ezHPdcbA6SAw1Po9BDh0EXkup8vpcnqPpM4QhrXAaCHECCFECQqE9tdOnl8DtwiV3gec6Ei+cDldTpfTuztd8CghpcwLIf4SWIYy/f6plHKLEOIr0f0fA78BPopSV54FvtCJdz980bW+NOm9VN/3Ul3hvVXf91Jd4SLre8niSlxOl9Pl9O5Nl9yJ6nK6nC6nd1+6TBgup8vpckqkd5wwCCGuF0JsF0LsEkIsTLkvhBD/N7q/UQhR907XqVjqRF3/PKrjRiHECiHEpEtRT6s+HdbXyjdVCBEIIW76Y9bPqcMF6yqE+KAQYr0QYosQ4pW0PH+s1Im50FsI8YwQYkNU387I1d6RJIT4qRCiRQixucj9t7/G3mFHKR8VeHckUAJsAMY5eT4KPI+yhXgfsPqdrNMfWNdrgfLo+5xLVdfO1tfK958oAfFN79a6AmXAVmBY9Lv/u7lvgbuB70ff+wFvASWXqL7XAXXA5iL33/Yae6c5hquBXVLKPVLKduA/gE85eT4FPCpVWgWUCSEGvsP1SksXrKuUcoWU8lj0cxXKXuNSpc70LcBfAUuAlpR7f6zUmbr+GbBUSrkfQEr5bq+vBHoKIQTQA0UY8lyCJKV8NXp/sfS219g7TRiKmUq/3Tx/jPR267EARYUvVbpgfYUQg4EbgR//EeuVljrTt1cA5UKI3wkh6oUQt/zRapdMnanvPwFjUYZ8m4D/I6UMeXemt73G3mnMx/82c+o/Qup0PYQQH0IRhve/ozXqOHWmvn8P3CmlDMR/A3LwH5A6U9cMMBn4MNAVWCmEWCWl3PFOVy4ldaa+s4H1wJ8Ao4CXhBCvSSlPvsN1u5j0ttfYO00Y3kvm1J2qhxBiIvAIMEdKefSPVLe01Jn6TgH+IyIKFcBHhRB5KeVTf5QaFlJn50GrlPIMcEYI8SowCbgUhKEz9f0CcL9Uh/hdQoi9wBhgzR+nim8rvf019g4LRTLAHmAEBSHOeCfPx4gLRtZcIgFOZ+o6DGXdee2lqOPbra+T/+dcOuFjZ/p2LPDbKG83YDMw4V1c339BwREAVAKvAxWXcD4Mp7jw8W2vsXeUY5DvnDn1parrXwN9gf8X7cJ5eYk87TpZ33dF6kxdpZTbhBAvoBDAQuARKWWq+u3dUF/gu8DPhRCbUAvuTilla9FC38EkhPgl8EGgQghxEPg2kLXq+rbX2GWT6MvpcrqcEumy5ePldDldTol0mTBcTpfT5ZRIlwnD5XQ5XU6JdJkwXE6X0+WUSJcJw+V0OV1OiXSZMFxOl9PllEiXCcPldDldTon0/wPXXRNvr4oIbAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Changes for experiment 'n=1000' have been applied to your current workspace.\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Changes for experiment 'n=100' have been applied to your current workspace.\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "project.load(\"n=10000\")\n", + "MCPi(load=True).plot_sampling(show=True)\n", + "project.load(\"n=1000\")\n", + "MCPi(load=True).plot_sampling(show=True)\n", + "project.load(\"n=100\")\n", + "MCPi(load=True).plot_sampling(show=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.29524168, 0.17217693],\n", + " [0.36526767, 0.62690072],\n", + " [0.08856819, 0.71990031],\n", + " [0.85818655, 0.60479041],\n", + " [0.57861213, 0.30281645],\n", + " [0.86306181, 0.08051931],\n", + " [0.5611311 , 0.86510228],\n", + " [0.34700228, 0.49148812],\n", + " [0.59810045, 0.17577229],\n", + " [0.65953835, 0.72156357],\n", + " [0.50535769, 0.4253979 ],\n", + " [0.20240977, 0.2585801 ],\n", + " [0.45258089, 0.24066177],\n", + " [0.4525156 , 0.8909636 ],\n", + " [0.98095814, 0.11471191],\n", + " [0.23593229, 0.40663346],\n", + " [0.94857977, 0.81854388],\n", + " [0.42837471, 0.2805762 ],\n", + " [0.83301333, 0.88216096],\n", + " [0.22463214, 0.10982317],\n", + " [0.25885594, 0.07657762],\n", + " [0.83089497, 0.81137601],\n", + " [0.76637994, 0.56425477],\n", + " [0.94495406, 0.06660361],\n", + " [0.97825466, 0.20538377],\n", + " [0.89736968, 0.92378189],\n", + " [0.69310061, 0.09569714],\n", + " [0.76960442, 0.47028594],\n", + " [0.60544999, 0.08015923],\n", + " [0.41997965, 0.2344265 ],\n", + " [0.66396938, 0.31761002],\n", + " [0.45877317, 0.72094496],\n", + " [0.99656746, 0.56884903],\n", + " [0.16124772, 0.40934891],\n", + " [0.72391472, 0.64326436],\n", + " [0.64005287, 0.63367766],\n", + " [0.49825872, 0.18590271],\n", + " [0.66660798, 0.16516641],\n", + " [0.26276884, 0.62479504],\n", + " [0.12877537, 0.68679582],\n", + " [0.49346097, 0.85747245],\n", + " [0.20624722, 0.74461657],\n", + " [0.96322087, 0.27263767],\n", + " [0.04145274, 0.79627305],\n", + " [0.9253276 , 0.67567216],\n", + " [0.00757779, 0.86157401],\n", + " [0.49314261, 0.96279215],\n", + " [0.92067835, 0.08238758],\n", + " [0.55943647, 0.00855869],\n", + " [0.49871988, 0.79536583],\n", + " [0.26461032, 0.26687829],\n", + " [0.54083276, 0.04404271],\n", + " [0.88675623, 0.93096747],\n", + " [0.36519249, 0.26902564],\n", + " [0.91070918, 0.36922452],\n", + " [0.19688053, 0.62530055],\n", + " [0.75112748, 0.03020086],\n", + " [0.24133294, 0.75045841],\n", + " [0.9119263 , 0.01768414],\n", + " [0.85009597, 0.18151549],\n", + " [0.31931311, 0.64068398],\n", + " [0.94674531, 0.37520721],\n", + " [0.22197871, 0.30733507],\n", + " [0.33847198, 0.87544343],\n", + " [0.382454 , 0.62352863],\n", + " [0.34005315, 0.27369451],\n", + " [0.28487516, 0.70872803],\n", + " [0.29081397, 0.67664781],\n", + " [0.59339914, 0.33509152],\n", + " [0.85391293, 0.13042706],\n", + " [0.99760012, 0.45182693],\n", + " [0.99890917, 0.2494441 ],\n", + " [0.42972813, 0.99852092],\n", + " [0.83726677, 0.46201845],\n", + " [0.19647411, 0.75452357],\n", + " [0.26750222, 0.63581269],\n", + " [0.31289648, 0.30510343],\n", + " [0.3552549 , 0.56992526],\n", + " [0.64686234, 0.83847815],\n", + " [0.08174946, 0.95989773],\n", + " [0.18390707, 0.40890291],\n", + " [0.15273251, 0.37504531],\n", + " [0.40098324, 0.54563599],\n", + " [0.16213346, 0.28170553],\n", + " [0.56604252, 0.89655533],\n", + " [0.69172064, 0.76153257],\n", + " [0.33563423, 0.28880854],\n", + " [0.50448652, 0.84502234],\n", + " [0.43545123, 0.4058858 ],\n", + " [0.98505287, 0.27820349],\n", + " [0.46550962, 0.22134601],\n", + " [0.29831428, 0.37670786],\n", + " [0.86695293, 0.82595067],\n", + " [0.99641069, 0.27083978],\n", + " [0.57250304, 0.78449812],\n", + " [0.03518089, 0.80375371],\n", + " [0.69830768, 0.37612154],\n", + " [0.36994586, 0.51320064],\n", + " [0.31164459, 0.38487373],\n", + " [0.69667042, 0.94823767]])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "MCPi(load=True).coordinates" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 9c942a54375175989731df2e4b92437ef6fb8d9d Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Tue, 19 Oct 2021 19:17:50 +0200 Subject: [PATCH 35/39] Update docs --- docs/source/_overview/01_Intro/01_Intro.ipynb | 2 -- .../02_passing_classes/PassingClasses.ipynb | 19 ------------------- .../estimate_pi_with_mc.ipynb | 11 ----------- 3 files changed, 32 deletions(-) diff --git a/docs/source/_overview/01_Intro/01_Intro.ipynb b/docs/source/_overview/01_Intro/01_Intro.ipynb index 1c231578..99596a45 100644 --- a/docs/source/_overview/01_Intro/01_Intro.ipynb +++ b/docs/source/_overview/01_Intro/01_Intro.ipynb @@ -71,8 +71,6 @@ } ], "source": [ - "!rm -rf *\n", - "!rm -rf .*\n", "!git init\n", "!dvc init" ] diff --git a/docs/source/_overview/02_passing_classes/PassingClasses.ipynb b/docs/source/_overview/02_passing_classes/PassingClasses.ipynb index 7b8ab990..68fdd722 100644 --- a/docs/source/_overview/02_passing_classes/PassingClasses.ipynb +++ b/docs/source/_overview/02_passing_classes/PassingClasses.ipynb @@ -16,25 +16,6 @@ "Such a scenario can be handled by using a class for each method, which in the following are referred to as child classes although they do not necessarily have to inherit from a parent class." ] }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "rm: refusing to remove '.' or '..' directory: skipping '.'\n", - "rm: refusing to remove '.' or '..' directory: skipping '..'\n" - ] - } - ], - "source": [ - "!rm -rf *\n", - "!rm -rf .*" - ] - }, { "cell_type": "code", "execution_count": 5, diff --git a/docs/source/_tutorials/estimate_pi_with_mc/estimate_pi_with_mc.ipynb b/docs/source/_tutorials/estimate_pi_with_mc/estimate_pi_with_mc.ipynb index 7e74b793..aec174eb 100644 --- a/docs/source/_tutorials/estimate_pi_with_mc/estimate_pi_with_mc.ipynb +++ b/docs/source/_tutorials/estimate_pi_with_mc/estimate_pi_with_mc.ipynb @@ -24,17 +24,6 @@ "That's it - now we can use the `@PyTrack()` decorator and we can even stay inside the Jupyter notebook." ] }, - { - "cell_type": "markdown", - "metadata": { - "nbsphinx": "hidden", - "tags": [] - }, - "source": [ - "!rm -rf *\n", - "!rm -rf .*" - ] - }, { "cell_type": "code", "execution_count": 1, From c50e3221fc96536e38974dfb138befd72c907a6b Mon Sep 17 00:00:00 2001 From: PythonFZ Date: Wed, 20 Oct 2021 08:30:27 +0200 Subject: [PATCH 36/39] potential logging bugfix --- pytrack/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytrack/__init__.py b/pytrack/__init__.py index 828a9cfa..a16e90fd 100644 --- a/pytrack/__init__.py +++ b/pytrack/__init__.py @@ -24,7 +24,7 @@ __version__ = "0.1.3" -logger = logging.getLogger("pytrack") +logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) # Formatter for advanced logging From 9d92128c7096ec9167d63a8d172dce92e3fb796a Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Wed, 20 Oct 2021 08:36:29 +0200 Subject: [PATCH 37/39] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index f132cc3f..68598fd7 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="py-track", - version="0.1.3", + version="0.1.2", author="Zincware", author_email="zincwarecode@gmail.com", description="A python package for parameter and data version control with DVC", From 978f16b1078572173df25b3a096b9713fa10bef4 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Wed, 20 Oct 2021 08:36:48 +0200 Subject: [PATCH 38/39] Update __init__.py --- pytrack/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytrack/__init__.py b/pytrack/__init__.py index a16e90fd..7583b9a3 100644 --- a/pytrack/__init__.py +++ b/pytrack/__init__.py @@ -21,7 +21,7 @@ # __all__ = ["PyTrack", "PyTrackProject", "DVCInterface", "DVC", "config"] -__version__ = "0.1.3" +__version__ = "0.1.2" logger = logging.getLogger(__name__) From 6bde8d7393922994f72259e631029aef33a8b869 Mon Sep 17 00:00:00 2001 From: Fabian <46721498+PythonFZ@users.noreply.github.com> Date: Wed, 20 Oct 2021 08:59:14 +0200 Subject: [PATCH 39/39] Update README.rst --- README.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 52fec30d..37d94836 100644 --- a/README.rst +++ b/README.rst @@ -20,8 +20,10 @@ parameters, dependencies and all DVC output types. @PyTrack() class HelloWorld: """Define a PyTrack Stage""" - max_number = DVC.params() - random_number = DVC.result() + # parameter to be tracked + max_number = DVC.params() + # parameter to store as output + random_number = DVC.result() def __call__(self, max_number): """Pass tracked arguments"""