From 246293f182991915745d27bff5db317f8cdc1878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Sun, 7 Nov 2021 22:10:51 +0800 Subject: [PATCH 01/63] docs: create LICENSE [skip ci] --- LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5c03a46 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2021 Johnny Miller (锺俊) + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. From 24ff70511be57fc0473baee2f83834ee4c7b3e21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Sun, 7 Nov 2021 22:47:11 +0800 Subject: [PATCH 02/63] refactor: leave __init__.py empty [skip ci] --- home_guardian/__init__.py | 6 ------ home_guardian/__main__.py | 7 +++++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index 4ecfafc..e69de29 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -1,6 +0,0 @@ -import logging.config -from os import path - -logging_conf_path = path.join(path.dirname(path.abspath(__file__)), "logging.conf") -print(f"logging_conf_path = {logging_conf_path}, __file__ = {__file__}") -logging.config.fileConfig(logging_conf_path) diff --git a/home_guardian/__main__.py b/home_guardian/__main__.py index 656730f..c33fcb9 100644 --- a/home_guardian/__main__.py +++ b/home_guardian/__main__.py @@ -1,7 +1,14 @@ +import logging.config +from os import path import sys from home_guardian.home_guardian import fib +# Set up logging +logging_conf_path = path.join(path.dirname(path.abspath(__file__)), "logging.conf") +print(f"logging_conf_path = {logging_conf_path}, __file__ = {__file__}") +logging.config.fileConfig(logging_conf_path) + if __name__ == "__main__": n = int(sys.argv[1]) print(fib(n)) From ae56fe5fa3076059a15912322064abe37c489790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Sun, 7 Nov 2021 23:45:23 +0800 Subject: [PATCH 03/63] feat: integrate peewee as ORM library --- .gitignore | 3 +++ Pipfile | 1 + Pipfile.lock | 15 +++++++++++---- home_guardian/__init__.py | 8 ++++++++ home_guardian/__main__.py | 14 ++++---------- home_guardian/function_collection.py | 6 ++++++ home_guardian/home_guardian.py | 5 ----- home_guardian/repository/__init__.py | 0 home_guardian/repository/model/__init__.py | 0 .../repository/model/base/__init__.py | 0 home_guardian/repository/model/base/model.py | 19 +++++++++++++++++++ home_guardian/repository/model/user.py | 14 ++++++++++++++ home_guardian/repository/user_repository.py | 16 ++++++++++++++++ test/test_home_guardian.py | 2 +- 14 files changed, 83 insertions(+), 20 deletions(-) create mode 100644 home_guardian/function_collection.py delete mode 100644 home_guardian/home_guardian.py create mode 100644 home_guardian/repository/__init__.py create mode 100644 home_guardian/repository/model/__init__.py create mode 100644 home_guardian/repository/model/base/__init__.py create mode 100644 home_guardian/repository/model/base/model.py create mode 100644 home_guardian/repository/model/user.py create mode 100644 home_guardian/repository/user_repository.py diff --git a/.gitignore b/.gitignore index 0d5fde4..eba409c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ # Created by https://www.gitignore.io/api/python # Edit at https://www.gitignore.io/?templates=python +### Project ### +*.db + ### PyCharm ### .idea diff --git a/Pipfile b/Pipfile index 6315606..e6954bb 100644 --- a/Pipfile +++ b/Pipfile @@ -16,3 +16,4 @@ mypy = "*" pre-commit = "*" pytest = "*" pytest-cov = "*" +peewee = "*" diff --git a/Pipfile.lock b/Pipfile.lock index 1588787..bff5151 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "c43d7a87075b6c5fd61b112ff9a496e8f1682738bd41cc292da3a000278dcd33" + "sha256": "b1d4af034ab8d91925f2894d03c4326ee17c5dee7bfa92294eb0aaec706761ec" }, "pipfile-spec": 6, "requires": { @@ -229,6 +229,13 @@ ], "version": "==0.9.0" }, + "peewee": { + "hashes": [ + "sha256:01bd7f734defb08d7a3346a0c0ca7011bc8d0d685934ec0e001b3371d522ec53" + ], + "index": "pypi", + "version": "==3.14.8" + }, "platformdirs": { "hashes": [ "sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2", @@ -282,7 +289,7 @@ "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.4.7" }, "pytest": { @@ -399,7 +406,7 @@ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" }, "toml": { @@ -407,7 +414,7 @@ "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==0.10.2" }, "tomli": { diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index e69de29..f0432ac 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -0,0 +1,8 @@ +import logging.config + +from home_guardian.function_collection import get_root_path + +# Set up logging +logging_conf_path = f"{get_root_path()}/logging.conf" +print(f"logging_conf_path = {logging_conf_path}, __file__ = {__file__}") +logging.config.fileConfig(logging_conf_path) diff --git a/home_guardian/__main__.py b/home_guardian/__main__.py index c33fcb9..036b7b5 100644 --- a/home_guardian/__main__.py +++ b/home_guardian/__main__.py @@ -1,14 +1,8 @@ import logging.config -from os import path -import sys +import random -from home_guardian.home_guardian import fib - -# Set up logging -logging_conf_path = path.join(path.dirname(path.abspath(__file__)), "logging.conf") -print(f"logging_conf_path = {logging_conf_path}, __file__ = {__file__}") -logging.config.fileConfig(logging_conf_path) +from home_guardian.repository.user_repository import create_user +log = logging.getLogger("rotatingFileLogger") if __name__ == "__main__": - n = int(sys.argv[1]) - print(fib(n)) + create_user(f"user{random.random()}") diff --git a/home_guardian/function_collection.py b/home_guardian/function_collection.py new file mode 100644 index 0000000..5189c07 --- /dev/null +++ b/home_guardian/function_collection.py @@ -0,0 +1,6 @@ +import os + +_current_file = os.path.abspath(__file__) + + +def get_root_path() -> str: return os.path.dirname(_current_file) diff --git a/home_guardian/home_guardian.py b/home_guardian/home_guardian.py deleted file mode 100644 index 46b78cd..0000000 --- a/home_guardian/home_guardian.py +++ /dev/null @@ -1,5 +0,0 @@ -def fib(n: int) -> int: - if n < 2: - return n - else: - return fib(n - 1) + fib(n - 2) diff --git a/home_guardian/repository/__init__.py b/home_guardian/repository/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/home_guardian/repository/model/__init__.py b/home_guardian/repository/model/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/home_guardian/repository/model/base/__init__.py b/home_guardian/repository/model/base/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/home_guardian/repository/model/base/model.py b/home_guardian/repository/model/base/model.py new file mode 100644 index 0000000..aafdadd --- /dev/null +++ b/home_guardian/repository/model/base/model.py @@ -0,0 +1,19 @@ +from peewee import Model, SqliteDatabase + +from home_guardian.function_collection import get_root_path + +base_dir = get_root_path() +print(f"base_dir: {base_dir}") +db = SqliteDatabase(f"{base_dir}/home_guardian.db") +print(f"Initialized db file: {db}") + + +class BaseModel(Model): + """ + Base model for persistence. + + @see Models and Fields https://docs.peewee-orm.com/en/latest/peewee/models.html#model-inheritance + """ + + class Meta: + database = db diff --git a/home_guardian/repository/model/user.py b/home_guardian/repository/model/user.py new file mode 100644 index 0000000..fa0f03c --- /dev/null +++ b/home_guardian/repository/model/user.py @@ -0,0 +1,14 @@ +from peewee import CharField, DateTimeField + +from home_guardian.repository.model.base.model import BaseModel, db + + +class User(BaseModel): + """ + User model for testing peewee + """ + username = CharField(unique=True) + created_time = DateTimeField(null=False) + + +db.create_tables([User]) diff --git a/home_guardian/repository/user_repository.py b/home_guardian/repository/user_repository.py new file mode 100644 index 0000000..5db08a6 --- /dev/null +++ b/home_guardian/repository/user_repository.py @@ -0,0 +1,16 @@ +import logging + +from home_guardian.repository.model.user import User + +log = logging.getLogger("rotatingFileLogger") + + +def create_user(username: str) -> User: + """ + Creates a new user. + :param username: username + :return: a user + """ + a_user = User.create(username=username, created_time="2019-01-01 00:00:00") + log.info(f"Created, a_user = {a_user}") + return a_user diff --git a/test/test_home_guardian.py b/test/test_home_guardian.py index c2b5eaf..deec8f6 100644 --- a/test/test_home_guardian.py +++ b/test/test_home_guardian.py @@ -1,4 +1,4 @@ -from home_guardian.home_guardian import fib +from home_guardian.function_collection import fib def test_fib() -> None: From 5fd5b1f3f3d81f9dc46eb55d5448fb5c75f140e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 00:17:33 +0800 Subject: [PATCH 04/63] perf($db): refine ORM log when initializing db --- home_guardian/__init__.py | 3 ++- home_guardian/repository/model/base/model.py | 13 ++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index f0432ac..3bc0585 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -4,5 +4,6 @@ # Set up logging logging_conf_path = f"{get_root_path()}/logging.conf" -print(f"logging_conf_path = {logging_conf_path}, __file__ = {__file__}") +print(f"Start loading logging configuration. logging_conf_path = {logging_conf_path}, __file__ = {__file__}") logging.config.fileConfig(logging_conf_path) +print(f"Done loading logging configuration.") diff --git a/home_guardian/repository/model/base/model.py b/home_guardian/repository/model/base/model.py index aafdadd..9548aaa 100644 --- a/home_guardian/repository/model/base/model.py +++ b/home_guardian/repository/model/base/model.py @@ -1,11 +1,14 @@ -from peewee import Model, SqliteDatabase +import logging +from peewee import Model, SqliteDatabase from home_guardian.function_collection import get_root_path -base_dir = get_root_path() -print(f"base_dir: {base_dir}") -db = SqliteDatabase(f"{base_dir}/home_guardian.db") -print(f"Initialized db file: {db}") +log = logging.getLogger("rotatingFileLogger") + +db_path = f"{get_root_path()}/home_guardian.db" +log.info(f"SQLite database path: {db_path}") +db = SqliteDatabase(db_path) +log.info(f"Initialized db file: {db}") class BaseModel(Model): From 001a037aae70629d8c162ff299db6d08df7dca01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 00:39:40 +0800 Subject: [PATCH 05/63] test: remove coverage tests --- .github/workflows/build-and-test.yml | 2 +- .pre-commit-config.yaml | 14 +++++++------- home_guardian/__init__.py | 6 ++++-- home_guardian/function_collection.py | 3 ++- home_guardian/repository/model/user.py | 1 + home_guardian/repository/user_repository.py | 2 +- test/test_home_guardian.py | 13 ++----------- 7 files changed, 18 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index c8b79c8..db15f7a 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -34,7 +34,7 @@ jobs: - run: pipenv run flake8 - run: pipenv run mypy - name: Python tests with pytest - run: pipenv run pytest --cov --cov-fail-under=100 + run: pipenv run pytest --cov docker-test: runs-on: ubuntu-latest diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c7acc6c..c7eb6d1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -40,10 +40,10 @@ repos: types: [python] pass_filenames: false - - id: pytest-cov - name: pytest - stages: [push] - language: system - entry: pipenv run pytest --cov --cov-fail-under=100 - types: [python] - pass_filenames: false +# - id: pytest-cov +# name: pytest +# stages: [push] +# language: system +# entry: pipenv run pytest --cov --cov-fail-under=100 +# types: [python] +# pass_filenames: false diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index 3bc0585..cfef0ac 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -4,6 +4,8 @@ # Set up logging logging_conf_path = f"{get_root_path()}/logging.conf" -print(f"Start loading logging configuration. logging_conf_path = {logging_conf_path}, __file__ = {__file__}") +print( + f"Start loading logging configuration. logging_conf_path = {logging_conf_path}, __file__ = {__file__}" +) logging.config.fileConfig(logging_conf_path) -print(f"Done loading logging configuration.") +print("Done loading logging configuration.") diff --git a/home_guardian/function_collection.py b/home_guardian/function_collection.py index 5189c07..00653be 100644 --- a/home_guardian/function_collection.py +++ b/home_guardian/function_collection.py @@ -3,4 +3,5 @@ _current_file = os.path.abspath(__file__) -def get_root_path() -> str: return os.path.dirname(_current_file) +def get_root_path() -> str: + return os.path.dirname(_current_file) diff --git a/home_guardian/repository/model/user.py b/home_guardian/repository/model/user.py index fa0f03c..ee5f156 100644 --- a/home_guardian/repository/model/user.py +++ b/home_guardian/repository/model/user.py @@ -7,6 +7,7 @@ class User(BaseModel): """ User model for testing peewee """ + username = CharField(unique=True) created_time = DateTimeField(null=False) diff --git a/home_guardian/repository/user_repository.py b/home_guardian/repository/user_repository.py index 5db08a6..a83182c 100644 --- a/home_guardian/repository/user_repository.py +++ b/home_guardian/repository/user_repository.py @@ -8,7 +8,7 @@ def create_user(username: str) -> User: """ Creates a new user. - :param username: username + :param username: usernameasdf :return: a user """ a_user = User.create(username=username, created_time="2019-01-01 00:00:00") diff --git a/test/test_home_guardian.py b/test/test_home_guardian.py index deec8f6..dc80e29 100644 --- a/test/test_home_guardian.py +++ b/test/test_home_guardian.py @@ -1,11 +1,2 @@ -from home_guardian.function_collection import fib - - -def test_fib() -> None: - assert fib(0) == 0 - assert fib(1) == 1 - assert fib(2) == 1 - assert fib(3) == 2 - assert fib(4) == 3 - assert fib(5) == 5 - assert fib(10) == 55 +def test_example() -> None: + assert 1 == 1 From 096d3af26db29613a31332903a3c4f514bb1b786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 00:52:09 +0800 Subject: [PATCH 06/63] refactor($pipenv): update dependency --- Pipfile | 2 +- Pipfile.lock | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Pipfile b/Pipfile index e6954bb..8cb9705 100644 --- a/Pipfile +++ b/Pipfile @@ -7,6 +7,7 @@ verify_ssl = true python_version = "3.10" [packages] +peewee = "*" [dev-packages] black = "==20.8b1" @@ -16,4 +17,3 @@ mypy = "*" pre-commit = "*" pytest = "*" pytest-cov = "*" -peewee = "*" diff --git a/Pipfile.lock b/Pipfile.lock index bff5151..4b22071 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "b1d4af034ab8d91925f2894d03c4326ee17c5dee7bfa92294eb0aaec706761ec" + "sha256": "23279dd094adae6fa8905c21e3cbea9fa09cf23e14cae0b86a3f9f3c74c4367a" }, "pipfile-spec": 6, "requires": { @@ -15,7 +15,15 @@ } ] }, - "default": {}, + "default": { + "peewee": { + "hashes": [ + "sha256:01bd7f734defb08d7a3346a0c0ca7011bc8d0d685934ec0e001b3371d522ec53" + ], + "index": "pypi", + "version": "==3.14.8" + } + }, "develop": { "appdirs": { "hashes": [ @@ -229,13 +237,6 @@ ], "version": "==0.9.0" }, - "peewee": { - "hashes": [ - "sha256:01bd7f734defb08d7a3346a0c0ca7011bc8d0d685934ec0e001b3371d522ec53" - ], - "index": "pypi", - "version": "==3.14.8" - }, "platformdirs": { "hashes": [ "sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2", From e81b81db00165dd07b2d8f0c1f3b5ef8a8d043bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 01:05:39 +0800 Subject: [PATCH 07/63] build($Docker): change the user ownership directory https://linuxize.com/post/linux-chown-command/ --- Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index 630bb82..acaf911 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,6 +33,9 @@ USER appuser # Install application into container COPY . . +# Change the ownership of the directory to appuser +RUN chown appuser /home/appuser/home_guardian + # Run the executable ENTRYPOINT ["python", "-m", "home_guardian"] CMD ["10"] From 373c4740baca65470b8a28d2827e1d870a38c252 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 01:32:41 +0800 Subject: [PATCH 08/63] build($Docker): change directory permissions --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index acaf911..f634a00 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,7 @@ USER appuser COPY . . # Change the ownership of the directory to appuser -RUN chown appuser /home/appuser/home_guardian +RUN chmod -R 777 /home/appuser/home_guardian # Run the executable ENTRYPOINT ["python", "-m", "home_guardian"] From a5f1fd163b2b9c7cec9ddd22bffe6a86d56f45d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 01:34:34 +0800 Subject: [PATCH 09/63] build($Docker): change directory permissions 2 --- Dockerfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index f634a00..ac15298 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,17 +25,17 @@ FROM base AS runtime COPY --from=python-deps /.venv /.venv ENV PATH="/.venv/bin:$PATH" -# Create and switch to a new user -RUN useradd --create-home appuser -WORKDIR /home/appuser -USER appuser - # Install application into container COPY . . # Change the ownership of the directory to appuser RUN chmod -R 777 /home/appuser/home_guardian +# Create and switch to a new user +RUN useradd --create-home appuser +WORKDIR /home/appuser +USER appuser + # Run the executable ENTRYPOINT ["python", "-m", "home_guardian"] CMD ["10"] From c430f33236a674b7d82439eb793cc1d0495ac2e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 01:37:17 +0800 Subject: [PATCH 10/63] build($Docker): change directory permissions 3 --- Dockerfile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index ac15298..e6ea059 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,12 +28,11 @@ ENV PATH="/.venv/bin:$PATH" # Install application into container COPY . . -# Change the ownership of the directory to appuser -RUN chmod -R 777 /home/appuser/home_guardian - # Create and switch to a new user RUN useradd --create-home appuser WORKDIR /home/appuser +# Change directory permission +RUN chmod -R 777 /home/appuser/home_guardian USER appuser # Run the executable From 27c56c1914390e2deaa1b2ada0a629cdb7974c73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 01:45:00 +0800 Subject: [PATCH 11/63] build($Docker): switch to root user to run container --- Dockerfile | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index e6ea059..c034b40 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,15 +25,11 @@ FROM base AS runtime COPY --from=python-deps /.venv /.venv ENV PATH="/.venv/bin:$PATH" +# Has to use "root" user to run this application +WORKDIR /app + # Install application into container -COPY . . - -# Create and switch to a new user -RUN useradd --create-home appuser -WORKDIR /home/appuser -# Change directory permission -RUN chmod -R 777 /home/appuser/home_guardian -USER appuser +COPY . /app # Run the executable ENTRYPOINT ["python", "-m", "home_guardian"] From 180f824140adc65871c77c0daa15f5ec6948507c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 13:51:40 +0800 Subject: [PATCH 12/63] feat($loguru): integrate loguru for logging --- .gitignore | 2 + Pipfile | 15 +++--- Pipfile.lock | 10 +++- home_guardian/__init__.py | 44 +++++++++++++++--- home_guardian/logging.conf | 48 -------------------- home_guardian/repository/model/base/model.py | 10 ++-- home_guardian/repository/user_repository.py | 11 +++-- 7 files changed, 66 insertions(+), 74 deletions(-) delete mode 100644 home_guardian/logging.conf diff --git a/.gitignore b/.gitignore index eba409c..84c248d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ ### Project ### *.db +*.gz +logs/ ### PyCharm ### .idea diff --git a/Pipfile b/Pipfile index 8cb9705..a798d8b 100644 --- a/Pipfile +++ b/Pipfile @@ -7,13 +7,14 @@ verify_ssl = true python_version = "3.10" [packages] -peewee = "*" +peewee = "==3.14.8" +loguru = "==0.5.3" [dev-packages] black = "==20.8b1" -flake8 = "*" -isort = "*" -mypy = "*" -pre-commit = "*" -pytest = "*" -pytest-cov = "*" +flake8 = "==4.0.1" +isort = "==5.10.0" +mypy = "==0.910" +pre-commit = "==2.15.0" +pytest = "==6.2.5" +pytest-cov = "==3.0.0" diff --git a/Pipfile.lock b/Pipfile.lock index 4b22071..02c7437 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "23279dd094adae6fa8905c21e3cbea9fa09cf23e14cae0b86a3f9f3c74c4367a" + "sha256": "90f6da53b7f6bae26ec34d999d157b433d56ccbd441b5beafebb7de56ebef6df" }, "pipfile-spec": 6, "requires": { @@ -16,6 +16,14 @@ ] }, "default": { + "loguru": { + "hashes": [ + "sha256:b28e72ac7a98be3d28ad28570299a393dfcd32e5e3f6a353dec94675767b6319", + "sha256:f8087ac396b5ee5f67c963b495d615ebbceac2796379599820e324419d53667c" + ], + "index": "pypi", + "version": "==0.5.3" + }, "peewee": { "hashes": [ "sha256:01bd7f734defb08d7a3346a0c0ca7011bc8d0d685934ec0e001b3371d522ec53" diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index cfef0ac..68a44ac 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -1,11 +1,41 @@ -import logging.config +import logging -from home_guardian.function_collection import get_root_path +from loguru import logger # Set up logging -logging_conf_path = f"{get_root_path()}/logging.conf" -print( - f"Start loading logging configuration. logging_conf_path = {logging_conf_path}, __file__ = {__file__}" +log_file = "logs/home_guardian.{time}.log" +logger.add( + log_file, + level="DEBUG", + enqueue=True, + # turn to false if in production to prevent data leaking + backtrace=False, + rotation="00:00", + retention="7 Days", + compression="gz", + serialize=False, ) -logging.config.fileConfig(logging_conf_path) -print("Done loading logging configuration.") + + +# Intercept standard logging https://gist.github.com/devsetgo/28c2edaca2d09e267dec46bb2e54b9e2 +class InterceptHandler(logging.Handler): + def emit(self, record): + # Get corresponding Loguru level if it exists + try: + level = logger.level(record.levelname).name + except ValueError: + level = record.levelno + + # Find caller from where originated the logged message + frame, depth = logging.currentframe(), 2 + while frame.f_code.co_filename == logging.__file__: + frame = frame.f_back + depth += 1 + + logger.opt(depth=depth, exception=record.exc_info).log( + level, record.getMessage() + ) + + +logging.basicConfig(handlers=[InterceptHandler()], level=0) +logger.warning("Loguru logging initialized") diff --git a/home_guardian/logging.conf b/home_guardian/logging.conf deleted file mode 100644 index 3775b1d..0000000 --- a/home_guardian/logging.conf +++ /dev/null @@ -1,48 +0,0 @@ -# https://www.jianshu.com/p/e96be02032f9 - -[loggers] -keys=root, fileLogger, rotatingFileLogger - -[handlers] -keys=consoleHandler, fileHandler, rotatingFileHandler - -[formatters] -keys=simpleFormatter - -[logger_root] -level=DEBUG -handlers=consoleHandler - -[logger_fileLogger] -level=DEBUG -handlers=fileHandler -qualname=fileLogger -propagate=0 - -[logger_rotatingFileLogger] -level=DEBUG -handlers=consoleHandler,rotatingFileHandler -qualname=rotatingFileLogger -propagate=0 - -[handler_consoleHandler] -class=StreamHandler -level=DEBUG -formatter=simpleFormatter -args=(sys.stdout,) - -[handler_fileHandler] -class=FileHandler -level=DEBUG -formatter=simpleFormatter -args=('home_guardian.log', 'a') - -[handler_rotatingFileHandler] -class=handlers.RotatingFileHandler -level=INFO -formatter=simpleFormatter -args=('home_guardian-rotating.log', 'a', 1*1024*1024, 5) - -[formatter_simpleFormatter] -format=%(asctime)s %(levelname)-8s - [%(threadName)-.15s] [%(name)s] [%(filename)s:%(lineno)d] : %(message)s -datefmt=%Y-%m-%d %T diff --git a/home_guardian/repository/model/base/model.py b/home_guardian/repository/model/base/model.py index 9548aaa..956b923 100644 --- a/home_guardian/repository/model/base/model.py +++ b/home_guardian/repository/model/base/model.py @@ -1,14 +1,12 @@ -import logging - +from loguru import logger from peewee import Model, SqliteDatabase -from home_guardian.function_collection import get_root_path -log = logging.getLogger("rotatingFileLogger") +from home_guardian.function_collection import get_root_path db_path = f"{get_root_path()}/home_guardian.db" -log.info(f"SQLite database path: {db_path}") +logger.info(f"SQLite database path: {db_path}") db = SqliteDatabase(db_path) -log.info(f"Initialized db file: {db}") +logger.info(f"Initialized db file: {db}") class BaseModel(Model): diff --git a/home_guardian/repository/user_repository.py b/home_guardian/repository/user_repository.py index a83182c..eb3eb80 100644 --- a/home_guardian/repository/user_repository.py +++ b/home_guardian/repository/user_repository.py @@ -1,16 +1,17 @@ -import logging +from datetime import datetime -from home_guardian.repository.model.user import User +from loguru import logger -log = logging.getLogger("rotatingFileLogger") +from home_guardian.repository.model.user import User +@logger.catch def create_user(username: str) -> User: """ Creates a new user. :param username: usernameasdf :return: a user """ - a_user = User.create(username=username, created_time="2019-01-01 00:00:00") - log.info(f"Created, a_user = {a_user}") + a_user = User.create(username=username, created_time=datetime.now()) + logger.info(f"Created, a_user = {a_user}") return a_user From 71181d590ad346610d99fcb26117e0a813279a40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 16:58:28 +0800 Subject: [PATCH 13/63] perf($loguru): override default console log format --- home_guardian/__init__.py | 14 ++++++++++++++ home_guardian/__main__.py | 2 -- home_guardian/repository/user_repository.py | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index 68a44ac..762609e 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -1,12 +1,24 @@ import logging +import sys from loguru import logger +message_format = ( + "{time:YYYY-MM-DD HH:mm:ss.SSS} | " + "{level: <8} | " + "{thread.name: <15} | " + "{name}:{function}:{line} - " + "{message}" +) +print(f"message_format: {message_format}") +# Remove a previously added handler and stop sending logs to its sink. +logger.remove(handler_id=None) # Set up logging log_file = "logs/home_guardian.{time}.log" logger.add( log_file, level="DEBUG", + format=message_format, enqueue=True, # turn to false if in production to prevent data leaking backtrace=False, @@ -15,6 +27,8 @@ compression="gz", serialize=False, ) +# Override the default stderr +logger.add(sys.stderr, format=message_format) # Intercept standard logging https://gist.github.com/devsetgo/28c2edaca2d09e267dec46bb2e54b9e2 diff --git a/home_guardian/__main__.py b/home_guardian/__main__.py index 036b7b5..62d688d 100644 --- a/home_guardian/__main__.py +++ b/home_guardian/__main__.py @@ -1,8 +1,6 @@ -import logging.config import random from home_guardian.repository.user_repository import create_user -log = logging.getLogger("rotatingFileLogger") if __name__ == "__main__": create_user(f"user{random.random()}") diff --git a/home_guardian/repository/user_repository.py b/home_guardian/repository/user_repository.py index eb3eb80..6895b6a 100644 --- a/home_guardian/repository/user_repository.py +++ b/home_guardian/repository/user_repository.py @@ -9,7 +9,7 @@ def create_user(username: str) -> User: """ Creates a new user. - :param username: usernameasdf + :param username: username :return: a user """ a_user = User.create(username=username, created_time=datetime.now()) From b1433d19fabc1f127f33f4acadab8975c6c51b88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 17:12:44 +0800 Subject: [PATCH 14/63] perf($loguru): abstract function for loguru configuration --- home_guardian/__init__.py | 56 +---------------------- home_guardian/configuration/__init__.py | 0 home_guardian/configuration/loguru.py | 61 +++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 54 deletions(-) create mode 100644 home_guardian/configuration/__init__.py create mode 100644 home_guardian/configuration/loguru.py diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index 762609e..adafb36 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -1,55 +1,3 @@ -import logging -import sys +from home_guardian.configuration.loguru import configure -from loguru import logger - -message_format = ( - "{time:YYYY-MM-DD HH:mm:ss.SSS} | " - "{level: <8} | " - "{thread.name: <15} | " - "{name}:{function}:{line} - " - "{message}" -) -print(f"message_format: {message_format}") -# Remove a previously added handler and stop sending logs to its sink. -logger.remove(handler_id=None) -# Set up logging -log_file = "logs/home_guardian.{time}.log" -logger.add( - log_file, - level="DEBUG", - format=message_format, - enqueue=True, - # turn to false if in production to prevent data leaking - backtrace=False, - rotation="00:00", - retention="7 Days", - compression="gz", - serialize=False, -) -# Override the default stderr -logger.add(sys.stderr, format=message_format) - - -# Intercept standard logging https://gist.github.com/devsetgo/28c2edaca2d09e267dec46bb2e54b9e2 -class InterceptHandler(logging.Handler): - def emit(self, record): - # Get corresponding Loguru level if it exists - try: - level = logger.level(record.levelname).name - except ValueError: - level = record.levelno - - # Find caller from where originated the logged message - frame, depth = logging.currentframe(), 2 - while frame.f_code.co_filename == logging.__file__: - frame = frame.f_back - depth += 1 - - logger.opt(depth=depth, exception=record.exc_info).log( - level, record.getMessage() - ) - - -logging.basicConfig(handlers=[InterceptHandler()], level=0) -logger.warning("Loguru logging initialized") +configure() diff --git a/home_guardian/configuration/__init__.py b/home_guardian/configuration/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/home_guardian/configuration/loguru.py b/home_guardian/configuration/loguru.py new file mode 100644 index 0000000..fac1ec4 --- /dev/null +++ b/home_guardian/configuration/loguru.py @@ -0,0 +1,61 @@ +import logging +import sys + +from loguru import logger + +message_format = ( + "{time:YYYY-MM-DD HH:mm:ss.SSS} | " + "{level: <8} | " + "{thread.name: <15} | " + "{name}:{function}:{line} - " + "{message}" +) +print(f"message_format: {message_format}") +# Remove a previously added handler and stop sending logs to its sink. +logger.remove(handler_id=None) +# Set up logging +log_file = "logs/home_guardian.{time}.log" +logger.add( + log_file, + level="DEBUG", + format=message_format, + enqueue=True, + # turn to false if in production to prevent data leaking + backtrace=False, + rotation="00:00", + retention="7 Days", + compression="gz", + serialize=False, +) +# Override the default stderr +logger.add(sys.stderr, format=message_format) + + +# Intercept standard logging https://gist.github.com/devsetgo/28c2edaca2d09e267dec46bb2e54b9e2 +class InterceptHandler(logging.Handler): + def emit(self, record): + # Get corresponding Loguru level if it exists + try: + level = logger.level(record.levelname).name + except ValueError: + level = record.levelno + + # Find caller from where originated the logged message + frame, depth = logging.currentframe(), 2 + while frame.f_code.co_filename == logging.__file__: + frame = frame.f_back + depth += 1 + + logger.opt(depth=depth, exception=record.exc_info).log( + level, record.getMessage() + ) + + +logging.basicConfig(handlers=[InterceptHandler()], level=0) + + +def configure() -> None: + """ + Configure logging. + """ + logger.warning("Loguru logging configured") From e101760f4dc4b2ec67238070a35dbf3e0fa80aec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 17:38:32 +0800 Subject: [PATCH 15/63] feat($Message): support sending email --- home_guardian/message/__init__.py | 0 home_guardian/message/email.py | 52 +++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 home_guardian/message/__init__.py create mode 100644 home_guardian/message/email.py diff --git a/home_guardian/message/__init__.py b/home_guardian/message/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/home_guardian/message/email.py b/home_guardian/message/email.py new file mode 100644 index 0000000..b753a2c --- /dev/null +++ b/home_guardian/message/email.py @@ -0,0 +1,52 @@ +import datetime +import smtplib +from email.header import Header +from email.mime.multipart import MIMEMultipart +from email.mime.text import MIMEText +from typing import List + +from loguru import logger + +# Email constants +mail_host: str = "smtp.sina.com" +mail_user: str = "johnnys_rpi_3b" +authorization_password: str = "dcbc7bdd4cb11187" +sender: str = f"{mail_user}@sina.com" +receivers: List[str] = ["johnnysviva@outlook.com", "tewis1992@yahoo.com"] + + +def build_message(receiver: str) -> MIMEMultipart: + content: MIMEText = MIMEText( + "This is a email from Python " + + datetime.datetime.now().strftime("%Y-%m-%d %T"), + "plain", + "utf-8", + ) + message: MIMEMultipart = MIMEMultipart() + message["Subject"] = Header( + "Emergency Security Alert, at " + + datetime.datetime.now().strftime("%Y-%m-%d %T"), + "utf-8", + ) + message["From"] = Header(sender) + message["To"] = Header(receiver) + message["Cc"] = Header(sender) + message.attach(content) + return message + + +def send_email(): + smtp: smtplib.SMTP = smtplib.SMTP(mail_host, 25) + smtp.connect(mail_host, 25) + smtp.login(mail_user, authorization_password) + for receiver in receivers: + message: MIMEMultipart = build_message(receiver) + try: + logger.info(f"Sending email. receiver: {receiver}") + smtp.sendmail(sender, [receiver], message.as_string()) + logger.info( + f"Sent email successfully. {smtp}. receiver: {receiver}, message: {message}" + ) + except smtplib.SMTPException: + logger.exception("Exception occurred while sending email!") + smtp.quit() From 0730c8b50fa72e66d32595e41f86f1e09e406db6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 17:40:21 +0800 Subject: [PATCH 16/63] refactor($ORM): change database location --- home_guardian/function_collection.py | 12 ++++++++++++ home_guardian/repository/model/base/model.py | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/home_guardian/function_collection.py b/home_guardian/function_collection.py index 00653be..f98ad81 100644 --- a/home_guardian/function_collection.py +++ b/home_guardian/function_collection.py @@ -4,4 +4,16 @@ def get_root_path() -> str: + """ + Get the root path of the project. + """ return os.path.dirname(_current_file) + + +def get_data_dir() -> str: + """ + Get the data directory of the project. + """ + data_dir = f"{get_root_path()}/_data" + os.makedirs(data_dir, exist_ok=True) + return data_dir diff --git a/home_guardian/repository/model/base/model.py b/home_guardian/repository/model/base/model.py index 956b923..9e1b8fb 100644 --- a/home_guardian/repository/model/base/model.py +++ b/home_guardian/repository/model/base/model.py @@ -1,9 +1,9 @@ from loguru import logger from peewee import Model, SqliteDatabase -from home_guardian.function_collection import get_root_path +from home_guardian.function_collection import get_data_dir -db_path = f"{get_root_path()}/home_guardian.db" +db_path = f"{get_data_dir()}/home_guardian.db" logger.info(f"SQLite database path: {db_path}") db = SqliteDatabase(db_path) logger.info(f"Initialized db file: {db}") From dd9a05dd321725c9b2de85ea3d43e01ce01a4d99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 17:40:39 +0800 Subject: [PATCH 17/63] refactor($OpenCV): add OpenCV dependency --- Pipfile | 1 + Pipfile.lock | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 74 insertions(+), 1 deletion(-) diff --git a/Pipfile b/Pipfile index a798d8b..a5ea165 100644 --- a/Pipfile +++ b/Pipfile @@ -9,6 +9,7 @@ python_version = "3.10" [packages] peewee = "==3.14.8" loguru = "==0.5.3" +opencv-python = "==4.5.4.58" [dev-packages] black = "==20.8b1" diff --git a/Pipfile.lock b/Pipfile.lock index 02c7437..76664d2 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "90f6da53b7f6bae26ec34d999d157b433d56ccbd441b5beafebb7de56ebef6df" + "sha256": "e67402d59be37da2cb123fbecb42293f83254f268c0b2d47ab1378cba2a3fa5b" }, "pipfile-spec": 6, "requires": { @@ -24,6 +24,78 @@ "index": "pypi", "version": "==0.5.3" }, + "numpy": { + "hashes": [ + "sha256:0b78ecfa070460104934e2caf51694ccd00f37d5e5dbe76f021b1b0b0d221823", + "sha256:1247ef28387b7bb7f21caf2dbe4767f4f4175df44d30604d42ad9bd701ebb31f", + "sha256:1403b4e2181fc72664737d848b60e65150f272fe5a1c1cbc16145ed43884065a", + "sha256:170b2a0805c6891ca78c1d96ee72e4c3ed1ae0a992c75444b6ab20ff038ba2cd", + "sha256:2e4ed57f45f0aa38beca2a03b6532e70e548faf2debbeb3291cfc9b315d9be8f", + "sha256:32fe5b12061f6446adcbb32cf4060a14741f9c21e15aaee59a207b6ce6423469", + "sha256:34f3456f530ae8b44231c63082c8899fe9c983fd9b108c997c4b1c8c2d435333", + "sha256:4c9c23158b87ed0e70d9a50c67e5c0b3f75bcf2581a8e34668d4e9d7474d76c6", + "sha256:5d95668e727c75b3f5088ec7700e260f90ec83f488e4c0aaccb941148b2cd377", + "sha256:615d4e328af7204c13ae3d4df7615a13ff60a49cb0d9106fde07f541207883ca", + "sha256:69077388c5a4b997442b843dbdc3a85b420fb693ec8e33020bb24d647c164fa5", + "sha256:74b85a17528ca60cf98381a5e779fc0264b4a88b46025e6bcbe9621f46bb3e63", + "sha256:81225e58ef5fce7f1d80399575576fc5febec79a8a2742e8ef86d7b03beef49f", + "sha256:8890b3360f345e8360133bc078d2dacc2843b6ee6059b568781b15b97acbe39f", + "sha256:92aafa03da8658609f59f18722b88f0a73a249101169e28415b4fa148caf7e41", + "sha256:9864424631775b0c052f3bd98bc2712d131b3e2cd95d1c0c68b91709170890b0", + "sha256:9e6f5f50d1eff2f2f752b3089a118aee1ea0da63d56c44f3865681009b0af162", + "sha256:a3deb31bc84f2b42584b8c4001c85d1934dbfb4030827110bc36bfd11509b7bf", + "sha256:ad010846cdffe7ec27e3f933397f8a8d6c801a48634f419e3d075db27acf5880", + "sha256:b1e2312f5b8843a3e4e8224b2b48fe16119617b8fc0a54df8f50098721b5bed2", + "sha256:bc988afcea53e6156546e5b2885b7efab089570783d9d82caf1cfd323b0bb3dd", + "sha256:c449eb870616a7b62e097982c622d2577b3dbc800aaf8689254ec6e0197cbf1e", + "sha256:c74c699b122918a6c4611285cc2cad4a3aafdb135c22a16ec483340ef97d573c", + "sha256:c885bfc07f77e8fee3dc879152ba993732601f1f11de248d4f357f0ffea6a6d4", + "sha256:e3c3e990274444031482a31280bf48674441e0a5b55ddb168f3a6db3e0c38ec8", + "sha256:e4799be6a2d7d3c33699a6f77201836ac975b2e1b98c2a07f66a38f499cb50ce", + "sha256:e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0", + "sha256:e89717274b41ebd568cd7943fc9418eeb49b1785b66031bc8a7f6300463c5898", + "sha256:f5162ec777ba7138906c9c274353ece5603646c6965570d82905546579573f73", + "sha256:fde96af889262e85aa033f8ee1d3241e32bf36228318a61f1ace579df4e8170d" + ], + "markers": "python_version < '3.11' and python_version >= '3.7'", + "version": "==1.21.4" + }, + "opencv-python": { + "hashes": [ + "sha256:02872e0a9358526646d691f390143e9c21109c210095314abaa0641211cda077", + "sha256:085c5fcf5a6479c34aca3fd0f59055e704083d6a44009d6583c675ff1a5a0625", + "sha256:0d6249a49122a78afc6685ddb1377a87e46414ae61c84535c4c6024397f1f3e8", + "sha256:0eba0bfe62c48a02a5af3a0944e872c99f57f98653bed14d51c6991a58f9e1d1", + "sha256:215bdf069847d4e3b0447a34e9eb4046dd4ca523d41fe4381c1c55f6704fd0dc", + "sha256:22bcc3153a7d4f95aff79457eef81ef5e40ab1851b189e014412b5e9fbee2573", + "sha256:26feeeb280de179f5dbb8976ebf7ceb836bd263973cb5daec8ca36e8ef7b5773", + "sha256:2fff48a641a74d1def31c1e88f9e5ce50ba4d0f87d085dfbf8bc844e12f6cd54", + "sha256:315c357522b6310ef7a0718d9f0c5d3110e59c19140705499a3c29bdd8c0124f", + "sha256:48288428f407bacba5f73d460feb4a1ecafe87db3d7cfc0730a49fb32f589bbf", + "sha256:4a13381bdfc0fb4b080efcc27c46561d0bd752f126226e9f19aa9cbcf6677f40", + "sha256:4abe9c4fb6fe16daa9fcdd68b5357d3530431341aa655203f8e84f394e1fe6d4", + "sha256:4b614fbd81aeda53ce28e645aaee18fda7c7f2a48eb7f1a70a7c6c3427946342", + "sha256:5370a11757fbe94b176771269aff599f4da8676c2a672b13bcbca043f2e3eea8", + "sha256:637f4d3ad81bd27f273ede4c5fa6c26afb85c097c9715baf107cc270e37f5fea", + "sha256:69a78e40a374ac14e4bf15a13dbb6c30fd2fbd5fcd3674d020a31b88861d5aaf", + "sha256:6b87bab220d17e03eeedbcc6652d9d7e7bb09886dbd0f810310697a948b4c6fd", + "sha256:887a61097092dc0bf23fa24646dbc8cfeeb753649cb28a3782a93a6879e3b7d2", + "sha256:8ddf4dcd8199209e33f21deb0c6d8ab62b21802816bba895fefc346b6d2e522d", + "sha256:8f7886acabaebf0361bd3dbccaa0d08e3f65ab13b7c739eb11e028f01ad13582", + "sha256:92e9b2261ec764229c948d77fe0d922ee033348ca6519939b87861016c1614b3", + "sha256:9998ce60884f3cda074f02b56d2b57ee6bd863e2ddba132da2b0af3b9487d584", + "sha256:9b2c198af083a693d42a82bddc4d1f7e6bb02c64192ff7fac1fd1d43a8cf1be6", + "sha256:9bcca50c5444b5cfb01624666b69f91ba8f2d2bf4ef37b111697aafdeb81c99f", + "sha256:a2a7f09b8843b85f3e1b02c5ea3ddc0cb9f5ad9698380109b37069ee8db7746d", + "sha256:ac852fcaac93439f2f7116ddffdc23fd366c872200ade2272446f9898180cecb", + "sha256:bc34cdbfbab463750713118c8259a5d364547adab8ed91e94ba888349f33590a", + "sha256:c44f5c51e92322ed832607204249c190764dec6cf29e8ba6d679b10326be1c1b", + "sha256:d4b1d0b98ee72ba5dd720166790fc93ce459281e138ee79b0d41420b3da52b2e", + "sha256:eaa144013b597e4dcabc8d8230edfe810319de01b5609556d415a20e2b707547" + ], + "index": "pypi", + "version": "==4.5.4.58" + }, "peewee": { "hashes": [ "sha256:01bd7f734defb08d7a3346a0c0ca7011bc8d0d685934ec0e001b3371d522ec53" From cc27bce3aa884262ab0f7b89d99661e1ecb3be34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 19:30:33 +0800 Subject: [PATCH 18/63] perf($Python): support pooled multi thread --- home_guardian/__init__.py | 10 ++++-- home_guardian/__main__.py | 2 ++ .../{loguru.py => loguru_configuration.py} | 0 .../thread_pool_configuration.py | 36 +++++++++++++++++++ home_guardian/function_collection.py | 11 ++++++ 5 files changed, 57 insertions(+), 2 deletions(-) rename home_guardian/configuration/{loguru.py => loguru_configuration.py} (100%) create mode 100644 home_guardian/configuration/thread_pool_configuration.py diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index adafb36..36f705e 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -1,3 +1,9 @@ -from home_guardian.configuration.loguru import configure +from home_guardian.configuration.loguru_configuration import ( + configure as loguru_configure, +) +from home_guardian.configuration.thread_pool_configuration import ( + configure as thread_pool_configure, +) -configure() +loguru_configure() +thread_pool_configure() diff --git a/home_guardian/__main__.py b/home_guardian/__main__.py index 62d688d..3782ffc 100644 --- a/home_guardian/__main__.py +++ b/home_guardian/__main__.py @@ -1,6 +1,8 @@ import random +from home_guardian.configuration.thread_pool_configuration import simulate_multi_thread from home_guardian.repository.user_repository import create_user if __name__ == "__main__": create_user(f"user{random.random()}") + simulate_multi_thread() diff --git a/home_guardian/configuration/loguru.py b/home_guardian/configuration/loguru_configuration.py similarity index 100% rename from home_guardian/configuration/loguru.py rename to home_guardian/configuration/loguru_configuration.py diff --git a/home_guardian/configuration/thread_pool_configuration.py b/home_guardian/configuration/thread_pool_configuration.py new file mode 100644 index 0000000..76677a7 --- /dev/null +++ b/home_guardian/configuration/thread_pool_configuration.py @@ -0,0 +1,36 @@ +import time +from concurrent.futures import ThreadPoolExecutor + +from loguru import logger + +from home_guardian.function_collection import get_cpu_count + +max_workers = 2 * get_cpu_count() +executor = ThreadPoolExecutor( + max_workers=max_workers, thread_name_prefix="my_thread_pool" +) + + +def configure() -> None: + """ + Configure thread pool. + """ + logger.warning( + f"Thread pool executor with {max_workers} workers, executor: {executor}" + ) + + +def simulate_get_html(times): + time.sleep(times) + logger.info(f"get page {times} finished") + return times + + +def simulate_multi_thread() -> None: + task1 = executor.submit(simulate_get_html, 3) + task2 = executor.submit(simulate_get_html, 2) + logger.info(task1.done()) + logger.info(task2.cancel()) + time.sleep(4) + logger.info(task1.done()) + logger.info(task1.result()) diff --git a/home_guardian/function_collection.py b/home_guardian/function_collection.py index f98ad81..6a8d888 100644 --- a/home_guardian/function_collection.py +++ b/home_guardian/function_collection.py @@ -17,3 +17,14 @@ def get_data_dir() -> str: data_dir = f"{get_root_path()}/_data" os.makedirs(data_dir, exist_ok=True) return data_dir + + +def get_cpu_count() -> int: + """ + Get CPU count, default is 4 + """ + cpu_count = os.cpu_count() + if cpu_count is not None: + return cpu_count + else: + return 4 From cb9daca0b2204ab82944e0383c89294bab4613a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 21:05:45 +0800 Subject: [PATCH 19/63] chore: refine logs for database initiation --- home_guardian/repository/model/base/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home_guardian/repository/model/base/model.py b/home_guardian/repository/model/base/model.py index 9e1b8fb..b739305 100644 --- a/home_guardian/repository/model/base/model.py +++ b/home_guardian/repository/model/base/model.py @@ -6,7 +6,7 @@ db_path = f"{get_data_dir()}/home_guardian.db" logger.info(f"SQLite database path: {db_path}") db = SqliteDatabase(db_path) -logger.info(f"Initialized db file: {db}") +logger.warning(f"Initialized db file: {db}") class BaseModel(Model): From e3aa552488669be85172f1b29b04ca6eb074681b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 21:07:11 +0800 Subject: [PATCH 20/63] perf: support function's debounce and throttle --- home_guardian/common/__init__.py | 0 home_guardian/common/debounce_throttle.py | 75 +++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 home_guardian/common/__init__.py create mode 100644 home_guardian/common/debounce_throttle.py diff --git a/home_guardian/common/__init__.py b/home_guardian/common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/home_guardian/common/debounce_throttle.py b/home_guardian/common/debounce_throttle.py new file mode 100644 index 0000000..3c48d5e --- /dev/null +++ b/home_guardian/common/debounce_throttle.py @@ -0,0 +1,75 @@ +import asyncio +from time import time + + +class Setter: + def __init__(self, initial_value=None) -> None: + self._value = initial_value + + def get(self): + return self._value + + def set(self, v): + self._value = v + + +def debounce(delay): + """ + Debounce decorator. + + @see Python 中的防抖与节流 https://www.bilibili.com/read/cv13257868 + """ + + # 用于存储 asyncio.Task 实例,这里是闭包 + task = Setter() + + def decorator(fn): + # Task 协程函数 + async def f(*args, **kwargs): + # 进行休眠 + await asyncio.sleep(delay) + # 调用函数 + f1 = fn(*args, **kwargs) + # 支持回调函数是异步函数的情况 + if asyncio.iscoroutine(f1): + await f1 + # 清除 task + task.set(None) + + def wrapper(*args, **kwargs): + # 如果 task 存在,说明在 delay 秒内调用过一次函数,此次调用应当重置计时器,因此取消先前的 Task + if task.get() is not None: + task.get().cancel() + # 创建 Task 并赋值变量 task + task.set(asyncio.create_task(f(*args, **kwargs))) + + return wrapper + + return decorator + + +def throttle(delay): + """ + Throttle decorator. + + @see Python 中的防抖与节流 https://www.moyu.moe/articles/25/ + """ + + # 下一次许可调用的时间,初始化为 0 + next_t = Setter(0) + + def decorator(fn): + def wrapper(*args, **kwargs): + # 当前时间 + now = time() + # 若未到下一次许可调用的时间,直接返回 + if next_t.get() > now: + return + # 更新下一次许可调用的时间 + next_t.set(now + delay) + # 调用函数并返回 + return fn(*args, **kwargs) + + return wrapper + + return decorator From 4651abb90277fe467bb1d08c12f9e93e095334ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Mon, 8 Nov 2021 21:10:11 +0800 Subject: [PATCH 21/63] feat($OpenCV): detect face and save the image asynchronously --- .gitignore | 1 + home_guardian/opencv/__init__.py | 0 home_guardian/opencv/edge.py | 22 + home_guardian/opencv/face_detection.py | 46 + .../haarcascade_frontalface_alt2.xml | 20719 ++++++++++++++++ 5 files changed, 20788 insertions(+) create mode 100644 home_guardian/opencv/__init__.py create mode 100644 home_guardian/opencv/edge.py create mode 100644 home_guardian/opencv/face_detection.py create mode 100644 home_guardian/resources/haarcascade_frontalface_alt2.xml diff --git a/.gitignore b/.gitignore index 84c248d..c491b38 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ *.db *.gz logs/ +_data/ ### PyCharm ### .idea diff --git a/home_guardian/opencv/__init__.py b/home_guardian/opencv/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/home_guardian/opencv/edge.py b/home_guardian/opencv/edge.py new file mode 100644 index 0000000..9ab96b8 --- /dev/null +++ b/home_guardian/opencv/edge.py @@ -0,0 +1,22 @@ +import cv2 + + +def capture_edge_video() -> None: + """ + Capture video from camera and transform it into edge video. + """ + cap = cv2.VideoCapture(0) + while True: + # reads frames from a camera + ret, frame = cap.read() + # Display an original image + cv2.imshow("Original", frame) + # discovers edges in the input image image and + # marks them in the output map edges + edges = cv2.Canny(frame, 100, 200, True) + # Display edges in a frame + cv2.imshow("Edges", edges) + if cv2.waitKey(1) & 0xFF == ord("q"): + break + cap.release() + cv2.destroyAllWindows() diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py new file mode 100644 index 0000000..9f602f8 --- /dev/null +++ b/home_guardian/opencv/face_detection.py @@ -0,0 +1,46 @@ +import datetime +import os +from time import sleep + +import cv2.cv2 as cv2 +from loguru import logger + +from home_guardian.common.debounce_throttle import throttle +from home_guardian.configuration.thread_pool_configuration import executor +from home_guardian.function_collection import get_data_dir, get_root_path + +detected_face_dir = f"{get_data_dir()}/detection" +os.makedirs(detected_face_dir, exist_ok=True) +logger.warning(f"Made the directory, detected_face_dir: {detected_face_dir}") + + +def detect_and_take_photo() -> None: + face = cv2.CascadeClassifier( + f"{get_root_path()}/resources/haarcascade_frontalface_alt2.xml" + ) + capture = cv2.VideoCapture(0) + while True: + return_value, frame = capture.read() + gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + faces = face.detectMultiScale(gray) + for (x, y, w, h) in faces: + cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) + save_capture(frame) + if return_value: + cv2.imshow("Capture Window", frame) + if cv2.waitKey(1) & 0xFF == ord("q"): + break + sleep(1) + capture.release() + cv2.destroyAllWindows() + + +@throttle(2) +def save_capture(frame) -> None: + executor.submit(async_save_capture, frame) + + +def async_save_capture(frame) -> None: + file_name = f"{get_data_dir()}/detection/detected_face_{datetime.datetime.now().__str__().replace(':', '_')}.jpeg" + cv2.imwrite(file_name, frame) + logger.info("Saved image to: {}", file_name) diff --git a/home_guardian/resources/haarcascade_frontalface_alt2.xml b/home_guardian/resources/haarcascade_frontalface_alt2.xml new file mode 100644 index 0000000..b49cf5d --- /dev/null +++ b/home_guardian/resources/haarcascade_frontalface_alt2.xml @@ -0,0 +1,20719 @@ + + + +BOOST + HAAR + 20 + 20 + + 109 + + 0 + 20 + + <_> + 3 + 3.5069230198860168e-01 + + <_> + + 0 1 0 4.3272329494357109e-03 -1 -2 1 1.3076160103082657e-02 + + 3.8381900638341904e-02 8.9652568101882935e-01 + 2.6293140649795532e-01 + <_> + + 0 1 2 5.2434601821005344e-04 -1 -2 3 4.4573000632226467e-03 + + 1.0216630250215530e-01 1.2384019792079926e-01 + 6.9103831052780151e-01 + <_> + + 1 0 4 -9.2708261217921972e-04 -1 -2 5 3.3989109215326607e-04 + + 1.9536970555782318e-01 2.1014410257339478e-01 + 8.2586747407913208e-01 + <_> + 9 + 3.4721779823303223e+00 + + <_> + + 0 1 6 2.3025739938020706e-03 -1 -2 7 4.4174338690936565e-03 + + 1.0183759778738022e-01 8.2190579175949097e-01 + 1.9565549492835999e-01 + <_> + + 0 1 8 2.2203210741281509e-02 -1 -2 9 -1.7283110355492681e-04 + + 2.2054070234298706e-01 7.3263257741928101e-02 + 5.9314841032028198e-01 + <_> + + 0 1 10 4.3567270040512085e-03 -1 -2 11 + -2.6032889727503061e-03 + + 1.8441149592399597e-01 4.0322139859199524e-01 + 8.0665212869644165e-01 + <_> + + 0 1 12 1.7309630056843162e-03 -1 -2 13 + -7.8146401792764664e-03 + + 2.5483280420303345e-01 6.0570698976516724e-01 + 2.7790638804435730e-01 + <_> + + 0 1 14 -8.7343417108058929e-03 -1 -2 15 + 9.4522320432588458e-04 + + 2.8899800777435303e-01 7.6165872812271118e-01 + 3.4956431388854980e-01 + <_> + + 1 0 16 4.9414858222007751e-02 -1 -2 17 + 4.4891750440001488e-03 + + 8.1516528129577637e-01 2.8087830543518066e-01 + 6.0277748107910156e-01 + <_> + + 1 0 18 6.0313619673252106e-02 -1 -2 19 + -1.0762850288301706e-03 + + 7.6075017452239990e-01 4.4440358877182007e-01 + 1.4373120665550232e-01 + <_> + + 1 0 20 -9.5083238556981087e-03 -1 -2 21 + 7.6601309701800346e-03 + + 5.3181701898574829e-01 5.4110521078109741e-01 + 2.1806870400905609e-01 + <_> + + 1 0 22 7.6467678882181644e-03 -1 -2 23 + -8.4662932204082608e-04 + + 1.1589600145816803e-01 2.3406790196895599e-01 + 5.9903818368911743e-01 + <_> + 14 + 5.9844889640808105e+00 + + <_> + + 1 0 24 -4.8506218008697033e-03 -1 -2 25 + -4.6141650527715683e-03 + + 1.8054960668087006e-01 2.1778939664363861e-01 + 8.0182367563247681e-01 + <_> + + 0 1 26 -2.4301309604197741e-03 -1 -2 27 + 4.1787960799410939e-04 + + 1.1413549631834030e-01 1.2030939757823944e-01 + 6.1085307598114014e-01 + <_> + + 0 1 28 1.0010929545387626e-03 -1 -2 29 + 1.0577100329101086e-03 + + 2.0799599587917328e-01 3.3020541071891785e-01 + 7.5110942125320435e-01 + <_> + + 1 0 30 1.2376549420878291e-03 -1 -2 31 + 3.5315038985572755e-04 + + 2.7682220935821533e-01 1.6682930290699005e-01 + 5.8294767141342163e-01 + <_> + + 0 1 32 -1.1953660286962986e-02 -1 -2 33 + 1.4182999730110168e-03 + + 1.5087880194187164e-01 4.3912279605865479e-01 + 7.6465952396392822e-01 + <_> + + 1 0 34 3.4642980899661779e-03 -1 -2 35 + -1.4948950149118900e-02 + + 2.6515561342239380e-01 2.2980530560016632e-01 + 5.4421657323837280e-01 + <_> + + 1 0 36 -1.0506849503144622e-03 -1 -2 37 + -4.0782918222248554e-03 + + 3.6228439211845398e-01 2.6012599468231201e-01 + 7.2336578369140625e-01 + <_> + + 0 1 38 5.4242828628048301e-04 -1 -2 39 + -7.3204059153795242e-03 + + 3.8496789336204529e-01 2.9655128717422485e-01 + 5.4803091287612915e-01 + <_> + + 0 1 40 1.1421289527788758e-03 -1 -2 41 + 1.1783400550484657e-03 + + 4.1047701239585876e-01 7.2390240430831909e-01 + 2.7872839570045471e-01 + <_> + + 0 1 42 4.4077109545469284e-02 -1 -2 43 + 3.7900090683251619e-03 + + 5.6405162811279297e-01 5.9475481510162354e-01 + 3.3120200037956238e-01 + <_> + + 0 1 44 -2.4291418958455324e-03 -1 -2 45 + 9.4262324273586273e-03 + + 6.6032320261001587e-01 4.6806651353836060e-01 + 2.0643380284309387e-01 + <_> + + 0 1 46 8.0630257725715637e-03 -1 -2 47 + 5.2240812219679356e-03 + + 5.2988511323928833e-01 5.2816027402877808e-01 + 1.9095499813556671e-01 + <_> + + 0 1 48 -7.0630568079650402e-03 -1 -2 49 + 5.6897541508078575e-03 + + 1.3806459307670593e-01 5.4906368255615234e-01 + 1.2602810561656952e-01 + <_> + + 0 1 50 1.2472929665818810e-03 -1 -2 51 + 4.9543488770723343e-02 + + 2.3726630210876465e-01 5.2401661872863770e-01 + 1.7692160606384277e-01 + <_> + 19 + 8.5117864608764648e+00 + + <_> + + 1 0 52 -4.9326149746775627e-03 -1 -2 53 + 2.7918140403926373e-05 + + 1.9980649650096893e-01 2.2993800044059753e-01 + 7.3932111263275146e-01 + <_> + + 1 0 54 3.0876200180500746e-03 -1 -2 55 + 7.4669660534709692e-06 + + 1.5338400006294250e-01 2.0368589460849762e-01 + 5.8549159765243530e-01 + <_> + + 0 1 56 1.8739729421213269e-03 -1 -2 57 + 9.3380251200869679e-04 + + 2.0498959720134735e-01 3.2341998815536499e-01 + 7.3230141401290894e-01 + <_> + + 0 1 58 1.9151850137859583e-03 -1 -2 59 + -5.9683797881007195e-03 + + 3.0451491475105286e-01 2.9321339726448059e-01 + 5.6212961673736572e-01 + <_> + + 0 1 60 -7.2115601506084204e-04 -1 -2 61 + -5.9663117863237858e-03 + + 3.6580368876457214e-01 2.7121558785438538e-01 + 7.2263348102569580e-01 + <_> + + 0 1 62 3.0874179676175117e-02 -1 -2 63 + -1.1099710129201412e-02 + + 4.4198378920555115e-01 3.6129769682884216e-01 + 5.2514511346817017e-01 + <_> + + 0 1 64 2.1164179779589176e-03 -1 -2 65 + -9.4317439943552017e-03 + + 3.6286169290542603e-01 1.6010950505733490e-01 + 7.0522767305374146e-01 + <_> + + 0 1 66 -3.5266019403934479e-03 -1 -2 67 + -1.6907559474930167e-03 + + 1.3012880086898804e-01 1.7863239347934723e-01 + 5.5215299129486084e-01 + <_> + + 0 1 68 4.6470930101349950e-04 -1 -2 69 + -1.0215570218861103e-02 + + 3.4873831272125244e-01 2.6739910244941711e-01 + 6.6679191589355469e-01 + <_> + + 1 0 70 1.2634709710255265e-03 -1 -2 71 + -1.1875299736857414e-02 + + 3.4378638863563538e-01 5.9953361749649048e-01 + 3.4977179765701294e-01 + <_> + + 0 1 72 -1.0732339695096016e-02 -1 -2 73 + 7.1836481802165508e-03 + + 2.1504899859428406e-01 6.2714362144470215e-01 + 2.5195419788360596e-01 + <_> + + 0 1 74 -2.8340889140963554e-02 -1 -2 75 + -4.5813230099156499e-04 + + 8.2411892712116241e-02 5.9100568294525146e-01 + 3.7052011489868164e-01 + <_> + + 1 0 76 4.2940340936183929e-03 -1 -2 77 + 1.0751079767942429e-02 + + 1.5947279334068298e-01 5.9804809093475342e-01 + 2.8325080871582031e-01 + <_> + + 1 0 78 2.2465119138360023e-02 -1 -2 79 + -5.7988539338111877e-02 + + 7.8770911693572998e-01 1.5557409822940826e-01 + 5.2396571636199951e-01 + <_> + + 1 0 80 7.2110891342163086e-03 -1 -2 81 + -4.8367571085691452e-02 + + 6.6203659772872925e-01 1.4247199892997742e-01 + 4.4298338890075684e-01 + <_> + + 0 1 82 -1.4418059960007668e-02 -1 -2 83 + -2.3156389594078064e-02 + + 1.5885409712791443e-01 2.3757989704608917e-01 + 5.2171349525451660e-01 + <_> + + 1 0 84 7.6985340565443039e-03 -1 -2 85 + -5.6248619221150875e-03 + + 1.9417250156402588e-01 6.2784057855606079e-01 + 3.7460449337959290e-01 + <_> + + 1 0 86 -7.2936748620122671e-04 -1 -2 87 + 6.1783898854628205e-04 + + 3.8409221172332764e-01 3.1064930558204651e-01 + 5.5378472805023193e-01 + <_> + + 1 0 88 -4.5803939428878948e-05 -1 -2 89 + -1.4719359569426160e-05 + + 3.4444490075111389e-01 2.7295520901679993e-01 + 6.4289510250091553e-01 + <_> + 19 + 8.4680156707763672e+00 + + <_> + + 0 1 90 -1.3469370314851403e-03 -1 -2 91 + -2.4774789344519377e-03 + + 1.6570860147476196e-01 2.2738510370254517e-01 + 6.9893497228622437e-01 + <_> + + 0 1 92 5.2632777951657772e-03 -1 -2 93 + 4.9075339920818806e-03 + + 1.5120740234851837e-01 5.5644702911376953e-01 + 1.6054420173168182e-01 + <_> + + 0 1 94 -2.3254349362105131e-03 -1 -2 95 + -1.4665479538962245e-03 + + 1.8802590668201447e-01 3.1224989891052246e-01 + 7.1653962135314941e-01 + <_> + + 1 0 96 -1.2311690300703049e-01 -1 -2 97 + 2.2108340635895729e-03 + + 3.8595831394195557e-01 2.4552939832210541e-01 + 5.6957101821899414e-01 + <_> + + 0 1 98 2.0661531016230583e-03 -1 -2 99 + 3.6130280932411551e-04 + + 2.7165201306343079e-01 2.2933620214462280e-01 + 7.2086298465728760e-01 + <_> + + 1 0 100 7.9957872629165649e-02 -1 -2 101 + 2.6064720004796982e-03 + + 7.8336209058761597e-01 5.5452322959899902e-01 + 2.5506898760795593e-01 + <_> + + 1 0 102 6.5699010156095028e-03 -1 -2 103 + 1.6259610420092940e-03 + + 1.8193900585174561e-01 3.5298758745193481e-01 + 6.5528190135955811e-01 + <_> + + 0 1 104 3.6204981151968241e-03 -1 -2 105 + -4.4391951523721218e-03 + + 5.4623097181320190e-01 1.3598430156707764e-01 + 5.4158151149749756e-01 + <_> + + 0 1 106 -9.0540945529937744e-03 -1 -2 107 + -4.6067481162026525e-04 + + 1.1151199787855148e-01 5.8467197418212891e-01 + 2.5983488559722900e-01 + <_> + + 0 1 108 -5.6621041148900986e-03 -1 -2 109 + 5.1165837794542313e-03 + + 1.6105690598487854e-01 5.3766787052154541e-01 + 1.7394550144672394e-01 + <_> + + 0 1 110 -2.1362339612096548e-03 -1 -2 111 + -5.4809921421110630e-03 + + 1.9020730257034302e-01 3.2720080018043518e-01 + 6.3648408651351929e-01 + <_> + + 0 1 112 -8.1061907112598419e-03 -1 -2 113 + 6.0048708692193031e-03 + + 6.9148528575897217e-01 4.3273261189460754e-01 + 6.9638431072235107e-01 + <_> + + 0 1 114 -8.7028548121452332e-02 -1 -2 115 + -4.7809639945626259e-03 + + 8.5941338539123535e-01 9.7394466400146484e-02 + 4.5870301127433777e-01 + <_> + + 0 1 116 -2.2166660055518150e-03 -1 -2 117 + 1.3642730191349983e-03 + + 2.5546258687973022e-01 3.3190909028053284e-01 + 5.9641027450561523e-01 + <_> + + 0 1 118 -9.0077864006161690e-03 -1 -2 119 + -1.5494120307266712e-02 + + 2.6665949821472168e-01 1.8481859564781189e-01 + 6.2459707260131836e-01 + <_> + + 1 0 120 -4.2165028862655163e-03 -1 -2 121 + 4.3249759823083878e-02 + + 5.3799271583557129e-01 5.1830291748046875e-01 + 2.1704199910163879e-01 + <_> + + 1 0 122 2.8786511393263936e-04 -1 -2 123 + 1.2373150093480945e-03 + + 2.6133841276168823e-01 2.7865320444107056e-01 + 5.9089881181716919e-01 + <_> + + 1 0 124 1.9528300035744905e-03 -1 -2 125 + -1.4947060262784362e-03 + + 2.6128691434860229e-01 5.9154129028320312e-01 + 3.4557819366455078e-01 + <_> + + 1 0 126 3.5878680646419525e-03 -1 -2 127 + -2.5938691105693579e-03 + + 1.5870520472526550e-01 1.2704110145568848e-01 + 5.9794288873672485e-01 + <_> + 27 + 1.2578499794006348e+01 + + <_> + + 0 1 128 3.5810680128633976e-03 -1 -2 129 + -2.8552350122481585e-03 + + 1.9951049983501434e-01 7.3730701208114624e-01 + 2.9217371344566345e-01 + <_> + + 0 1 130 1.9758539274334908e-03 -1 -2 131 + 3.2583118882030249e-03 + + 1.9564199447631836e-01 5.6920468807220459e-01 + 1.8390649557113647e-01 + <_> + + 0 1 132 2.3711679386906326e-04 -1 -2 133 + 2.5942500215023756e-03 + + 2.1716670691967010e-01 2.7199891209602356e-01 + 7.1502441167831421e-01 + <_> + + 0 1 134 -2.5032449513673782e-02 -1 -2 135 + 6.3087949529290199e-03 + + 1.8251839280128479e-01 5.6998378038406372e-01 + 3.5098528861999512e-01 + <_> + + 1 0 136 -3.2494920305907726e-03 -1 -2 137 + -1.4885730110108852e-02 + + 4.0239268541336060e-01 3.6040958762168884e-01 + 7.2919952869415283e-01 + <_> + + 1 0 138 8.0623216927051544e-03 -1 -2 139 + 2.7405679225921631e-02 + + 6.4914900064468384e-01 5.5189931392669678e-01 + 2.6596811413764954e-01 + <_> + + 1 0 140 3.4368600696325302e-02 -1 -2 141 + -2.7292970567941666e-02 + + 6.7125129699707031e-01 1.6913780570030212e-01 + 4.3262779712677002e-01 + <_> + + 0 1 142 7.4452121043577790e-04 -1 -2 143 + 7.0336280623450875e-04 + + 3.4051001071929932e-01 5.5167931318283081e-01 + 3.3113878965377808e-01 + <_> + + 0 1 144 -1.2275460362434387e-01 -1 -2 145 + 3.2559928949922323e-03 + + 1.6753150522708893e-01 3.6157518625259399e-01 + 6.4207828044891357e-01 + <_> + + 0 1 146 -3.2090399414300919e-02 -1 -2 147 + 3.2957999501377344e-03 + + 2.9210790991783142e-01 5.6130319833755493e-01 + 3.3578601479530334e-01 + <_> + + 0 1 148 -3.2273170072585344e-03 -1 -2 149 + 1.1171669466421008e-03 + + 6.9706428050994873e-01 3.5411500930786133e-01 + 6.1440062522888184e-01 + <_> + + 1 0 150 -1.7279950901865959e-02 -1 -2 151 + 1.1741200461983681e-02 + + 5.5371809005737305e-01 5.3419572114944458e-01 + 2.7571049332618713e-01 + <_> + + 1 0 152 4.6405228786170483e-03 -1 -2 153 + -1.6913030296564102e-02 + + 2.4895210564136505e-01 1.7119289934635162e-01 + 5.5239528417587280e-01 + <_> + + 1 0 154 1.0060169734060764e-02 -1 -2 155 + -6.0715491417795420e-04 + + 8.2734507322311401e-01 3.7793910503387451e-01 + 5.4762518405914307e-01 + <_> + + 1 0 156 -1.0865400545299053e-03 -1 -2 157 + 8.9362077414989471e-03 + + 3.2965409755706787e-01 6.0628837347030640e-01 + 2.4342200160026550e-01 + <_> + + 1 0 158 -2.6372660067863762e-04 -1 -2 159 + 1.3110050000250340e-02 + + 3.8140949606895447e-01 5.5176162719726562e-01 + 3.7268930673599243e-01 + <_> + + 0 1 160 -2.9806280508637428e-03 -1 -2 161 + -4.1619571857154369e-03 + + 1.2296640127897263e-01 7.2522747516632080e-01 + 4.9734550714492798e-01 + <_> + + 0 1 162 3.3842328935861588e-02 -1 -2 163 + -1.2564560165628791e-03 + + 5.3483128547668457e-01 5.8519148826599121e-01 + 4.3841668963432312e-01 + <_> + + 0 1 164 -1.9635230302810669e-02 -1 -2 165 + -9.9625496659427881e-04 + + 2.2978340089321136e-01 6.2959378957748413e-01 + 4.1315990686416626e-01 + <_> + + 0 1 166 -2.3127110674977303e-02 -1 -2 167 + 2.3525709286332130e-02 + + 1.6954590380191803e-01 5.1741302013397217e-01 + 5.9519391506910324e-02 + <_> + + 0 1 168 -1.9356520846486092e-02 -1 -2 169 + -4.1787112131714821e-03 + + 1.3572479784488678e-01 2.9966288805007935e-01 + 5.7916951179504395e-01 + <_> + + 1 0 170 3.1488779932260513e-03 -1 -2 171 + 7.3972279205918312e-03 + + 6.5925890207290649e-01 5.3071719408035278e-01 + 3.7951210141181946e-01 + <_> + + 0 1 172 7.1955118983169086e-06 -1 -2 173 + 4.7114409506320953e-02 + + 3.1283149123191833e-01 5.5378931760787964e-01 + 1.0273090004920959e-01 + <_> + + 0 1 174 7.2878710925579071e-03 -1 -2 175 + -6.1887511983513832e-03 + + 4.6608591079711914e-01 7.1588581800460815e-01 + 4.7244489192962646e-01 + <_> + + 1 0 176 2.9757320880889893e-03 -1 -2 177 + -1.8449809867888689e-03 + + 5.9345688670873642e-02 7.0273017883300781e-01 + 4.7187310457229614e-01 + <_> + + 0 1 178 1.0239540279144421e-04 -1 -2 179 + 2.4277009069919586e-03 + + 5.8947342634201050e-01 4.8623558878898621e-01 + 5.2475881576538086e-01 + <_> + + 0 1 180 -6.4751312136650085e-02 -1 -2 181 + 3.9380151429213583e-04 + + 6.9174712896347046e-01 4.6696171164512634e-01 + 2.3824059963226318e-01 + <_> + 31 + 1.4546750068664551e+01 + + <_> + + 0 1 182 1.4397440245375037e-03 -1 -2 183 + -5.4068560712039471e-04 + + 2.7734708786010742e-01 7.4271547794342041e-01 + 2.4797350168228149e-01 + <_> + + 1 0 184 -7.1237959673453588e-06 -1 -2 185 + -2.3661039303988218e-03 + + 2.1995030343532562e-01 5.8899897336959839e-01 + 2.5957161188125610e-01 + <_> + + 0 1 186 1.7343269428238273e-03 -1 -2 187 + 1.5874590026214719e-03 + + 1.8601259589195251e-01 4.1518709063529968e-01 + 7.1034741401672363e-01 + <_> + + 1 0 188 3.7285638973116875e-03 -1 -2 189 + -1.2883819639682770e-01 + + 2.5279670953750610e-01 1.3930009305477142e-01 + 5.2545148134231567e-01 + <_> + + 1 0 190 7.9412180930376053e-03 -1 -2 191 + -1.2661729939281940e-02 + + 2.4877290427684784e-01 2.7107000350952148e-01 + 6.6188377141952515e-01 + <_> + + 0 1 192 3.0146789868013002e-05 -1 -2 193 + -1.6330160200595856e-02 + + 3.8128259778022766e-01 2.3264320194721222e-01 + 5.2630108594894409e-01 + <_> + + 0 1 194 1.4622770322603174e-05 -1 -2 195 + -2.0858660340309143e-02 + + 4.2933320999145508e-01 1.6004039347171783e-01 + 6.7823147773742676e-01 + <_> + + 1 0 196 2.8194559272378683e-03 -1 -2 197 + 3.7899368908256292e-03 + + 6.6792941093444824e-01 4.5877051353454590e-01 + 7.1762388944625854e-01 + <_> + + 1 0 198 3.5344641655683517e-02 -1 -2 199 + -1.1571600334718823e-03 + + 1.8640750646591187e-01 5.5382597446441650e-01 + 3.1504508852958679e-01 + <_> + + 0 1 200 -5.8742752298712730e-03 -1 -2 201 + -1.5201780115603469e-05 + + 2.8287911415100098e-01 5.8702242374420166e-01 + 3.7048238515853882e-01 + <_> + + 1 0 202 -2.2681879636365920e-04 -1 -2 203 + 3.7845689803361893e-03 + + 4.2189309000968933e-01 6.6670012474060059e-01 + 2.4611820280551910e-01 + <_> + + 1 0 204 -8.5295992903411388e-05 -1 -2 205 + -4.4394891709089279e-02 + + 3.5575878620147705e-01 1.6655470430850983e-01 + 5.2348488569259644e-01 + <_> + + 0 1 206 1.0126030538231134e-03 -1 -2 207 + -7.6327780261635780e-03 + + 2.8846129775047302e-01 2.9693400859832764e-01 + 6.0801112651824951e-01 + <_> + + 0 1 208 4.0330411866307259e-03 -1 -2 209 + 1.3676689565181732e-01 + + 4.5363900065422058e-01 5.1772642135620117e-01 + 1.4491820335388184e-01 + <_> + + 0 1 210 -5.0060478970408440e-03 -1 -2 211 + -1.2475839816033840e-02 + + 7.6169097423553467e-01 2.1597060561180115e-01 + 5.4601877927780151e-01 + <_> + + 1 0 212 -9.4012258341535926e-04 -1 -2 213 + -1.2191980145871639e-02 + + 3.9262959361076355e-01 3.4788811206817627e-01 + 5.5426627397537231e-01 + <_> + + 0 1 214 -5.4959481349214911e-04 -1 -2 215 + -2.1802430273965001e-04 + + 6.0642760992050171e-01 5.6974071264266968e-01 + 1.7797139286994934e-01 + <_> + + 0 1 216 6.9115799851715565e-03 -1 -2 217 + -9.7631698008626699e-04 + + 5.3793722391128540e-01 3.3278390765190125e-01 + 5.4615312814712524e-01 + <_> + + 0 1 218 -8.7870173156261444e-03 -1 -2 219 + -1.6761029837653041e-03 + + 2.1161609888076782e-01 6.6358232498168945e-01 + 4.3658590316772461e-01 + <_> + + 1 0 220 -5.5694948881864548e-02 -1 -2 221 + -1.9844379276037216e-02 + + 5.3874248266220093e-01 1.6028049588203430e-01 + 5.3304588794708252e-01 + <_> + + 0 1 222 -7.4751611100509763e-04 -1 -2 223 + 2.3032890632748604e-02 + + 2.9174768924713135e-01 5.6081241369247437e-01 + 1.9979810714721680e-01 + <_> + + 1 0 224 -3.0700280331075191e-03 -1 -2 225 + -1.1636839481070638e-03 + + 3.9383140206336975e-01 5.7574361562728882e-01 + 4.2394569516181946e-01 + <_> + + 1 0 226 2.2464339435100555e-01 -1 -2 227 + 1.4412109740078449e-03 + + 7.6765531301498413e-01 5.3538662195205688e-01 + 2.5147768855094910e-01 + <_> + + 0 1 228 -3.0011249706149101e-02 -1 -2 229 + -5.3078960627317429e-02 + + 2.3649039864540100e-01 2.3858639597892761e-01 + 5.4146647453308105e-01 + <_> + + 1 0 230 2.0800929050892591e-03 -1 -2 231 + -4.0738182142376900e-03 + + 6.5116149187088013e-01 6.0304141044616699e-01 + 3.5877010226249695e-01 + <_> + + 1 0 232 -1.9529370591044426e-02 -1 -2 233 + -5.3309470415115356e-02 + + 5.4235929250717163e-01 2.3609539866447449e-01 + 5.4017579555511475e-01 + <_> + + 0 1 234 -3.4849561750888824e-02 -1 -2 235 + -1.2658450007438660e-01 + + 2.8369858860969543e-01 1.8135160207748413e-01 + 5.4210460186004639e-01 + <_> + + 0 1 236 7.3325118137290701e-06 -1 -2 237 + -1.1843870393931866e-02 + + 3.9803659915924072e-01 2.6163849234580994e-01 + 5.2377301454544067e-01 + <_> + + 0 1 238 -4.8470678739249706e-03 -1 -2 239 + 8.1693977117538452e-03 + + 2.4381080269813538e-01 5.3271460533142090e-01 + 8.1903767585754395e-01 + <_> + + 1 0 240 -6.4716790802776814e-03 -1 -2 241 + -1.5188479665084742e-05 + + 4.6796938776969910e-01 5.5639117956161499e-01 + 4.3675860762596130e-01 + <_> + + 1 0 242 3.0696711037307978e-03 -1 -2 243 + -1.6296720423270017e-04 + + 6.6643488407135010e-01 5.5946111679077148e-01 + 3.0427119135856628e-01 + <_> + 39 + 1.8572250366210938e+01 + + <_> + + 1 0 244 -9.8275858908891678e-03 -1 -2 245 + -4.1693858802318573e-03 + + 2.1160189807415009e-01 6.9246852397918701e-01 + 3.0437770485877991e-01 + <_> + + 0 1 246 3.5341319744475186e-04 -1 -2 247 + 4.8054549843072891e-03 + + 3.1832858920097351e-01 5.4565590620040894e-01 + 2.5222688913345337e-01 + <_> + + 0 1 248 2.1071180526632816e-04 -1 -2 249 + -2.8318869881331921e-03 + + 2.9026180505752563e-01 3.1304559111595154e-01 + 6.8849372863769531e-01 + <_> + + 1 0 250 -7.5633679443853907e-06 -1 -2 251 + -8.2888139877468348e-04 + + 2.9624658823013306e-01 3.0996260046958923e-01 + 5.7525151968002319e-01 + <_> + + 0 1 252 1.6209259629249573e-03 -1 -2 253 + 9.1338958591222763e-03 + + 3.9931958913803101e-01 4.8273721337318420e-01 + 7.5378328561782837e-01 + <_> + + 0 1 254 -4.1212290525436401e-03 -1 -2 255 + -2.5447290390729904e-03 + + 2.6169270277023315e-01 3.1087028980255127e-01 + 5.4912358522415161e-01 + <_> + + 0 1 256 -6.2652782071381807e-04 -1 -2 257 + -3.6596331483451650e-05 + + 3.2396918535232544e-01 6.5174108743667603e-01 + 4.1789120435714722e-01 + <_> + + 1 0 258 1.3882719911634922e-02 -1 -2 259 + 1.0493700392544270e-03 + + 6.7712038755416870e-01 4.1595110297203064e-01 + 5.6528919935226440e-01 + <_> + + 1 0 260 1.8215360119938850e-02 -1 -2 261 + -1.1334580369293690e-02 + + 7.6896011829376221e-01 2.8733238577842712e-01 + 4.9889329075813293e-01 + <_> + + 1 0 262 -4.1097560897469521e-03 -1 -2 263 + 4.2612891411408782e-04 + + 5.4630082845687866e-01 3.6312350630760193e-01 + 5.5125522613525391e-01 + <_> + + 1 0 264 6.0301548801362514e-03 -1 -2 265 + 3.3587709185667336e-04 + + 1.1437670141458511e-01 2.8910788893699646e-01 + 5.4473417997360229e-01 + <_> + + 1 0 266 6.2279507983475924e-04 -1 -2 267 + -2.5837119668722153e-02 + + 3.0234318971633911e-01 2.1670059859752655e-01 + 5.2781528234481812e-01 + <_> + + 1 0 268 2.1774910390377045e-02 -1 -2 269 + 1.7682299949228764e-03 + + 3.2548341155052185e-01 5.2630507946014404e-01 + 7.5263291597366333e-01 + <_> + + 0 1 270 -1.3793810270726681e-02 -1 -2 271 + -5.0852829590439796e-03 + + 7.4103301763534546e-01 6.8366098403930664e-01 + 4.5790711045265198e-01 + <_> + + 1 0 272 6.1795017682015896e-03 -1 -2 273 + 1.0030319914221764e-02 + + 7.4499362707138062e-01 4.8607799410820007e-01 + 2.3614570498466492e-01 + <_> + + 0 1 274 -6.4201927743852139e-03 -1 -2 275 + -5.6961281225085258e-03 + + 1.4673270285129547e-01 2.3478199541568756e-01 + 5.3233772516250610e-01 + <_> + + 0 1 276 -7.1498160250484943e-03 -1 -2 277 + 2.4450740311294794e-03 + + 1.4770570397377014e-01 3.4985339641571045e-01 + 5.8035618066787720e-01 + <_> + + 1 0 278 -3.7503410130739212e-02 -1 -2 279 + 4.7799441381357610e-04 + + 5.2595508098602295e-01 4.3628829717636108e-01 + 6.2089228630065918e-01 + <_> + + 0 1 280 -7.0806080475449562e-03 -1 -2 281 + 3.2818000763654709e-02 + + 2.0394609868526459e-01 5.1983588933944702e-01 + 1.3711960613727570e-01 + <_> + + 1 0 282 6.5188988810405135e-04 -1 -2 283 + 4.6485587954521179e-03 + + 6.3234299421310425e-01 4.7201630473136902e-01 + 6.5670871734619141e-01 + <_> + + 0 1 284 -1.9827929791063070e-03 -1 -2 285 + -1.6011310508474708e-03 + + 6.0530602931976318e-01 5.0905191898345947e-01 + 3.1169331073760986e-01 + <_> + + 0 1 286 -3.0539939180016518e-03 -1 -2 287 + 4.3212040327489376e-04 + + 3.4298041462898254e-01 3.8384029269218445e-01 + 5.7755982875823975e-01 + <_> + + 0 1 288 -2.7452120557427406e-02 -1 -2 289 + 9.3099439982324839e-04 + + 2.1434690058231354e-01 5.9529662132263184e-01 + 3.7601581215858459e-01 + <_> + + 0 1 290 6.7144189961254597e-03 -1 -2 291 + -3.3701690845191479e-03 + + 5.6926268339157104e-01 5.7843041419982910e-01 + 3.9742821455001831e-01 + <_> + + 0 1 292 -1.8903959542512894e-02 -1 -2 293 + -6.5850871615111828e-03 + + 1.8188929557800293e-01 6.8491101264953613e-01 + 4.3515840172767639e-01 + <_> + + 1 0 294 5.8810501359403133e-03 -1 -2 295 + 8.0092082498595119e-04 + + 2.7266609668731689e-01 4.2364311218261719e-01 + 5.8446758985519409e-01 + <_> + + 1 0 296 1.8510579830035567e-03 -1 -2 297 + 6.3273650594055653e-03 + + 3.3713209629058838e-01 5.2702218294143677e-01 + 8.0536508560180664e-01 + <_> + + 0 1 298 -3.3820930402725935e-03 -1 -2 299 + -1.9292969955131412e-03 + + 2.8660181164741516e-01 5.8889460563659668e-01 + 3.8957870006561279e-01 + <_> + + 1 0 300 1.4995220117270947e-02 -1 -2 301 + -2.6330750435590744e-02 + + 2.1778169274330139e-01 1.7753170430660248e-01 + 5.6714701652526855e-01 + <_> + + 1 0 302 -4.1734222322702408e-03 -1 -2 303 + 2.7268350124359131e-02 + + 4.6529620885848999e-01 4.7683110833168030e-01 + 5.6952387094497681e-01 + <_> + + 1 0 304 9.8880263976752758e-04 -1 -2 305 + -1.0528849670663476e-03 + + 3.3974018692970276e-01 6.2500411272048950e-01 + 4.2884120345115662e-01 + <_> + + 0 1 306 5.2288072183728218e-03 -1 -2 307 + 3.0395459383726120e-02 + + 5.3477621078491211e-01 4.1155189275741577e-01 + 5.6607538461685181e-01 + <_> + + 0 1 308 -7.9113930463790894e-02 -1 -2 309 + 1.8231669440865517e-02 + + 7.8813230991363525e-01 3.6043399572372437e-01 + 5.5695050954818726e-01 + <_> + + 0 1 310 5.2288072183728218e-03 -1 -2 311 + 4.3922828626818955e-04 + + 5.4166442155838013e-01 5.5071568489074707e-01 + 3.8822770118713379e-01 + <_> + + 0 1 312 -8.6501962505280972e-04 -1 -2 313 + 1.0326979681849480e-03 + + 3.1858509778976440e-01 5.5783641338348389e-01 + 3.2192459702491760e-01 + <_> + + 0 1 314 -7.2997747920453548e-03 -1 -2 315 + -9.3629042385146022e-04 + + 7.0732331275939941e-01 5.5580157041549683e-01 + 4.6138420701026917e-01 + <_> + + 0 1 316 -6.0483231209218502e-03 -1 -2 317 + 6.7529221996665001e-03 + + 6.8692898750305176e-01 4.8703178763389587e-01 + 2.6503708958625793e-01 + <_> + + 0 1 318 5.3078029304742813e-02 -1 -2 319 + -1.0225810110569000e-03 + + 5.2815151214599609e-01 6.0858821868896484e-01 + 4.3048679828643799e-01 + <_> + + 1 0 320 3.1270649284124374e-02 -1 -2 321 + -6.3522169366478920e-03 + + 5.4458320140838623e-01 5.3283357620239258e-01 + 2.3643240332603455e-01 + <_> + 45 + 2.1578119277954102e+01 + + <_> + + 1 0 322 -6.2215630896389484e-03 -1 -2 323 + 2.1097389981150627e-03 + + 2.6255810260772705e-01 1.5649929642677307e-01 + 6.7928832769393921e-01 + <_> + + 0 1 324 1.0845859535038471e-02 -1 -2 325 + 6.4230401767417789e-04 + + 3.4858089685440063e-01 3.6982551217079163e-01 + 5.9216582775115967e-01 + <_> + + 1 0 326 7.3311722371727228e-04 -1 -2 327 + 1.0134200565516949e-03 + + 3.0070841312408447e-01 3.6249229311943054e-01 + 7.0724260807037354e-01 + <_> + + 0 1 328 1.1093559674918652e-02 -1 -2 329 + -7.9127531498670578e-03 + + 4.4167020916938782e-01 3.0287081003189087e-01 + 5.4173761606216431e-01 + <_> + + 0 1 330 1.2905309908092022e-02 -1 -2 331 + -4.2430912144482136e-03 + + 4.3745040893554688e-01 4.4015899300575256e-01 + 7.5651907920837402e-01 + <_> + + 0 1 332 -2.1304309484548867e-04 -1 -2 333 + -2.2308640182018280e-03 + + 2.3107869923114777e-01 3.5681959986686707e-01 + 5.7499992847442627e-01 + <_> + + 0 1 334 2.6400520000606775e-03 -1 -2 335 + 7.5101032853126526e-02 + + 3.5936889052391052e-01 6.3635677099227905e-01 + 2.3270289599895477e-01 + <_> + + 0 1 336 -7.7012968249619007e-03 -1 -2 337 + 1.5588370151817799e-03 + + 7.0746237039566040e-01 5.7002371549606323e-01 + 3.5904508829116821e-01 + <_> + + 0 1 338 -4.7687938786111772e-04 -1 -2 339 + 8.4234727546572685e-04 + + 2.8054410219192505e-01 4.1254189610481262e-01 + 6.1779958009719849e-01 + <_> + + 1 0 340 -1.2825109995901585e-02 -1 -2 341 + -6.5156567143276334e-04 + + 5.4030781984329224e-01 5.6336438655853271e-01 + 3.3565390110015869e-01 + <_> + + 0 1 342 -1.2006159871816635e-02 -1 -2 343 + 1.3213419588282704e-03 + + 7.1095108985900879e-01 4.9038508534431458e-01 + 2.8245830535888672e-01 + <_> + + 0 1 344 -2.0307440310716629e-02 -1 -2 345 + 4.0180929936468601e-03 + + 1.8913699686527252e-01 5.3779661655426025e-01 + 3.1194949150085449e-01 + <_> + + 1 0 346 4.5315311290323734e-03 -1 -2 347 + -4.4381739571690559e-03 + + 7.2067582607269287e-01 1.8546679615974426e-01 + 4.9817329645156860e-01 + <_> + + 1 0 348 1.5692010056227446e-03 -1 -2 349 + -4.9516442231833935e-03 + + 2.6382741332054138e-01 6.8710672855377197e-01 + 4.7146868705749512e-01 + <_> + + 0 1 350 -2.7429679408669472e-02 -1 -2 351 + 1.4181969454512000e-03 + + 1.5482850372791290e-01 4.3768429756164551e-01 + 6.3273680210113525e-01 + <_> + + 0 1 352 -1.3078940100967884e-02 -1 -2 353 + -3.5092779435217381e-03 + + 3.1668141484260559e-01 6.1997437477111816e-01 + 4.3796870112419128e-01 + <_> + + 1 0 354 1.8920730799436569e-02 -1 -2 355 + 2.1683350205421448e-03 + + 1.4707140624523163e-01 5.8094590902328491e-01 + 3.4319490194320679e-01 + <_> + + 0 1 356 1.6401590546593070e-03 -1 -2 357 + 1.4005920093040913e-04 + + 3.9594578742980957e-01 3.2400250434875488e-01 + 5.6466472148895264e-01 + <_> + + 1 0 358 -3.3137591090053320e-03 -1 -2 359 + -2.9459029901772738e-03 + + 4.2745280265808105e-01 3.3416679501533508e-01 + 6.6279602050781250e-01 + <_> + + 0 1 360 1.3612229668069631e-04 -1 -2 361 + 6.0512032359838486e-04 + + 4.0469279885292053e-01 5.4840582609176636e-01 + 3.5699409246444702e-01 + <_> + + 0 1 362 -1.7513990402221680e-02 -1 -2 363 + -1.8735030665993690e-02 + + 1.8241509795188904e-01 7.9718202352523804e-01 + 5.0685691833496094e-01 + <_> + + 1 0 364 1.2065649963915348e-02 -1 -2 365 + -2.6544178836047649e-03 + + 2.1670070290565491e-01 6.5841788053512573e-01 + 4.6282431483268738e-01 + <_> + + 1 0 366 1.4501289697363973e-03 -1 -2 367 + 1.0954019613564014e-02 + + 2.0902520418167114e-01 5.1123052835464478e-01 + 7.7845758199691772e-01 + <_> + + 0 1 368 1.5771709382534027e-02 -1 -2 369 + -1.4252689667046070e-02 + + 5.1323592662811279e-01 1.7424149811267853e-01 + 5.2671480178833008e-01 + <_> + + 0 1 370 3.0411860279855318e-05 -1 -2 371 + 2.3486299440264702e-02 + + 3.4184479713439941e-01 5.6312650442123413e-01 + 2.0063939690589905e-01 + <_> + + 1 0 372 5.2205449901521206e-03 -1 -2 373 + -2.5812430307269096e-02 + + 6.2496489286422729e-01 3.2032281160354614e-01 + 5.1993298530578613e-01 + <_> + + 0 1 374 -1.9526650430634618e-03 -1 -2 375 + -8.1470049917697906e-03 + + 6.1407059431076050e-01 6.5928959846496582e-01 + 3.7111249566078186e-01 + <_> + + 1 0 376 3.2962448894977570e-03 -1 -2 377 + -1.3961310032755136e-03 + + 2.9521119594573975e-01 3.3208039402961731e-01 + 5.5284148454666138e-01 + <_> + + 0 1 378 -4.1055441834032536e-03 -1 -2 379 + -1.0888779535889626e-02 + + 1.7105500400066376e-01 3.3594349026679993e-01 + 5.6749051809310913e-01 + <_> + + 1 0 380 -7.6768421567976475e-03 -1 -2 381 + -9.7729787230491638e-03 + + 4.7732418775558472e-01 8.0810451507568359e-01 + 4.8458281159400940e-01 + <_> + + 1 0 382 6.0439710505306721e-03 -1 -2 383 + -4.6134641161188483e-04 + + 6.7840021848678589e-01 5.5146390199661255e-01 + 3.6423599720001221e-01 + <_> + + 1 0 384 5.7992361485958099e-02 -1 -2 385 + 5.9384980704635382e-04 + + 1.2544350326061249e-01 4.4248789548873901e-01 + 5.7284617424011230e-01 + <_> + + 0 1 386 -6.2353480607271194e-03 -1 -2 387 + -1.2784929946064949e-02 + + 2.8050419688224792e-01 1.9509120285511017e-01 + 5.6529247760772705e-01 + <_> + + 1 0 388 4.1973669431172311e-04 -1 -2 389 + 8.0646801507100463e-04 + + 6.1664837598800659e-01 4.5265799760818481e-01 + 5.9444868564605713e-01 + <_> + + 1 0 390 -1.6339010326191783e-03 -1 -2 391 + -4.8299999907612801e-03 + + 4.0869420766830444e-01 2.7935269474983215e-01 + 6.4449352025985718e-01 + <_> + + 1 0 392 -6.3992068171501160e-03 -1 -2 393 + 1.0819199681282043e-01 + + 5.6716561317443848e-01 5.3118121623992920e-01 + 2.6143568754196167e-01 + <_> + + 1 0 394 6.5056560561060905e-04 -1 -2 395 + 2.0611250773072243e-02 + + 2.9967740178108215e-01 4.4899430871009827e-01 + 6.8882799148559570e-01 + <_> + + 1 0 396 -2.5129050016403198e-02 -1 -2 397 + 1.7922939732670784e-03 + + 5.1968640089035034e-01 3.4669959545135498e-01 + 5.5335879325866699e-01 + <_> + + 1 0 398 1.5626220265403390e-03 -1 -2 399 + -6.1898730928078294e-04 + + 3.0814400315284729e-01 2.6938709616661072e-01 + 5.5444890260696411e-01 + <_> + + 0 1 400 4.8111421056091785e-03 -1 -2 401 + 2.2484229411929846e-03 + + 5.5878478288650513e-01 4.6721130609512329e-01 + 6.0908252000808716e-01 + <_> + + 0 1 402 -3.0147239565849304e-02 -1 -2 403 + 2.7548679709434509e-01 + + 9.0275919437408447e-01 4.7198349237442017e-01 + 2.1969200670719147e-01 + <_> + + 1 0 404 3.6894630175083876e-03 -1 -2 405 + 7.2957701049745083e-03 + + 6.2730091810226440e-01 4.8392179608345032e-01 + 6.9090622663497925e-01 + <_> + + 0 1 406 -5.6211069226264954e-02 -1 -2 407 + -2.6478560175746679e-03 + + 1.7384879291057587e-01 6.3041448593139648e-01 + 4.4743019342422485e-01 + <_> + + 1 0 408 -1.4534000074490905e-03 -1 -2 409 + 2.8540920466184616e-03 + + 5.3025382757186890e-01 5.3383970260620117e-01 + 3.7968829274177551e-01 + <_> + + 1 0 410 5.8243022067472339e-04 -1 -2 411 + 9.2509482055902481e-04 + + 3.2698369026184082e-01 4.5548120141029358e-01 + 6.3583481311798096e-01 + <_> + 47 + 2.2585290908813477e+01 + + <_> + + 0 1 412 1.9806440919637680e-02 -1 -2 413 + 7.0395611692219973e-04 + + 2.8097251057624817e-01 3.1198260188102722e-01 + 7.0903062820434570e-01 + <_> + + 0 1 414 2.5563780218362808e-03 -1 -2 415 + 1.0824160417541862e-03 + + 2.9819479584693909e-01 3.0205601453781128e-01 + 5.8088111877441406e-01 + <_> + + 1 0 416 -9.2893769033253193e-04 -1 -2 417 + -1.8009729683399200e-02 + + 3.7381029129028320e-01 2.1631260216236115e-01 + 6.6192537546157837e-01 + <_> + + 1 0 418 2.3500190582126379e-03 -1 -2 419 + 8.1822491483762860e-04 + + 2.9104039072990417e-01 5.5786228179931641e-01 + 3.3666279911994934e-01 + <_> + + 0 1 420 6.2095321482047439e-04 -1 -2 421 + 9.6780969761312008e-04 + + 4.0724259614944458e-01 6.8595957756042480e-01 + 3.1054618954658508e-01 + <_> + + 1 0 422 4.8000211245380342e-04 -1 -2 423 + 9.0538640506565571e-05 + + 3.3373329043388367e-01 3.3709588646888733e-01 + 5.4512107372283936e-01 + <_> + + 0 1 424 -4.3914798647165298e-02 -1 -2 425 + -5.6501338258385658e-03 + + 2.6256701350212097e-01 6.0504627227783203e-01 + 3.2324150204658508e-01 + <_> + + 1 0 426 3.8661491125822067e-03 -1 -2 427 + -6.3069426687434316e-05 + + 3.2626131176948547e-01 5.8173078298568726e-01 + 4.1643899679183960e-01 + <_> + + 1 0 428 5.2533738315105438e-02 -1 -2 429 + 1.3818660518154502e-03 + + 7.0953989028930664e-01 5.2928757667541504e-01 + 2.5413888692855835e-01 + <_> + + 1 0 430 -8.9264067355543375e-04 -1 -2 431 + 8.5579507052898407e-02 + + 4.0853410959243774e-01 5.2632361650466919e-01 + 3.0032029747962952e-01 + <_> + + 1 0 432 -1.8343339615967125e-04 -1 -2 433 + -9.7924815490841866e-03 + + 4.0292051434516907e-01 3.5213199257850647e-01 + 6.6640049219131470e-01 + <_> + + 0 1 434 1.4428620226681232e-02 -1 -2 435 + -4.5687001198530197e-02 + + 4.5935660600662231e-01 1.4747560024261475e-01 + 5.1786321401596069e-01 + <_> + + 0 1 436 -2.5763090234249830e-03 -1 -2 437 + -3.8301859050989151e-02 + + 1.8372780084609985e-01 8.0826580524444580e-01 + 5.1666879653930664e-01 + <_> + + 0 1 438 2.8978290501981974e-03 -1 -2 439 + -2.5165060069411993e-03 + + 4.7980138659477234e-01 3.3462959527969360e-01 + 5.4444491863250732e-01 + <_> + + 0 1 440 5.6281982688233256e-04 -1 -2 441 + 3.6684391088783741e-03 + + 3.5890269279479980e-01 5.9831297397613525e-01 + 2.9839640855789185e-01 + <_> + + 1 0 442 2.1319789811968803e-03 -1 -2 443 + 7.6037310063838959e-03 + + 6.1632239818572998e-01 5.2171301841735840e-01 + 2.0541590452194214e-01 + <_> + + 1 0 444 -1.1668079969240353e-04 -1 -2 445 + 3.1659509986639023e-03 + + 3.4466689825057983e-01 5.5974847078323364e-01 + 2.6737868785858154e-01 + <_> + + 0 1 446 -2.2569499909877777e-02 -1 -2 447 + 2.7129601221531630e-04 + + 6.9002681970596313e-01 4.4866389036178589e-01 + 5.5087852478027344e-01 + <_> + + 0 1 448 -1.5434459783136845e-02 -1 -2 449 + -8.4861656650900841e-03 + + 2.0483230054378510e-01 1.2549529969692230e-01 + 5.0603562593460083e-01 + <_> + + 0 1 450 -1.1807470023632050e-01 -1 -2 451 + -1.2300079688429832e-03 + + 6.7633062601089478e-02 5.6607007980346680e-01 + 4.2922011017799377e-01 + <_> + + 0 1 452 -7.0290351286530495e-03 -1 -2 453 + 8.9325206354260445e-03 + + 7.1364039182662964e-01 4.3388760089874268e-01 + 7.0608752965927124e-01 + <_> + + 1 0 454 -4.7735981643199921e-02 -1 -2 455 + -4.4155579060316086e-02 + + 5.2686852216720581e-01 2.5805801153182983e-01 + 5.4069608449935913e-01 + <_> + + 0 1 456 -2.5983480736613274e-02 -1 -2 457 + -4.7885831445455551e-03 + + 1.9050540030002594e-01 2.5518929958343506e-01 + 5.3390771150588989e-01 + <_> + + 0 1 458 6.7423451691865921e-03 -1 -2 459 + 1.1654750443994999e-02 + + 4.6933099627494812e-01 5.2619642019271851e-01 + 3.1454348564147949e-01 + <_> + + 0 1 460 -5.6982729583978653e-03 -1 -2 461 + -7.2983349673449993e-03 + + 1.7568530142307281e-01 7.7747297286987305e-01 + 5.1242929697036743e-01 + <_> + + 0 1 462 7.9091778025031090e-03 -1 -2 463 + -1.5874979726504534e-04 + + 5.2845597267150879e-01 3.8878020644187927e-01 + 5.5011737346649170e-01 + <_> + + 0 1 464 -6.2235877849161625e-03 -1 -2 465 + 1.3308860361576080e-03 + + 2.4898290634155273e-01 4.2621460556983948e-01 + 5.9350621700286865e-01 + <_> + + 1 0 466 5.2055278792977333e-03 -1 -2 467 + 1.4065169729292393e-02 + + 2.5452229380607605e-01 4.8519900441169739e-01 + 7.0214188098907471e-01 + <_> + + 0 1 468 -6.7384149879217148e-03 -1 -2 469 + 3.3406780567020178e-03 + + 7.1432709693908691e-01 5.1757252216339111e-01 + 2.8086438775062561e-01 + <_> + + 1 0 470 -1.1880699545145035e-02 -1 -2 471 + 1.4226379571482539e-03 + + 5.1732218265533447e-01 4.5028659701347351e-01 + 5.7956951856613159e-01 + <_> + + 1 0 472 2.9858129564672709e-03 -1 -2 473 + -2.0481580868363380e-03 + + 1.9151160120964050e-01 6.5024322271347046e-01 + 4.5593151450157166e-01 + <_> + + 0 1 474 1.7122729914262891e-03 -1 -2 475 + -1.6980869695544243e-02 + + 5.3762471675872803e-01 7.0562332868576050e-01 + 4.9146059155464172e-01 + <_> + + 0 1 476 -1.1290470138192177e-03 -1 -2 477 + 2.8620059601962566e-03 + + 2.6787060499191284e-01 4.4108539819717407e-01 + 6.3683199882507324e-01 + <_> + + 0 1 478 -3.8065758999437094e-03 -1 -2 479 + 5.9090270660817623e-03 + + 2.7635639905929565e-01 4.8673018813133240e-01 + 6.7287760972976685e-01 + <_> + + 0 1 480 1.1004370171576738e-03 -1 -2 481 + -2.3396299220621586e-03 + + 4.0705141425132751e-01 2.6049488782882690e-01 + 6.1548602581024170e-01 + <_> + + 0 1 482 -3.6068160552531481e-03 -1 -2 483 + 4.0831189602613449e-02 + + 5.7319998741149902e-01 4.9733769893646240e-01 + 7.3870068788528442e-01 + <_> + + 0 1 484 -7.1082250215113163e-03 -1 -2 485 + -9.3759730225428939e-04 + + 6.9847512245178223e-01 2.6911678910255432e-01 + 4.7417798638343811e-01 + <_> + + 0 1 486 -1.6740820137783885e-03 -1 -2 487 + 8.8287703692913055e-02 + + 3.5510140657424927e-01 5.2446138858795166e-01 + 2.0966500043869019e-01 + <_> + + 0 1 488 8.2009629113599658e-04 -1 -2 489 + -7.6624617213383317e-04 + + 4.1310968995094299e-01 4.6202930808067322e-01 + 6.7754101753234863e-01 + <_> + + 1 0 490 6.5769668435677886e-04 -1 -2 491 + -2.1304790861904621e-03 + + 5.6282752752304077e-01 5.5768597126007080e-01 + 4.5776501297950745e-01 + <_> + + 1 0 492 -3.7317050737328827e-04 -1 -2 493 + -1.1172230355441570e-02 + + 4.9592560529708862e-01 5.6256359815597534e-01 + 2.0471079647541046e-01 + <_> + + 1 0 494 4.3435219675302505e-02 -1 -2 495 + 9.6736161503940821e-04 + + 2.2421480715274811e-01 4.5333439111709595e-01 + 6.1999320983886719e-01 + <_> + + 0 1 496 -3.1452889088541269e-03 -1 -2 497 + 1.5233129961416125e-03 + + 6.6627562046051025e-01 5.0079882144927979e-01 + 2.3849929869174957e-01 + <_> + + 1 0 498 2.0854279864579439e-03 -1 -2 499 + 3.6098200827836990e-02 + + 3.7535008788108826e-01 5.1771712303161621e-01 + 1.6344930231571198e-01 + <_> + + 1 0 500 1.6179570229724050e-03 -1 -2 501 + -6.2132300809025764e-04 + + 2.5873818993568420e-01 6.2995338439941406e-01 + 4.6587899327278137e-01 + <_> + + 1 0 502 7.1878539165481925e-04 -1 -2 503 + -3.9339520037174225e-02 + + 3.3540761470794678e-01 2.1541289985179901e-01 + 5.2357137203216553e-01 + <_> + + 0 1 504 -1.0988829890266061e-03 -1 -2 505 + 2.1191420964896679e-03 + + 6.4688968658447266e-01 2.8930890560150146e-01 + 5.2548158168792725e-01 + <_> + 53 + 2.5609300613403320e+01 + + <_> + + 0 1 506 5.2359891124069691e-03 -1 -2 507 + -2.2169889416545630e-03 + + 3.2997110486030579e-01 7.0415931940078735e-01 + 3.2354658842086792e-01 + <_> + + 1 0 508 -8.2303592935204506e-03 -1 -2 509 + -8.2303592935204506e-03 + + 4.9611708521842957e-01 7.1280431747436523e-01 + 4.9611708521842957e-01 + <_> + + 0 1 510 4.5343261444941163e-04 -1 -2 511 + -4.1777061414904892e-04 + + 3.2084721326828003e-01 6.6139167547225952e-01 + 3.5513329505920410e-01 + <_> + + 0 1 512 2.7823769487440586e-03 -1 -2 513 + -6.0361868236213923e-05 + + 3.7101349234580994e-01 5.7463937997817993e-01 + 3.8948801159858704e-01 + <_> + + 1 0 514 3.5061789676547050e-03 -1 -2 515 + 1.7013119941111654e-04 + + 3.0541029572486877e-01 2.8855779767036438e-01 + 6.4877450466156006e-01 + <_> + + 1 0 516 -2.3378930054605007e-03 -1 -2 517 + -2.1369170863181353e-03 + + 3.1744310259819031e-01 3.8209199905395508e-01 + 5.2328932285308838e-01 + <_> + + 0 1 518 1.0250400518998504e-03 -1 -2 519 + -4.4726220949087292e-05 + + 3.6227950453758240e-01 6.5389591455459595e-01 + 4.0036809444427490e-01 + <_> + + 1 0 520 5.7102291611954570e-04 -1 -2 521 + 5.7743012439459562e-04 + + 3.8931730389595032e-01 5.6145328283309937e-01 + 3.6876440048217773e-01 + <_> + + 1 0 522 7.9692091094329953e-04 -1 -2 523 + 3.5945948911830783e-04 + + 6.4430278539657593e-01 3.3808529376983643e-01 + 5.8246481418609619e-01 + <_> + + 1 0 524 4.3973900028504431e-04 -1 -2 525 + -8.9061429025605321e-04 + + 3.9387670159339905e-01 3.4279710054397583e-01 + 5.5156987905502319e-01 + <_> + + 1 0 526 5.4110242053866386e-03 -1 -2 527 + -8.5764907998964190e-04 + + 3.8035380840301514e-01 6.4395052194595337e-01 + 4.1683459281921387e-01 + <_> + + 0 1 528 -2.2000649943947792e-02 -1 -2 529 + -7.8731682151556015e-03 + + 6.6546010971069336e-01 4.1827228665351868e-01 + 5.6047242879867554e-01 + <_> + + 0 1 530 -2.7444459497928619e-02 -1 -2 531 + 1.9792269449681044e-03 + + 6.5868628025054932e-01 3.2449120283126831e-01 + 4.8828700184822083e-01 + <_> + + 0 1 532 -5.6783691979944706e-03 -1 -2 533 + 1.5057219570735469e-05 + + 2.2290790081024170e-01 4.1072851419448853e-01 + 5.7475912570953369e-01 + <_> + + 0 1 534 -5.4136710241436958e-03 -1 -2 535 + 5.3679239936172962e-03 + + 2.0657970011234283e-01 4.9264231324195862e-01 + 7.1394848823547363e-01 + <_> + + 0 1 536 -3.1426660716533661e-03 -1 -2 537 + 1.0907390154898167e-02 + + 6.7800867557525635e-01 5.2149301767349243e-01 + 1.1439959704875946e-01 + <_> + + 1 0 538 5.8436761610209942e-03 -1 -2 539 + 9.0507230197545141e-05 + + 1.9375260174274445e-01 3.8125771284103394e-01 + 5.5141878128051758e-01 + <_> + + 0 1 540 -1.6345789656043053e-02 -1 -2 541 + 1.5987500082701445e-03 + + 2.4740239977836609e-01 4.8177829384803772e-01 + 5.9230798482894897e-01 + <_> + + 0 1 542 -4.0257978253066540e-03 -1 -2 543 + -6.7750471644103527e-03 + + 7.5082087516784668e-01 2.8798109292984009e-01 + 5.1996952295303345e-01 + <_> + + 0 1 544 -3.2470689620822668e-03 -1 -2 545 + 1.5409620245918632e-03 + + 3.0449101328849792e-01 4.0634828805923462e-01 + 5.6765627861022949e-01 + <_> + + 0 1 546 -1.2858119793236256e-02 -1 -2 547 + -1.4824670506641269e-04 + + 9.6717558801174164e-02 4.5378330349922180e-01 + 6.1153751611709595e-01 + <_> + + 1 0 548 -9.0210810303688049e-03 -1 -2 549 + -2.8795029968023300e-02 + + 4.8077508807182312e-01 3.4037950634956360e-01 + 5.2555292844772339e-01 + <_> + + 1 0 550 9.0210810303688049e-03 -1 -2 551 + 7.4121179059147835e-03 + + 7.5058358907699585e-01 5.4554468393325806e-01 + 3.2260689139366150e-01 + <_> + + 0 1 552 -3.7217529024928808e-03 -1 -2 553 + 1.9865889847278595e-01 + + 2.3118489980697632e-01 5.2710479497909546e-01 + 1.4699299633502960e-01 + <_> + + 0 1 554 1.5208719560177997e-05 -1 -2 555 + -3.9089918136596680e-03 + + 3.6781388521194458e-01 7.1319299936294556e-01 + 4.9938669800758362e-01 + <_> + + 0 1 556 2.5106288958340883e-03 -1 -2 557 + 2.3921660613268614e-04 + + 5.3120541572570801e-01 4.6893781423568726e-01 + 5.7140219211578369e-01 + <_> + + 1 0 558 6.9443131797015667e-03 -1 -2 559 + 1.2065629707649350e-03 + + 6.9487977027893066e-01 4.0045049786567688e-01 + 5.8748817443847656e-01 + <_> + + 0 1 560 2.5106288958340883e-03 -1 -2 561 + 1.7514040227979422e-03 + + 5.3295719623565674e-01 5.5458492040634155e-01 + 3.4495818614959717e-01 + <_> + + 0 1 562 -4.1978210210800171e-03 -1 -2 563 + 1.3092850567772985e-03 + + 1.2171830236911774e-01 5.3750497102737427e-01 + 3.4156250953674316e-01 + <_> + + 0 1 564 6.7396182566881180e-04 -1 -2 565 + -1.0530710220336914e-02 + + 4.1951790452003479e-01 3.4607538580894470e-01 + 5.1558601856231689e-01 + <_> + + 0 1 566 -4.0672299265861511e-01 -1 -2 567 + -2.6314549148082733e-02 + + 5.8065678924322128e-02 1.4734490215778351e-01 + 5.5593782663345337e-01 + <_> + + 1 0 568 2.2557149641215801e-03 -1 -2 569 + 1.2154860422015190e-02 + + 5.4777151346206665e-01 4.2077910900115967e-01 + 5.6218808889389038e-01 + <_> + + 0 1 570 -1.8436539918184280e-02 -1 -2 571 + 5.3676147945225239e-04 + + 6.4471471309661865e-01 2.7651271224021912e-01 + 4.8885959386825562e-01 + <_> + + 1 0 572 -2.6265541091561317e-03 -1 -2 573 + -5.1119807176291943e-04 + + 5.2646911144256592e-01 5.7853102684020996e-01 + 4.2911028861999512e-01 + <_> + + 1 0 574 4.1454841266386211e-04 -1 -2 575 + -5.5028748465701938e-04 + + 3.4554108977317810e-01 6.0269188880920410e-01 + 4.1438931226730347e-01 + <_> + + 0 1 576 -1.0347720235586166e-03 -1 -2 577 + -3.3966631162911654e-03 + + 6.0952937602996826e-01 6.1082822084426880e-01 + 4.7077208757400513e-01 + <_> + + 1 0 578 3.1795909162610769e-03 -1 -2 579 + -1.6528950072824955e-04 + + 3.2443669438362122e-01 3.8307571411132812e-01 + 5.7343262434005737e-01 + <_> + + 1 0 580 8.3725210279226303e-03 -1 -2 581 + -2.5799809955060482e-03 + + 6.6109192371368408e-01 6.1393070220947266e-01 + 4.6861499547958374e-01 + <_> + + 1 0 582 9.0194388758391142e-04 -1 -2 583 + 3.6952210939489305e-04 + + 3.5200220346450806e-01 2.5787541270256042e-01 + 5.4672420024871826e-01 + <_> + + 0 1 584 9.9746137857437134e-04 -1 -2 585 + -3.6688039544969797e-03 + + 4.8201468586921692e-01 5.7101500034332275e-01 + 4.8319110274314880e-01 + <_> + + 0 1 586 -8.9501030743122101e-04 -1 -2 587 + 5.1904921419918537e-03 + + 6.1336791515350342e-01 4.9285829067230225e-01 + 2.5813090801239014e-01 + <_> + + 0 1 588 4.2274440056644380e-04 -1 -2 589 + 8.5176713764667511e-03 + + 4.4711241126060486e-01 5.1610249280929565e-01 + 3.3165338635444641e-01 + <_> + + 0 1 590 -3.6623608320951462e-02 -1 -2 591 + -4.1103712283074856e-03 + + 9.2606216669082642e-02 8.5221147537231445e-01 + 5.1379078626632690e-01 + <_> + + 1 0 592 -6.6017331555485725e-03 -1 -2 593 + 2.5578640401363373e-02 + + 5.4590600728988647e-01 5.2193528413772583e-01 + 1.9271859526634216e-01 + <_> + + 1 0 594 1.1447439901530743e-02 -1 -2 595 + 7.2427501436322927e-04 + + 1.9160020351409912e-01 5.2315711975097656e-01 + 3.5353401303291321e-01 + <_> + + 1 0 596 9.7127500921487808e-03 -1 -2 597 + -1.1337569914758205e-02 + + 6.4641010761260986e-01 7.3830378055572510e-01 + 4.9647438526153564e-01 + <_> + + 0 1 598 -8.1453882157802582e-03 -1 -2 599 + -8.5570756345987320e-03 + + 3.6117058992385864e-01 3.4219071269035339e-01 + 5.9435117244720459e-01 + <_> + + 0 1 600 2.2993308957666159e-03 -1 -2 601 + 3.8430930580943823e-03 + + 4.5501041412353516e-01 4.7168621420860291e-01 + 6.6561907529830933e-01 + <_> + + 1 0 602 -9.9116540513932705e-04 -1 -2 603 + 2.5496469810605049e-02 + + 4.5927169919013977e-01 6.5634012222290039e-01 + 1.2588350474834442e-01 + <_> + + 1 0 604 -1.5748359262943268e-02 -1 -2 605 + -1.8046120181679726e-02 + + 5.2395021915435791e-01 8.0158519744873047e-01 + 5.0079578161239624e-01 + <_> + + 1 0 606 1.0323390364646912e-02 -1 -2 607 + 1.6452240524813533e-03 + + 2.2748200595378876e-01 4.3519461154937744e-01 + 5.8676278591156006e-01 + <_> + + 0 1 608 1.5881149098277092e-02 -1 -2 609 + 1.0586519725620747e-02 + + 4.4650518894195557e-01 4.5444580912590027e-01 + 5.7071107625961304e-01 + <_> + + 0 1 610 -2.1531689912080765e-02 -1 -2 611 + 5.2480469457805157e-03 + + 6.5276437997817993e-01 3.4447279572486877e-01 + 5.3246361017227173e-01 + <_> + 67 + 3.2647129058837891e+01 + + <_> + + 0 1 612 1.8219340126961470e-03 -1 -2 613 + 8.1313941627740860e-03 + + 3.1087881326675415e-01 3.1332370638847351e-01 + 6.6458672285079956e-01 + <_> + + 0 1 614 1.7055979697033763e-03 -1 -2 615 + -7.4483548814896494e-05 + + 2.6401311159133911e-01 5.6472051143646240e-01 + 3.4853729605674744e-01 + <_> + + 1 0 616 3.8342390325851738e-04 -1 -2 617 + 3.1868910882622004e-03 + + 3.1406548619270325e-01 6.4891988039016724e-01 + 3.8877290487289429e-01 + <_> + + 1 0 618 1.6044320166110992e-01 -1 -2 619 + -6.7285560071468353e-03 + + 7.2165298461914062e-01 1.6531379520893097e-01 + 5.1398259401321411e-01 + <_> + + 0 1 620 7.2638481469766703e-06 -1 -2 621 + 5.5551197146996856e-04 + + 3.1406199932098389e-01 5.9936988353729248e-01 + 3.3173981308937073e-01 + <_> + + 0 1 622 -1.0822320356965065e-02 -1 -2 623 + -4.5834020711481571e-03 + + 2.6529380679130554e-01 1.8495689332485199e-01 + 5.3139579296112061e-01 + <_> + + 1 0 624 -3.0205070506781340e-03 -1 -2 625 + 7.7864617109298706e-02 + + 4.0400999784469604e-01 6.1581897735595703e-01 + 1.7864869534969330e-01 + <_> + + 0 1 626 2.6494380086660385e-02 -1 -2 627 + 3.6912109702825546e-02 + + 4.5110899209976196e-01 4.5282199978828430e-01 + 5.9722828865051270e-01 + <_> + + 1 0 628 5.7857790961861610e-03 -1 -2 629 + 9.3849771656095982e-04 + + 2.5338920950889587e-01 3.4104120731353760e-01 + 5.9236437082290649e-01 + <_> + + 0 1 630 -1.1003199964761734e-02 -1 -2 631 + -1.1737640015780926e-03 + + 6.9580441713333130e-01 3.8510841131210327e-01 + 5.4081892967224121e-01 + <_> + + 0 1 632 -3.6596669815480709e-03 -1 -2 633 + -2.4822750128805637e-03 + + 2.0093089342117310e-01 6.2953931093215942e-01 + 4.3950408697128296e-01 + <_> + + 0 1 634 -4.4606071896851063e-03 -1 -2 635 + -3.5969649907201529e-03 + + 2.4052999913692474e-01 5.4501742124557495e-01 + 3.7823578715324402e-01 + <_> + + 0 1 636 -3.6222559865564108e-03 -1 -2 637 + 1.2059339787811041e-03 + + 3.0338969826698303e-01 4.6337789297103882e-01 + 6.3359522819519043e-01 + <_> + + 1 0 638 4.3124938383698463e-03 -1 -2 639 + -4.4961250387132168e-03 + + 6.5988260507583618e-01 6.6216969490051270e-01 + 4.7552469372749329e-01 + <_> + + 0 1 640 -1.3860689941793680e-03 -1 -2 641 + -5.1588460337370634e-04 + + 2.8012010455131531e-01 3.8294890522956848e-01 + 5.6236267089843750e-01 + <_> + + 0 1 642 7.0330002927221358e-05 -1 -2 643 + -2.0976549421902746e-04 + + 4.5363429188728333e-01 5.6081390380859375e-01 + 4.2657798528671265e-01 + <_> + + 1 0 644 1.3642259873449802e-03 -1 -2 645 + 1.5483660390600562e-03 + + 2.6370918750762939e-01 4.1707509756088257e-01 + 5.9329879283905029e-01 + <_> + + 0 1 646 1.9179609417915344e-01 -1 -2 647 + -4.4776909053325653e-03 + + 5.2567642927169800e-01 6.6326218843460083e-01 + 4.8925888538360596e-01 + <_> + + 0 1 648 -1.2649179995059967e-01 -1 -2 649 + 6.5253327193204314e-05 + + 1.4997789263725281e-01 4.2333200573921204e-01 + 5.7560402154922485e-01 + <_> + + 0 1 650 4.1856421157717705e-03 -1 -2 651 + 2.7478230185806751e-04 + + 5.2888268232345581e-01 4.5240178704261780e-01 + 5.6041252613067627e-01 + <_> + + 0 1 652 -2.2906810045242310e-03 -1 -2 653 + 1.6744500026106834e-03 + + 5.5782741308212280e-01 3.3230578899383545e-01 + 5.5587881803512573e-01 + <_> + + 1 0 654 1.2349759927019477e-03 -1 -2 655 + -8.7158754467964172e-03 + + 3.6539471149444580e-01 1.9245339930057526e-01 + 5.3136497735977173e-01 + <_> + + 1 0 656 4.6613621525466442e-03 -1 -2 657 + -8.5815992206335068e-03 + + 2.0277309417724609e-01 7.6360601186752319e-01 + 5.1408261060714722e-01 + <_> + + 0 1 658 1.4352120459079742e-02 -1 -2 659 + -7.7948719263076782e-03 + + 5.2529758214950562e-01 2.6329371333122253e-01 + 5.3286892175674438e-01 + <_> + + 0 1 660 -3.4155680332332850e-03 -1 -2 661 + -4.2639090679585934e-03 + + 2.4160879850387573e-01 3.9365449547767639e-01 + 5.4787421226501465e-01 + <_> + + 0 1 662 8.7177697569131851e-03 -1 -2 663 + -3.2232629600912333e-03 + + 4.7881990671157837e-01 3.6316120624542236e-01 + 5.2883160114288330e-01 + <_> + + 0 1 664 -4.2188368737697601e-02 -1 -2 665 + 1.9875749945640564e-02 + + 6.9311392307281494e-01 4.5201000571250916e-01 + 6.8550550937652588e-01 + <_> + + 1 0 666 -3.1134510412812233e-02 -1 -2 667 + 5.7032387703657150e-03 + + 5.3004240989685059e-01 5.6068921089172363e-01 + 4.2306229472160339e-01 + <_> + + 1 0 668 5.2733682096004486e-03 -1 -2 669 + -3.1231069006025791e-03 + + 3.2472288608551025e-01 1.9856959581375122e-01 + 5.3498727083206177e-01 + <_> + + 0 1 670 4.6453849063254893e-04 -1 -2 671 + 3.0355889350175858e-02 + + 4.2075088620185852e-01 5.1534587144851685e-01 + 3.1181010603904724e-01 + <_> + + 0 1 672 -4.2992769740521908e-03 -1 -2 673 + 1.9509199773892760e-04 + + 3.2745069265365601e-01 5.9530782699584961e-01 + 4.2255210876464844e-01 + <_> + + 0 1 674 -7.7784480527043343e-03 -1 -2 675 + 1.6917599365115166e-02 + + 7.2111797332763672e-01 4.9365919828414917e-01 + 7.0302772521972656e-01 + <_> + + 0 1 676 -5.1948569715023041e-02 -1 -2 677 + -5.4751220159232616e-03 + + 1.4255349338054657e-01 6.0593318939208984e-01 + 4.3939951062202454e-01 + <_> + + 0 1 678 1.5210839592327829e-05 -1 -2 679 + 1.0235579684376717e-03 + + 4.4888499379158020e-01 4.2565500736236572e-01 + 5.7954382896423340e-01 + <_> + + 0 1 680 -1.0427719826111570e-04 -1 -2 681 + 8.7853781878948212e-03 + + 4.2460399866104126e-01 4.9580091238021851e-01 + 6.7594307661056519e-01 + <_> + + 0 1 682 3.4012699034065008e-03 -1 -2 683 + 5.8582378551363945e-04 + + 5.4234808683395386e-01 3.6365428566932678e-01 + 5.4643487930297852e-01 + <_> + + 0 1 684 -2.2973360028117895e-03 -1 -2 685 + -1.4330189675092697e-02 + + 2.5488188862800598e-01 6.5876567363739014e-01 + 4.5328021049499512e-01 + <_> + + 0 1 686 9.8565965890884399e-04 -1 -2 687 + -4.6640761196613312e-02 + + 3.8227710127830505e-01 3.0773219466209412e-01 + 5.2441328763961792e-01 + <_> + + 0 1 688 -1.1907300353050232e-01 -1 -2 689 + 1.9333280622959137e-02 + + 1.0338629782199860e-01 5.5547451972961426e-01 + 3.2213169336318970e-01 + <_> + + 0 1 690 3.1427849084138870e-02 -1 -2 691 + 2.0082130504306406e-04 + + 4.6823790669441223e-01 5.3730702400207520e-01 + 3.8006669282913208e-01 + <_> + + 0 1 692 -6.2584900297224522e-03 -1 -2 693 + 8.2861045375466347e-03 + + 1.7992070317268372e-01 5.0950688123703003e-01 + 7.5446051359176636e-01 + <_> + + 0 1 694 2.0529709290713072e-03 -1 -2 695 + 3.2524869311600924e-03 + + 5.6286448240280151e-01 4.8016890883445740e-01 + 5.8021020889282227e-01 + <_> + + 0 1 696 -3.1884901225566864e-02 -1 -2 697 + 1.8379340181127191e-03 + + 1.7427450418472290e-01 3.4665969014167786e-01 + 5.1071548461914062e-01 + <_> + + 1 0 698 -4.8512680223211646e-04 -1 -2 699 + -2.5407879147678614e-03 + + 5.3260862827301025e-01 6.3427752256393433e-01 + 4.9926930665969849e-01 + <_> + + 0 1 700 -5.1559060811996460e-03 -1 -2 701 + -4.4968750327825546e-02 + + 3.4334290027618408e-01 1.8681369721889496e-01 + 5.2154648303985596e-01 + <_> + + 1 0 702 5.8984281495213509e-03 -1 -2 703 + 3.2763120252639055e-03 + + 6.2293052673339844e-01 4.9357721209526062e-01 + 7.2179448604583740e-01 + <_> + + 1 0 704 -1.0161520185647532e-04 -1 -2 705 + -1.6290300118271261e-04 + + 5.0079762935638428e-01 6.0241490602493286e-01 + 2.3295080661773682e-01 + <_> + + 0 1 706 9.0541364625096321e-03 -1 -2 707 + 3.5398490726947784e-02 + + 4.5104169845581055e-01 5.1419967412948608e-01 + 2.8602918982505798e-01 + <_> + + 0 1 708 5.6469351984560490e-03 -1 -2 709 + -2.4807190056890249e-03 + + 4.7049251198768616e-01 4.1798511147499084e-01 + 6.7266470193862915e-01 + <_> + + 0 1 710 -4.1088787838816643e-03 -1 -2 711 + -2.0714469719678164e-03 + + 5.8098018169403076e-01 6.0747838020324707e-01 + 4.5240598917007446e-01 + <_> + + 0 1 712 -2.8939060866832733e-03 -1 -2 713 + 1.3467279495671391e-03 + + 3.3835199475288391e-01 5.6969100236892700e-01 + 3.9708450436592102e-01 + <_> + + 0 1 714 -9.0779133141040802e-02 -1 -2 715 + -8.3171762526035309e-02 + + 1.5027019381523132e-01 7.5736707448959351e-01 + 4.9364370107650757e-01 + <_> + + 0 1 716 -1.4107000315561891e-03 -1 -2 717 + 5.5668760091066360e-02 + + 3.3909329771995544e-01 5.0250971317291260e-01 + 7.4220830202102661e-01 + <_> + + 0 1 718 5.7701539248228073e-02 -1 -2 719 + -4.2503291368484497e-01 + + 5.1973718404769897e-01 9.7346916794776917e-02 + 5.1857399940490723e-01 + <_> + + 0 1 720 -4.4380719191394746e-04 -1 -2 721 + 1.7924769781529903e-04 + + 3.6493501067161560e-01 5.6192791461944580e-01 + 3.7602970004081726e-01 + <_> + + 1 0 722 5.0382469780743122e-03 -1 -2 723 + 1.5191170386970043e-02 + + 6.3284450769424438e-01 4.9360820651054382e-01 + 7.4265247583389282e-01 + <_> + + 0 1 724 -1.2300389818847179e-02 -1 -2 725 + 1.5168030513450503e-03 + + 1.3893499970436096e-01 5.0919622182846069e-01 + 3.4826481342315674e-01 + <_> + + 1 0 726 9.5754547510296106e-04 -1 -2 727 + -1.8962200731039047e-02 + + 6.0363167524337769e-01 2.3191730678081512e-01 + 5.1166528463363647e-01 + <_> + + 0 1 728 -2.2272260859608650e-02 -1 -2 729 + -2.5145230814814568e-02 + + 6.5550220012664795e-01 1.3260710239410400e-01 + 4.6740341186523438e-01 + <_> + + 0 1 730 1.9533900544047356e-02 -1 -2 731 + -1.1231349781155586e-03 + + 5.1820272207260132e-01 6.3182431459426880e-01 + 4.8255190253257751e-01 + <_> + + 0 1 732 -1.4861139934509993e-03 -1 -2 733 + 3.5002888762392104e-04 + + 2.9186710715293884e-01 5.6213712692260742e-01 + 4.2492130398750305e-01 + <_> + + 1 0 734 -1.1231349781155586e-03 -1 -2 735 + 1.0409739799797535e-02 + + 4.8137450218200684e-01 5.1840060949325562e-01 + 2.0512230694293976e-01 + <_> + + 0 1 736 -8.7832562625408173e-02 -1 -2 737 + 1.6584879485890269e-03 + + 1.1799219995737076e-01 4.9878111481666565e-01 + 6.9737559556961060e-01 + <_> + + 1 0 738 -2.3008750285953283e-03 -1 -2 739 + 3.3026169985532761e-02 + + 5.3398311138153076e-01 5.0332891941070557e-01 + 6.8519067764282227e-01 + <_> + + 0 1 740 -1.3585069682449102e-03 -1 -2 741 + 7.8067491995170712e-04 + + 3.0028221011161804e-01 4.5930838584899902e-01 + 6.4400452375411987e-01 + <_> + + 1 0 742 -1.8025759607553482e-02 -1 -2 743 + 1.2354910140857100e-03 + + 5.3112912178039551e-01 4.7291061282157898e-01 + 5.7214611768722534e-01 + <_> + + 0 1 744 -9.2583027435466647e-04 -1 -2 745 + 8.0123997759073973e-04 + + 3.6623328924179077e-01 5.3619897365570068e-01 + 3.0086329579353333e-01 + <_> + 63 + 3.0672130584716797e+01 + + <_> + + 0 1 746 2.4914839304983616e-03 -1 -2 747 + -5.0488598644733429e-02 + + 3.4223890304565430e-01 7.7034580707550049e-01 + 4.5163908600807190e-01 + <_> + + 1 0 748 -7.7838351717218757e-04 -1 -2 749 + 2.3572890495415777e-04 + + 3.2563421130180359e-01 3.4065559506416321e-01 + 5.8970272541046143e-01 + <_> + + 0 1 750 4.5575071126222610e-03 -1 -2 751 + 8.1241987645626068e-03 + + 4.3065789341926575e-01 7.1495872735977173e-01 + 4.3456849455833435e-01 + <_> + + 0 1 752 -4.4612158671952784e-04 -1 -2 753 + -2.8972938889637589e-04 + + 3.2959741353988647e-01 5.8456200361251831e-01 + 3.5266879200935364e-01 + <_> + + 0 1 754 7.1604831646254752e-06 -1 -2 755 + -3.8497708737850189e-04 + + 4.0819549560546875e-01 4.2031130194664001e-01 + 6.6341269016265869e-01 + <_> + + 0 1 756 1.9489860278554261e-04 -1 -2 757 + -1.7083849757909775e-02 + + 3.9424669742584229e-01 2.2940720617771149e-01 + 5.2389609813690186e-01 + <_> + + 0 1 758 8.3513697609305382e-04 -1 -2 759 + 7.5499608647078276e-04 + + 3.0260318517684937e-01 6.0321962833404541e-01 + 3.4124588966369629e-01 + <_> + + 1 0 760 8.0216713249683380e-03 -1 -2 761 + -3.8930509239435196e-02 + + 7.3062407970428467e-01 3.5993251204490662e-01 + 5.2343809604644775e-01 + <_> + + 1 0 762 -7.0348767621908337e-05 -1 -2 763 + -8.5350573062896729e-03 + + 3.4937581419944763e-01 2.7461090683937073e-01 + 5.6265860795974731e-01 + <_> + + 0 1 764 1.0854450054466724e-02 -1 -2 765 + 4.5329501153901219e-04 + + 5.2822262048721313e-01 4.5220491290092468e-01 + 6.0543018579483032e-01 + <_> + + 0 1 766 1.8117150466423482e-04 -1 -2 767 + 4.6641560038551688e-04 + + 3.3068621158599854e-01 1.4550000429153442e-01 + 5.3849279880523682e-01 + <_> + + 1 0 768 -8.4854792803525925e-03 -1 -2 769 + -1.8934309482574463e-02 + + 4.8141559958457947e-01 3.5637411475181580e-01 + 5.4051452875137329e-01 + <_> + + 1 0 770 4.9814549274742603e-03 -1 -2 771 + 3.4286780282855034e-03 + + 6.9577431678771973e-01 5.0508928298950195e-01 + 2.3169949650764465e-01 + <_> + + 1 0 772 4.4203791185282171e-04 -1 -2 773 + 2.3822550429031253e-04 + + 6.0185819864273071e-01 4.7550821304321289e-01 + 5.5852377414703369e-01 + <_> + + 0 1 774 -6.4261639490723610e-03 -1 -2 775 + 9.9637769162654877e-03 + + 2.2824659943580627e-01 4.0405881404876709e-01 + 5.6501698493957520e-01 + <_> + + 0 1 776 1.3654050417244434e-02 -1 -2 777 + -9.9892877042293549e-03 + + 5.2677392959594727e-01 6.7940497398376465e-01 + 4.7970339655876160e-01 + <_> + + 1 0 778 3.6558631807565689e-02 -1 -2 779 + 4.8999379941960797e-05 + + 8.8425733149051666e-02 4.0207880735397339e-01 + 5.4573321342468262e-01 + <_> + + 0 1 780 1.3654050417244434e-02 -1 -2 781 + 1.8802779959514737e-03 + + 5.2676129341125488e-01 4.8060521483421326e-01 + 6.3943648338317871e-01 + <_> + + 0 1 782 -1.3654050417244434e-02 -1 -2 783 + 1.2778700329363346e-03 + + 1.7248100042343140e-01 4.4798240065574646e-01 + 6.3100087642669678e-01 + <_> + + 1 0 784 9.8843395244330168e-04 -1 -2 785 + 1.4511500012304168e-05 + + 5.9481692314147949e-01 4.8541748523712158e-01 + 5.3093612194061279e-01 + <_> + + 0 1 786 -2.2775429533794522e-04 -1 -2 787 + -1.4753740280866623e-02 + + 3.1836318969726562e-01 3.0849760770797729e-01 + 5.3520262241363525e-01 + <_> + + 0 1 788 -3.4148250706493855e-03 -1 -2 789 + 7.5806681998074055e-03 + + 6.1153268814086914e-01 4.9516460299491882e-01 + 7.0613312721252441e-01 + <_> + + 1 0 790 -5.7734688743948936e-03 -1 -2 791 + 7.4033669079653919e-05 + + 3.7542209029197693e-01 4.1155171394348145e-01 + 5.8894449472427368e-01 + <_> + + 0 1 792 -8.2278084009885788e-03 -1 -2 793 + 5.3380909375846386e-03 + + 9.5610566437244415e-02 5.3005087375640869e-01 + 3.9618980884552002e-01 + <_> + + 0 1 794 -2.7049109339714050e-03 -1 -2 795 + 7.7341338619589806e-03 + + 6.4818692207336426e-01 5.1104402542114258e-01 + 3.1215190887451172e-01 + <_> + + 0 1 796 1.0886609554290771e-02 -1 -2 797 + 1.1038660071790218e-02 + + 4.8014289140701294e-01 5.4297101497650146e-01 + 4.1623631119728088e-01 + <_> + + 0 1 798 -1.0054199956357479e-02 -1 -2 799 + 7.7072880230844021e-03 + + 7.3293352127075195e-01 5.3568720817565918e-01 + 3.4555470943450928e-01 + <_> + + 0 1 800 -5.8278098003938794e-04 -1 -2 801 + -2.5739220436662436e-03 + + 3.6550220847129822e-01 3.7767601013183594e-01 + 5.3917747735977173e-01 + <_> + + 0 1 802 -7.0167761296033859e-03 -1 -2 803 + -1.7727289814502001e-03 + + 4.0393048524856567e-01 6.9504439830780029e-01 + 4.9811169505119324e-01 + <_> + + 1 0 804 -1.6318289563059807e-02 -1 -2 805 + -1.1663000099360943e-02 + + 5.2967327833175659e-01 5.8426398038864136e-01 + 4.7895029187202454e-01 + <_> + + 1 0 806 2.5881489273160696e-03 -1 -2 807 + -3.7328999023884535e-03 + + 6.0921788215637207e-01 6.7217427492141724e-01 + 4.0668940544128418e-01 + <_> + + 0 1 808 -1.4355930034071207e-03 -1 -2 809 + 1.8340899841859937e-03 + + 3.5850879549980164e-01 5.3711581230163574e-01 + 4.0335071086883545e-01 + <_> + + 1 0 810 1.2280289828777313e-01 -1 -2 811 + 5.0228700041770935e-02 + + 1.5475720167160034e-01 5.4338437318801880e-01 + 8.4292672574520111e-02 + <_> + + 1 0 812 -2.1437000483274460e-02 -1 -2 813 + -3.1009620055556297e-02 + + 4.8600539565086365e-01 1.8330100178718567e-01 + 5.2075541019439697e-01 + <_> + + 0 1 814 -1.2973720207810402e-02 -1 -2 815 + 1.5818020328879356e-03 + + 7.0482409000396729e-01 4.1705870628356934e-01 + 5.8651638031005859e-01 + <_> + + 1 0 816 -9.7806248813867569e-03 -1 -2 817 + 1.1735740117728710e-03 + + 5.3079181909561157e-01 5.5224531888961792e-01 + 3.5071650147438049e-01 + <_> + + 1 0 818 1.4651629608124495e-03 -1 -2 819 + 2.3532148916274309e-03 + + 3.0426511168479919e-01 5.3393232822418213e-01 + 2.8062361478805542e-01 + <_> + + 0 1 820 -6.1809681355953217e-03 -1 -2 821 + 6.5688649192452431e-04 + + 6.4101332426071167e-01 5.6208711862564087e-01 + 4.3903189897537231e-01 + <_> + + 1 0 822 2.6228010654449463e-02 -1 -2 823 + -1.7958110198378563e-02 + + 6.4455568790435791e-01 2.0027139782905579e-01 + 4.6246650815010071e-01 + <_> + + 1 0 824 -7.6468721963465214e-03 -1 -2 825 + -2.7482809964567423e-03 + + 5.2632009983062744e-01 5.8739811182022095e-01 + 4.8366001248359680e-01 + <_> + + 1 0 826 1.3851850293576717e-02 -1 -2 827 + 2.6369190309196711e-03 + + 1.5661309659481049e-01 4.2701789736747742e-01 + 5.8066600561141968e-01 + <_> + + 0 1 828 -3.1513599678874016e-03 -1 -2 829 + -1.4788460248382762e-05 + + 6.2158662080764771e-01 5.5766427516937256e-01 + 4.1220021247863770e-01 + <_> + + 0 1 830 -7.3676988482475281e-02 -1 -2 831 + -3.0912780202925205e-03 + + 1.5367099642753601e-01 6.3442689180374146e-01 + 4.5074120163917542e-01 + <_> + + 0 1 832 7.9240966588258743e-03 -1 -2 833 + 8.5778040811419487e-03 + + 5.4579752683639526e-01 5.4016572237014771e-01 + 3.8907998800277710e-01 + <_> + + 1 0 834 5.5403169244527817e-03 -1 -2 835 + -1.1886510037584230e-04 + + 3.5556110739707947e-01 5.8367502689361572e-01 + 4.2743161320686340e-01 + <_> + + 0 1 836 -1.8408369272947311e-02 -1 -2 837 + -2.3490579333156347e-03 + + 5.8604401350021362e-01 4.4989579916000366e-01 + 5.4981988668441772e-01 + <_> + + 1 0 838 -7.6157399453222752e-03 -1 -2 839 + -3.3190969843417406e-03 + + 4.1009929776191711e-01 6.7013788223266602e-01 + 4.3530011177062988e-01 + <_> + + 1 0 840 -9.4642979092895985e-04 -1 -2 841 + 8.7858550250530243e-03 + + 5.3911769390106201e-01 5.5040502548217773e-01 + 3.9909350872039795e-01 + <_> + + 1 0 842 1.6395459533669055e-04 -1 -2 843 + -2.3508940357714891e-03 + + 3.5929331183433533e-01 4.0341728925704956e-01 + 5.8060771226882935e-01 + <_> + + 1 0 844 7.5449963333085179e-05 -1 -2 845 + 2.7018489316105843e-02 + + 5.4123848676681519e-01 4.9449229240417480e-01 + 5.5894362926483154e-01 + <_> + + 1 0 846 8.4561208495870233e-04 -1 -2 847 + -1.1687109945341945e-03 + + 5.8092182874679565e-01 4.7469571232795715e-01 + 2.8458958864212036e-01 + <_> + + 1 0 848 2.2897500544786453e-02 -1 -2 849 + 7.0879262685775757e-01 + + 2.4144110083580017e-01 5.1957648992538452e-01 + 1.0300920158624649e-01 + <_> + + 1 0 850 3.7483830004930496e-02 -1 -2 851 + 1.2827500468119979e-03 + + 1.8146389722824097e-01 4.2460718750953674e-01 + 5.7079732418060303e-01 + <_> + + 0 1 852 -5.1718312315642834e-03 -1 -2 853 + 2.7545939665287733e-03 + + 6.1433231830596924e-01 5.2056711912155151e-01 + 4.2204418778419495e-01 + <_> + + 0 1 854 -3.6072919610887766e-03 -1 -2 855 + -2.5258748792111874e-04 + + 3.1825920939445496e-01 5.7104682922363281e-01 + 4.2260938882827759e-01 + <_> + + 1 0 856 -7.0514748804271221e-03 -1 -2 857 + -5.4323761723935604e-03 + + 5.1628297567367554e-01 2.6662889122962952e-01 + 5.2146798372268677e-01 + <_> + + 1 0 858 -1.4652940080850385e-05 -1 -2 859 + -1.8556920113041997e-03 + + 3.9817610383033752e-01 3.3227631449699402e-01 + 5.7058340311050415e-01 + <_> + + 1 0 860 4.7609540633857250e-03 -1 -2 861 + 1.5676260227337480e-03 + + 6.6365581750869751e-01 5.5055677890777588e-01 + 4.4206619262695312e-01 + <_> + + 1 0 862 5.4239919409155846e-03 -1 -2 863 + -6.4692399464547634e-03 + + 5.9599381685256958e-01 5.3695940971374512e-01 + 3.7443399429321289e-01 + <_> + + 0 1 864 -7.8038539504632354e-04 -1 -2 865 + 4.5086450874805450e-02 + + 4.1035950183868408e-01 5.1775068044662476e-01 + 1.8781000375747681e-01 + <_> + + 0 1 866 -5.1405387930572033e-03 -1 -2 867 + -2.1236129105091095e-02 + + 2.3528920114040375e-01 1.7087510228157043e-01 + 5.4249739646911621e-01 + <_> + + 0 1 868 -2.3763340432196856e-03 -1 -2 869 + 5.4122589528560638e-02 + + 5.8365309238433838e-01 5.1174330711364746e-01 + 1.8659310042858124e-01 + <_> + + 0 1 870 -5.3492980077862740e-04 -1 -2 871 + -5.8454048121348023e-04 + + 5.1086932420730591e-01 4.7754910588264465e-01 + 2.4398539960384369e-01 + <_> + 71 + 3.4677078247070312e+01 + + <_> + + 0 1 872 3.0031939968466759e-03 -1 -2 873 + 6.9161207647994161e-04 + + 3.3496499061584473e-01 4.5183679461479187e-01 + 7.2893542051315308e-01 + <_> + + 0 1 874 1.1212790384888649e-02 -1 -2 875 + -7.6108198845759034e-04 + + 2.9508009552955627e-01 5.6690549850463867e-01 + 2.8308510780334473e-01 + <_> + + 0 1 876 1.1984579759882763e-04 -1 -2 877 + -1.9725349557120353e-04 + + 4.0905779600143433e-01 6.9514942169189453e-01 + 4.6378681063652039e-01 + <_> + + 1 0 878 -5.5180420167744160e-03 -1 -2 879 + 1.2148249661549926e-03 + + 3.1676751375198364e-01 3.3167061209678650e-01 + 5.3963977098464966e-01 + <_> + + 0 1 880 -4.2497441172599792e-03 -1 -2 881 + -9.4915721565485001e-03 + + 2.6005738973617554e-01 7.4842947721481323e-01 + 5.0731921195983887e-01 + <_> + + 1 0 882 6.5378600265830755e-04 -1 -2 883 + -4.9741100519895554e-04 + + 3.9520108699798584e-01 5.8802747726440430e-01 + 3.5521200299263000e-01 + <_> + + 0 1 884 -4.3079249560832977e-02 -1 -2 885 + -5.1999092102050781e-04 + + 2.4348780512809753e-01 3.1955629587173462e-01 + 5.5854547023773193e-01 + <_> + + 1 0 886 -4.5451628975570202e-03 -1 -2 887 + -7.9610403627157211e-03 + + 4.8452898859977722e-01 3.8011810183525085e-01 + 5.3585118055343628e-01 + <_> + + 1 0 888 -3.1919340835884213e-04 -1 -2 889 + -1.9223889335989952e-02 + + 4.3563291430473328e-01 2.6130661368370056e-01 + 6.1554962396621704e-01 + <_> + + 0 1 890 -1.3076990144327283e-03 -1 -2 891 + 1.9825039431452751e-02 + + 5.9420621395111084e-01 4.9454280734062195e-01 + 7.3848551511764526e-01 + <_> + + 0 1 892 -2.2013280540704727e-03 -1 -2 893 + -7.8596705570816994e-03 + + 2.2144819796085358e-01 3.6009770631790161e-01 + 5.2985501289367676e-01 + <_> + + 1 0 894 1.4142199652269483e-03 -1 -2 895 + -1.1232759803533554e-02 + + 5.7765662670135498e-01 6.9344568252563477e-01 + 4.8272070288658142e-01 + <_> + + 1 0 896 2.9746301006525755e-03 -1 -2 897 + 5.3283828310668468e-04 + + 3.2166770100593567e-01 3.9625000953674316e-01 + 5.6803637742996216e-01 + <_> + + 1 0 898 1.0105259716510773e-02 -1 -2 899 + -1.1653699912130833e-02 + + 7.5674182176589966e-01 6.5235567092895508e-01 + 5.0270539522171021e-01 + <_> + + 0 1 900 -7.0609981194138527e-03 -1 -2 901 + 2.2343141026794910e-03 + + 2.5387701392173767e-01 4.3872770667076111e-01 + 6.1776322126388550e-01 + <_> + + 1 0 902 -2.9802279546856880e-02 -1 -2 903 + 1.1611840454861522e-03 + + 5.2011400461196899e-01 4.6479099988937378e-01 + 6.1842548847198486e-01 + <_> + + 1 0 904 9.4824447296559811e-04 -1 -2 905 + 4.1284630424343050e-04 + + 3.0409941077232361e-01 4.5188081264495850e-01 + 6.2457829713821411e-01 + <_> + + 0 1 906 -3.1203540042042732e-02 -1 -2 907 + 2.7652881108224392e-03 + + 2.7889358997344971e-01 4.6985000371932983e-01 + 6.5024542808532715e-01 + <_> + + 1 0 908 2.5644779205322266e-02 -1 -2 909 + -7.5331530533730984e-03 + + 1.8051710724830627e-01 3.2080689072608948e-01 + 5.5220228433609009e-01 + <_> + + 1 0 910 3.2047149725258350e-03 -1 -2 911 + -2.4282479716930538e-04 + + 6.4369338750839233e-01 5.6767052412033081e-01 + 4.5091038942337036e-01 + <_> + + 0 1 912 -6.1979342717677355e-04 -1 -2 913 + -8.0101029016077518e-04 + + 3.1221461296081543e-01 2.9651939868927002e-01 + 5.2304947376251221e-01 + <_> + + 1 0 914 -9.1816839994862676e-04 -1 -2 915 + 1.2239529751241207e-03 + + 5.4647117853164673e-01 4.6185028553009033e-01 + 5.6795489788055420e-01 + <_> + + 0 1 916 -6.8743730662390590e-04 -1 -2 917 + -1.8252469599246979e-03 + + 5.4308801889419556e-01 5.4336231946945190e-01 + 3.3852210640907288e-01 + <_> + + 1 0 918 -7.4570789001882076e-03 -1 -2 919 + 5.3775748237967491e-03 + + 5.2655947208404541e-01 4.8572158813476562e-01 + 6.8151241540908813e-01 + <_> + + 1 0 920 3.7602309603244066e-03 -1 -2 921 + 8.7752222316339612e-04 + + 2.8321608901023865e-01 3.9668309688568115e-01 + 5.5124807357788086e-01 + <_> + + 1 0 922 5.5084479972720146e-03 -1 -2 923 + -7.5949047459289432e-04 + + 6.7846202850341797e-01 3.9065030217170715e-01 + 5.4572027921676636e-01 + <_> + + 1 0 924 1.6352660022675991e-03 -1 -2 925 + -1.2750849418807775e-04 + + 3.6402040719985962e-01 5.8297240734100342e-01 + 4.1949799656867981e-01 + <_> + + 0 1 926 2.2067610174417496e-02 -1 -2 927 + -1.9203789532184601e-02 + + 4.6067029237747192e-01 3.2614830136299133e-01 + 5.2360808849334717e-01 + <_> + + 0 1 928 -1.2998109683394432e-02 -1 -2 929 + -3.1332690268754959e-03 + + 7.0221120119094849e-01 2.8704708814620972e-01 + 5.0764769315719604e-01 + <_> + + 1 0 930 -5.2937557920813560e-03 -1 -2 931 + 2.1857069805264473e-03 + + 4.7095209360122681e-01 4.7082918882369995e-01 + 6.1698418855667114e-01 + <_> + + 0 1 932 -4.5750709250569344e-03 -1 -2 933 + -4.5152138918638229e-02 + + 3.1142529845237732e-01 1.8514350056648254e-01 + 5.5048149824142456e-01 + <_> + + 1 0 934 -2.7783559635281563e-03 -1 -2 935 + -2.5752480141818523e-03 + + 4.9373480677604675e-01 6.1529481410980225e-01 + 4.7354999184608459e-01 + <_> + + 1 0 936 1.1614130344241858e-03 -1 -2 937 + 2.3350189439952374e-03 + + 6.5105718374252319e-01 4.0883418917655945e-01 + 5.6841522455215454e-01 + <_> + + 1 0 938 3.8499289657920599e-03 -1 -2 939 + 2.4529630318284035e-03 + + 3.0258288979530334e-01 5.2325028181076050e-01 + 2.0176209509372711e-01 + <_> + + 1 0 940 3.6731390282511711e-03 -1 -2 941 + 2.1937100682407618e-03 + + 6.4284259080886841e-01 4.3288651108741760e-01 + 6.4205098152160645e-01 + <_> + + 1 0 942 -6.4666871912777424e-03 -1 -2 943 + -5.7186251506209373e-03 + + 5.2540659904479980e-01 2.4909840524196625e-01 + 5.2876192331314087e-01 + <_> + + 1 0 944 9.9941878579556942e-04 -1 -2 945 + -7.8276498243212700e-04 + + 3.3297958970069885e-01 3.5983449220657349e-01 + 5.4983407258987427e-01 + <_> + + 0 1 946 4.3231188319623470e-03 -1 -2 947 + 4.0838290005922318e-03 + + 4.8187050223350525e-01 5.2663302421569824e-01 + 3.1057891249656677e-01 + <_> + + 1 0 948 3.0515898833982646e-04 -1 -2 949 + 1.2640280183404684e-03 + + 3.9952918887138367e-01 3.2284379005432129e-01 + 5.8192151784896851e-01 + <_> + + 0 1 950 -1.0152660310268402e-02 -1 -2 951 + -2.6863690000027418e-03 + + 8.0260711908340454e-01 3.8756170868873596e-01 + 5.4665708541870117e-01 + <_> + + 1 0 952 -9.0515613555908203e-03 -1 -2 953 + -6.3204211182892323e-03 + + 4.3720579147338867e-01 1.1265510320663452e-01 + 6.3954162597656250e-01 + <_> + + 0 1 954 2.6117300149053335e-03 -1 -2 955 + 1.4339019544422626e-02 + + 5.4239892959594727e-01 4.9792730808258057e-01 + 6.0422360897064209e-01 + <_> + + 1 0 956 2.8452780097723007e-03 -1 -2 957 + 1.4783289771003183e-05 + + 3.4910920262336731e-01 4.1950678825378418e-01 + 5.7759660482406616e-01 + <_> + + 0 1 958 8.1814555451273918e-03 -1 -2 959 + 6.6321990452706814e-03 + + 4.8859870433807373e-01 5.4444682598114014e-01 + 4.4209951162338257e-01 + <_> + + 0 1 960 -2.2483461070805788e-03 -1 -2 961 + 1.2374560348689556e-02 + + 6.6997921466827393e-01 4.4786059856414795e-01 + 6.5648937225341797e-01 + <_> + + 1 0 962 -6.6516688093543053e-03 -1 -2 963 + -8.5750613361597061e-03 + + 5.5118787288665771e-01 4.0174451470375061e-01 + 5.4055362939834595e-01 + <_> + + 1 0 964 6.5078441984951496e-03 -1 -2 965 + 2.8675209730863571e-02 + + 2.2943930327892303e-01 5.1779001951217651e-01 + 3.5677561163902283e-01 + <_> + + 0 1 966 7.0673860609531403e-03 -1 -2 967 + 1.2367829913273454e-03 + + 5.5646997690200806e-01 3.6276981234550476e-01 + 5.5724138021469116e-01 + <_> + + 1 0 968 7.4818679131567478e-03 -1 -2 969 + 4.7109839506447315e-03 + + 6.7849111557006836e-01 4.1212528944015503e-01 + 6.0722357034683228e-01 + <_> + + 1 0 970 -6.9405790418386459e-03 -1 -2 971 + 3.3302098512649536e-02 + + 5.4597669839859009e-01 5.2767068147659302e-01 + 2.3749159276485443e-01 + <_> + + 1 0 972 3.6104630678892136e-02 -1 -2 973 + 1.9674649462103844e-02 + + 7.2492793202400208e-02 4.6263459324836731e-01 + 8.2089632749557495e-01 + <_> + + 0 1 974 3.4766150638461113e-03 -1 -2 975 + 1.3987369602546096e-03 + + 5.2087318897247314e-01 5.4844141006469727e-01 + 4.2300349473953247e-01 + <_> + + 1 0 976 4.0974249131977558e-03 -1 -2 977 + 2.6973790954798460e-03 + + 2.7805531024932861e-01 5.4038310050964355e-01 + 3.7909889221191406e-01 + <_> + + 1 0 978 -5.6591699831187725e-03 -1 -2 979 + 3.9460969856008887e-04 + + 4.7983360290527344e-01 3.7669500708580017e-01 + 5.4292291402816772e-01 + <_> + + 1 0 980 2.1750570740550756e-03 -1 -2 981 + 1.4614439569413662e-03 + + 6.2071627378463745e-01 3.3579450845718384e-01 + 5.1426321268081665e-01 + <_> + + 1 0 982 -5.3006567759439349e-04 -1 -2 983 + 1.4869309961795807e-01 + + 5.3446400165557861e-01 5.1596081256866455e-01 + 2.5618231296539307e-01 + <_> + + 1 0 984 -5.8816498494707048e-05 -1 -2 985 + -1.6275369562208652e-03 + + 5.1230919361114502e-01 6.0176461935043335e-01 + 3.1093719601631165e-01 + <_> + + 0 1 986 -1.2881809845566750e-02 -1 -2 987 + 9.4982917653396726e-04 + + 2.7122870087623596e-01 5.4424422979354858e-01 + 4.0288880467414856e-01 + <_> + + 1 0 988 -1.2315999716520309e-02 -1 -2 989 + 9.0286601334810257e-03 + + 4.7360658645629883e-01 7.4514347314834595e-01 + 3.4879919886589050e-01 + <_> + + 0 1 990 -8.6876116693019867e-02 -1 -2 991 + -1.5107560102478601e-05 + + 2.2903330624103546e-01 5.5178898572921753e-01 + 4.3931490182876587e-01 + <_> + + 0 1 992 -1.7457660287618637e-02 -1 -2 993 + -2.5219470262527466e-03 + + 9.0167902410030365e-02 6.2335401773452759e-01 + 4.7894591093063354e-01 + <_> + + 0 1 994 1.0656520025804639e-03 -1 -2 995 + -4.2540300637483597e-03 + + 5.4896962642669678e-01 5.5798089504241943e-01 + 4.3758779764175415e-01 + <_> + + 0 1 996 -9.0349102392792702e-03 -1 -2 997 + -1.5230999561026692e-03 + + 3.5791561007499695e-01 5.6136602163314819e-01 + 3.9390438795089722e-01 + <_> + + 1 0 998 2.8441150207072496e-03 -1 -2 999 + -3.2824429217725992e-03 + + 3.9015549421310425e-01 4.5286190509796143e-01 + 5.4413431882858276e-01 + <_> + + 1 0 1000 3.2161718991119415e-05 -1 -2 1001 + 3.0118400900391862e-05 + + 5.8031117916107178e-01 3.3368501067161560e-01 + 5.5048561096191406e-01 + <_> + + 0 1 1002 -5.6150099262595177e-03 -1 -2 1003 + -1.7389209941029549e-02 + + 6.1247891187667847e-01 8.7271630764007568e-02 + 5.2045881748199463e-01 + <_> + + 0 1 1004 -4.4361080654198304e-05 -1 -2 1005 + 1.0354899859521538e-04 + + 3.9353290200233459e-01 5.9188538789749146e-01 + 4.1196140646934509e-01 + <_> + + 0 1 1006 1.5939630102366209e-03 -1 -2 1007 + 2.5440789759159088e-03 + + 4.8396238684654236e-01 4.7873649001121521e-01 + 6.3606631755828857e-01 + <_> + + 0 1 1008 1.5083180187502876e-05 -1 -2 1009 + -9.9282202427275479e-05 + + 4.2311170697212219e-01 4.2745891213417053e-01 + 6.0940480232238770e-01 + <_> + + 1 0 1010 5.5371708003804088e-04 -1 -2 1011 + 1.9186759600415826e-03 + + 4.2719879746437073e-01 4.4971078634262085e-01 + 5.5491220951080322e-01 + <_> + + 1 0 1012 -5.0764222396537662e-04 -1 -2 1013 + 1.7236480489373207e-03 + + 5.4771959781646729e-01 2.8829228878021240e-01 + 5.6151270866394043e-01 + <_> + 75 + 3.6726501464843750e+01 + + <_> + + 0 1 1014 1.3092169538140297e-02 -1 -2 1015 + 4.1446479735895991e-04 + + 3.3388701081275940e-01 3.0993521213531494e-01 + 6.6774922609329224e-01 + <_> + + 0 1 1016 2.1835729479789734e-02 -1 -2 1017 + 4.8323940485715866e-02 + + 4.3690490722656250e-01 4.3017241358757019e-01 + 6.1538851261138916e-01 + <_> + + 0 1 1018 1.6091950237751007e-03 -1 -2 1019 + 1.3469760306179523e-03 + + 3.3873260021209717e-01 6.2487137317657471e-01 + 3.5941308736801147e-01 + <_> + + 0 1 1020 1.7729059618432075e-04 -1 -2 1021 + 3.6743620876222849e-04 + + 3.8684248924255371e-01 4.4093450903892517e-01 + 5.4764741659164429e-01 + <_> + + 0 1 1022 -1.2352119665592909e-03 -1 -2 1023 + 1.1705530341714621e-03 + + 3.2601711153984070e-01 4.1113489866256714e-01 + 6.0881638526916504e-01 + <_> + + 1 0 1024 -2.9695429475395940e-05 -1 -2 1025 + 2.7050738572143018e-04 + + 4.2694228887557983e-01 4.3064668774604797e-01 + 5.8105140924453735e-01 + <_> + + 1 0 1026 -7.9626210208516568e-05 -1 -2 1027 + 3.3152441028505564e-04 + + 3.6691430211067200e-01 4.6106639504432678e-01 + 6.2905901670455933e-01 + <_> + + 1 0 1028 -5.2305828779935837e-02 -1 -2 1029 + 2.6880469173192978e-02 + + 5.3286898136138916e-01 5.2132612466812134e-01 + 3.2312199473381042e-01 + <_> + + 1 0 1030 -2.4203000066336244e-04 -1 -2 1031 + -1.6424639616161585e-03 + + 3.5685700178146362e-01 3.4406611323356628e-01 + 5.6256049871444702e-01 + <_> + + 1 0 1032 -2.6830288697965443e-04 -1 -2 1033 + -2.2649629972875118e-03 + + 4.5611730217933655e-01 5.3213518857955933e-01 + 3.6741548776626587e-01 + <_> + + 1 0 1034 1.5627209097146988e-02 -1 -2 1035 + 1.6211320459842682e-01 + + 2.0293539762496948e-01 5.5630332231521606e-01 + 2.6188498735427856e-01 + <_> + + 0 1 1036 -3.7391691002994776e-03 -1 -2 1037 + -2.0878419745713472e-03 + + 6.0621947050094604e-01 5.9507638216018677e-01 + 4.5451170206069946e-01 + <_> + + 1 0 1038 2.3334210272878408e-03 -1 -2 1039 + 6.5116386394947767e-05 + + 6.4355242252349854e-01 3.5207340121269226e-01 + 5.1797789335250854e-01 + <_> + + 0 1 1040 7.4625718407332897e-03 -1 -2 1041 + -2.2032689303159714e-02 + + 5.3266882896423340e-01 3.4919810295104980e-01 + 5.4292368888854980e-01 + <_> + + 0 1 1042 -8.3081610500812531e-03 -1 -2 1043 + -4.3259368976578116e-04 + + 2.0840230584144592e-01 3.9652720093727112e-01 + 5.4254537820816040e-01 + <_> + + 1 0 1044 -3.2209228724241257e-02 -1 -2 1045 + -9.0424838708713651e-04 + + 5.3064119815826416e-01 5.4503858089447021e-01 + 4.2566969990730286e-01 + <_> + + 1 0 1046 2.2727500181645155e-03 -1 -2 1047 + 5.9820008464157581e-03 + + 5.9686112403869629e-01 4.7581401467323303e-01 + 3.1509441137313843e-01 + <_> + + 1 0 1048 -5.8856618124991655e-04 -1 -2 1049 + -8.8227191008627415e-04 + + 4.8477488756179810e-01 5.4263162612915039e-01 + 4.3383410573005676e-01 + <_> + + 1 0 1050 -7.4473457061685622e-05 -1 -2 1051 + 3.9148979703895748e-04 + + 4.2875099182128906e-01 6.3451850414276123e-01 + 4.1018518805503845e-01 + <_> + + 1 0 1052 -3.6939629353582859e-03 -1 -2 1053 + -1.1207849718630314e-02 + + 4.8491048812866211e-01 4.1463369131088257e-01 + 5.4712641239166260e-01 + <_> + + 0 1 1054 -1.0337409563362598e-02 -1 -2 1055 + 3.6883640568703413e-03 + + 2.8771838545799255e-01 5.1019018888473511e-01 + 7.2169512510299683e-01 + <_> + + 1 0 1056 -3.8984280545264482e-03 -1 -2 1057 + -5.9986729174852371e-03 + + 5.2761822938919067e-01 6.6184598207473755e-01 + 4.8416310548782349e-01 + <_> + + 1 0 1058 4.5043681748211384e-03 -1 -2 1059 + 1.7799530178308487e-02 + + 1.8741579353809357e-01 4.6169349551200867e-01 + 7.0889657735824585e-01 + <_> + + 0 1 1060 -1.8462570384144783e-02 -1 -2 1061 + 1.4931300029275008e-05 + + 3.0019798874855042e-01 4.5618081092834473e-01 + 5.6107878684997559e-01 + <_> + + 0 1 1062 -8.6021229624748230e-02 -1 -2 1063 + -6.0818758356617764e-05 + + 2.3417009413242340e-01 5.6722861528396606e-01 + 4.1999641060829163e-01 + <_> + + 1 0 1064 1.2670679716393352e-03 -1 -2 1065 + 1.3699879636988044e-03 + + 6.2074822187423706e-01 5.3949588537216187e-01 + 3.8238629698753357e-01 + <_> + + 1 0 1066 3.3162781037390232e-03 -1 -2 1067 + -1.4532039640471339e-03 + + 7.0616811513900757e-01 3.0655130743980408e-01 + 4.8273730278015137e-01 + <_> + + 1 0 1068 -7.1492061018943787e-02 -1 -2 1069 + 1.9857978913933039e-03 + + 5.1931220293045044e-01 4.6424350142478943e-01 + 5.8076947927474976e-01 + <_> + + 1 0 1070 6.2516499310731888e-03 -1 -2 1071 + 2.7005500160157681e-03 + + 2.9498139023780823e-01 4.5858868956565857e-01 + 6.0223537683486938e-01 + <_> + + 0 1 1072 1.1130389757454395e-02 -1 -2 1073 + 1.5092849731445312e-02 + + 4.3578410148620605e-01 4.5615398883819580e-01 + 6.1190617084503174e-01 + <_> + + 0 1 1074 -2.7943300083279610e-02 -1 -2 1075 + 4.4036991312168539e-05 + + 6.5371441841125488e-01 3.4747231006622314e-01 + 5.3369677066802979e-01 + <_> + + 0 1 1076 -1.2232770211994648e-02 -1 -2 1077 + -6.8591412855312228e-04 + + 3.7316760420799255e-01 5.7172292470932007e-01 + 4.7933790087699890e-01 + <_> + + 0 1 1078 -3.8992990739643574e-03 -1 -2 1079 + 4.9113907152786851e-04 + + 4.0564361214637756e-01 6.1740481853485107e-01 + 4.4717541337013245e-01 + <_> + + 1 0 1080 8.2117747515439987e-03 -1 -2 1081 + -4.5564480125904083e-02 + + 6.1796981096267700e-01 2.2854949533939362e-01 + 5.2495658397674561e-01 + <_> + + 0 1 1082 -5.3631910122931004e-03 -1 -2 1083 + -1.2274970300495625e-02 + + 1.7849500477313995e-01 7.2619527578353882e-01 + 4.5503988862037659e-01 + <_> + + 0 1 1084 5.4185991175472736e-03 -1 -2 1085 + 8.1846961984410882e-04 + + 5.2529907226562500e-01 5.4452222585678101e-01 + 3.2722181081771851e-01 + <_> + + 1 0 1086 4.1358140297234058e-03 -1 -2 1087 + 3.9578010910190642e-04 + + 7.0138317346572876e-01 4.9659439921379089e-01 + 3.2955980300903320e-01 + <_> + + 0 1 1088 4.6887691132724285e-03 -1 -2 1089 + -1.8255440518260002e-02 + + 5.3626418113708496e-01 6.4961087703704834e-01 + 4.7571370005607605e-01 + <_> + + 0 1 1090 -6.2736468389630318e-03 -1 -2 1091 + 2.4320168886333704e-03 + + 2.3437410593032837e-01 4.6201181411743164e-01 + 6.8984192609786987e-01 + <_> + + 0 1 1092 -4.9617629498243332e-02 -1 -2 1093 + 1.1701210169121623e-03 + + 2.1007199585437775e-01 4.6215289831161499e-01 + 5.7971358299255371e-01 + <_> + + 0 1 1094 -4.5237291604280472e-02 -1 -2 1095 + 4.7563421539962292e-03 + + 2.1182620525360107e-01 4.8846149444580078e-01 + 6.8724989891052246e-01 + <_> + + 1 0 1096 -1.4835969544947147e-02 -1 -2 1097 + 7.7436608262360096e-04 + + 5.2751058340072632e-01 4.1723209619522095e-01 + 5.4911398887634277e-01 + <_> + + 1 0 1098 1.4835969544947147e-02 -1 -2 1099 + -8.0892542609944940e-04 + + 2.1248769760131836e-01 5.4952150583267212e-01 + 4.2077958583831787e-01 + <_> + + 0 1 1100 7.7517668250948191e-04 -1 -2 1101 + -6.7618978209793568e-03 + + 3.3219420909881592e-01 2.2129580378532410e-01 + 5.2326530218124390e-01 + <_> + + 0 1 1102 -4.0135860443115234e-02 -1 -2 1103 + -3.3651469275355339e-03 + + 1.1017960309982300e-01 3.8101008534431458e-01 + 5.6172919273376465e-01 + <_> + + 1 0 1104 7.4713007779791951e-04 -1 -2 1105 + -4.2727389372885227e-03 + + 5.7950568199157715e-01 6.3922691345214844e-01 + 4.7114381194114685e-01 + <_> + + 1 0 1106 3.6202510818839073e-03 -1 -2 1107 + 4.7307618660852313e-04 + + 3.4098839759826660e-01 3.6593028903007507e-01 + 5.3881710767745972e-01 + <_> + + 1 0 1108 3.3094909042119980e-02 -1 -2 1109 + -1.1544119566679001e-02 + + 7.1703857183456421e-01 6.3868182897567749e-01 + 4.6813040971755981e-01 + <_> + + 0 1 1110 -7.4234469793736935e-03 -1 -2 1111 + -4.2252950370311737e-03 + + 3.2637009024620056e-01 5.7678192853927612e-01 + 4.3464180827140808e-01 + <_> + + 0 1 1112 1.8133109435439110e-02 -1 -2 1113 + 7.0903049781918526e-03 + + 4.6978279948234558e-01 4.4373890757560730e-01 + 6.0616689920425415e-01 + <_> + + 0 1 1114 -1.3272940181195736e-02 -1 -2 1115 + 1.4632199599873275e-04 + + 6.5585112571716309e-01 3.3763539791107178e-01 + 5.0916552543640137e-01 + <_> + + 0 1 1116 -3.5790191031992435e-03 -1 -2 1117 + -4.6997101162560284e-04 + + 2.9478839039802551e-01 5.5569821596145630e-01 + 4.6654561161994934e-01 + <_> + + 0 1 1118 -4.8179440200328827e-02 -1 -2 1119 + -9.2581362696364522e-04 + + 7.3383557796478271e-01 3.5438719391822815e-01 + 5.2851498126983643e-01 + <_> + + 0 1 1120 -1.4780730009078979e-02 -1 -2 1121 + -1.0027450323104858e-01 + + 1.9444419443607330e-01 9.9049292504787445e-02 + 5.1398539543151855e-01 + <_> + + 0 1 1122 -9.3848101096227765e-04 -1 -2 1123 + -2.8861360624432564e-03 + + 5.8271098136901855e-01 3.4414279460906982e-01 + 5.1488387584686279e-01 + <_> + + 1 0 1124 -4.3682761490345001e-02 -1 -2 1125 + 2.6115700602531433e-03 + + 5.2079981565475464e-01 4.8355031013488770e-01 + 6.3222199678421021e-01 + <_> + + 1 0 1126 4.3682761490345001e-02 -1 -2 1127 + 1.7179530113935471e-03 + + 1.3645380735397339e-01 4.5373201370239258e-01 + 6.0667508840560913e-01 + <_> + + 1 0 1128 -3.3964909613132477e-02 -1 -2 1129 + -1.0993590112775564e-03 + + 4.9683749675750732e-01 5.8316808938980103e-01 + 4.6882399916648865e-01 + <_> + + 1 0 1130 5.4301079362630844e-02 -1 -2 1131 + 1.0993590112775564e-03 + + 7.5682890415191650e-01 4.3301481008529663e-01 + 5.7684689760208130e-01 + <_> + + 1 0 1132 -1.4954120160837192e-05 -1 -2 1133 + 3.1415868550539017e-02 + + 4.4432818889617920e-01 5.2744728326797485e-01 + 3.0378559231758118e-01 + <_> + + 1 0 1134 1.0831849649548531e-02 -1 -2 1135 + 8.6545711383223534e-04 + + 3.5817208886146545e-01 5.9375840425491333e-01 + 4.2946299910545349e-01 + <_> + + 1 0 1136 2.2743160370737314e-03 -1 -2 1137 + 3.9340821094810963e-03 + + 5.9545767307281494e-01 4.7922229766845703e-01 + 5.8561331033706665e-01 + <_> + + 1 0 1138 8.1451907753944397e-03 -1 -2 1139 + -5.2763288840651512e-03 + + 3.5734778642654419e-01 4.0260228514671326e-01 + 5.7647430896759033e-01 + <_> + + 1 0 1140 -8.3787851035594940e-03 -1 -2 1141 + 1.5621910570189357e-03 + + 4.9813330173492432e-01 4.7365880012512207e-01 + 5.5836081504821777e-01 + <_> + + 1 0 1142 3.2318739686161280e-03 -1 -2 1143 + 6.6804019734263420e-03 + + 6.1674368381500244e-01 4.1314241290092468e-01 + 6.2806951999664307e-01 + <_> + + 0 1 1144 -3.3396480139344931e-03 -1 -2 1145 + -2.0933480560779572e-01 + + 3.4463581442832947e-01 1.0386580228805542e-01 + 5.2044892311096191e-01 + <_> + + 1 0 1146 6.3805822283029556e-03 -1 -2 1147 + -6.0137799009680748e-03 + + 2.1674020588397980e-01 6.7383992671966553e-01 + 4.8966509103775024e-01 + <_> + + 1 0 1148 -8.1756077706813812e-03 -1 -2 1149 + 6.3951779156923294e-04 + + 5.1779150962829590e-01 4.8196458816528320e-01 + 5.4644381999969482e-01 + <_> + + 1 0 1150 1.0127760469913483e-03 -1 -2 1151 + 4.9784599104896188e-04 + + 3.4235960245132446e-01 4.4884610176086426e-01 + 5.9126710891723633e-01 + <_> + + 1 0 1152 1.3596490316558629e-04 -1 -2 1153 + 1.3571660034358501e-02 + + 5.5688631534576416e-01 5.1610678434371948e-01 + 1.7130009829998016e-01 + <_> + + 1 0 1154 3.0259079721872695e-05 -1 -2 1155 + -3.2625840976834297e-03 + + 4.9162039160728455e-01 6.4046627283096313e-01 + 2.8590849041938782e-01 + <_> + + 1 0 1156 -1.9217010412830859e-04 -1 -2 1157 + 2.1993879228830338e-02 + + 5.4592829942703247e-01 4.7157138586044312e-01 + 5.6900751590728760e-01 + <_> + + 1 0 1158 7.8907777788117528e-04 -1 -2 1159 + 5.0893891602754593e-04 + + 3.2798269391059875e-01 4.3020078539848328e-01 + 5.6960451602935791e-01 + <_> + + 1 0 1160 1.1662710312521085e-04 -1 -2 1161 + 8.0604078248143196e-03 + + 5.3872352838516235e-01 5.0214231014251709e-01 + 5.9653222560882568e-01 + <_> + + 1 0 1162 9.5925969071686268e-04 -1 -2 1163 + -1.9526129588484764e-02 + + 3.4734940528869629e-01 6.4755451679229736e-01 + 4.6437820792198181e-01 + <_> + 78 + 3.8236038208007812e+01 + + <_> + + 0 1 1164 4.1242439299821854e-02 -1 -2 1165 + 1.5626709908246994e-02 + + 3.3933150768280029e-01 5.1041001081466675e-01 + 7.7728152275085449e-01 + <_> + + 0 1 1166 2.9947189614176750e-04 -1 -2 1167 + -1.0037609608843923e-03 + + 3.6646738648414612e-01 5.4056507349014282e-01 + 3.9262050390243530e-01 + <_> + + 0 1 1168 6.8128242855891585e-04 -1 -2 1169 + 1.3098999625071883e-04 + + 4.2515191435813904e-01 4.1351449489593506e-01 + 6.9257462024688721e-01 + <_> + + 1 0 1170 3.1696720980107784e-03 -1 -2 1171 + -2.0587369799613953e-03 + + 3.4558731317520142e-01 2.2341939806938171e-01 + 5.2861189842224121e-01 + <_> + + 1 0 1172 -4.6395038953050971e-04 -1 -2 1173 + 3.5089480224996805e-03 + + 4.2065200209617615e-01 6.5029817819595337e-01 + 4.1175979375839233e-01 + <_> + + 1 0 1174 -2.3975980002433062e-03 -1 -2 1175 + 1.0901279747486115e-03 + + 3.6733010411262512e-01 2.9062381386756897e-01 + 5.4451119899749756e-01 + <_> + + 0 1 1176 -1.6524370585102588e-04 -1 -2 1177 + -4.1602319106459618e-04 + + 4.2335158586502075e-01 3.8863611221313477e-01 + 6.2691658735275269e-01 + <_> + + 0 1 1178 -2.3739910102449358e-04 -1 -2 1179 + 2.4739760905504227e-02 + + 5.5244511365890503e-01 4.9600958824157715e-01 + 5.3734910488128662e-01 + <_> + + 0 1 1180 -1.5342839993536472e-02 -1 -2 1181 + 1.1540469713509083e-02 + + 6.8494051694869995e-01 4.0372350811958313e-01 + 6.7869400978088379e-01 + <_> + + 1 0 1182 6.4230621792376041e-03 -1 -2 1183 + 1.2977809645235538e-02 + + 3.8146761059761047e-01 5.5270588397979736e-01 + 3.7449559569358826e-01 + <_> + + 0 1 1184 1.1063399724662304e-03 -1 -2 1185 + 1.3743690215051174e-03 + + 3.5209289193153381e-01 5.6419032812118530e-01 + 3.0750259757041931e-01 + <_> + + 0 1 1186 1.6233779489994049e-02 -1 -2 1187 + -8.1519351806491613e-04 + + 4.8888280987739563e-01 5.4563212394714355e-01 + 4.7435501217842102e-01 + <_> + + 0 1 1188 -9.0782493352890015e-02 -1 -2 1189 + 1.1665210127830505e-02 + + 2.9252481460571289e-01 4.6884548664093018e-01 + 6.2303477525711060e-01 + <_> + + 0 1 1190 -2.3286409676074982e-02 -1 -2 1191 + 2.1559339947998524e-03 + + 6.8958431482315063e-01 5.3558021783828735e-01 + 3.4234660863876343e-01 + <_> + + 0 1 1192 -4.3167220428586006e-03 -1 -2 1193 + 1.5610599657520652e-03 + + 5.9370762109756470e-01 4.7086599469184875e-01 + 2.7369970083236694e-01 + <_> + + 0 1 1194 1.4076639898121357e-02 -1 -2 1195 + 7.1018589660525322e-03 + + 5.2871561050415039e-01 5.3361928462982178e-01 + 3.2248139381408691e-01 + <_> + + 0 1 1196 -4.8221647739410400e-03 -1 -2 1197 + -5.3852899000048637e-03 + + 2.9839101433753967e-01 5.6239992380142212e-01 + 4.2959120869636536e-01 + <_> + + 1 0 1198 7.3483278974890709e-03 -1 -2 1199 + -3.5707519855350256e-03 + + 6.8139612674713135e-01 5.8579689264297485e-01 + 4.6034291386604309e-01 + <_> + + 1 0 1200 2.3340100888162851e-03 -1 -2 1201 + 4.7432780265808105e-03 + + 2.7448511123657227e-01 5.0475269556045532e-01 + 2.3627419769763947e-01 + <_> + + 0 1 1202 6.5055489540100098e-03 -1 -2 1203 + 1.2589249759912491e-02 + + 5.2422481775283813e-01 4.8236909508705139e-01 + 6.7525368928909302e-01 + <_> + + 0 1 1204 -6.3358368352055550e-03 -1 -2 1205 + -5.7639651931822300e-03 + + 1.7346349358558655e-01 6.3543808460235596e-01 + 4.5874750614166260e-01 + <_> + + 0 1 1206 1.3599749654531479e-03 -1 -2 1207 + 2.8404260054230690e-02 + + 4.5803809165954590e-01 5.1763808727264404e-01 + 1.2043850123882294e-01 + <_> + + 0 1 1208 -9.2958156019449234e-03 -1 -2 1209 + -1.1800320353358984e-03 + + 2.3379570245742798e-01 3.9028140902519226e-01 + 5.6529301404953003e-01 + <_> + + 0 1 1210 -2.0948140881955624e-03 -1 -2 1211 + 4.1679958812892437e-03 + + 5.5120289325714111e-01 5.4559761285781860e-01 + 4.7989490628242493e-01 + <_> + + 1 0 1212 5.4458891972899437e-03 -1 -2 1213 + -1.2766510481014848e-03 + + 6.1270868778228760e-01 5.3171318769454956e-01 + 3.8509321212768555e-01 + <_> + + 0 1 1214 5.9404270723462105e-04 -1 -2 1215 + 4.2309608310461044e-02 + + 5.4464370012283325e-01 5.2346438169479370e-01 + 2.2130440175533295e-01 + <_> + + 0 1 1216 5.6189671158790588e-03 -1 -2 1217 + 7.2401198558509350e-03 + + 4.9161979556083679e-01 1.4714759588241577e-01 + 4.8528939485549927e-01 + <_> + + 0 1 1218 -4.5610670931637287e-03 -1 -2 1219 + 4.5506159949582070e-05 + + 2.7737739682197571e-01 4.6264618635177612e-01 + 5.7680791616439819e-01 + <_> + + 0 1 1220 -6.1903791502118111e-03 -1 -2 1221 + 8.1186462193727493e-04 + + 1.6442899405956268e-01 4.7785910964012146e-01 + 6.2618649005889893e-01 + <_> + + 0 1 1222 1.3779809698462486e-02 -1 -2 1223 + 1.1290319962427020e-03 + + 5.2573078870773315e-01 5.4980480670928955e-01 + 3.9831069111824036e-01 + <_> + + 0 1 1224 -1.0610350000206381e-04 -1 -2 1225 + 1.6695790691301227e-04 + + 4.0335190296173096e-01 4.1493400931358337e-01 + 5.7953411340713501e-01 + <_> + + 1 0 1226 1.1290319962427020e-03 -1 -2 1227 + -1.2019349634647369e-01 + + 3.9341148734092712e-01 7.3400482535362244e-02 + 5.2025860548019409e-01 + <_> + + 0 1 1228 -1.5230740420520306e-02 -1 -2 1229 + 3.5759829916059971e-03 + + 3.7495058774948120e-01 5.0781500339508057e-01 + 6.6060662269592285e-01 + <_> + + 0 1 1230 1.3479460030794144e-02 -1 -2 1231 + -2.1162950433790684e-03 + + 4.5477110147476196e-01 3.3110061287879944e-01 + 5.3842592239379883e-01 + <_> + + 0 1 1232 -1.7877709120512009e-02 -1 -2 1233 + 1.0931970318779349e-03 + + 6.5132528543472290e-01 5.2647650241851807e-01 + 3.4569910168647766e-01 + <_> + + 0 1 1234 -3.0553159303963184e-03 -1 -2 1235 + 3.6365049891173840e-03 + + 6.2686139345169067e-01 5.3992128372192383e-01 + 4.3453970551490784e-01 + <_> + + 0 1 1236 9.7896481747739017e-05 -1 -2 1237 + -3.2714448752813041e-04 + + 3.8356059789657593e-01 3.3376678824424744e-01 + 5.5391657352447510e-01 + <_> + + 1 0 1238 4.3425030889920890e-04 -1 -2 1239 + 1.4005579985678196e-02 + + 5.7882702350616455e-01 5.2750778198242188e-01 + 2.7011251449584961e-01 + <_> + + 0 1 1240 -9.2654931358993053e-04 -1 -2 1241 + 3.9504268206655979e-03 + + 5.8522802591323853e-01 4.7283369302749634e-01 + 3.3139181137084961e-01 + <_> + + 1 0 1242 -5.8086868375539780e-04 -1 -2 1243 + -1.2018020264804363e-02 + + 4.2588108777999878e-01 5.6097871065139771e-01 + 4.8951920866966248e-01 + <_> + + 0 1 1244 -1.4521540701389313e-01 -1 -2 1245 + -6.6049019806087017e-03 + + 4.3894480913877487e-02 4.2291709780693054e-01 + 5.6162929534912109e-01 + <_> + + 1 0 1246 -3.4909751266241074e-02 -1 -2 1247 + 3.7478420417755842e-03 + + 4.7881281375885010e-01 4.8002821207046509e-01 + 5.8013892173767090e-01 + <_> + + 1 0 1248 3.3038031309843063e-02 -1 -2 1249 + 3.6872599739581347e-03 + + 7.0781761407852173e-01 4.4496241211891174e-01 + 5.9577310085296631e-01 + <_> + + 0 1 1250 -4.5311939902603626e-03 -1 -2 1251 + 4.1058510541915894e-03 + + 4.1770470142364502e-01 5.3729480504989624e-01 + 3.7369269132614136e-01 + <_> + + 0 1 1252 -8.7599847465753555e-03 -1 -2 1253 + -2.3003309965133667e-02 + + 6.6588079929351807e-01 2.6479220390319824e-01 + 5.1018178462982178e-01 + <_> + + 0 1 1254 5.3664818406105042e-03 -1 -2 1255 + 3.8971770554780960e-02 + + 4.5486348867416382e-01 5.1570618152618408e-01 + 3.4364390373229980e-01 + <_> + + 0 1 1256 -2.7767190709710121e-02 -1 -2 1257 + -9.8894089460372925e-03 + + 2.3543910682201385e-01 6.8877410888671875e-01 + 5.1110517978668213e-01 + <_> + + 0 1 1258 -3.2073140610009432e-03 -1 -2 1259 + -6.7484978353604674e-04 + + 5.4388678073883057e-01 5.4511487483978271e-01 + 4.8313531279563904e-01 + <_> + + 0 1 1260 -5.1947520114481449e-03 -1 -2 1261 + -2.6169899501837790e-04 + + 2.1134190261363983e-01 5.2736818790435791e-01 + 3.9925870299339294e-01 + <_> + + 0 1 1262 2.2421479225158691e-03 -1 -2 1263 + -1.2139769969508052e-03 + + 4.6882608532905579e-01 5.5042350292205811e-01 + 4.3848711252212524e-01 + <_> + + 0 1 1264 -2.9469770379364491e-03 -1 -2 1265 + -3.9291830034926534e-04 + + 3.8928470015525818e-01 6.0017228126525879e-01 + 4.5616629719734192e-01 + <_> + + 1 0 1266 6.2550729513168335e-01 -1 -2 1267 + 9.7744520753622055e-03 + + 6.8125613033771515e-02 4.8130258917808533e-01 + 5.6206572055816650e-01 + <_> + + 1 0 1268 9.4378247857093811e-02 -1 -2 1269 + -1.9560910295695066e-03 + + 6.6632293164730072e-02 3.5882329940795898e-01 + 5.2954071760177612e-01 + <_> + + 0 1 1270 9.0652769431471825e-03 -1 -2 1271 + 4.2138071148656309e-04 + + 4.8226881027221680e-01 4.6703329682350159e-01 + 5.6831127405166626e-01 + <_> + + 1 0 1272 -4.4220191193744540e-04 -1 -2 1273 + -4.7313501127064228e-03 + + 5.3607952594757080e-01 6.1372458934783936e-01 + 3.1880891323089600e-01 + <_> + + 0 1 1274 1.5395509544759989e-03 -1 -2 1275 + 2.4315000046044588e-03 + + 4.4877201318740845e-01 4.8941668868064880e-01 + 6.7166537046432495e-01 + <_> + + 0 1 1276 -1.5581619925796986e-02 -1 -2 1277 + 1.0816920548677444e-03 + + 3.3367419242858887e-01 4.7182199358940125e-01 + 5.9606271982192993e-01 + <_> + + 0 1 1278 -2.2197659127414227e-03 -1 -2 1279 + -9.3048671260476112e-04 + + 3.5885548591613770e-01 6.2187129259109497e-01 + 4.8173001408576965e-01 + <_> + + 0 1 1280 -4.7418707981705666e-03 -1 -2 1281 + -6.2950369901955128e-03 + + 2.5500270724296570e-01 6.7280787229537964e-01 + 5.0510638952255249e-01 + <_> + + 0 1 1282 3.5216049291193485e-03 -1 -2 1283 + -2.4289379362016916e-03 + + 5.4019099473953247e-01 5.4194617271423340e-01 + 4.3471428751945496e-01 + <_> + + 0 1 1284 -2.5261470582336187e-03 -1 -2 1285 + -1.4817339833825827e-03 + + 6.9706249237060547e-01 3.2634168863296509e-01 + 4.9178731441497803e-01 + <_> + + 0 1 1286 -2.2474530339241028e-01 -1 -2 1287 + 2.8342509176582098e-03 + + 7.2937291115522385e-03 4.5792299509048462e-01 + 5.3798812627792358e-01 + <_> + + 0 1 1288 -2.0821610465645790e-02 -1 -2 1289 + 1.4896340144332498e-04 + + 6.0240888595581055e-01 3.3361440896987915e-01 + 4.9628159403800964e-01 + <_> + + 0 1 1290 -3.3524499740451574e-03 -1 -2 1291 + -3.7279881536960602e-02 + + 3.5587510466575623e-01 1.6985629498958588e-01 + 5.2089858055114746e-01 + <_> + + 1 0 1292 1.3896770542487502e-04 -1 -2 1293 + -3.1912620761431754e-04 + + 5.5906862020492554e-01 5.8487337827682495e-01 + 3.7958368659019470e-01 + <_> + + 1 0 1294 5.4003461264073849e-04 -1 -2 1295 + 3.8956850767135620e-03 + + 5.6702882051467896e-01 5.1826947927474976e-01 + 3.3277091383934021e-01 + <_> + + 1 0 1296 1.6084529925137758e-03 -1 -2 1297 + -5.7474587811157107e-04 + + 5.4104858636856079e-01 6.0226422548294067e-01 + 3.6446440219879150e-01 + <_> + + 1 0 1298 1.3435039669275284e-02 -1 -2 1299 + 2.1368139423429966e-03 + + 3.4412819147109985e-01 5.2924340963363647e-01 + 2.7470758557319641e-01 + <_> + + 1 0 1300 1.4157629571855068e-02 -1 -2 1301 + 5.3884391672909260e-03 + + 8.0278682708740234e-01 5.2223151922225952e-01 + 3.5867279767990112e-01 + <_> + + 0 1 1302 8.8013410568237305e-03 -1 -2 1303 + 3.8858849438838661e-04 + + 4.9003869295120239e-01 4.6810561418533325e-01 + 5.7219529151916504e-01 + <_> + + 0 1 1304 -2.2143588867038488e-03 -1 -2 1305 + -8.4642972797155380e-03 + + 5.3888058662414551e-01 6.6755378246307373e-01 + 3.4484419226646423e-01 + <_> + + 1 0 1306 1.5044390223920345e-02 -1 -2 1307 + 7.6346402056515217e-03 + + 9.2396140098571777e-01 4.8848968744277954e-01 + 6.3060528039932251e-01 + <_> + + 1 0 1308 3.3895121305249631e-04 -1 -2 1309 + 2.1157610171940178e-04 + + 3.9974310994148254e-01 5.6639820337295532e-01 + 3.9729809761047363e-01 + <_> + + 1 0 1310 -2.7514949440956116e-02 -1 -2 1311 + 5.1603060215711594e-02 + + 5.2010637521743774e-01 5.1407301425933838e-01 + 1.2451309710741043e-01 + <_> + + 1 0 1312 3.7510651163756847e-03 -1 -2 1313 + -2.1457639522850513e-03 + + 3.8020950555801392e-01 3.3094480633735657e-01 + 5.4745388031005859e-01 + <_> + + 1 0 1314 -5.8178009930998087e-04 -1 -2 1315 + -9.3638541875407100e-04 + + 4.8926019668579102e-01 5.9373992681503296e-01 + 4.6646690368652344e-01 + <_> + + 1 0 1316 4.1667491197586060e-02 -1 -2 1317 + -6.7763780243694782e-03 + + 7.0213532447814941e-01 3.2227510213851929e-01 + 5.0683951377868652e-01 + <_> + + 1 0 1318 -2.9170580673962831e-03 -1 -2 1319 + 3.2789530814625323e-04 + + 4.7177010774612427e-01 4.5093831419944763e-01 + 5.6511628627777100e-01 + <_> + 91 + 4.4682968139648438e+01 + + <_> + + 0 1 1320 1.1729800142347813e-02 -1 -2 1321 + 1.1712179984897375e-03 + + 3.8052248954772949e-01 3.1400179862976074e-01 + 6.8581461906433105e-01 + <_> + + 1 0 1322 9.3555096536874771e-03 -1 -2 1323 + 1.6570610459893942e-03 + + 6.8346732854843140e-01 2.9924729466438293e-01 + 5.4756778478622437e-01 + <_> + + 1 0 1324 -1.3387809740379453e-03 -1 -2 1325 + 1.7580550047568977e-04 + + 2.9414069652557373e-01 3.8969779014587402e-01 + 5.8729708194732666e-01 + <_> + + 0 1 1326 -2.9473248869180679e-03 -1 -2 1327 + 8.3220899105072021e-03 + + 3.5765719413757324e-01 5.2324008941650391e-01 + 3.2310879230499268e-01 + <_> + + 1 0 1328 7.4366689659655094e-03 -1 -2 1329 + -2.1322889369912446e-04 + + 6.7156732082366943e-01 5.4705417156219482e-01 + 3.8633960485458374e-01 + <_> + + 0 1 1330 -7.8024631366133690e-03 -1 -2 1331 + 5.6611228501424193e-04 + + 2.7714601159095764e-01 4.6891361474990845e-01 + 5.8519637584686279e-01 + <_> + + 0 1 1332 -9.2346500605344772e-03 -1 -2 1333 + -1.4676499631605111e-05 + + 2.7043971419334412e-01 5.6225502490997314e-01 + 3.5793170332908630e-01 + <_> + + 0 1 1334 9.7007937729358673e-03 -1 -2 1335 + -3.5320650786161423e-03 + + 4.1738718748092651e-01 4.1950130462646484e-01 + 5.5494689941406250e-01 + <_> + + 1 0 1336 2.1616410464048386e-02 -1 -2 1337 + 3.4567608963698149e-03 + + 2.8573909401893616e-01 6.0245329141616821e-01 + 4.3775078654289246e-01 + <_> + + 0 1 1338 2.2914320230484009e-02 -1 -2 1339 + 3.4328910987824202e-03 + + 4.6893501281738281e-01 4.6646049618721008e-01 + 5.7625621557235718e-01 + <_> + + 0 1 1340 -8.6510833352804184e-03 -1 -2 1341 + 1.4510039472952485e-03 + + 6.3817399740219116e-01 3.7114879488945007e-01 + 5.5307507514953613e-01 + <_> + + 0 1 1342 7.8191719949245453e-03 -1 -2 1343 + 2.0798550394829363e-04 + + 5.2643620967864990e-01 3.7305128574371338e-01 + 5.4457312822341919e-01 + <_> + + 0 1 1344 -3.9962218143045902e-03 -1 -2 1345 + -1.5010139577498194e-05 + + 2.4381700158119202e-01 5.3246712684631348e-01 + 3.6829888820648193e-01 + <_> + + 0 1 1346 -4.2428788729012012e-03 -1 -2 1347 + 9.1374982148408890e-03 + + 6.4814740419387817e-01 4.8961588740348816e-01 + 6.5588432550430298e-01 + <_> + + 1 0 1348 8.8254585862159729e-03 -1 -2 1349 + 9.4092212384566665e-04 + + 3.6138701438903809e-01 5.5028957128524780e-01 + 3.6325180530548096e-01 + <_> + + 0 1 1350 -1.2503350153565407e-02 -1 -2 1351 + 8.6759645491838455e-03 + + 2.2611320018768311e-01 4.9878901243209839e-01 + 6.8471962213516235e-01 + <_> + + 0 1 1352 -1.0416760109364986e-02 -1 -2 1353 + 2.7432460337877274e-03 + + 2.4462990462779999e-01 3.5115250945091248e-01 + 5.3998267650604248e-01 + <_> + + 0 1 1354 -4.2385691776871681e-03 -1 -2 1355 + 1.8325870856642723e-02 + + 6.8236732482910156e-01 4.8915800452232361e-01 + 7.1356189250946045e-01 + <_> + + 0 1 1356 -2.4334540590643883e-02 -1 -2 1357 + 4.6469361404888332e-04 + + 3.5225218534469604e-01 4.0498688817024231e-01 + 5.5158257484436035e-01 + <_> + + 1 0 1358 3.4260009415447712e-03 -1 -2 1359 + -2.5827318895608187e-03 + + 4.1267699003219604e-01 2.8994289040565491e-01 + 5.3864318132400513e-01 + <_> + + 1 0 1360 1.0545699624344707e-03 -1 -2 1361 + -9.1257691383361816e-04 + + 3.7713441252708435e-01 5.8273869752883911e-01 + 4.2675569653511047e-01 + <_> + + 0 1 1362 2.6589010376483202e-03 -1 -2 1363 + 4.8598358407616615e-03 + + 4.6881249547004700e-01 4.8539221286773682e-01 + 6.1636447906494141e-01 + <_> + + 1 0 1364 8.0638676881790161e-03 -1 -2 1365 + -7.5898370705544949e-03 + + 1.7491950094699860e-01 6.8261897563934326e-01 + 4.8940700292587280e-01 + <_> + + 0 1 1366 3.6368070868775249e-04 -1 -2 1367 + 6.2594950199127197e-02 + + 4.6145960688591003e-01 5.1830172538757324e-01 + 2.6866960525512695e-01 + <_> + + 0 1 1368 -4.9753207713365555e-03 -1 -2 1369 + -2.0880119409412146e-03 + + 1.7584669589996338e-01 6.3693821430206299e-01 + 4.9300441145896912e-01 + <_> + + 1 0 1370 9.5644511748105288e-04 -1 -2 1371 + -3.1721461564302444e-02 + + 4.1393989324569702e-01 6.0455572605133057e-01 + 4.8163640499114990e-01 + <_> + + 0 1 1372 1.2898689601570368e-03 -1 -2 1373 + 9.8405163735151291e-03 + + 5.4508107900619507e-01 2.9240009188652039e-01 + 6.6996061801910400e-01 + <_> + + 1 0 1374 1.2237089686095715e-03 -1 -2 1375 + -8.4232585504651070e-03 + + 6.2828367948532104e-01 5.9865701198577881e-01 + 4.8525801301002502e-01 + <_> + + 0 1 1376 -7.2726322105154395e-04 -1 -2 1377 + 4.6842931769788265e-03 + + 3.3400490880012512e-01 5.1689237356185913e-01 + 2.6794800162315369e-01 + <_> + + 0 1 1378 -1.0379579616710544e-03 -1 -2 1379 + 9.1342730447649956e-03 + + 5.9257918596267700e-01 5.4377281665802002e-01 + 4.3468001484870911e-01 + <_> + + 0 1 1380 1.4971119817346334e-03 -1 -2 1381 + 1.5762320253998041e-03 + + 4.1295009851455688e-01 4.5228740572929382e-01 + 6.5562921762466431e-01 + <_> + + 0 1 1382 8.7496247142553329e-03 -1 -2 1383 + -8.5103599121794105e-04 + + 4.5320340991020203e-01 3.7859839200973511e-01 + 5.4169750213623047e-01 + <_> + + 0 1 1384 -1.7325570806860924e-02 -1 -2 1385 + -8.3266440778970718e-03 + + 6.8842482566833496e-01 3.0913260579109192e-01 + 5.2436548471450806e-01 + <_> + + 0 1 1386 1.5157909729168750e-05 -1 -2 1387 + 1.8041470320895314e-03 + + 4.7657939791679382e-01 4.7253859043121338e-01 + 5.7165551185607910e-01 + <_> + + 1 0 1388 3.0691560823470354e-03 -1 -2 1389 + -5.2225510444259271e-05 + + 2.1433599293231964e-01 5.6532102823257446e-01 + 4.3851110339164734e-01 + <_> + + 1 0 1390 1.0072169970953837e-04 -1 -2 1391 + 1.3573700562119484e-04 + + 5.9247761964797974e-01 4.5734488964080811e-01 + 5.7693827152252197e-01 + <_> + + 1 0 1392 9.2137878527864814e-04 -1 -2 1393 + 3.0316581251099706e-04 + + 5.9926092624664307e-01 3.6100810766220093e-01 + 5.0493258237838745e-01 + <_> + + 1 0 1394 3.9582479745149612e-02 -1 -2 1395 + 4.7519680112600327e-02 + + 1.5384890139102936e-01 5.2161407470703125e-01 + 1.4283910393714905e-01 + <_> + + 1 0 1396 1.8871759995818138e-02 -1 -2 1397 + -3.9876459049992263e-04 + + 2.8255069255828857e-01 4.0350168943405151e-01 + 5.4377931356430054e-01 + <_> + + 0 1 1398 4.6556600136682391e-04 -1 -2 1399 + 6.7090610973536968e-03 + + 4.6689969301223755e-01 5.3313547372817993e-01 + 4.1365718841552734e-01 + <_> + + 0 1 1400 -1.8931160448119044e-03 -1 -2 1401 + -1.3056949712336063e-02 + + 7.1551632881164551e-01 3.1178998947143555e-01 + 5.2084398269653320e-01 + <_> + + 1 0 1402 -1.9484119547996670e-04 -1 -2 1403 + 1.5093220099515747e-05 + + 4.6376588940620422e-01 4.5616531372070312e-01 + 5.4452341794967651e-01 + <_> + + 1 0 1404 -7.1617960202274844e-06 -1 -2 1405 + 3.0164679628796875e-04 + + 4.1931080818176270e-01 5.9662377834320068e-01 + 4.1005000472068787e-01 + <_> + + 0 1 1406 4.4195181690156460e-03 -1 -2 1407 + -7.3984181508421898e-03 + + 4.8450559377670288e-01 6.2068462371826172e-01 + 4.9312090873718262e-01 + <_> + + 1 0 1408 -7.8031201846897602e-03 -1 -2 1409 + -1.0731429792940617e-02 + + 5.2824628353118896e-01 9.1048341989517212e-01 + 3.4559220075607300e-01 + <_> + + 0 1 1410 1.4246780192479491e-03 -1 -2 1411 + -8.2717568147927523e-05 + + 4.7085541486740112e-01 5.6516230106353760e-01 + 4.7310239076614380e-01 + <_> + + 1 0 1412 4.4803409837186337e-03 -1 -2 1413 + 3.0789140146225691e-03 + + 6.1758869886398315e-01 5.1395332813262939e-01 + 3.4230878949165344e-01 + <_> + + 1 0 1414 -1.1310289846733212e-03 -1 -2 1415 + -1.0410690447315574e-03 + + 4.9182820320129395e-01 5.9420871734619141e-01 + 4.9230429530143738e-01 + <_> + + 1 0 1416 1.1648540385067463e-03 -1 -2 1417 + 9.0057362103834748e-04 + + 6.4052718877792358e-01 4.5043969154357910e-01 + 6.1920768022537231e-01 + <_> + + 0 1 1418 6.8781538866460323e-03 -1 -2 1419 + -3.5283900797367096e-02 + + 5.3748130798339844e-01 2.2471010684967041e-01 + 5.2171707153320312e-01 + <_> + + 0 1 1420 -1.3320200378075242e-03 -1 -2 1421 + -2.3177571129053831e-03 + + 2.5547030568122864e-01 3.7925159931182861e-01 + 5.2432268857955933e-01 + <_> + + 0 1 1422 2.1332940377760679e-04 -1 -2 1423 + 1.3467900454998016e-02 + + 3.8603371381759644e-01 5.3806877136230469e-01 + 4.1783639788627625e-01 + <_> + + 0 1 1424 -1.2829169863834977e-03 -1 -2 1425 + 5.1571638323366642e-04 + + 6.1336231231689453e-01 4.0285378694534302e-01 + 5.5368518829345703e-01 + <_> + + 0 1 1426 3.9254198782145977e-03 -1 -2 1427 + -3.3780589699745178e-02 + + 5.2799212932586670e-01 2.3346750438213348e-01 + 5.1759117841720581e-01 + <_> + + 0 1 1428 -3.7853721529245377e-02 -1 -2 1429 + -4.0752900531515479e-04 + + 1.0748530179262161e-01 5.3459298610687256e-01 + 4.1989380121231079e-01 + <_> + + 0 1 1430 -3.1193809118121862e-03 -1 -2 1431 + -1.5714969485998154e-02 + + 3.8558250665664673e-01 3.3351901173591614e-01 + 5.2632021903991699e-01 + <_> + + 0 1 1432 -7.8525702701881528e-04 -1 -2 1433 + -2.8750501223839819e-04 + + 5.8603972196578979e-01 5.4377847909927368e-01 + 3.7161049246788025e-01 + <_> + + 1 0 1434 2.8016859665513039e-02 -1 -2 1435 + -1.9018839811906219e-03 + + 3.3307549357414246e-01 5.3665977716445923e-01 + 4.6937939524650574e-01 + <_> + + 1 0 1436 2.0647559314966202e-02 -1 -2 1437 + 4.3002571910619736e-03 + + 1.0069560259580612e-01 4.8160359263420105e-01 + 6.2156772613525391e-01 + <_> + + 0 1 1438 1.3459140434861183e-02 -1 -2 1439 + -1.0320040397346020e-02 + + 5.4619538784027100e-01 4.5784530043601990e-01 + 5.4193097352981567e-01 + <_> + + 1 0 1440 3.1990748643875122e-01 -1 -2 1441 + 9.2198798665776849e-04 + + 2.0080469548702240e-01 5.1932811737060547e-01 + 3.9121940732002258e-01 + <_> + + 0 1 1442 4.1852539288811386e-04 -1 -2 1443 + 3.5891108564101160e-04 + + 4.2997440695762634e-01 4.3445029854774475e-01 + 5.5319738388061523e-01 + <_> + + 0 1 1444 -2.0992439985275269e-01 -1 -2 1445 + -4.9328152090311050e-03 + + 1.0757210105657578e-01 5.7627969980239868e-01 + 4.5746439695358276e-01 + <_> + + 1 0 1446 2.3409130517393351e-03 -1 -2 1447 + 4.7120270319283009e-03 + + 7.4768078327178955e-01 5.2617651224136353e-01 + 4.5055508613586426e-01 + <_> + + 0 1 1448 2.8713190928101540e-02 -1 -2 1449 + -2.6156550738960505e-03 + + 4.4071030616760254e-01 4.2442709207534790e-01 + 6.8929767608642578e-01 + <_> + + 0 1 1450 -1.3558969832956791e-02 -1 -2 1451 + -3.0331799644045532e-04 + + 1.2522679567337036e-01 4.0777918696403503e-01 + 5.4428178071975708e-01 + <_> + + 0 1 1452 -5.5601762142032385e-04 -1 -2 1453 + 2.4025330785661936e-03 + + 5.3780037164688110e-01 3.1665799021720886e-01 + 5.2857381105422974e-01 + <_> + + 1 0 1454 -3.4089901018887758e-03 -1 -2 1455 + 8.0019602319225669e-04 + + 4.9052149057388306e-01 4.5227360725402832e-01 + 5.5806142091751099e-01 + <_> + + 1 0 1456 2.1901070140302181e-03 -1 -2 1457 + 3.3745369873940945e-03 + + 6.6126817464828491e-01 5.1077651977539062e-01 + 3.3869299292564392e-01 + <_> + + 1 0 1458 8.0019602319225669e-04 -1 -2 1459 + 1.7346069216728210e-02 + + 5.7075601816177368e-01 5.0160211324691772e-01 + 6.3064599037170410e-01 + <_> + + 0 1 1460 -1.9568449351936579e-03 -1 -2 1461 + -1.1229019612073898e-02 + + 3.0178061127662659e-01 6.2938511371612549e-01 + 4.5204889774322510e-01 + <_> + + 0 1 1462 -2.6608388870954514e-03 -1 -2 1463 + -1.1615100316703320e-02 + + 3.3440071344375610e-01 2.8253790736198425e-01 + 5.1509708166122437e-01 + <_> + + 0 1 1464 -9.5248602330684662e-02 -1 -2 1465 + 7.3701781220734119e-03 + + 1.3982650637626648e-01 5.2939987182617188e-01 + 2.3317280411720276e-01 + <_> + + 1 0 1466 -1.4953900128602982e-02 -1 -2 1467 + 5.7038792874664068e-04 + + 4.9404659867286682e-01 5.4665708541870117e-01 + 4.6267679333686829e-01 + <_> + + 1 0 1468 5.8516198769211769e-03 -1 -2 1469 + 2.1150549582671374e-04 + + 6.2700408697128296e-01 5.5081409215927124e-01 + 4.0618729591369629e-01 + <_> + + 1 0 1470 -6.9679190346505493e-06 -1 -2 1471 + -7.9677387839183211e-04 + + 4.0965679287910461e-01 5.6155568361282349e-01 + 4.6668860316276550e-01 + <_> + + 1 0 1472 1.9459480419754982e-02 -1 -2 1473 + -1.1160830035805702e-02 + + 2.3114809393882751e-01 3.0870118737220764e-01 + 5.5146622657775879e-01 + <_> + + 1 0 1474 1.4056149870157242e-02 -1 -2 1475 + -3.2958350493572652e-04 + + 7.0050561428070068e-01 5.7974857091903687e-01 + 4.6916508674621582e-01 + <_> + + 0 1 1476 -5.4636420682072639e-03 -1 -2 1477 + 5.8881669247057289e-05 + + 5.9285950660705566e-01 3.7413978576660156e-01 + 5.1701688766479492e-01 + <_> + + 0 1 1478 6.6343429498374462e-03 -1 -2 1479 + 4.5263409614562988e-02 + + 5.4149878025054932e-01 5.1803272962570190e-01 + 1.5296840667724609e-01 + <_> + + 0 1 1480 -8.0646127462387085e-03 -1 -2 1481 + 4.7389548853971064e-04 + + 2.5154680013656616e-01 5.1219987869262695e-01 + 3.7259489297866821e-01 + <_> + + 1 0 1482 1.4877359717502259e-05 -1 -2 1483 + 2.4321159347891808e-02 + + 5.5324357748031616e-01 4.9607661366462708e-01 + 5.9833151102066040e-01 + <_> + + 0 1 1484 6.9931396865285933e-05 -1 -2 1485 + 2.6287760119885206e-03 + + 4.1639530658721924e-01 5.8801448345184326e-01 + 3.3996629714965820e-01 + <_> + + 1 0 1486 3.8190539926290512e-03 -1 -2 1487 + -2.5989150628447533e-02 + + 7.8466212749481201e-01 3.2881140708923340e-01 + 5.1550877094268799e-01 + <_> + + 0 1 1488 1.2062400346621871e-03 -1 -2 1489 + -1.5557400183752179e-03 + + 4.5960599184036255e-01 3.1269869208335876e-01 + 7.1833992004394531e-01 + <_> + + 1 0 1490 -2.2691930644214153e-03 -1 -2 1491 + 2.3287249496206641e-04 + + 5.2740061283111572e-01 4.8786661028862000e-01 + 5.6151527166366577e-01 + <_> + + 1 0 1492 -5.5999699980020523e-03 -1 -2 1493 + -1.0496189817786217e-02 + + 5.1608121395111084e-01 5.7016140222549438e-01 + 3.2048508524894714e-01 + <_> + + 0 1 1494 -1.4814930182183161e-05 -1 -2 1495 + -6.4287078566849232e-04 + + 5.5388379096984863e-01 5.3494292497634888e-01 + 4.4721511006355286e-01 + <_> + + 0 1 1496 -1.8891949730459601e-04 -1 -2 1497 + -9.0413521975278854e-03 + + 5.0128370523452759e-01 2.5629359483718872e-01 + 4.5033830404281616e-01 + <_> + + 1 0 1498 7.9534705728292465e-03 -1 -2 1499 + -2.7908999472856522e-03 + + 2.6304998993873596e-01 5.7565087080001831e-01 + 4.8548638820648193e-01 + <_> + + 1 0 1500 3.2857100013643503e-03 -1 -2 1501 + 7.7063008211553097e-04 + + 4.0847519040107727e-01 4.0733560919761658e-01 + 5.9202408790588379e-01 + <_> + 97 + 4.7763450622558594e+01 + + <_> + + 0 1 1502 6.3021942973136902e-02 -1 -2 1503 + -2.8374609537422657e-03 + + 3.4193828701972961e-01 6.8295639753341675e-01 + 4.4045230746269226e-01 + <_> + + 0 1 1504 4.6461950987577438e-02 -1 -2 1505 + 2.9152540490031242e-02 + + 4.3917450308799744e-01 4.6010631322860718e-01 + 6.3579368591308594e-01 + <_> + + 1 0 1506 -1.4000290320836939e-05 -1 -2 1507 + -1.2757079675793648e-03 + + 3.7300100922584534e-01 3.0938240885734558e-01 + 5.9013700485229492e-01 + <_> + + 0 1 1508 1.3596529606729746e-03 -1 -2 1509 + 1.7991929780691862e-04 + + 4.3375650048255920e-01 4.2175039649009705e-01 + 5.8468478918075562e-01 + <_> + + 1 0 1510 -1.4166639630275313e-05 -1 -2 1511 + 6.0252390539972112e-05 + + 4.0846911072731018e-01 5.0872868299484253e-01 + 7.2771841287612915e-01 + <_> + + 1 0 1512 6.4320368692278862e-03 -1 -2 1513 + 4.6682319953106344e-04 + + 2.9679030179977417e-01 4.1104629635810852e-01 + 5.5812197923660278e-01 + <_> + + 0 1 1514 5.7436279021203518e-03 -1 -2 1515 + 3.2019240316003561e-03 + + 4.2873099446296692e-01 4.2661958932876587e-01 + 6.4440459012985229e-01 + <_> + + 1 0 1516 -5.7637941790744662e-04 -1 -2 1517 + -3.7901920732110739e-03 + + 4.0848249197006226e-01 3.1819209456443787e-01 + 5.2306932210922241e-01 + <_> + + 1 0 1518 4.8914109356701374e-03 -1 -2 1519 + 4.6459292061626911e-03 + + 3.5483568906784058e-01 5.6105977296829224e-01 + 2.6938489079475403e-01 + <_> + + 0 1 1520 -6.8799369037151337e-03 -1 -2 1521 + -1.8147470429539680e-02 + + 6.2354081869125366e-01 2.8619819879531860e-01 + 5.2268481254577637e-01 + <_> + + 1 0 1522 1.1409220314817503e-04 -1 -2 1523 + -5.4334272863343358e-04 + + 3.2578331232070923e-01 3.8829690217971802e-01 + 5.3411662578582764e-01 + <_> + + 0 1 1524 -2.7602489572018385e-03 -1 -2 1525 + -1.9730569329112768e-03 + + 6.3539659976959229e-01 5.8807611465454102e-01 + 4.5930901169776917e-01 + <_> + + 1 0 1526 2.4565239436924458e-03 -1 -2 1527 + 1.9392010290175676e-04 + + 3.1340101361274719e-01 5.2771317958831787e-01 + 3.6041069030761719e-01 + <_> + + 0 1 1528 7.8643016517162323e-02 -1 -2 1529 + 6.5276869572699070e-03 + + 5.2903419733047485e-01 4.6544799208641052e-01 + 6.0449051856994629e-01 + <_> + + 0 1 1530 -7.8716799616813660e-02 -1 -2 1531 + 5.7298499159514904e-03 + + 2.5411269068717957e-01 4.3669191002845764e-01 + 5.8228862285614014e-01 + <_> + + 1 0 1532 6.2386557692661881e-04 -1 -2 1533 + -8.5267230868339539e-02 + + 5.4726922512054443e-01 1.4616079628467560e-01 + 5.1818108558654785e-01 + <_> + + 1 0 1534 4.0981110185384750e-02 -1 -2 1535 + 7.7135749161243439e-03 + + 1.2701350450515747e-01 4.8326849937438965e-01 + 2.2235789895057678e-01 + <_> + + 0 1 1536 -6.8663940764963627e-03 -1 -2 1537 + 1.4559639617800713e-02 + + 5.9189289808273315e-01 4.7615069150924683e-01 + 5.7272237539291382e-01 + <_> + + 0 1 1538 -1.0064310394227505e-02 -1 -2 1539 + 3.6274080630391836e-03 + + 3.6367309093475342e-01 5.2717310190200806e-01 + 2.7405250072479248e-01 + <_> + + 0 1 1540 -2.3421540390700102e-03 -1 -2 1541 + -2.4686409160494804e-02 + + 5.4977840185165405e-01 6.0598951578140259e-01 + 4.9603140354156494e-01 + <_> + + 1 0 1542 1.9456120207905769e-04 -1 -2 1543 + 3.1714211218059063e-04 + + 3.7694650888442993e-01 4.0623620152473450e-01 + 5.6682151556015015e-01 + <_> + + 0 1 1544 2.0793990697711706e-03 -1 -2 1545 + 1.7982709687203169e-03 + + 4.6186569333076477e-01 4.8675051331520081e-01 + 6.5184497833251953e-01 + <_> + + 0 1 1546 -2.2287059982772917e-04 -1 -2 1547 + 3.2623921288177371e-04 + + 5.6775957345962524e-01 3.7107339501380920e-01 + 5.6766051054000854e-01 + <_> + + 0 1 1548 -6.6792681813240051e-02 -1 -2 1549 + -1.4869889710098505e-03 + + 2.5115218758583069e-01 3.8867509365081787e-01 + 5.2622538805007935e-01 + <_> + + 0 1 1550 -5.0454870797693729e-03 -1 -2 1551 + -4.8297587782144547e-03 + + 6.5574729442596436e-01 5.9341061115264893e-01 + 4.2859220504760742e-01 + <_> + + 1 0 1552 -1.0722599690780044e-03 -1 -2 1553 + 8.7901195511221886e-03 + + 5.4260587692260742e-01 5.3513032197952271e-01 + 4.8342779278755188e-01 + <_> + + 0 1 1554 -7.1750381030142307e-03 -1 -2 1555 + 1.1251230025663972e-03 + + 2.0671689510345459e-01 5.1122522354125977e-01 + 3.4687140583992004e-01 + <_> + + 0 1 1556 1.0634710080921650e-02 -1 -2 1557 + -1.1763219721615314e-02 + + 4.4790080189704895e-01 6.2539017200469971e-01 + 4.9689871072769165e-01 + <_> + + 1 0 1558 9.2324063181877136e-02 -1 -2 1559 + 1.8991080578416586e-03 + + 2.0313039422035217e-01 5.6187218427658081e-01 + 4.0465721487998962e-01 + <_> + + 1 0 1560 -1.0510340332984924e-02 -1 -2 1561 + -7.4531312566250563e-04 + + 4.9432641267776489e-01 5.6134277582168579e-01 + 3.8453319668769836e-01 + <_> + + 1 0 1562 8.0041000619530678e-03 -1 -2 1563 + 5.8110528625547886e-03 + + 7.7598422765731812e-01 4.6247330307960510e-01 + 6.2862771749496460e-01 + <_> + + 0 1 1564 -2.7918580919504166e-02 -1 -2 1565 + 2.1739399526268244e-03 + + 2.4093140661716461e-01 5.3455048799514771e-01 + 3.5079580545425415e-01 + <_> + + 0 1 1566 -4.0639587678015232e-03 -1 -2 1567 + 6.0017139185220003e-04 + + 6.6471010446548462e-01 4.9985098838806152e-01 + 3.0221650004386902e-01 + <_> + + 1 0 1568 1.9214770291000605e-03 -1 -2 1569 + -1.3860830105841160e-02 + + 5.9191507101058960e-01 6.3517677783966064e-01 + 4.9933108687400818e-01 + <_> + + 1 0 1570 2.3006850853562355e-02 -1 -2 1571 + -1.3857929734513164e-03 + + 1.9023360311985016e-01 5.2533692121505737e-01 + 3.9858600497245789e-01 + <_> + + 0 1 1572 1.2637410545721650e-03 -1 -2 1573 + -1.4675210230052471e-02 + + 4.6661040186882019e-01 3.8231649994850159e-01 + 5.3266328573226929e-01 + <_> + + 0 1 1574 -2.9535070061683655e-03 -1 -2 1575 + -1.7189770005643368e-03 + + 7.0636558532714844e-01 3.8134628534317017e-01 + 5.2467352151870728e-01 + <_> + + 1 0 1576 -4.2484089499339461e-04 -1 -2 1577 + -8.5248658433556557e-04 + + 4.7916388511657715e-01 4.4912180304527283e-01 + 5.3709012269973755e-01 + <_> + + 1 0 1578 8.9034568518400192e-03 -1 -2 1579 + 1.4895649655954912e-05 + + 2.0764739811420441e-01 4.4476351141929626e-01 + 5.6671631336212158e-01 + <_> + + 0 1 1580 -4.7091601300053298e-04 -1 -2 1581 + 4.3084810022264719e-04 + + 5.4650712013244629e-01 5.4932618141174316e-01 + 4.5807081460952759e-01 + <_> + + 0 1 1582 -6.3893961487337947e-04 -1 -2 1583 + -7.3733746830839664e-05 + + 5.5015718936920166e-01 5.0857907533645630e-01 + 3.3056980371475220e-01 + <_> + + 0 1 1584 -8.8991485536098480e-03 -1 -2 1585 + -1.0253350250422955e-02 + + 4.2764690518379211e-01 1.1232180148363113e-01 + 5.1527231931686401e-01 + <_> + + 0 1 1586 -5.9637490659952164e-02 -1 -2 1587 + 2.1707199513912201e-02 + + 7.3867720365524292e-01 4.9962919950485229e-01 + 1.3394139707088470e-01 + <_> + + 0 1 1588 9.9107045680284500e-03 -1 -2 1589 + -1.0998300276696682e-02 + + 4.6790120005607605e-01 6.9286561012268066e-01 + 5.0120681524276733e-01 + <_> + + 1 0 1590 7.4608891736716032e-04 -1 -2 1591 + 2.9539171373471618e-04 + + 5.8335822820663452e-01 3.8263911008834839e-01 + 5.5663508176803589e-01 + <_> + + 1 0 1592 5.0054129213094711e-02 -1 -2 1593 + -7.2330660186707973e-03 + + 3.0027210712432861e-01 5.9080427885055542e-01 + 5.0008708238601685e-01 + <_> + + 0 1 1594 -2.6863380335271358e-03 -1 -2 1595 + -1.0195849463343620e-03 + + 3.9750349521636963e-01 3.6976858973503113e-01 + 5.7561928033828735e-01 + <_> + + 0 1 1596 -2.0204920321702957e-02 -1 -2 1597 + 2.1340379025787115e-03 + + 6.3752681016921997e-01 5.3632658720016479e-01 + 4.4331708550453186e-01 + <_> + + 0 1 1598 -1.8348889425396919e-03 -1 -2 1599 + -5.9489468112587929e-03 + + 5.8289992809295654e-01 2.6806709170341492e-01 + 4.6428859233856201e-01 + <_> + + 0 1 1600 -2.3030120064504445e-04 -1 -2 1601 + 5.0581009127199650e-03 + + 5.4753202199935913e-01 5.3208339214324951e-01 + 4.6464928984642029e-01 + <_> + + 0 1 1602 -5.1950011402368546e-04 -1 -2 1603 + -6.8620947422459722e-04 + + 5.2327448129653931e-01 4.9350860714912415e-01 + 3.1031179428100586e-01 + <_> + + 0 1 1604 -7.4936267919838428e-03 -1 -2 1605 + -1.5682930126786232e-02 + + 2.8830468654632568e-01 3.6403131484985352e-01 + 5.3687548637390137e-01 + <_> + + 0 1 1606 -3.2649750355631113e-03 -1 -2 1607 + 3.8463930832222104e-04 + + 6.4686310291290283e-01 5.2596598863601685e-01 + 3.8314279913902283e-01 + <_> + + 1 0 1608 4.4492390006780624e-03 -1 -2 1609 + 2.3118320852518082e-02 + + 2.0868189632892609e-01 4.9785330891609192e-01 + 5.9612572193145752e-01 + <_> + + 1 0 1610 2.0835159812122583e-03 -1 -2 1611 + 1.1513150529935956e-03 + + 5.7464218139648438e-01 3.5868450999259949e-01 + 5.3634738922119141e-01 + <_> + + 1 0 1612 3.6104708909988403e-02 -1 -2 1613 + 3.6256198654882610e-04 + + 2.8331369161605835e-01 5.4777222871780396e-01 + 4.1105321049690247e-01 + <_> + + 0 1 1614 -3.4635469783097506e-03 -1 -2 1615 + -2.8796829283237457e-03 + + 5.9903860092163086e-01 5.7252532243728638e-01 + 4.1495120525360107e-01 + <_> + + 1 0 1616 -8.1119500100612640e-03 -1 -2 1617 + 4.5932079665362835e-03 + + 5.3963518142700195e-01 5.3797042369842529e-01 + 3.8913029432296753e-01 + <_> + + 1 0 1618 7.0014740340411663e-03 -1 -2 1619 + 8.0169539432972670e-04 + + 3.7146711349487305e-01 5.5295670032501221e-01 + 3.7558048963546753e-01 + <_> + + 1 0 1620 -8.6652329191565514e-03 -1 -2 1621 + -2.7315050829201937e-03 + + 5.0257730484008789e-01 5.8503222465515137e-01 + 4.6175739169120789e-01 + <_> + + 1 0 1622 1.3301590224727988e-03 -1 -2 1623 + -4.2648240923881531e-03 + + 5.9377008676528931e-01 5.6453680992126465e-01 + 3.9376249909400940e-01 + <_> + + 0 1 1624 6.3251499086618423e-03 -1 -2 1625 + -3.0753740575164557e-03 + + 5.1821058988571167e-01 3.0074161291122437e-01 + 5.1964038610458374e-01 + <_> + + 0 1 1626 -7.3622138006612659e-04 -1 -2 1627 + 3.0082479497650638e-05 + + 3.6975800991058350e-01 4.3275931477546692e-01 + 5.7158088684082031e-01 + <_> + + 0 1 1628 -3.8722730241715908e-03 -1 -2 1629 + 6.2879058532416821e-04 + + 3.4737130999565125e-01 5.4382592439651489e-01 + 4.4539061188697815e-01 + <_> + + 1 0 1630 1.3411579420790076e-03 -1 -2 1631 + -8.3681922405958176e-03 + + 6.5117138624191284e-01 1.4432950317859650e-01 + 4.8881998658180237e-01 + <_> + + 1 0 1632 9.3305751215666533e-04 -1 -2 1633 + -1.0746510233730078e-03 + + 3.9511090517044067e-01 3.9102658629417419e-01 + 5.3495037555694580e-01 + <_> + + 0 1 1634 -1.8610050901770592e-02 -1 -2 1635 + 1.3651419430971146e-03 + + 1.2757439911365509e-01 5.0382888317108154e-01 + 6.9513040781021118e-01 + <_> + + 0 1 1636 7.3744421824812889e-03 -1 -2 1637 + 8.4163323044776917e-03 + + 5.2534431219100952e-01 5.0112438201904297e-01 + 7.3113328218460083e-01 + <_> + + 0 1 1638 5.1413988694548607e-03 -1 -2 1639 + 4.5847031287848949e-03 + + 4.9535360932350159e-01 2.5355559587478638e-01 + 6.4624428749084473e-01 + <_> + + 1 0 1640 2.8565239161252975e-02 -1 -2 1641 + 4.3958800961263478e-04 + + 2.3307220637798309e-01 4.7022441029548645e-01 + 5.5445492267608643e-01 + <_> + + 1 0 1642 3.1459458172321320e-02 -1 -2 1643 + 5.6011630222201347e-03 + + 3.3689688891172409e-02 4.7871211171150208e-01 + 6.3383519649505615e-01 + <_> + + 0 1 1644 7.1835669223219156e-04 -1 -2 1645 + -5.5303089320659637e-03 + + 5.4314869642257690e-01 4.1058328747749329e-01 + 5.4039907455444336e-01 + <_> + + 1 0 1646 1.4129279879853129e-03 -1 -2 1647 + 2.5530709535814822e-04 + + 3.1055399775505066e-01 4.2544719576835632e-01 + 5.4471540451049805e-01 + <_> + + 1 0 1648 3.1966410460881889e-04 -1 -2 1649 + 5.0411392003297806e-03 + + 6.1183619499206543e-01 5.2900421619415283e-01 + 4.2247870564460754e-01 + <_> + + 0 1 1650 7.7617880888283253e-03 -1 -2 1651 + 2.9374631121754646e-03 + + 4.3153458833694458e-01 6.6292631626129150e-01 + 3.0289649963378906e-01 + <_> + + 1 0 1652 -1.6497720498591661e-03 -1 -2 1653 + -5.8834417723119259e-03 + + 5.4918527603149414e-01 3.1885540485382080e-01 + 5.1842892169952393e-01 + <_> + + 1 0 1654 8.7459187489002943e-04 -1 -2 1655 + -1.5308779664337635e-02 + + 3.3288308978080750e-01 3.9236080646514893e-01 + 5.2351391315460205e-01 + <_> + + 1 0 1656 3.2292451709508896e-02 -1 -2 1657 + -4.3842519517056644e-04 + + 5.9776467084884644e-01 4.5416879653930664e-01 + 5.3694289922714233e-01 + <_> + + 1 0 1658 1.5429529594257474e-03 -1 -2 1659 + -2.4733028840273619e-03 + + 6.3181412220001221e-01 3.4906330704689026e-01 + 4.7590249776840210e-01 + <_> + + 1 0 1660 2.0994939841330051e-03 -1 -2 1661 + -5.7541108690202236e-03 + + 5.8871978521347046e-01 5.9613317251205444e-01 + 4.8419830203056335e-01 + <_> + + 0 1 1662 -1.0233130306005478e-02 -1 -2 1663 + 2.2554509341716766e-01 + + 1.7054040729999542e-01 4.7793799638748169e-01 + 9.7879663109779358e-02 + <_> + + 1 0 1664 2.9666559770703316e-02 -1 -2 1665 + -2.8518449980765581e-03 + + 5.8222240209579468e-01 5.4596269130706787e-01 + 4.6100661158561707e-01 + <_> + + 1 0 1666 9.7465328872203827e-04 -1 -2 1667 + 1.4044740055396687e-05 + + 3.6703228950500488e-01 4.3023860454559326e-01 + 5.6917107105255127e-01 + <_> + + 0 1 1668 -1.7579430714249611e-02 -1 -2 1669 + -5.2381679415702820e-02 + + 6.9173210859298706e-01 7.1100401878356934e-01 + 5.0601547956466675e-01 + <_> + + 0 1 1670 -1.1242110282182693e-02 -1 -2 1671 + -3.6728400737047195e-03 + + 8.7691891193389893e-01 6.5191918611526489e-01 + 4.5460689067840576e-01 + <_> + + 0 1 1672 3.5082760732620955e-03 -1 -2 1673 + 6.1679710634052753e-03 + + 5.3298658132553101e-01 5.2204591035842896e-01 + 2.9535189270973206e-01 + <_> + + 1 0 1674 -9.7009900491684675e-04 -1 -2 1675 + -1.0957010090351105e-02 + + 5.0486332178115845e-01 5.8373582363128662e-01 + 3.0200859904289246e-01 + <_> + + 0 1 1676 -8.3272513002157211e-03 -1 -2 1677 + 2.9798380637657829e-05 + + 3.1580638885498047e-01 4.3863898515701294e-01 + 5.4432111978530884e-01 + <_> + + 1 0 1678 2.8244039276614785e-04 -1 -2 1679 + -8.1364117795601487e-04 + + 5.6253957748413086e-01 5.2811980247497559e-01 + 3.4014078974723816e-01 + <_> + + 1 0 1680 1.8008040497079492e-03 -1 -2 1681 + -6.9944779388606548e-03 + + 3.4716591238975525e-01 4.4816970825195312e-01 + 5.3857702016830444e-01 + <_> + + 0 1 1682 4.5625398342963308e-05 -1 -2 1683 + -7.3189922841265798e-04 + + 4.4925129413604736e-01 4.1673120856285095e-01 + 6.0211020708084106e-01 + <_> + + 0 1 1684 -2.9980219551362097e-04 -1 -2 1685 + -2.9060940505587496e-05 + + 4.1484281420707703e-01 5.5920898914337158e-01 + 4.0732109546661377e-01 + <_> + + 0 1 1686 -5.9742690064013004e-04 -1 -2 1687 + 1.4831830048933625e-04 + + 6.0889142751693726e-01 5.2983051538467407e-01 + 3.7619501352310181e-01 + <_> + + 1 0 1688 -2.9441029764711857e-03 -1 -2 1689 + 1.3741210103034973e-01 + + 4.7160848975181580e-01 5.1013368368148804e-01 + 4.6746801584959030e-02 + <_> + + 0 1 1690 -8.8414177298545837e-02 -1 -2 1691 + 7.0610277354717255e-02 + + 1.1818689852952957e-01 5.1190632581710815e-01 + 7.7784419059753418e-01 + <_> + + 0 1 1692 -7.7188978902995586e-03 -1 -2 1693 + 1.5115399844944477e-02 + + 1.8741349875926971e-01 4.9800279736518860e-01 + 7.0058178901672363e-01 + <_> + + 0 1 1694 1.0671879863366485e-03 -1 -2 1695 + 7.0487911580130458e-04 + + 4.4822388887405396e-01 6.2657529115676880e-01 + 4.4026550650596619e-01 + <_> + 90 + 4.4251281738281250e+01 + + <_> + + 1 0 1696 -9.8690733313560486e-02 -1 -2 1697 + 6.2373418360948563e-02 + + 3.9994749426841736e-01 5.2477848529815674e-01 + 8.1935757398605347e-01 + <_> + + 0 1 1698 1.9496519817039371e-03 -1 -2 1699 + -8.9139147894456983e-04 + + 3.5298168659210205e-01 5.8527278900146484e-01 + 3.2459780573844910e-01 + <_> + + 0 1 1700 -5.5150408297777176e-04 -1 -2 1701 + -1.1721949558705091e-03 + + 3.8928169012069702e-01 4.3350520730018616e-01 + 6.5206241607666016e-01 + <_> + + 1 0 1702 -7.4480642797425389e-04 -1 -2 1703 + -2.6264840271323919e-03 + + 4.0411350131034851e-01 5.6249821186065674e-01 + 3.9675250649452209e-01 + <_> + + 0 1 1704 -3.9712688885629177e-04 -1 -2 1705 + 3.5984949208796024e-03 + + 3.8561120629310608e-01 5.9978890419006348e-01 + 4.2416140437126160e-01 + <_> + + 1 0 1706 5.3080618381500244e-03 -1 -2 1707 + 9.6319877775385976e-04 + + 6.6601687669754028e-01 4.4813790917396545e-01 + 5.5834877490997314e-01 + <_> + + 0 1 1708 5.0776469288393855e-04 -1 -2 1709 + 3.6223160568624735e-03 + + 3.5354590415954590e-01 3.4098070859909058e-01 + 5.4206877946853638e-01 + <_> + + 0 1 1710 -6.2061410397291183e-02 -1 -2 1711 + 6.4387189922854304e-04 + + 1.9340839982032776e-01 4.0836268663406372e-01 + 5.4902219772338867e-01 + <_> + + 1 0 1712 2.6239909231662750e-02 -1 -2 1713 + 8.1940297968685627e-04 + + 2.2857080399990082e-01 4.6486678719520569e-01 + 6.0173559188842773e-01 + <_> + + 1 0 1714 2.3833119485061616e-04 -1 -2 1715 + -1.5869759954512119e-03 + + 3.5980388522148132e-01 4.2596510052680969e-01 + 5.4764348268508911e-01 + <_> + + 0 1 1716 -6.7263417877256870e-03 -1 -2 1717 + 1.1006110347807407e-02 + + 6.5072381496429443e-01 5.1494097709655762e-01 + 3.3629849553108215e-01 + <_> + + 1 0 1718 7.1445819921791553e-03 -1 -2 1719 + -4.7233798541128635e-03 + + 2.6729300618171692e-01 5.6521821022033691e-01 + 4.2981448769569397e-01 + <_> + + 1 0 1720 9.8437406122684479e-03 -1 -2 1721 + 1.5124640412977897e-05 + + 1.1518859863281250e-01 4.3735980987548828e-01 + 5.6121289730072021e-01 + <_> + + 0 1 1722 3.9908871054649353e-02 -1 -2 1723 + 5.3903679363429546e-03 + + 5.2046489715576172e-01 4.8134678602218628e-01 + 6.3612091541290283e-01 + <_> + + 0 1 1724 -3.9908871054649353e-02 -1 -2 1725 + 5.3903679363429546e-03 + + 1.5068709850311279e-01 4.5816949009895325e-01 + 6.2002408504486084e-01 + <_> + + 1 0 1726 6.7005190066993237e-03 -1 -2 1727 + -1.2623789720237255e-02 + + 3.4322351217269897e-01 3.0882269144058228e-01 + 5.2267378568649292e-01 + <_> + + 1 0 1728 1.1806610040366650e-02 -1 -2 1729 + -3.4257229417562485e-03 + + 7.1879392862319946e-01 3.1208148598670959e-01 + 5.0658440589904785e-01 + <_> + + 0 1 1730 3.9385299896821380e-04 -1 -2 1731 + 3.4388188272714615e-02 + + 4.7545841336250305e-01 5.2616578340530396e-01 + 3.3501741290092468e-01 + <_> + + 0 1 1732 -7.5009986758232117e-02 -1 -2 1733 + 4.9022492021322250e-04 + + 1.7134809494018555e-01 4.7258019447326660e-01 + 5.9564691781997681e-01 + <_> + + 0 1 1734 -8.5525289177894592e-03 -1 -2 1735 + 1.3135520566720515e-04 + + 6.5582227706909180e-01 4.8354008793830872e-01 + 5.5869138240814209e-01 + <_> + + 1 0 1736 4.7948658466339111e-03 -1 -2 1737 + 2.0124691072851419e-03 + + 2.6457059383392334e-01 3.6579450964927673e-01 + 5.1247721910476685e-01 + <_> + + 0 1 1738 -1.1785479635000229e-01 -1 -2 1739 + 1.5575019642710686e-03 + + 2.3856540024280548e-01 5.4904741048812866e-01 + 4.2747479677200317e-01 + <_> + + 0 1 1740 -1.5573759563267231e-02 -1 -2 1741 + -2.1854790393263102e-03 + + 6.9389009475708008e-01 3.6459881067276001e-01 + 5.0925260782241821e-01 + <_> + + 0 1 1742 2.9272339306771755e-03 -1 -2 1743 + 6.4663668163120747e-03 + + 4.6858081221580505e-01 4.9734100699424744e-01 + 7.7260971069335938e-01 + <_> + + 0 1 1744 -7.6140360906720161e-03 -1 -2 1745 + 4.1512572206556797e-03 + + 6.8774658441543579e-01 4.7885251045227051e-01 + 6.9216579198837280e-01 + <_> + + 0 1 1746 2.7711640577763319e-03 -1 -2 1747 + -1.2836109846830368e-02 + + 5.4818397760391235e-01 3.8001629710197449e-01 + 5.2044928073883057e-01 + <_> + + 0 1 1748 -2.4380050599575043e-03 -1 -2 1749 + 2.1713329479098320e-03 + + 2.5824350118637085e-01 4.9611631035804749e-01 + 3.2152029871940613e-01 + <_> + + 1 0 1750 6.2800728483125567e-04 -1 -2 1751 + -9.7982389852404594e-03 + + 5.4604238271713257e-01 6.0465437173843384e-01 + 4.9399220943450928e-01 + <_> + + 1 0 1752 7.3543828912079334e-03 -1 -2 1753 + -1.4665040187537670e-02 + + 5.2910941839218140e-01 5.4461228847503662e-01 + 3.5673621296882629e-01 + <_> + + 0 1 1754 3.0244510620832443e-02 -1 -2 1755 + -5.6660208851099014e-02 + + 5.5183291435241699e-01 6.9309788942337036e-01 + 5.0933879613876343e-01 + <_> + + 0 1 1756 -5.6967479176819324e-03 -1 -2 1757 + 3.0806770548224449e-02 + + 3.2015261054039001e-01 4.9892461299896240e-01 + 2.2770540416240692e-01 + <_> + + 0 1 1758 2.2748769260942936e-03 -1 -2 1759 + 2.0436900667846203e-03 + + 4.8109310865402222e-01 5.2838671207427979e-01 + 3.2559248805046082e-01 + <_> + + 0 1 1760 -8.6277956143021584e-03 -1 -2 1761 + 6.5113382879644632e-04 + + 6.2665361166000366e-01 5.0971370935440063e-01 + 3.1919100880622864e-01 + <_> + + 0 1 1762 8.8188261725008488e-04 -1 -2 1763 + -1.4594909735023975e-02 + + 4.5495858788490295e-01 2.6450389623641968e-01 + 5.1538681983947754e-01 + <_> + + 0 1 1764 -1.2304580304771662e-03 -1 -2 1765 + -2.1867299801670015e-04 + + 6.1975848674774170e-01 5.4691988229751587e-01 + 4.2068558931350708e-01 + <_> + + 0 1 1766 -1.0909959673881531e-03 -1 -2 1767 + 3.5210378700867295e-04 + + 4.1407600045204163e-01 5.4766088724136353e-01 + 4.1550210118293762e-01 + <_> + + 0 1 1768 -7.2563779540359974e-03 -1 -2 1769 + 1.4701850013807416e-03 + + 7.1604692935943604e-01 5.2408081293106079e-01 + 3.7296628952026367e-01 + <_> + + 0 1 1770 1.1472719779703766e-04 -1 -2 1771 + 3.0506469774991274e-03 + + 4.0337988734245300e-01 5.2639859914779663e-01 + 3.5600930452346802e-01 + <_> + + 0 1 1772 2.6269949739798903e-04 -1 -2 1773 + -3.6365550477057695e-03 + + 4.5697999000549316e-01 3.0425709486007690e-01 + 5.8682537078857422e-01 + <_> + + 1 0 1774 -8.4893293678760529e-03 -1 -2 1775 + 5.8107408694922924e-03 + + 4.9141570925712585e-01 4.9185299873352051e-01 + 6.2669628858566284e-01 + <_> + + 1 0 1776 7.5583951547741890e-04 -1 -2 1777 + -2.2017690353095531e-03 + + 5.6332361698150635e-01 5.5539160966873169e-01 + 3.8276460766792297e-01 + <_> + + 0 1 1778 2.7908938936889172e-03 -1 -2 1779 + -1.8228569533675909e-03 + + 5.4986977577209473e-01 4.3822830915451050e-01 + 5.4240328073501587e-01 + <_> + + 0 1 1780 -7.2495508939027786e-03 -1 -2 1781 + -6.8744522286579013e-04 + + 2.8881219029426575e-01 3.4726551175117493e-01 + 5.0763708353042603e-01 + <_> + + 0 1 1782 2.5174440816044807e-03 -1 -2 1783 + -1.0151379741728306e-02 + + 4.6612051129341125e-01 3.7447750568389893e-01 + 5.2940011024475098e-01 + <_> + + 1 0 1784 -4.1399952024221420e-03 -1 -2 1785 + -4.7078551724553108e-03 + + 4.6604850888252258e-01 4.1750618815422058e-01 + 6.9163060188293457e-01 + <_> + + 1 0 1786 4.1981041431427002e-02 -1 -2 1787 + -1.4272999949753284e-02 + + 2.0182150602340698e-01 7.5111979246139526e-01 + 5.0320839881896973e-01 + <_> + + 1 0 1788 4.0869521908462048e-03 -1 -2 1789 + 1.7606799956411123e-03 + + 2.5045138597488403e-01 3.3014011383056641e-01 + 5.2183371782302856e-01 + <_> + + 0 1 1790 1.2550549581646919e-04 -1 -2 1791 + -2.9503209516406059e-03 + + 4.6144428849220276e-01 4.6199500560760498e-01 + 5.2470302581787109e-01 + <_> + + 0 1 1792 -1.1312420247122645e-03 -1 -2 1793 + -1.6983180539682508e-03 + + 6.3143682479858398e-01 3.4013068675994873e-01 + 5.0555270910263062e-01 + <_> + + 1 0 1794 -1.1457820422947407e-02 -1 -2 1795 + -8.4962565451860428e-03 + + 4.9399960041046143e-01 2.9654508829116821e-01 + 5.1943677663803101e-01 + <_> + + 1 0 1796 1.1919089592993259e-02 -1 -2 1797 + 6.4416420646011829e-03 + + 7.8869980573654175e-01 5.1069867610931396e-01 + 2.9671460390090942e-01 + <_> + + 0 1 1798 -8.7857811013236642e-04 -1 -2 1799 + -2.0312711130827665e-03 + + 5.7143712043762207e-01 4.4812008738517761e-01 + 5.3849118947982788e-01 + <_> + + 0 1 1800 -1.5262430533766747e-03 -1 -2 1801 + 4.2860880494117737e-03 + + 6.1935687065124512e-01 4.3398851156234741e-01 + 7.6972991228103638e-01 + <_> + + 1 0 1802 3.5010920837521553e-03 -1 -2 1803 + 1.2587670236825943e-02 + + 3.1713891029357910e-01 5.2466988563537598e-01 + 4.2412081360816956e-01 + <_> + + 0 1 1804 2.6207490009255707e-04 -1 -2 1805 + 4.4701730075757951e-05 + + 4.2318999767303467e-01 4.1741389036178589e-01 + 5.9196037054061890e-01 + <_> + + 0 1 1806 7.8084698179736733e-04 -1 -2 1807 + 8.8851212058216333e-04 + + 4.2773890495300293e-01 3.7201610207557678e-01 + 5.2268189191818237e-01 + <_> + + 0 1 1808 2.3369069676846266e-03 -1 -2 1809 + 1.6688359901309013e-03 + + 5.4780668020248413e-01 3.6286789178848267e-01 + 6.1500048637390137e-01 + <_> + + 0 1 1810 3.0844469438306987e-04 -1 -2 1811 + 3.4617560449987650e-03 + + 4.7470751404762268e-01 4.5801380276679993e-01 + 5.5856817960739136e-01 + <_> + + 0 1 1812 1.8961310386657715e-02 -1 -2 1813 + 1.7347310483455658e-01 + + 5.2988010644912720e-01 3.6983850598335266e-01 + 8.4986197948455811e-01 + <_> + + 1 0 1814 2.0020549709443003e-04 -1 -2 1815 + 1.0967060225084424e-03 + + 5.5656617879867554e-01 4.7957131266593933e-01 + 6.2862598896026611e-01 + <_> + + 0 1 1816 1.5107099898159504e-04 -1 -2 1817 + -3.4463501069694757e-03 + + 4.0524059534072876e-01 6.1730152368545532e-01 + 4.4142639636993408e-01 + <_> + + 1 0 1818 8.5176620632410049e-03 -1 -2 1819 + -3.5812109708786011e-02 + + 3.5705709457397461e-01 3.1513288617134094e-01 + 5.2527028322219849e-01 + <_> + + 0 1 1820 -2.1155400201678276e-02 -1 -2 1821 + 8.9890940580517054e-04 + + 6.1247211694717407e-01 5.1699757575988770e-01 + 3.5962718725204468e-01 + <_> + + 1 0 1822 -1.5613760333508253e-03 -1 -2 1823 + 6.7120860330760479e-04 + + 4.9149879813194275e-01 4.5462110638618469e-01 + 5.3958117961883545e-01 + <_> + + 0 1 1824 -2.1597029641270638e-02 -1 -2 1825 + -2.4947229772806168e-02 + + 1.9031339883804321e-01 6.9740772247314453e-01 + 4.9677160382270813e-01 + <_> + + 0 1 1826 1.8725979607552290e-03 -1 -2 1827 + 6.3912719488143921e-03 + + 4.7489479184150696e-01 5.1801782846450806e-01 + 2.9243218898773193e-01 + <_> + + 0 1 1828 -9.1552399098873138e-03 -1 -2 1829 + 2.1715660113841295e-03 + + 7.6658701896667480e-01 5.2155512571334839e-01 + 3.3657190203666687e-01 + <_> + + 1 0 1830 1.2330369791015983e-03 -1 -2 1831 + -4.0785901364870369e-04 + + 6.2609577178955078e-01 4.5335099101066589e-01 + 5.3864890336990356e-01 + <_> + + 0 1 1832 4.6437609125860035e-04 -1 -2 1833 + -1.1600199650274590e-04 + + 4.1034960746765137e-01 5.8303910493850708e-01 + 4.3041059374809265e-01 + <_> + + 0 1 1834 -1.2718720361590385e-02 -1 -2 1835 + 8.9431880041956902e-05 + + 2.1325829625129700e-01 4.8728910088539124e-01 + 5.4589152336120605e-01 + <_> + + 0 1 1836 -3.3913689549081028e-04 -1 -2 1837 + -1.8026340752840042e-02 + + 3.9743649959564209e-01 7.5685507059097290e-01 + 5.0456118583679199e-01 + <_> + + 1 0 1838 6.9179181009531021e-03 -1 -2 1839 + -1.1839679791592062e-04 + + 3.9662998914718628e-01 4.1980829834938049e-01 + 5.4358041286468506e-01 + <_> + + 0 1 1840 -3.9474181830883026e-03 -1 -2 1841 + 6.0050919273635373e-05 + + 6.3694578409194946e-01 5.2695667743682861e-01 + 3.8122430443763733e-01 + <_> + + 1 0 1842 9.1423643752932549e-03 -1 -2 1843 + 2.1305440168362111e-04 + + 4.1567629575729370e-01 3.5235330462455750e-01 + 5.3494542837142944e-01 + <_> + + 1 0 1844 -2.0855850016232580e-04 -1 -2 1845 + 1.3130389852449298e-03 + + 4.4033220410346985e-01 6.0581612586975098e-01 + 4.4682189822196960e-01 + <_> + + 1 0 1846 -2.9134768992662430e-03 -1 -2 1847 + 2.9645769391208887e-03 + + 4.8257058858871460e-01 4.8359981179237366e-01 + 6.0392779111862183e-01 + <_> + + 1 0 1848 1.7772549763321877e-03 -1 -2 1849 + -7.7136349864304066e-03 + + 6.8718272447586060e-01 2.8422209620475769e-01 + 5.1454281806945801e-01 + <_> + + 1 0 1850 5.1027478184551001e-04 -1 -2 1851 + 1.7460630042478442e-03 + + 6.0244262218475342e-01 4.7566100955009460e-01 + 5.7211542129516602e-01 + <_> + + 1 0 1852 3.8068278809078038e-04 -1 -2 1853 + 2.8228890150785446e-03 + + 4.9310690164566040e-01 3.3116981387138367e-01 + 6.2275981903076172e-01 + <_> + + 1 0 1854 -5.3000478073954582e-03 -1 -2 1855 + 4.4951299059903249e-05 + + 5.2320927381515503e-01 3.9952319860458374e-01 + 5.3147977590560913e-01 + <_> + + 0 1 1856 3.2752458937466145e-03 -1 -2 1857 + -2.8162579983472824e-03 + + 4.4816198945045471e-01 3.9079719781875610e-01 + 6.6716408729553223e-01 + <_> + + 0 1 1858 1.4112279750406742e-03 -1 -2 1859 + 8.3062034100294113e-03 + + 5.3570109605789185e-01 4.7709658741950989e-01 + 5.5700999498367310e-01 + <_> + + 0 1 1860 2.2164839319884777e-03 -1 -2 1861 + -4.9868631176650524e-03 + + 4.9471241235733032e-01 5.2413070201873779e-01 + 2.5126549601554871e-01 + <_> + + 1 0 1862 -3.6664260551333427e-03 -1 -2 1863 + -1.0581229813396931e-02 + + 4.6195539832115173e-01 6.3017189502716064e-01 + 4.9730318784713745e-01 + <_> + + 1 0 1864 7.3366491124033928e-03 -1 -2 1865 + -3.9318940252996981e-04 + + 2.8709700703620911e-01 4.2528051137924194e-01 + 5.5792468786239624e-01 + <_> + + 0 1 1866 -8.1375334411859512e-03 -1 -2 1867 + 2.4809150490909815e-03 + + 5.7473158836364746e-01 5.2033740282058716e-01 + 3.9035668969154358e-01 + <_> + + 1 0 1868 8.8749779388308525e-04 -1 -2 1869 + -4.2194919660687447e-04 + + 5.5343210697174072e-01 5.3380441665649414e-01 + 3.9258408546447754e-01 + <_> + + 0 1 1870 -7.9790111631155014e-03 -1 -2 1871 + 1.1439629597589374e-03 + + 4.1443160176277161e-01 4.7013729810714722e-01 + 5.2817362546920776e-01 + <_> + + 1 0 1872 7.5542130507528782e-03 -1 -2 1873 + 1.0288399644196033e-03 + + 2.5272560119628906e-01 5.6051462888717651e-01 + 4.2978560924530029e-01 + <_> + + 1 0 1874 -1.7234670231118798e-03 -1 -2 1875 + 5.7586699724197388e-01 + + 4.8396828770637512e-01 5.1105028390884399e-01 + 8.0489329993724823e-02 + <_> + 109 + 5.3755569458007812e+01 + + <_> + + 0 1 1876 6.6640521399676800e-03 -1 -2 1877 + 8.9905522763729095e-03 + + 3.8289201259613037e-01 4.8584291338920593e-01 + 7.3549592494964600e-01 + <_> + + 1 0 1878 5.7154200039803982e-03 -1 -2 1879 + 1.1257929727435112e-03 + + 6.7232239246368408e-01 4.4295778870582581e-01 + 6.0707777738571167e-01 + <_> + + 1 0 1880 -9.1789010912179947e-04 -1 -2 1881 + -1.0492859873920679e-03 + + 3.0763450264930725e-01 5.5936437845230103e-01 + 3.6510229110717773e-01 + <_> + + 0 1 1882 3.5453929740469903e-05 -1 -2 1883 + 2.9015709878876805e-04 + + 4.2779681086540222e-01 4.5835450291633606e-01 + 5.2846831083297729e-01 + <_> + + 1 0 1884 1.6071660502348095e-04 -1 -2 1885 + -5.2961107576265931e-04 + + 3.7981921434402466e-01 3.8504371047019958e-01 + 5.9396880865097046e-01 + <_> + + 0 1 1886 2.6682569296099246e-04 -1 -2 1887 + -1.3492540165316314e-04 + + 4.1230249404907227e-01 5.7605999708175659e-01 + 4.2376458644866943e-01 + <_> + + 0 1 1888 -1.0841679759323597e-02 -1 -2 1889 + 1.2077829800546169e-02 + + 3.9299210906028748e-01 5.7619231939315796e-01 + 2.7804449200630188e-01 + <_> + + 0 1 1890 2.2128869313746691e-03 -1 -2 1891 + -1.5266190283000469e-02 + + 4.7945070266723633e-01 7.4055880308151245e-02 + 5.1535779237747192e-01 + <_> + + 1 0 1892 6.7929533543065190e-05 -1 -2 1893 + 1.7633590323384851e-04 + + 5.8587378263473511e-01 3.5676109790802002e-01 + 5.5989629030227661e-01 + <_> + + 1 0 1894 8.1311381654813886e-04 -1 -2 1895 + 3.2630451023578644e-03 + + 5.3468507528305054e-01 4.7825369238853455e-01 + 5.4567539691925049e-01 + <_> + + 0 1 1896 -3.9503918960690498e-03 -1 -2 1897 + -3.9864578866399825e-04 + + 2.8318119049072266e-01 5.4852157831192017e-01 + 4.1596978902816772e-01 + <_> + + 0 1 1898 -1.1432520113885403e-02 -1 -2 1899 + 5.3339172154664993e-03 + + 5.6391012668609619e-01 4.5969840884208679e-01 + 5.9312427043914795e-01 + <_> + + 1 0 1900 8.3193257451057434e-03 -1 -2 1901 + -4.2479918920435011e-04 + + 3.2306200265884399e-01 3.7952938675880432e-01 + 5.4086112976074219e-01 + <_> + + 0 1 1902 -1.1189430207014084e-01 -1 -2 1903 + -7.5553781352937222e-03 + + 1.1322979629039764e-01 6.3393700122833252e-01 + 4.8387709259986877e-01 + <_> + + 0 1 1904 -7.0337029173970222e-03 -1 -2 1905 + -1.4833680354058743e-02 + + 5.6652551889419556e-01 6.7514181137084961e-01 + 4.1409450769424438e-01 + <_> + + 1 0 1906 8.7506724521517754e-03 -1 -2 1907 + 1.6645010327920318e-03 + + 3.5612589120864868e-01 5.3472799062728882e-01 + 3.6497798562049866e-01 + <_> + + 1 0 1908 9.4900820404291153e-03 -1 -2 1909 + 1.1133110383525491e-03 + + 2.7546560764312744e-01 4.2259928584098816e-01 + 5.6291788816452026e-01 + <_> + + 0 1 1910 9.4940755516290665e-03 -1 -2 1911 + -1.5396620146930218e-03 + + 4.9060368537902832e-01 4.0070518851280212e-01 + 5.3807091712951660e-01 + <_> + + 1 0 1912 1.3434959948062897e-01 -1 -2 1913 + -9.4940755516290665e-03 + + 2.2146719694137573e-01 7.3531562089920044e-01 + 5.0050330162048340e-01 + <_> + + 1 0 1914 2.0011790096759796e-02 -1 -2 1915 + -1.8875009845942259e-03 + + 3.3279061317443848e-01 3.9152890443801880e-01 + 5.4018497467041016e-01 + <_> + + 1 0 1916 7.1842782199382782e-03 -1 -2 1917 + 1.6976969782263041e-03 + + 7.1766048669815063e-01 4.5269781351089478e-01 + 6.0769128799438477e-01 + <_> + + 1 0 1918 4.9219978973269463e-03 -1 -2 1919 + 1.1803199537098408e-02 + + 2.5698339939117432e-01 4.9996379017829895e-01 + 5.9582281112670898e-01 + <_> + + 0 1 1920 -9.7703449428081512e-03 -1 -2 1921 + 2.1174899302423000e-03 + + 3.4590938687324524e-01 4.5151269435882568e-01 + 5.8297157287597656e-01 + <_> + + 0 1 1922 9.4801411032676697e-03 -1 -2 1923 + -2.6078789960592985e-03 + + 4.8073920607566833e-01 3.4622168540954590e-01 + 5.2015948295593262e-01 + <_> + + 0 1 1924 -5.7252747938036919e-03 -1 -2 1925 + -8.2325618714094162e-03 + + 6.5998530387878418e-01 2.8218281269073486e-01 + 5.1252847909927368e-01 + <_> + + 0 1 1926 8.9571950957179070e-04 -1 -2 1927 + -1.5021569561213255e-04 + + 4.8838189244270325e-01 4.8299181461334229e-01 + 5.4287171363830566e-01 + <_> + + 0 1 1928 4.8489659093320370e-04 -1 -2 1929 + -9.6192650496959686e-02 + + 4.4345989823341370e-01 2.2566360235214233e-01 + 5.9562277793884277e-01 + <_> + + 0 1 1930 -1.1053519556298852e-03 -1 -2 1931 + -1.0215040296316147e-01 + + 4.5272240042686462e-01 2.8443491458892822e-01 + 5.1864528656005859e-01 + <_> + + 1 0 1932 3.0147889629006386e-03 -1 -2 1933 + 7.6131648384034634e-03 + + 3.8089990615844727e-01 5.7186990976333618e-01 + 4.2625638842582703e-01 + <_> + + 1 0 1934 1.5197630273178220e-03 -1 -2 1935 + -1.4197279699146748e-02 + + 5.9427189826965332e-01 7.7311038970947266e-01 + 4.9976539611816406e-01 + <_> + + 0 1 1936 -1.3818879611790180e-02 -1 -2 1937 + -5.0701329018920660e-04 + + 6.6811382770538330e-01 3.3056080341339111e-01 + 4.7499749064445496e-01 + <_> + + 0 1 1938 -9.3537531793117523e-03 -1 -2 1939 + -9.4771059229969978e-03 + + 2.8609329462051392e-01 6.1888831853866577e-01 + 4.8421001434326172e-01 + <_> + + 1 0 1940 1.6923650400713086e-03 -1 -2 1941 + 5.8652542065829039e-04 + + 6.0702490806579590e-01 3.7826898694038391e-01 + 5.3681969642639160e-01 + <_> + + 0 1 1942 -2.5826620403677225e-03 -1 -2 1943 + -2.7307639829814434e-03 + + 3.6902099847793579e-01 3.8571149110794067e-01 + 5.3181087970733643e-01 + <_> + + 1 0 1944 2.1871570497751236e-02 -1 -2 1945 + -1.5010299648565706e-05 + + 2.3270089924335480e-01 5.5607229471206665e-01 + 4.3014100193977356e-01 + <_> + + 1 0 1946 5.3583700209856033e-03 -1 -2 1947 + 5.0057549960911274e-03 + + 6.7676377296447754e-01 5.1949042081832886e-01 + 3.6128538846969604e-01 + <_> + + 0 1 1948 -1.9030070398002863e-03 -1 -2 1949 + -7.8506693243980408e-03 + + 3.2378450036048889e-01 1.1948519945144653e-01 + 4.9917238950729370e-01 + <_> + + 1 0 1950 -2.7093670796602964e-03 -1 -2 1951 + 1.4138079714030027e-03 + + 4.8549601435661316e-01 4.8723229765892029e-01 + 5.9035778045654297e-01 + <_> + + 1 0 1952 9.0300198644399643e-03 -1 -2 1953 + -9.7925681620836258e-04 + + 6.5473157167434692e-01 5.8492732048034668e-01 + 4.5542308688163757e-01 + <_> + + 1 0 1954 1.3984439428895712e-03 -1 -2 1955 + 8.3372107474133372e-04 + + 4.0646260976791382e-01 5.3995430469512939e-01 + 4.1528099775314331e-01 + <_> + + 1 0 1956 1.0551059618592262e-02 -1 -2 1957 + 8.8344102550763637e-05 + + 1.7966809868812561e-01 4.2518630623817444e-01 + 5.4135227203369141e-01 + <_> + + 1 0 1958 -4.1022308170795441e-02 -1 -2 1959 + 7.5065628625452518e-03 + + 5.2281248569488525e-01 4.8537430167198181e-01 + 6.0934442281723022e-01 + <_> + + 1 0 1960 4.1022308170795441e-02 -1 -2 1961 + -5.3961377125233412e-04 + + 2.2050240635871887e-01 5.6927317380905151e-01 + 4.4687569141387939e-01 + <_> + + 0 1 1962 -6.8696036934852600e-02 -1 -2 1963 + -1.8447940237820148e-03 + + 1.4833140373229980e-01 6.2112838029861450e-01 + 4.9666011333465576e-01 + <_> + + 0 1 1964 -6.0959919355809689e-03 -1 -2 1965 + -4.2068301700055599e-03 + + 2.2946719825267792e-01 6.4070910215377808e-01 + 4.7485628724098206e-01 + <_> + + 1 0 1966 -7.1332789957523346e-04 -1 -2 1967 + 1.1756779998540878e-01 + + 5.3549361228942871e-01 5.1369780302047729e-01 + 1.0595739819109440e-02 + <_> + + 0 1 1968 5.9354289987822995e-05 -1 -2 1969 + -6.3173691742122173e-03 + + 3.7118038535118103e-01 1.7120739817619324e-01 + 5.0617581605911255e-01 + <_> + + 1 0 1970 1.4941499568521976e-02 -1 -2 1971 + -2.0789399277418852e-03 + + 6.7291188240051270e-01 4.4106459617614746e-01 + 5.4440277814865112e-01 + <_> + + 0 1 1972 -7.0736219640821218e-04 -1 -2 1973 + -3.1247111037373543e-03 + + 5.5689108371734619e-01 5.0238692760467529e-01 + 3.5624051094055176e-01 + <_> + + 1 0 1974 -7.8919378574937582e-04 -1 -2 1975 + 1.0179580189287663e-02 + + 5.4567861557006836e-01 5.5451387166976929e-01 + 4.6223109960556030e-01 + <_> + + 1 0 1976 -2.7506109327077866e-03 -1 -2 1977 + 1.0601329617202282e-02 + + 4.9425360560417175e-01 2.9612338542938232e-01 + 5.9643387794494629e-01 + <_> + + 0 1 1978 5.1466780714690685e-03 -1 -2 1979 + 7.6321147382259369e-02 + + 5.4952287673950195e-01 5.1739591360092163e-01 + 2.9402169585227966e-01 + <_> + + 0 1 1980 -1.5027689514681697e-03 -1 -2 1981 + 1.2266670353710651e-02 + + 3.1062999367713928e-01 4.6511501073837280e-01 + 6.8466138839721680e-01 + <_> + + 1 0 1982 -3.1118579208850861e-02 -1 -2 1983 + 2.8905589133501053e-02 + + 5.2260571718215942e-01 5.1822441816329956e-01 + 2.7054280042648315e-01 + <_> + + 1 0 1984 4.7598380595445633e-02 -1 -2 1985 + 3.0808549374341965e-02 + + 1.1095120012760162e-01 4.9386250972747803e-01 + 1.4041109383106232e-01 + <_> + + 1 0 1986 -2.1277810446918011e-04 -1 -2 1987 + 7.8969962894916534e-02 + + 4.3923568725585938e-01 5.2165520191192627e-01 + 2.2941139340400696e-01 + <_> + + 0 1 1988 -1.0257950052618980e-02 -1 -2 1989 + 1.2604889925569296e-03 + + 6.1766529083251953e-01 5.2362227439880371e-01 + 3.3289659023284912e-01 + <_> + + 1 0 1990 -3.3490460366010666e-02 -1 -2 1991 + -5.9202767442911863e-04 + + 4.8661869764328003e-01 4.1164070367813110e-01 + 5.3956401348114014e-01 + <_> + + 1 0 1992 3.0320750738610514e-05 -1 -2 1993 + -5.4369680583477020e-04 + + 5.6107360124588013e-01 5.6213891506195068e-01 + 3.4612038731575012e-01 + <_> + + 1 0 1994 -3.3490460366010666e-02 -1 -2 1995 + -5.9202767442911863e-04 + + 4.8967620730400085e-01 4.3054041266441345e-01 + 5.3407138586044312e-01 + <_> + + 0 1 1996 2.0550889894366264e-03 -1 -2 1997 + -4.4353571720421314e-03 + + 5.5449998378753662e-01 6.0385400056838989e-01 + 3.7465929985046387e-01 + <_> + + 1 0 1998 -8.4170423448085785e-02 -1 -2 1999 + 6.7419027909636497e-03 + + 5.0073480606079102e-01 5.2980971336364746e-01 + 4.7161450982093811e-01 + <_> + + 1 0 2000 1.0278150439262390e-02 -1 -2 2001 + 5.8800862170755863e-03 + + 6.2693750858306885e-01 5.1548278331756592e-01 + 3.8130408525466919e-01 + <_> + + 1 0 2002 -6.9679190346505493e-06 -1 -2 2003 + 8.2419527461752295e-04 + + 4.4402399659156799e-01 4.6975341439247131e-01 + 5.4855042695999146e-01 + <_> + + 0 1 2004 -5.5268318392336369e-03 -1 -2 2005 + 9.6128671430051327e-04 + + 5.5136048793792725e-01 3.6186391115188599e-01 + 5.8384567499160767e-01 + <_> + + 1 0 2006 2.4810510221868753e-03 -1 -2 2007 + -1.0480589699000120e-03 + + 2.5232228636741638e-01 4.1172578930854797e-01 + 5.3929960727691650e-01 + <_> + + 0 1 2008 -6.1287907883524895e-03 -1 -2 2009 + 1.1682329932227731e-04 + + 6.7263299226760864e-01 5.0411927700042725e-01 + 3.6077290773391724e-01 + <_> + + 0 1 2010 -3.9909478276968002e-02 -1 -2 2011 + 1.5859459526836872e-03 + + 1.5637390315532684e-01 4.8919808864593506e-01 + 5.7798451185226440e-01 + <_> + + 0 1 2012 -2.2690229117870331e-02 -1 -2 2013 + 2.0916070789098740e-03 + + 2.1868790686130524e-01 4.7715771198272705e-01 + 6.0992312431335449e-01 + <_> + + 0 1 2014 -2.4715419858694077e-02 -1 -2 2015 + -1.3419450260698795e-02 + + 3.4639969468116760e-01 3.6306929588317871e-01 + 5.2521961927413940e-01 + <_> + + 0 1 2016 -6.0629472136497498e-03 -1 -2 2017 + -2.0921030081808567e-03 + + 6.6663217544555664e-01 3.3995470404624939e-01 + 5.0356978178024292e-01 + <_> + + 0 1 2018 2.5961859151721001e-02 -1 -2 2019 + 1.7908669542521238e-04 + + 5.0368028879165649e-01 5.4185307025909424e-01 + 4.3189769983291626e-01 + <_> + + 0 1 2020 -3.1546850223094225e-03 -1 -2 2021 + -1.1397759662941098e-03 + + 7.2210252285003662e-01 3.3209729194641113e-01 + 5.0244337320327759e-01 + <_> + + 0 1 2022 -4.7840211540460587e-02 -1 -2 2023 + 4.1577088995836675e-04 + + 1.9387650489807129e-01 4.8021888732910156e-01 + 5.7307147979736328e-01 + <_> + + 0 1 2024 -4.4247039477340877e-04 -1 -2 2025 + 1.4479350065812469e-03 + + 4.2625150084495544e-01 5.7191711664199829e-01 + 4.0641531348228455e-01 + <_> + + 0 1 2026 1.5701510012149811e-02 -1 -2 2027 + 2.7805729769170284e-04 + + 4.9957260489463806e-01 5.2892869710922241e-01 + 4.5817288756370544e-01 + <_> + + 0 1 2028 -2.9010509606450796e-03 -1 -2 2029 + 2.0830519497394562e-04 + + 6.0121482610702515e-01 5.0579768419265747e-01 + 3.5994321107864380e-01 + <_> + + 1 0 2030 -5.1530029624700546e-02 -1 -2 2031 + 1.7163449956569821e-04 + + 4.9917969107627869e-01 4.6754699945449829e-01 + 5.3747731447219849e-01 + <_> + + 1 0 2032 2.3614279925823212e-02 -1 -2 2033 + -5.6427798699587584e-04 + + 6.5864789485931396e-01 3.8532960414886475e-01 + 5.1960402727127075e-01 + <_> + + 1 0 2034 6.6903959959745407e-03 -1 -2 2035 + -4.8789530992507935e-03 + + 6.0042357444763184e-01 3.2932278513908386e-01 + 5.2452367544174194e-01 + <_> + + 0 1 2036 -6.8537332117557526e-03 -1 -2 2037 + 9.9893810693174601e-04 + + 2.5659140944480896e-01 4.6154940128326416e-01 + 5.9424322843551636e-01 + <_> + + 0 1 2038 -1.3354700058698654e-04 -1 -2 2039 + 1.0165109997615218e-03 + + 5.4873758554458618e-01 4.5783591270446777e-01 + 5.4269278049468994e-01 + <_> + + 1 0 2040 9.1216771397739649e-04 -1 -2 2041 + 1.0080259526148438e-03 + + 3.9394611120223999e-01 4.0497899055480957e-01 + 5.5207037925720215e-01 + <_> + + 1 0 2042 -1.3102490629535168e-04 -1 -2 2043 + 5.5228749988600612e-04 + + 4.8790889978408813e-01 4.8449438810348511e-01 + 5.5128258466720581e-01 + <_> + + 1 0 2044 -1.2130969844292849e-04 -1 -2 2045 + -1.5112989785848185e-05 + + 4.3679711222648621e-01 6.4259552955627441e-01 + 4.8818269371986389e-01 + <_> + + 1 0 2046 -4.0125829400494695e-04 -1 -2 2047 + -6.5766851184889674e-04 + + 5.3720992803573608e-01 5.8345532417297363e-01 + 4.8690780997276306e-01 + <_> + + 1 0 2048 6.2220421386882663e-04 -1 -2 2049 + 1.4663359615951777e-03 + + 3.8246369361877441e-01 4.8134881258010864e-01 + 6.9667392969131470e-01 + <_> + + 0 1 2050 -4.9547709524631500e-02 -1 -2 2051 + 1.3017569435760379e-03 + + 5.3927659988403320e-02 5.3374558687210083e-01 + 4.1607481241226196e-01 + <_> + + 0 1 2052 -4.4914530590176582e-03 -1 -2 2053 + 1.6592369647696614e-03 + + 5.9974372386932373e-01 3.7271851301193237e-01 + 5.1156342029571533e-01 + <_> + + 0 1 2054 6.4695458859205246e-03 -1 -2 2055 + 4.9810269847512245e-03 + + 5.2520352602005005e-01 5.2567178010940552e-01 + 3.9344060420989990e-01 + <_> + + 0 1 2056 -3.8536980748176575e-02 -1 -2 2057 + -2.8275650739669800e-01 + + 2.0619249343872070e-01 6.1883211135864258e-02 + 4.9250578880310059e-01 + <_> + + 0 1 2058 -9.0301828458905220e-03 -1 -2 2059 + -4.3866269290447235e-02 + + 3.1575900316238403e-01 2.0336820185184479e-01 + 5.1647698879241943e-01 + <_> + + 0 1 2060 -4.5701069757342339e-03 -1 -2 2061 + -2.3362410720437765e-03 + + 6.6111832857131958e-01 2.8077891469001770e-01 + 4.9628761410713196e-01 + <_> + + 0 1 2062 5.3960331715643406e-03 -1 -2 2063 + -2.6297608856111765e-03 + + 5.1463878154754639e-01 6.2844878435134888e-01 + 4.9555888772010803e-01 + <_> + + 0 1 2064 -3.8577478844672441e-03 -1 -2 2065 + 1.3963800156489015e-03 + + 1.4867480099201202e-01 4.7013381123542786e-01 + 6.3209718465805054e-01 + <_> + + 1 0 2066 -8.8699469342827797e-03 -1 -2 2067 + -7.0626288652420044e-04 + + 5.2868181467056274e-01 4.6483701467514038e-01 + 5.3332102298736572e-01 + <_> + + 0 1 2068 4.2645810171961784e-03 -1 -2 2069 + 6.1572100967168808e-02 + + 5.0848782062530518e-01 3.6296251416206360e-01 + 8.7571567296981812e-01 + <_> + + 1 0 2070 -4.5381980016827583e-03 -1 -2 2071 + -4.0877899155020714e-03 + + 4.8566961288452148e-01 4.5841160416603088e-01 + 5.4202407598495483e-01 + <_> + + 1 0 2072 6.4308601431548595e-03 -1 -2 2073 + 7.0455260574817657e-03 + + 2.7073028683662415e-01 5.0574868917465210e-01 + 7.0265239477157593e-01 + <_> + + 1 0 2074 -2.3246440105140209e-03 -1 -2 2075 + 6.0276601288933307e-05 + + 4.8272788524627686e-01 4.2472490668296814e-01 + 5.5087631940841675e-01 + <_> + + 1 0 2076 1.8084559589624405e-02 -1 -2 2077 + 8.4693520329892635e-04 + + 8.1048011779785156e-01 5.1546192169189453e-01 + 3.5143798589706421e-01 + <_> + + 1 0 2078 -2.6931039988994598e-02 -1 -2 2079 + -4.2346641421318054e-03 + + 4.8868888616561890e-01 4.6223780512809753e-01 + 5.3824782371520996e-01 + <_> + + 1 0 2080 2.6947110891342163e-02 -1 -2 2081 + 4.6446882188320160e-03 + + 6.3665962219238281e-01 5.3685069084167480e-01 + 3.7654298543930054e-01 + <_> + + 0 1 2082 -6.9577661342918873e-03 -1 -2 2083 + 8.7609712500125170e-04 + + 4.2346870899200439e-01 4.6724060177803040e-01 + 5.3506839275360107e-01 + <_> + + 1 0 2084 1.6103329835459590e-03 -1 -2 2085 + -1.2848590267822146e-03 + + 5.7327628135681152e-01 5.4817992448806763e-01 + 3.7845930457115173e-01 + <_> + + 0 1 2086 1.0243539698421955e-02 -1 -2 2087 + 2.6889349101111293e-04 + + 5.1559072732925415e-01 5.3531897068023682e-01 + 4.3871539831161499e-01 + <_> + + 0 1 2088 3.7903659977018833e-03 -1 -2 2089 + -2.9369680210947990e-02 + + 5.0320029258728027e-01 5.8735388517379761e-01 + 2.2154450416564941e-01 + <_> + + 1 0 2090 6.0743088833987713e-03 -1 -2 2091 + -1.2710720300674438e-02 + + 5.4170298576354980e-01 6.0565119981765747e-01 + 4.9851819872856140e-01 + <_> + + 0 1 2092 -5.9445449151098728e-03 -1 -2 2093 + -2.8927479870617390e-03 + + 3.3520698547363281e-01 6.9292408227920532e-01 + 4.7782200574874878e-01 + + <_> + + <_> + 2 7 16 4 -1. + <_> + 2 9 16 2 2. + <_> + + <_> + 8 4 3 14 -1. + <_> + 8 11 3 7 2. + <_> + + <_> + 13 6 1 6 -1. + <_> + 13 9 1 3 2. + <_> + + <_> + 4 2 12 8 -1. + <_> + 8 2 4 8 3. + <_> + + <_> + 6 3 1 9 -1. + <_> + 6 6 1 3 3. + <_> + + <_> + 3 7 14 9 -1. + <_> + 3 10 14 3 3. + <_> + + <_> + 4 7 4 4 -1. + <_> + 4 9 4 2 2. + <_> + + <_> + 9 4 2 16 -1. + <_> + 9 12 2 8 2. + <_> + + <_> + 1 1 18 5 -1. + <_> + 7 1 6 5 3. + <_> + + <_> + 4 5 13 8 -1. + <_> + 4 9 13 4 2. + <_> + + <_> + 1 7 16 9 -1. + <_> + 1 10 16 3 3. + <_> + + <_> + 2 0 15 4 -1. + <_> + 2 2 15 2 2. + <_> + + <_> + 7 5 6 4 -1. + <_> + 9 5 2 4 3. + <_> + + <_> + 6 3 8 9 -1. + <_> + 6 6 8 3 3. + <_> + + <_> + 8 12 3 8 -1. + <_> + 8 16 3 4 2. + <_> + + <_> + 3 16 2 2 -1. + <_> + 3 17 2 1 2. + <_> + + <_> + 14 1 6 12 -1. + <_> + 14 1 3 12 2. + <_> + + <_> + 4 4 12 6 -1. + <_> + 8 4 4 6 3. + <_> + + <_> + 0 2 6 15 -1. + <_> + 3 2 3 15 2. + <_> + + <_> + 5 4 9 6 -1. + <_> + 5 6 9 2 3. + <_> + + <_> + 13 11 6 3 -1. + <_> + 13 12 6 1 3. + <_> + + <_> + 12 12 6 4 -1. + <_> + 12 14 6 2 2. + <_> + + <_> + 1 11 6 3 -1. + <_> + 1 12 6 1 3. + <_> + + <_> + 2 5 5 8 -1. + <_> + 2 9 5 4 2. + <_> + + <_> + 5 4 10 4 -1. + <_> + 5 6 10 2 2. + <_> + + <_> + 2 4 16 12 -1. + <_> + 2 8 16 4 3. + <_> + + <_> + 4 5 12 6 -1. + <_> + 8 5 4 6 3. + <_> + + <_> + 13 7 2 9 -1. + <_> + 13 10 2 3 3. + <_> + + <_> + 5 7 2 9 -1. + <_> + 5 10 2 3 3. + <_> + + <_> + 7 1 6 8 -1. + <_> + 9 1 2 8 3. + <_> + + <_> + 12 0 4 12 -1. + <_> + 14 0 2 6 2. + <_> + 12 6 2 6 2. + <_> + + <_> + 5 8 10 2 -1. + <_> + 5 9 10 1 2. + <_> + + <_> + 5 1 6 4 -1. + <_> + 7 1 2 4 3. + <_> + + <_> + 0 3 9 12 -1. + <_> + 3 3 3 12 3. + <_> + + <_> + 9 8 3 12 -1. + <_> + 9 12 3 4 3. + <_> + + <_> + 0 5 20 15 -1. + <_> + 0 10 20 5 3. + <_> + + <_> + 2 2 6 8 -1. + <_> + 2 2 3 4 2. + <_> + 5 6 3 4 2. + <_> + + <_> + 2 1 6 2 -1. + <_> + 2 2 6 1 2. + <_> + + <_> + 10 15 6 4 -1. + <_> + 13 15 3 2 2. + <_> + 10 17 3 2 2. + <_> + + <_> + 12 14 2 6 -1. + <_> + 12 16 2 2 3. + <_> + + <_> + 5 15 4 4 -1. + <_> + 5 15 2 2 2. + <_> + 7 17 2 2 2. + <_> + + <_> + 7 18 1 2 -1. + <_> + 7 19 1 1 2. + <_> + + <_> + 4 5 12 10 -1. + <_> + 10 5 6 5 2. + <_> + 4 10 6 5 2. + <_> + + <_> + 7 4 8 12 -1. + <_> + 11 4 4 6 2. + <_> + 7 10 4 6 2. + <_> + + <_> + 9 11 2 3 -1. + <_> + 9 12 2 1 3. + <_> + + <_> + 3 3 12 12 -1. + <_> + 3 3 6 6 2. + <_> + 9 9 6 6 2. + <_> + + <_> + 15 11 5 3 -1. + <_> + 15 12 5 1 3. + <_> + + <_> + 10 18 3 2 -1. + <_> + 11 18 1 2 3. + <_> + + <_> + 0 11 5 3 -1. + <_> + 0 12 5 1 3. + <_> + + <_> + 7 18 3 2 -1. + <_> + 8 18 1 2 3. + <_> + + <_> + 2 8 16 2 -1. + <_> + 2 9 16 1 2. + <_> + + <_> + 9 6 5 12 -1. + <_> + 9 12 5 6 2. + <_> + + <_> + 6 3 8 6 -1. + <_> + 6 6 8 3 2. + <_> + + <_> + 4 7 12 2 -1. + <_> + 8 7 4 2 3. + <_> + + <_> + 10 9 6 8 -1. + <_> + 10 13 6 4 2. + <_> + + <_> + 12 5 3 10 -1. + <_> + 12 10 3 5 2. + <_> + + <_> + 4 6 3 9 -1. + <_> + 4 9 3 3 3. + <_> + + <_> + 7 4 6 4 -1. + <_> + 9 4 2 4 3. + <_> + + <_> + 12 3 8 3 -1. + <_> + 12 3 4 3 2. + <_> + + <_> + 15 0 3 6 -1. + <_> + 15 3 3 3 2. + <_> + + <_> + 2 12 10 8 -1. + <_> + 2 12 5 4 2. + <_> + 7 16 5 4 2. + <_> + + <_> + 5 5 6 8 -1. + <_> + 5 9 6 4 2. + <_> + + <_> + 12 3 8 3 -1. + <_> + 12 3 4 3 2. + <_> + + <_> + 15 0 3 6 -1. + <_> + 15 3 3 3 2. + <_> + + <_> + 0 3 8 3 -1. + <_> + 4 3 4 3 2. + <_> + + <_> + 2 1 4 4 -1. + <_> + 2 3 4 2 2. + <_> + + <_> + 10 2 3 2 -1. + <_> + 11 2 1 2 3. + <_> + + <_> + 10 3 3 1 -1. + <_> + 11 3 1 1 3. + <_> + + <_> + 7 15 3 4 -1. + <_> + 7 17 3 2 2. + <_> + + <_> + 4 13 3 6 -1. + <_> + 4 15 3 2 3. + <_> + + <_> + 10 5 1 14 -1. + <_> + 10 12 1 7 2. + <_> + + <_> + 5 4 10 6 -1. + <_> + 5 6 10 2 3. + <_> + + <_> + 5 0 6 3 -1. + <_> + 7 0 2 3 3. + <_> + + <_> + 6 0 3 5 -1. + <_> + 7 0 1 5 3. + <_> + + <_> + 7 15 6 5 -1. + <_> + 9 15 2 5 3. + <_> + + <_> + 9 10 2 6 -1. + <_> + 9 12 2 2 3. + <_> + + <_> + 8 17 3 2 -1. + <_> + 9 17 1 2 3. + <_> + + <_> + 1 12 7 6 -1. + <_> + 1 14 7 2 3. + <_> + + <_> + 9 6 3 7 -1. + <_> + 10 6 1 7 3. + <_> + + <_> + 16 3 4 9 -1. + <_> + 16 6 4 3 3. + <_> + + <_> + 8 6 3 7 -1. + <_> + 9 6 1 7 3. + <_> + + <_> + 0 5 18 8 -1. + <_> + 0 5 9 4 2. + <_> + 9 9 9 4 2. + <_> + + <_> + 13 5 2 10 -1. + <_> + 13 10 2 5 2. + <_> + + <_> + 12 10 2 6 -1. + <_> + 12 13 2 3 2. + <_> + + <_> + 7 0 3 5 -1. + <_> + 8 0 1 5 3. + <_> + + <_> + 6 5 8 6 -1. + <_> + 6 7 8 2 3. + <_> + + <_> + 10 3 6 14 -1. + <_> + 13 3 3 7 2. + <_> + 10 10 3 7 2. + <_> + + <_> + 13 5 1 8 -1. + <_> + 13 9 1 4 2. + <_> + + <_> + 4 3 6 14 -1. + <_> + 4 3 3 7 2. + <_> + 7 10 3 7 2. + <_> + + <_> + 6 5 1 8 -1. + <_> + 6 9 1 4 2. + <_> + + <_> + 8 1 1 6 -1. + <_> + 8 3 1 2 3. + <_> + + <_> + 2 0 15 2 -1. + <_> + 2 1 15 1 2. + <_> + + <_> + 0 7 20 6 -1. + <_> + 0 9 20 2 3. + <_> + + <_> + 10 10 6 8 -1. + <_> + 10 14 6 4 2. + <_> + + <_> + 7 1 3 2 -1. + <_> + 8 1 1 2 3. + <_> + + <_> + 8 1 2 2 -1. + <_> + 9 1 1 2 2. + <_> + + <_> + 4 3 12 9 -1. + <_> + 4 6 12 3 3. + <_> + + <_> + 6 5 9 5 -1. + <_> + 9 5 3 5 3. + <_> + + <_> + 5 5 9 5 -1. + <_> + 8 5 3 5 3. + <_> + + <_> + 4 6 6 12 -1. + <_> + 4 10 6 4 3. + <_> + + <_> + 13 0 6 18 -1. + <_> + 13 0 3 18 2. + <_> + + <_> + 10 8 1 12 -1. + <_> + 10 12 1 4 3. + <_> + + <_> + 3 2 6 10 -1. + <_> + 3 2 3 5 2. + <_> + 6 7 3 5 2. + <_> + + <_> + 1 2 4 6 -1. + <_> + 3 2 2 6 2. + <_> + + <_> + 9 18 3 2 -1. + <_> + 10 18 1 2 3. + <_> + + <_> + 10 18 3 2 -1. + <_> + 11 18 1 2 3. + <_> + + <_> + 2 8 2 6 -1. + <_> + 2 10 2 2 3. + <_> + + <_> + 7 5 6 6 -1. + <_> + 7 7 6 2 3. + <_> + + <_> + 7 19 6 1 -1. + <_> + 9 19 2 1 3. + <_> + + <_> + 10 18 3 2 -1. + <_> + 11 18 1 2 3. + <_> + + <_> + 8 3 3 1 -1. + <_> + 9 3 1 1 3. + <_> + + <_> + 2 2 16 2 -1. + <_> + 2 2 8 1 2. + <_> + 10 3 8 1 2. + <_> + + <_> + 8 11 5 3 -1. + <_> + 8 12 5 1 3. + <_> + + <_> + 7 13 6 3 -1. + <_> + 7 14 6 1 3. + <_> + + <_> + 0 1 6 15 -1. + <_> + 2 1 2 15 3. + <_> + + <_> + 2 12 2 3 -1. + <_> + 2 13 2 1 3. + <_> + + <_> + 16 13 1 3 -1. + <_> + 16 14 1 1 3. + <_> + + <_> + 13 7 6 4 -1. + <_> + 16 7 3 2 2. + <_> + 13 9 3 2 2. + <_> + + <_> + 7 13 3 6 -1. + <_> + 7 16 3 3 2. + <_> + + <_> + 7 5 1 14 -1. + <_> + 7 12 1 7 2. + <_> + + <_> + 15 12 2 3 -1. + <_> + 15 13 2 1 3. + <_> + + <_> + 10 5 3 14 -1. + <_> + 10 12 3 7 2. + <_> + + <_> + 6 10 2 6 -1. + <_> + 6 13 2 3 2. + <_> + + <_> + 6 5 1 8 -1. + <_> + 6 9 1 4 2. + <_> + + <_> + 13 11 2 1 -1. + <_> + 13 11 1 1 2. + <_> + + <_> + 12 1 6 10 -1. + <_> + 15 1 3 5 2. + <_> + 12 6 3 5 2. + <_> + + <_> + 3 12 2 3 -1. + <_> + 3 13 2 1 3. + <_> + + <_> + 9 18 2 1 -1. + <_> + 10 18 1 1 2. + <_> + + <_> + 1 0 17 9 -1. + <_> + 1 3 17 3 3. + <_> + + <_> + 1 2 8 8 -1. + <_> + 1 2 4 4 2. + <_> + 5 6 4 4 2. + <_> + + <_> + 9 5 6 4 -1. + <_> + 9 5 3 4 2. + <_> + + <_> + 10 9 7 10 -1. + <_> + 10 14 7 5 2. + <_> + + <_> + 5 5 6 4 -1. + <_> + 8 5 3 4 2. + <_> + + <_> + 0 7 20 6 -1. + <_> + 0 9 20 2 3. + <_> + + <_> + 6 5 9 10 -1. + <_> + 6 10 9 5 2. + <_> + + <_> + 8 4 4 12 -1. + <_> + 8 10 4 6 2. + <_> + + <_> + 6 6 8 3 -1. + <_> + 6 7 8 1 3. + <_> + + <_> + 3 13 10 6 -1. + <_> + 3 13 5 3 2. + <_> + 8 16 5 3 2. + <_> + + <_> + 15 1 4 11 -1. + <_> + 15 1 2 11 2. + <_> + + <_> + 5 7 10 10 -1. + <_> + 10 7 5 5 2. + <_> + 5 12 5 5 2. + <_> + + <_> + 1 1 4 11 -1. + <_> + 3 1 2 11 2. + <_> + + <_> + 1 5 8 12 -1. + <_> + 1 11 8 6 2. + <_> + + <_> + 13 7 6 4 -1. + <_> + 16 7 3 2 2. + <_> + 13 9 3 2 2. + <_> + + <_> + 11 10 7 4 -1. + <_> + 11 12 7 2 2. + <_> + + <_> + 0 4 20 12 -1. + <_> + 0 4 10 6 2. + <_> + 10 10 10 6 2. + <_> + + <_> + 1 5 6 15 -1. + <_> + 1 10 6 5 3. + <_> + + <_> + 11 10 3 8 -1. + <_> + 11 14 3 4 2. + <_> + + <_> + 11 12 7 6 -1. + <_> + 11 14 7 2 3. + <_> + + <_> + 9 11 2 3 -1. + <_> + 9 12 2 1 3. + <_> + + <_> + 8 13 4 3 -1. + <_> + 8 14 4 1 3. + <_> + + <_> + 3 14 14 4 -1. + <_> + 10 14 7 2 2. + <_> + 3 16 7 2 2. + <_> + + <_> + 18 7 2 4 -1. + <_> + 18 9 2 2 2. + <_> + + <_> + 3 12 6 6 -1. + <_> + 3 14 6 2 3. + <_> + + <_> + 0 4 3 6 -1. + <_> + 0 6 3 2 3. + <_> + + <_> + 9 14 3 3 -1. + <_> + 9 15 3 1 3. + <_> + + <_> + 10 7 10 4 -1. + <_> + 15 7 5 2 2. + <_> + 10 9 5 2 2. + <_> + + <_> + 7 2 6 8 -1. + <_> + 7 6 6 4 2. + <_> + + <_> + 6 3 6 2 -1. + <_> + 8 3 2 2 3. + <_> + + <_> + 10 6 3 5 -1. + <_> + 11 6 1 5 3. + <_> + + <_> + 9 0 6 19 -1. + <_> + 11 0 2 19 3. + <_> + + <_> + 3 12 1 2 -1. + <_> + 3 13 1 1 2. + <_> + + <_> + 7 14 5 3 -1. + <_> + 7 15 5 1 3. + <_> + + <_> + 2 1 18 4 -1. + <_> + 11 1 9 2 2. + <_> + 2 3 9 2 2. + <_> + + <_> + 10 5 3 8 -1. + <_> + 11 5 1 8 3. + <_> + + <_> + 0 1 18 4 -1. + <_> + 0 1 9 2 2. + <_> + 9 3 9 2 2. + <_> + + <_> + 7 5 3 8 -1. + <_> + 8 5 1 8 3. + <_> + + <_> + 9 5 2 6 -1. + <_> + 9 7 2 2 3. + <_> + + <_> + 10 8 5 2 -1. + <_> + 10 9 5 1 2. + <_> + + <_> + 2 10 15 1 -1. + <_> + 7 10 5 1 3. + <_> + + <_> + 2 7 2 6 -1. + <_> + 2 9 2 2 3. + <_> + + <_> + 9 14 3 3 -1. + <_> + 9 15 3 1 3. + <_> + + <_> + 9 7 4 10 -1. + <_> + 9 12 4 5 2. + <_> + + <_> + 0 8 8 2 -1. + <_> + 0 8 4 1 2. + <_> + 4 9 4 1 2. + <_> + + <_> + 5 9 10 8 -1. + <_> + 5 9 5 4 2. + <_> + 10 13 5 4 2. + <_> + + <_> + 9 7 2 4 -1. + <_> + 9 7 1 4 2. + <_> + + <_> + 9 6 3 4 -1. + <_> + 10 6 1 4 3. + <_> + + <_> + 8 3 2 1 -1. + <_> + 9 3 1 1 2. + <_> + + <_> + 8 6 3 4 -1. + <_> + 9 6 1 4 3. + <_> + + <_> + 12 0 4 14 -1. + <_> + 14 0 2 7 2. + <_> + 12 7 2 7 2. + <_> + + <_> + 12 5 6 9 -1. + <_> + 12 5 3 9 2. + <_> + + <_> + 0 2 6 16 -1. + <_> + 3 2 3 16 2. + <_> + + <_> + 1 12 4 2 -1. + <_> + 1 13 4 1 2. + <_> + + <_> + 7 7 6 1 -1. + <_> + 9 7 2 1 3. + <_> + + <_> + 8 3 4 9 -1. + <_> + 8 6 4 3 3. + <_> + + <_> + 12 10 4 6 -1. + <_> + 12 13 4 3 2. + <_> + + <_> + 8 1 8 16 -1. + <_> + 12 1 4 8 2. + <_> + 8 9 4 8 2. + <_> + + <_> + 4 6 3 6 -1. + <_> + 4 9 3 3 2. + <_> + + <_> + 1 3 6 2 -1. + <_> + 4 3 3 2 2. + <_> + + <_> + 9 8 3 12 -1. + <_> + 9 12 3 4 3. + <_> + + <_> + 10 9 7 10 -1. + <_> + 10 14 7 5 2. + <_> + + <_> + 3 9 7 10 -1. + <_> + 3 14 7 5 2. + <_> + + <_> + 7 5 1 14 -1. + <_> + 7 12 1 7 2. + <_> + + <_> + 13 14 1 6 -1. + <_> + 13 16 1 2 3. + <_> + + <_> + 14 12 3 6 -1. + <_> + 14 14 3 2 3. + <_> + + <_> + 6 14 1 6 -1. + <_> + 6 16 1 2 3. + <_> + + <_> + 3 12 3 6 -1. + <_> + 3 14 3 2 3. + <_> + + <_> + 8 13 5 3 -1. + <_> + 8 14 5 1 3. + <_> + + <_> + 9 14 2 3 -1. + <_> + 9 15 2 1 3. + <_> + + <_> + 5 1 10 8 -1. + <_> + 5 1 5 4 2. + <_> + 10 5 5 4 2. + <_> + + <_> + 6 4 5 4 -1. + <_> + 6 6 5 2 2. + <_> + + <_> + 1 10 18 1 -1. + <_> + 7 10 6 1 3. + <_> + + <_> + 11 10 4 3 -1. + <_> + 11 10 2 3 2. + <_> + + <_> + 5 11 6 1 -1. + <_> + 7 11 2 1 3. + <_> + + <_> + 3 13 2 3 -1. + <_> + 3 14 2 1 3. + <_> + + <_> + 12 12 3 4 -1. + <_> + 12 14 3 2 2. + <_> + + <_> + 11 10 5 6 -1. + <_> + 11 12 5 2 3. + <_> + + <_> + 0 8 16 2 -1. + <_> + 0 9 16 1 2. + <_> + + <_> + 2 1 3 4 -1. + <_> + 2 3 3 2 2. + <_> + + <_> + 9 7 3 3 -1. + <_> + 10 7 1 3 3. + <_> + + <_> + 5 6 12 6 -1. + <_> + 9 6 4 6 3. + <_> + + <_> + 8 7 3 3 -1. + <_> + 9 7 1 3 3. + <_> + + <_> + 3 6 12 6 -1. + <_> + 7 6 4 6 3. + <_> + + <_> + 10 5 6 5 -1. + <_> + 12 5 2 5 3. + <_> + + <_> + 5 7 10 2 -1. + <_> + 5 7 5 2 2. + <_> + + <_> + 4 5 6 5 -1. + <_> + 6 5 2 5 3. + <_> + + <_> + 9 3 2 10 -1. + <_> + 9 8 2 5 2. + <_> + + <_> + 3 1 16 2 -1. + <_> + 11 1 8 1 2. + <_> + 3 2 8 1 2. + <_> + + <_> + 9 9 3 2 -1. + <_> + 9 10 3 1 2. + <_> + + <_> + 1 1 16 2 -1. + <_> + 1 1 8 1 2. + <_> + 9 2 8 1 2. + <_> + + <_> + 8 14 1 3 -1. + <_> + 8 15 1 1 3. + <_> + + <_> + 4 5 12 10 -1. + <_> + 10 5 6 5 2. + <_> + 4 10 6 5 2. + <_> + + <_> + 7 13 6 6 -1. + <_> + 10 13 3 3 2. + <_> + 7 16 3 3 2. + <_> + + <_> + 8 9 3 2 -1. + <_> + 8 10 3 1 2. + <_> + + <_> + 7 2 6 4 -1. + <_> + 9 2 2 4 3. + <_> + + <_> + 6 6 9 3 -1. + <_> + 6 7 9 1 3. + <_> + + <_> + 10 7 6 1 -1. + <_> + 12 7 2 1 3. + <_> + + <_> + 0 0 18 6 -1. + <_> + 6 0 6 6 3. + <_> + + <_> + 6 10 2 6 -1. + <_> + 6 13 2 3 2. + <_> + + <_> + 11 12 3 6 -1. + <_> + 11 15 3 3 2. + <_> + + <_> + 4 4 12 12 -1. + <_> + 10 4 6 6 2. + <_> + 4 10 6 6 2. + <_> + + <_> + 1 2 3 6 -1. + <_> + 2 2 1 6 3. + <_> + + <_> + 1 5 3 7 -1. + <_> + 2 5 1 7 3. + <_> + + <_> + 4 13 12 4 -1. + <_> + 10 13 6 2 2. + <_> + 4 15 6 2 2. + <_> + + <_> + 3 3 17 12 -1. + <_> + 3 9 17 6 2. + <_> + + <_> + 3 3 14 12 -1. + <_> + 3 3 7 6 2. + <_> + 10 9 7 6 2. + <_> + + <_> + 2 11 16 9 -1. + <_> + 2 14 16 3 3. + <_> + + <_> + 9 14 3 6 -1. + <_> + 9 17 3 3 2. + <_> + + <_> + 8 14 4 6 -1. + <_> + 10 14 2 3 2. + <_> + 8 17 2 3 2. + <_> + + <_> + 6 2 6 1 -1. + <_> + 8 2 2 1 3. + <_> + + <_> + 9 5 2 5 -1. + <_> + 10 5 1 5 2. + <_> + + <_> + 9 8 3 5 -1. + <_> + 10 8 1 5 3. + <_> + + <_> + 9 12 6 1 -1. + <_> + 9 12 3 1 2. + <_> + + <_> + 8 8 3 5 -1. + <_> + 9 8 1 5 3. + <_> + + <_> + 6 10 4 3 -1. + <_> + 8 10 2 3 2. + <_> + + <_> + 0 4 20 6 -1. + <_> + 0 6 20 2 3. + <_> + + <_> + 1 3 8 6 -1. + <_> + 1 3 4 3 2. + <_> + 5 6 4 3 2. + <_> + + <_> + 7 15 6 4 -1. + <_> + 7 17 6 2 2. + <_> + + <_> + 3 10 14 10 -1. + <_> + 3 15 14 5 2. + <_> + + <_> + 6 4 4 4 -1. + <_> + 8 4 2 4 2. + <_> + + <_> + 0 4 20 10 -1. + <_> + 0 9 20 5 2. + <_> + + <_> + 9 4 2 14 -1. + <_> + 9 11 2 7 2. + <_> + + <_> + 2 0 16 4 -1. + <_> + 2 2 16 2 2. + <_> + + <_> + 4 12 6 8 -1. + <_> + 4 12 3 4 2. + <_> + 7 16 3 4 2. + <_> + + <_> + 0 5 6 7 -1. + <_> + 3 5 3 7 2. + <_> + + <_> + 10 7 10 4 -1. + <_> + 15 7 5 2 2. + <_> + 10 9 5 2 2. + <_> + + <_> + 5 8 12 1 -1. + <_> + 9 8 4 1 3. + <_> + + <_> + 9 9 2 2 -1. + <_> + 9 10 2 1 2. + <_> + + <_> + 9 4 2 4 -1. + <_> + 9 6 2 2 2. + <_> + + <_> + 9 6 3 6 -1. + <_> + 10 6 1 6 3. + <_> + + <_> + 12 7 6 4 -1. + <_> + 15 7 3 2 2. + <_> + 12 9 3 2 2. + <_> + + <_> + 8 6 3 6 -1. + <_> + 9 6 1 6 3. + <_> + + <_> + 1 6 18 6 -1. + <_> + 1 6 9 3 2. + <_> + 10 9 9 3 2. + <_> + + <_> + 9 1 3 3 -1. + <_> + 10 1 1 3 3. + <_> + + <_> + 10 8 5 2 -1. + <_> + 10 9 5 1 2. + <_> + + <_> + 8 1 3 3 -1. + <_> + 9 1 1 3 3. + <_> + + <_> + 5 8 5 2 -1. + <_> + 5 9 5 1 2. + <_> + + <_> + 8 6 8 8 -1. + <_> + 12 6 4 4 2. + <_> + 8 10 4 4 2. + <_> + + <_> + 5 7 10 2 -1. + <_> + 5 7 5 2 2. + <_> + + <_> + 4 5 12 10 -1. + <_> + 4 5 6 5 2. + <_> + 10 10 6 5 2. + <_> + + <_> + 5 5 2 3 -1. + <_> + 5 6 2 1 3. + <_> + + <_> + 7 14 6 3 -1. + <_> + 7 15 6 1 3. + <_> + + <_> + 9 14 3 3 -1. + <_> + 9 15 3 1 3. + <_> + + <_> + 8 14 3 3 -1. + <_> + 8 15 3 1 3. + <_> + + <_> + 1 10 8 9 -1. + <_> + 1 13 8 3 3. + <_> + + <_> + 9 7 2 3 -1. + <_> + 9 8 2 1 3. + <_> + + <_> + 12 3 3 3 -1. + <_> + 13 3 1 3 3. + <_> + + <_> + 5 3 3 3 -1. + <_> + 6 3 1 3 3. + <_> + + <_> + 5 6 2 12 -1. + <_> + 5 10 2 4 3. + <_> + + <_> + 1 11 18 4 -1. + <_> + 10 11 9 2 2. + <_> + 1 13 9 2 2. + <_> + + <_> + 7 12 6 2 -1. + <_> + 7 13 6 1 2. + <_> + + <_> + 6 0 3 6 -1. + <_> + 7 0 1 6 3. + <_> + + <_> + 0 11 18 4 -1. + <_> + 0 11 9 2 2. + <_> + 9 13 9 2 2. + <_> + + <_> + 7 12 6 2 -1. + <_> + 7 13 6 1 2. + <_> + + <_> + 9 12 3 3 -1. + <_> + 9 13 3 1 3. + <_> + + <_> + 9 12 2 3 -1. + <_> + 9 13 2 1 3. + <_> + + <_> + 8 11 4 3 -1. + <_> + 8 12 4 1 3. + <_> + + <_> + 13 3 4 2 -1. + <_> + 13 4 4 1 2. + <_> + + <_> + 4 0 12 2 -1. + <_> + 4 1 12 1 2. + <_> + + <_> + 6 9 8 8 -1. + <_> + 6 9 4 4 2. + <_> + 10 13 4 4 2. + <_> + + <_> + 1 11 6 2 -1. + <_> + 1 12 6 1 2. + <_> + + <_> + 2 5 18 8 -1. + <_> + 11 5 9 4 2. + <_> + 2 9 9 4 2. + <_> + + <_> + 7 1 6 10 -1. + <_> + 7 6 6 5 2. + <_> + + <_> + 0 3 3 6 -1. + <_> + 0 5 3 2 3. + <_> + + <_> + 4 5 4 3 -1. + <_> + 4 6 4 1 3. + <_> + + <_> + 19 3 1 6 -1. + <_> + 19 5 1 2 3. + <_> + + <_> + 6 15 8 2 -1. + <_> + 6 16 8 1 2. + <_> + + <_> + 0 3 1 6 -1. + <_> + 0 5 1 2 3. + <_> + + <_> + 5 5 3 3 -1. + <_> + 5 6 3 1 3. + <_> + + <_> + 8 8 4 3 -1. + <_> + 8 9 4 1 3. + <_> + + <_> + 10 6 6 3 -1. + <_> + 12 6 2 3 3. + <_> + + <_> + 8 13 2 6 -1. + <_> + 8 16 2 3 2. + <_> + + <_> + 9 11 2 8 -1. + <_> + 9 15 2 4 2. + <_> + + <_> + 10 6 6 3 -1. + <_> + 12 6 2 3 3. + <_> + + <_> + 5 15 15 5 -1. + <_> + 10 15 5 5 3. + <_> + + <_> + 2 14 2 2 -1. + <_> + 2 15 2 1 2. + <_> + + <_> + 4 7 6 2 -1. + <_> + 6 7 2 2 3. + <_> + + <_> + 8 3 6 1 -1. + <_> + 10 3 2 1 3. + <_> + + <_> + 1 0 18 12 -1. + <_> + 7 0 6 12 3. + <_> + + <_> + 0 14 8 6 -1. + <_> + 4 14 4 6 2. + <_> + + <_> + 0 15 15 5 -1. + <_> + 5 15 5 5 3. + <_> + + <_> + 8 3 6 1 -1. + <_> + 10 3 2 1 3. + <_> + + <_> + 11 11 3 6 -1. + <_> + 11 14 3 3 2. + <_> + + <_> + 6 3 6 1 -1. + <_> + 8 3 2 1 3. + <_> + + <_> + 6 11 3 6 -1. + <_> + 6 14 3 3 2. + <_> + + <_> + 9 6 3 4 -1. + <_> + 10 6 1 4 3. + <_> + + <_> + 12 10 4 7 -1. + <_> + 12 10 2 7 2. + <_> + + <_> + 8 6 3 4 -1. + <_> + 9 6 1 4 3. + <_> + + <_> + 4 6 4 7 -1. + <_> + 6 6 2 7 2. + <_> + + <_> + 10 3 4 12 -1. + <_> + 10 3 2 12 2. + <_> + + <_> + 10 8 3 4 -1. + <_> + 11 8 1 4 3. + <_> + + <_> + 1 0 18 14 -1. + <_> + 7 0 6 14 3. + <_> + + <_> + 2 8 6 11 -1. + <_> + 5 8 3 11 2. + <_> + + <_> + 1 4 15 4 -1. + <_> + 1 6 15 2 2. + <_> + + <_> + 5 5 10 8 -1. + <_> + 5 9 10 4 2. + <_> + + <_> + 14 2 6 8 -1. + <_> + 14 2 3 8 2. + <_> + + <_> + 11 6 6 14 -1. + <_> + 14 6 3 7 2. + <_> + 11 13 3 7 2. + <_> + + <_> + 9 5 2 12 -1. + <_> + 9 11 2 6 2. + <_> + + <_> + 3 7 4 6 -1. + <_> + 3 9 4 2 3. + <_> + + <_> + 14 3 6 6 -1. + <_> + 14 3 3 6 2. + <_> + + <_> + 15 2 4 4 -1. + <_> + 15 4 4 2 2. + <_> + + <_> + 0 2 6 7 -1. + <_> + 3 2 3 7 2. + <_> + + <_> + 3 6 6 14 -1. + <_> + 3 6 3 7 2. + <_> + 6 13 3 7 2. + <_> + + <_> + 4 6 16 8 -1. + <_> + 4 10 16 4 2. + <_> + + <_> + 10 12 2 8 -1. + <_> + 10 16 2 4 2. + <_> + + <_> + 7 0 6 20 -1. + <_> + 9 0 2 20 3. + <_> + + <_> + 1 7 16 12 -1. + <_> + 1 7 8 6 2. + <_> + 9 13 8 6 2. + <_> + + <_> + 9 11 3 3 -1. + <_> + 9 12 3 1 3. + <_> + + <_> + 11 9 4 5 -1. + <_> + 11 9 2 5 2. + <_> + + <_> + 3 3 1 2 -1. + <_> + 3 4 1 1 2. + <_> + + <_> + 7 17 5 3 -1. + <_> + 7 18 5 1 3. + <_> + + <_> + 8 12 4 8 -1. + <_> + 10 12 2 4 2. + <_> + 8 16 2 4 2. + <_> + + <_> + 7 4 10 12 -1. + <_> + 12 4 5 6 2. + <_> + 7 10 5 6 2. + <_> + + <_> + 8 14 4 3 -1. + <_> + 8 15 4 1 3. + <_> + + <_> + 5 9 4 5 -1. + <_> + 7 9 2 5 2. + <_> + + <_> + 9 9 8 2 -1. + <_> + 9 9 4 2 2. + <_> + + <_> + 14 15 5 2 -1. + <_> + 14 16 5 1 2. + <_> + + <_> + 9 14 2 3 -1. + <_> + 9 15 2 1 3. + <_> + + <_> + 1 7 8 4 -1. + <_> + 1 7 4 2 2. + <_> + 5 9 4 2 2. + <_> + + <_> + 19 3 1 2 -1. + <_> + 19 4 1 1 2. + <_> + + <_> + 9 12 2 3 -1. + <_> + 9 13 2 1 3. + <_> + + <_> + 3 14 14 4 -1. + <_> + 3 14 7 2 2. + <_> + 10 16 7 2 2. + <_> + + <_> + 5 0 10 2 -1. + <_> + 5 1 10 1 2. + <_> + + <_> + 11 14 4 6 -1. + <_> + 11 16 4 2 3. + <_> + + <_> + 7 14 6 3 -1. + <_> + 7 15 6 1 3. + <_> + + <_> + 7 13 6 6 -1. + <_> + 7 13 3 3 2. + <_> + 10 16 3 3 2. + <_> + + <_> + 0 2 1 6 -1. + <_> + 0 4 1 2 3. + <_> + + <_> + 6 7 8 2 -1. + <_> + 6 8 8 1 2. + <_> + + <_> + 9 7 6 1 -1. + <_> + 9 7 3 1 2. + <_> + + <_> + 7 1 6 10 -1. + <_> + 7 6 6 5 2. + <_> + + <_> + 0 2 6 2 -1. + <_> + 0 3 6 1 2. + <_> + + <_> + 11 4 2 4 -1. + <_> + 11 4 1 4 2. + <_> + + <_> + 11 10 3 6 -1. + <_> + 11 13 3 3 2. + <_> + + <_> + 3 9 8 2 -1. + <_> + 7 9 4 2 2. + <_> + + <_> + 0 0 4 6 -1. + <_> + 2 0 2 6 2. + <_> + + <_> + 7 0 6 2 -1. + <_> + 9 0 2 2 3. + <_> + + <_> + 9 15 2 3 -1. + <_> + 9 16 2 1 3. + <_> + + <_> + 3 12 1 2 -1. + <_> + 3 13 1 1 2. + <_> + + <_> + 4 5 11 3 -1. + <_> + 4 6 11 1 3. + <_> + + <_> + 11 4 2 4 -1. + <_> + 11 4 1 4 2. + <_> + + <_> + 8 3 6 3 -1. + <_> + 10 3 2 3 3. + <_> + + <_> + 7 4 2 4 -1. + <_> + 8 4 1 4 2. + <_> + + <_> + 6 3 6 3 -1. + <_> + 8 3 2 3 3. + <_> + + <_> + 11 4 4 3 -1. + <_> + 11 5 4 1 3. + <_> + + <_> + 11 8 2 8 -1. + <_> + 11 12 2 4 2. + <_> + + <_> + 8 7 3 5 -1. + <_> + 9 7 1 5 3. + <_> + + <_> + 9 7 2 5 -1. + <_> + 10 7 1 5 2. + <_> + + <_> + 14 11 1 6 -1. + <_> + 14 13 1 2 3. + <_> + + <_> + 8 8 4 3 -1. + <_> + 8 9 4 1 3. + <_> + + <_> + 0 3 2 2 -1. + <_> + 0 4 2 1 2. + <_> + + <_> + 4 14 5 6 -1. + <_> + 4 16 5 2 3. + <_> + + <_> + 11 4 4 3 -1. + <_> + 11 5 4 1 3. + <_> + + <_> + 12 4 3 3 -1. + <_> + 12 5 3 1 3. + <_> + + <_> + 5 4 4 3 -1. + <_> + 5 5 4 1 3. + <_> + + <_> + 5 15 4 2 -1. + <_> + 7 15 2 2 2. + <_> + + <_> + 15 1 5 9 -1. + <_> + 15 4 5 3 3. + <_> + + <_> + 9 10 3 3 -1. + <_> + 9 11 3 1 3. + <_> + + <_> + 1 6 2 6 -1. + <_> + 1 8 2 2 3. + <_> + + <_> + 2 4 8 15 -1. + <_> + 2 9 8 5 3. + <_> + + <_> + 9 12 3 2 -1. + <_> + 9 13 3 1 2. + <_> + + <_> + 9 12 3 3 -1. + <_> + 9 13 3 1 3. + <_> + + <_> + 7 6 3 5 -1. + <_> + 8 6 1 5 3. + <_> + + <_> + 5 3 6 2 -1. + <_> + 7 3 2 2 3. + <_> + + <_> + 6 1 8 10 -1. + <_> + 10 1 4 5 2. + <_> + 6 6 4 5 2. + <_> + + <_> + 0 0 20 10 -1. + <_> + 10 0 10 5 2. + <_> + 0 5 10 5 2. + <_> + + <_> + 6 3 3 1 -1. + <_> + 7 3 1 1 3. + <_> + + <_> + 0 2 6 8 -1. + <_> + 2 2 2 8 3. + <_> + + <_> + 11 10 3 4 -1. + <_> + 11 12 3 2 2. + <_> + + <_> + 12 6 3 8 -1. + <_> + 12 10 3 4 2. + <_> + + <_> + 6 10 3 4 -1. + <_> + 6 12 3 2 2. + <_> + + <_> + 5 6 3 8 -1. + <_> + 5 10 3 4 2. + <_> + + <_> + 2 6 18 6 -1. + <_> + 11 6 9 3 2. + <_> + 2 9 9 3 2. + <_> + + <_> + 7 14 7 3 -1. + <_> + 7 15 7 1 3. + <_> + + <_> + 0 0 2 12 -1. + <_> + 1 0 1 12 2. + <_> + + <_> + 1 2 18 16 -1. + <_> + 1 10 18 8 2. + <_> + + <_> + 9 13 5 3 -1. + <_> + 9 14 5 1 3. + <_> + + <_> + 8 13 4 3 -1. + <_> + 8 14 4 1 3. + <_> + + <_> + 0 6 18 6 -1. + <_> + 0 6 9 3 2. + <_> + 9 9 9 3 2. + <_> + + <_> + 7 13 6 3 -1. + <_> + 7 14 6 1 3. + <_> + + <_> + 17 4 1 3 -1. + <_> + 17 5 1 1 3. + <_> + + <_> + 12 11 1 9 -1. + <_> + 12 14 1 3 3. + <_> + + <_> + 2 4 1 3 -1. + <_> + 2 5 1 1 3. + <_> + + <_> + 5 4 2 3 -1. + <_> + 5 5 2 1 3. + <_> + + <_> + 1 2 18 3 -1. + <_> + 7 2 6 3 3. + <_> + + <_> + 0 1 20 6 -1. + <_> + 0 3 20 2 3. + <_> + + <_> + 7 5 6 3 -1. + <_> + 9 5 2 3 3. + <_> + + <_> + 13 7 6 4 -1. + <_> + 16 7 3 2 2. + <_> + 13 9 3 2 2. + <_> + + <_> + 3 1 4 10 -1. + <_> + 3 1 2 5 2. + <_> + 5 6 2 5 2. + <_> + + <_> + 0 4 19 10 -1. + <_> + 0 9 19 5 2. + <_> + + <_> + 9 8 3 12 -1. + <_> + 9 12 3 4 3. + <_> + + <_> + 11 18 5 2 -1. + <_> + 11 19 5 1 2. + <_> + + <_> + 5 16 6 4 -1. + <_> + 5 16 3 2 2. + <_> + 8 18 3 2 2. + <_> + + <_> + 5 18 3 2 -1. + <_> + 5 19 3 1 2. + <_> + + <_> + 13 11 3 2 -1. + <_> + 13 12 3 1 2. + <_> + + <_> + 8 5 8 4 -1. + <_> + 8 5 4 4 2. + <_> + + <_> + 1 2 18 6 -1. + <_> + 1 2 9 3 2. + <_> + 10 5 9 3 2. + <_> + + <_> + 3 5 14 6 -1. + <_> + 3 7 14 2 3. + <_> + + <_> + 18 1 2 6 -1. + <_> + 18 3 2 2 3. + <_> + + <_> + 9 11 6 1 -1. + <_> + 11 11 2 1 3. + <_> + + <_> + 0 2 6 11 -1. + <_> + 3 2 3 11 2. + <_> + + <_> + 4 12 2 3 -1. + <_> + 4 13 2 1 3. + <_> + + <_> + 6 12 9 2 -1. + <_> + 9 12 3 2 3. + <_> + + <_> + 9 4 6 15 -1. + <_> + 9 4 3 15 2. + <_> + + <_> + 5 11 6 1 -1. + <_> + 7 11 2 1 3. + <_> + + <_> + 5 4 6 15 -1. + <_> + 8 4 3 15 2. + <_> + + <_> + 14 12 6 7 -1. + <_> + 14 12 3 7 2. + <_> + + <_> + 18 3 2 9 -1. + <_> + 18 6 2 3 3. + <_> + + <_> + 8 1 3 1 -1. + <_> + 9 1 1 1 3. + <_> + + <_> + 0 12 6 7 -1. + <_> + 3 12 3 7 2. + <_> + + <_> + 13 7 6 4 -1. + <_> + 16 7 3 2 2. + <_> + 13 9 3 2 2. + <_> + + <_> + 8 0 10 2 -1. + <_> + 8 1 10 1 2. + <_> + + <_> + 1 7 6 4 -1. + <_> + 1 7 3 2 2. + <_> + 4 9 3 2 2. + <_> + + <_> + 1 2 3 3 -1. + <_> + 1 3 3 1 3. + <_> + + <_> + 9 13 4 3 -1. + <_> + 9 14 4 1 3. + <_> + + <_> + 12 13 7 2 -1. + <_> + 12 14 7 1 2. + <_> + + <_> + 5 12 9 2 -1. + <_> + 8 12 3 2 3. + <_> + + <_> + 6 10 4 8 -1. + <_> + 6 14 4 4 2. + <_> + + <_> + 1 0 18 4 -1. + <_> + 7 0 6 4 3. + <_> + + <_> + 12 0 5 2 -1. + <_> + 12 1 5 1 2. + <_> + + <_> + 7 7 1 12 -1. + <_> + 7 13 1 6 2. + <_> + + <_> + 6 2 3 4 -1. + <_> + 7 2 1 4 3. + <_> + + <_> + 0 13 20 6 -1. + <_> + 0 15 20 2 3. + <_> + + <_> + 8 5 12 2 -1. + <_> + 14 5 6 1 2. + <_> + 8 6 6 1 2. + <_> + + <_> + 8 14 2 3 -1. + <_> + 8 15 2 1 3. + <_> + + <_> + 8 14 4 3 -1. + <_> + 8 15 4 1 3. + <_> + + <_> + 12 13 7 6 -1. + <_> + 12 15 7 2 3. + <_> + + <_> + 6 0 8 12 -1. + <_> + 10 0 4 6 2. + <_> + 6 6 4 6 2. + <_> + + <_> + 0 15 9 4 -1. + <_> + 0 17 9 2 2. + <_> + + <_> + 9 0 2 5 -1. + <_> + 10 0 1 5 2. + <_> + + <_> + 9 5 2 6 -1. + <_> + 9 5 1 6 2. + <_> + + <_> + 17 2 3 6 -1. + <_> + 17 4 3 2 3. + <_> + + <_> + 3 11 2 3 -1. + <_> + 3 12 2 1 3. + <_> + + <_> + 7 13 3 3 -1. + <_> + 7 14 3 1 3. + <_> + + <_> + 14 12 5 3 -1. + <_> + 14 13 5 1 3. + <_> + + <_> + 4 8 14 3 -1. + <_> + 4 9 14 1 3. + <_> + + <_> + 1 12 5 3 -1. + <_> + 1 13 5 1 3. + <_> + + <_> + 1 15 12 2 -1. + <_> + 1 15 6 1 2. + <_> + 7 16 6 1 2. + <_> + + <_> + 12 11 4 2 -1. + <_> + 12 12 4 1 2. + <_> + + <_> + 9 8 3 5 -1. + <_> + 10 8 1 5 3. + <_> + + <_> + 9 5 2 6 -1. + <_> + 10 5 1 6 2. + <_> + + <_> + 0 2 3 6 -1. + <_> + 0 4 3 2 3. + <_> + + <_> + 12 11 4 2 -1. + <_> + 12 12 4 1 2. + <_> + + <_> + 9 7 3 5 -1. + <_> + 10 7 1 5 3. + <_> + + <_> + 4 11 4 2 -1. + <_> + 4 12 4 1 2. + <_> + + <_> + 8 8 3 5 -1. + <_> + 9 8 1 5 3. + <_> + + <_> + 9 3 3 1 -1. + <_> + 10 3 1 1 3. + <_> + + <_> + 16 5 3 8 -1. + <_> + 17 5 1 8 3. + <_> + + <_> + 8 3 3 1 -1. + <_> + 9 3 1 1 3. + <_> + + <_> + 1 5 3 8 -1. + <_> + 2 5 1 8 3. + <_> + + <_> + 10 1 3 3 -1. + <_> + 11 1 1 3 3. + <_> + + <_> + 17 5 2 4 -1. + <_> + 17 5 1 4 2. + <_> + + <_> + 2 8 14 3 -1. + <_> + 2 9 14 1 3. + <_> + + <_> + 9 7 1 3 -1. + <_> + 9 8 1 1 3. + <_> + + <_> + 6 1 8 10 -1. + <_> + 6 6 8 5 2. + <_> + + <_> + 13 0 6 8 -1. + <_> + 16 0 3 4 2. + <_> + 13 4 3 4 2. + <_> + + <_> + 1 5 2 4 -1. + <_> + 2 5 1 4 2. + <_> + + <_> + 4 2 12 2 -1. + <_> + 4 3 12 1 2. + <_> + + <_> + 8 8 4 4 -1. + <_> + 8 10 4 2 2. + <_> + + <_> + 5 6 12 4 -1. + <_> + 9 6 4 4 3. + <_> + + <_> + 1 2 8 1 -1. + <_> + 5 2 4 1 2. + <_> + + <_> + 1 1 6 10 -1. + <_> + 3 1 2 10 3. + <_> + + <_> + 8 6 8 2 -1. + <_> + 8 6 4 2 2. + <_> + + <_> + 10 7 6 6 -1. + <_> + 12 7 2 6 3. + <_> + + <_> + 4 6 8 2 -1. + <_> + 8 6 4 2 2. + <_> + + <_> + 4 7 6 6 -1. + <_> + 6 7 2 6 3. + <_> + + <_> + 3 14 16 4 -1. + <_> + 3 16 16 2 2. + <_> + + <_> + 8 12 4 2 -1. + <_> + 8 13 4 1 2. + <_> + + <_> + 8 12 3 3 -1. + <_> + 8 13 3 1 3. + <_> + + <_> + 5 12 6 1 -1. + <_> + 8 12 3 1 2. + <_> + + <_> + 18 10 2 3 -1. + <_> + 18 11 2 1 3. + <_> + + <_> + 16 8 4 6 -1. + <_> + 16 10 4 2 3. + <_> + + <_> + 8 3 2 1 -1. + <_> + 9 3 1 1 2. + <_> + + <_> + 7 1 3 9 -1. + <_> + 8 1 1 9 3. + <_> + + <_> + 5 11 11 6 -1. + <_> + 5 14 11 3 2. + <_> + + <_> + 12 2 3 14 -1. + <_> + 12 9 3 7 2. + <_> + + <_> + 8 7 3 3 -1. + <_> + 9 7 1 3 3. + <_> + + <_> + 3 5 12 5 -1. + <_> + 7 5 4 5 3. + <_> + + <_> + 1 2 6 3 -1. + <_> + 4 2 3 3 2. + <_> + + <_> + 5 5 6 10 -1. + <_> + 5 5 3 5 2. + <_> + 8 10 3 5 2. + <_> + + <_> + 16 18 2 2 -1. + <_> + 16 18 1 2 2. + <_> + + <_> + 16 18 2 2 -1. + <_> + 16 18 1 2 2. + <_> + + <_> + 8 4 2 5 -1. + <_> + 9 4 1 5 2. + <_> + + <_> + 8 4 1 4 -1. + <_> + 8 6 1 2 2. + <_> + + <_> + 7 15 12 4 -1. + <_> + 13 15 6 2 2. + <_> + 7 17 6 2 2. + <_> + + <_> + 11 18 6 2 -1. + <_> + 11 19 6 1 2. + <_> + + <_> + 7 7 4 10 -1. + <_> + 7 12 4 5 2. + <_> + + <_> + 5 6 10 8 -1. + <_> + 5 10 10 4 2. + <_> + + <_> + 11 1 6 12 -1. + <_> + 14 1 3 6 2. + <_> + 11 7 3 6 2. + <_> + + <_> + 5 8 12 1 -1. + <_> + 9 8 4 1 3. + <_> + + <_> + 4 7 3 6 -1. + <_> + 4 9 3 2 3. + <_> + + <_> + 4 11 3 4 -1. + <_> + 4 13 3 2 2. + <_> + + <_> + 14 16 2 2 -1. + <_> + 14 17 2 1 2. + <_> + + <_> + 15 15 2 2 -1. + <_> + 15 16 2 1 2. + <_> + + <_> + 7 12 6 2 -1. + <_> + 7 13 6 1 2. + <_> + + <_> + 8 13 4 2 -1. + <_> + 8 14 4 1 2. + <_> + + <_> + 11 1 6 12 -1. + <_> + 14 1 3 6 2. + <_> + 11 7 3 6 2. + <_> + + <_> + 12 2 4 2 -1. + <_> + 12 3 4 1 2. + <_> + + <_> + 3 10 12 6 -1. + <_> + 3 10 6 3 2. + <_> + 9 13 6 3 2. + <_> + + <_> + 3 1 6 12 -1. + <_> + 3 1 3 6 2. + <_> + 6 7 3 6 2. + <_> + + <_> + 16 6 4 14 -1. + <_> + 18 6 2 7 2. + <_> + 16 13 2 7 2. + <_> + + <_> + 5 1 10 8 -1. + <_> + 10 1 5 4 2. + <_> + 5 5 5 4 2. + <_> + + <_> + 0 6 4 14 -1. + <_> + 0 6 2 7 2. + <_> + 2 13 2 7 2. + <_> + + <_> + 1 15 12 4 -1. + <_> + 1 15 6 2 2. + <_> + 7 17 6 2 2. + <_> + + <_> + 10 17 3 3 -1. + <_> + 11 17 1 3 3. + <_> + + <_> + 11 2 2 6 -1. + <_> + 12 2 1 3 2. + <_> + 11 5 1 3 2. + <_> + + <_> + 7 17 3 3 -1. + <_> + 8 17 1 3 3. + <_> + + <_> + 8 15 4 3 -1. + <_> + 8 16 4 1 3. + <_> + + <_> + 10 15 4 2 -1. + <_> + 12 15 2 1 2. + <_> + 10 16 2 1 2. + <_> + + <_> + 13 13 4 3 -1. + <_> + 13 14 4 1 3. + <_> + + <_> + 3 13 4 3 -1. + <_> + 3 14 4 1 3. + <_> + + <_> + 7 2 2 6 -1. + <_> + 7 2 1 3 2. + <_> + 8 5 1 3 2. + <_> + + <_> + 2 1 16 3 -1. + <_> + 2 2 16 1 3. + <_> + + <_> + 10 15 4 2 -1. + <_> + 12 15 2 1 2. + <_> + 10 16 2 1 2. + <_> + + <_> + 6 15 4 2 -1. + <_> + 6 15 2 1 2. + <_> + 8 16 2 1 2. + <_> + + <_> + 3 0 13 3 -1. + <_> + 3 1 13 1 3. + <_> + + <_> + 0 9 20 3 -1. + <_> + 0 10 20 1 3. + <_> + + <_> + 6 7 9 2 -1. + <_> + 6 8 9 1 2. + <_> + + <_> + 8 14 3 6 -1. + <_> + 9 14 1 6 3. + <_> + + <_> + 9 10 2 2 -1. + <_> + 9 11 2 1 2. + <_> + + <_> + 9 7 2 5 -1. + <_> + 9 7 1 5 2. + <_> + + <_> + 5 6 10 3 -1. + <_> + 5 6 5 3 2. + <_> + + <_> + 9 7 2 5 -1. + <_> + 10 7 1 5 2. + <_> + + <_> + 5 6 10 3 -1. + <_> + 10 6 5 3 2. + <_> + + <_> + 13 9 2 2 -1. + <_> + 13 9 1 2 2. + <_> + + <_> + 4 3 12 11 -1. + <_> + 8 3 4 11 3. + <_> + + <_> + 7 1 2 7 -1. + <_> + 8 1 1 7 2. + <_> + + <_> + 7 4 3 8 -1. + <_> + 8 4 1 8 3. + <_> + + <_> + 13 9 2 2 -1. + <_> + 13 9 1 2 2. + <_> + + <_> + 11 6 2 2 -1. + <_> + 12 6 1 1 2. + <_> + 11 7 1 1 2. + <_> + + <_> + 5 4 2 3 -1. + <_> + 5 5 2 1 3. + <_> + + <_> + 6 5 1 3 -1. + <_> + 6 6 1 1 3. + <_> + + <_> + 13 9 2 2 -1. + <_> + 13 9 1 2 2. + <_> + + <_> + 16 14 3 3 -1. + <_> + 16 15 3 1 3. + <_> + + <_> + 5 9 2 2 -1. + <_> + 6 9 1 2 2. + <_> + + <_> + 1 14 3 3 -1. + <_> + 1 15 3 1 3. + <_> + + <_> + 13 1 1 6 -1. + <_> + 13 3 1 2 3. + <_> + + <_> + 13 3 7 2 -1. + <_> + 13 4 7 1 2. + <_> + + <_> + 0 6 20 14 -1. + <_> + 0 13 20 7 2. + <_> + + <_> + 0 4 3 6 -1. + <_> + 0 6 3 2 3. + <_> + + <_> + 10 1 9 6 -1. + <_> + 10 3 9 2 3. + <_> + + <_> + 8 0 12 5 -1. + <_> + 8 0 6 5 2. + <_> + + <_> + 0 0 18 5 -1. + <_> + 6 0 6 5 3. + <_> + + <_> + 1 1 9 6 -1. + <_> + 1 3 9 2 3. + <_> + + <_> + 15 15 2 2 -1. + <_> + 15 16 2 1 2. + <_> + + <_> + 13 16 3 4 -1. + <_> + 13 18 3 2 2. + <_> + + <_> + 3 15 2 2 -1. + <_> + 3 16 2 1 2. + <_> + + <_> + 4 16 3 4 -1. + <_> + 4 18 3 2 2. + <_> + + <_> + 11 14 1 3 -1. + <_> + 11 15 1 1 3. + <_> + + <_> + 9 13 5 3 -1. + <_> + 9 14 5 1 3. + <_> + + <_> + 0 0 3 6 -1. + <_> + 0 2 3 2 3. + <_> + + <_> + 4 1 6 3 -1. + <_> + 6 1 2 3 3. + <_> + + <_> + 9 13 4 3 -1. + <_> + 9 14 4 1 3. + <_> + + <_> + 8 15 5 3 -1. + <_> + 8 16 5 1 3. + <_> + + <_> + 8 3 3 2 -1. + <_> + 9 3 1 2 3. + <_> + + <_> + 1 8 18 2 -1. + <_> + 1 9 18 1 2. + <_> + + <_> + 11 14 1 3 -1. + <_> + 11 15 1 1 3. + <_> + + <_> + 8 13 6 3 -1. + <_> + 8 14 6 1 3. + <_> + + <_> + 8 14 1 3 -1. + <_> + 8 15 1 1 3. + <_> + + <_> + 4 13 12 4 -1. + <_> + 4 13 6 2 2. + <_> + 10 15 6 2 2. + <_> + + <_> + 10 7 2 2 -1. + <_> + 10 7 1 2 2. + <_> + + <_> + 13 4 2 8 -1. + <_> + 14 4 1 4 2. + <_> + 13 8 1 4 2. + <_> + + <_> + 0 5 4 6 -1. + <_> + 0 7 4 2 3. + <_> + + <_> + 8 7 2 2 -1. + <_> + 9 7 1 2 2. + <_> + + <_> + 13 0 3 7 -1. + <_> + 14 0 1 7 3. + <_> + + <_> + 11 2 2 14 -1. + <_> + 11 2 1 14 2. + <_> + + <_> + 4 0 3 7 -1. + <_> + 5 0 1 7 3. + <_> + + <_> + 5 5 8 12 -1. + <_> + 5 5 4 6 2. + <_> + 9 11 4 6 2. + <_> + + <_> + 11 4 6 3 -1. + <_> + 11 5 6 1 3. + <_> + + <_> + 12 3 4 3 -1. + <_> + 12 4 4 1 3. + <_> + + <_> + 5 5 10 12 -1. + <_> + 5 5 5 6 2. + <_> + 10 11 5 6 2. + <_> + + <_> + 3 6 12 3 -1. + <_> + 9 6 6 3 2. + <_> + + <_> + 9 6 2 7 -1. + <_> + 9 6 1 7 2. + <_> + + <_> + 9 5 2 4 -1. + <_> + 9 5 1 4 2. + <_> + + <_> + 8 7 3 3 -1. + <_> + 9 7 1 3 3. + <_> + + <_> + 5 1 6 4 -1. + <_> + 7 1 2 4 3. + <_> + + <_> + 13 16 7 3 -1. + <_> + 13 17 7 1 3. + <_> + + <_> + 12 4 3 3 -1. + <_> + 12 5 3 1 3. + <_> + + <_> + 0 16 7 3 -1. + <_> + 0 17 7 1 3. + <_> + + <_> + 5 4 3 3 -1. + <_> + 5 5 3 1 3. + <_> + + <_> + 12 9 8 10 -1. + <_> + 12 9 4 10 2. + <_> + + <_> + 8 10 12 5 -1. + <_> + 12 10 4 5 3. + <_> + + <_> + 0 9 8 10 -1. + <_> + 4 9 4 10 2. + <_> + + <_> + 0 10 12 5 -1. + <_> + 4 10 4 5 3. + <_> + + <_> + 2 3 6 2 -1. + <_> + 5 3 3 2 2. + <_> + + <_> + 0 0 17 9 -1. + <_> + 0 3 17 3 3. + <_> + + <_> + 4 7 12 2 -1. + <_> + 8 7 4 2 3. + <_> + + <_> + 10 4 6 4 -1. + <_> + 12 4 2 4 3. + <_> + + <_> + 0 10 20 4 -1. + <_> + 0 12 20 2 2. + <_> + + <_> + 4 3 6 5 -1. + <_> + 6 3 2 5 3. + <_> + + <_> + 1 1 18 4 -1. + <_> + 7 1 6 4 3. + <_> + + <_> + 13 9 2 3 -1. + <_> + 13 9 1 3 2. + <_> + + <_> + 6 15 7 4 -1. + <_> + 6 17 7 2 2. + <_> + + <_> + 3 17 4 2 -1. + <_> + 3 18 4 1 2. + <_> + + <_> + 9 4 8 10 -1. + <_> + 9 9 8 5 2. + <_> + + <_> + 9 17 3 2 -1. + <_> + 10 17 1 2 3. + <_> + + <_> + 8 2 4 8 -1. + <_> + 8 6 4 4 2. + <_> + + <_> + 3 4 14 12 -1. + <_> + 3 4 7 6 2. + <_> + 10 10 7 6 2. + <_> + + <_> + 7 7 6 4 -1. + <_> + 9 7 2 4 3. + <_> + + <_> + 6 7 9 4 -1. + <_> + 6 9 9 2 2. + <_> + + <_> + 2 10 3 3 -1. + <_> + 2 11 3 1 3. + <_> + + <_> + 4 6 2 9 -1. + <_> + 4 9 2 3 3. + <_> + + <_> + 9 11 3 3 -1. + <_> + 9 12 3 1 3. + <_> + + <_> + 3 1 15 2 -1. + <_> + 3 2 15 1 2. + <_> + + <_> + 9 8 2 3 -1. + <_> + 9 9 2 1 3. + <_> + + <_> + 9 6 2 5 -1. + <_> + 10 6 1 5 2. + <_> + + <_> + 9 7 2 3 -1. + <_> + 9 8 2 1 3. + <_> + + <_> + 4 10 12 10 -1. + <_> + 4 15 12 5 2. + <_> + + <_> + 0 10 4 2 -1. + <_> + 0 11 4 1 2. + <_> + + <_> + 5 15 9 2 -1. + <_> + 5 16 9 1 2. + <_> + + <_> + 8 14 6 3 -1. + <_> + 8 15 6 1 3. + <_> + + <_> + 8 16 4 3 -1. + <_> + 8 17 4 1 3. + <_> + + <_> + 8 9 4 2 -1. + <_> + 8 10 4 1 2. + <_> + + <_> + 3 3 14 2 -1. + <_> + 3 4 14 1 2. + <_> + + <_> + 11 12 1 2 -1. + <_> + 11 13 1 1 2. + <_> + + <_> + 4 12 12 1 -1. + <_> + 8 12 4 1 3. + <_> + + <_> + 0 2 1 2 -1. + <_> + 0 3 1 1 2. + <_> + + <_> + 7 4 4 6 -1. + <_> + 9 4 2 6 2. + <_> + + <_> + 0 2 20 14 -1. + <_> + 10 2 10 7 2. + <_> + 0 9 10 7 2. + <_> + + <_> + 14 6 1 3 -1. + <_> + 14 7 1 1 3. + <_> + + <_> + 0 4 20 12 -1. + <_> + 0 4 10 6 2. + <_> + 10 10 10 6 2. + <_> + + <_> + 8 12 1 2 -1. + <_> + 8 13 1 1 2. + <_> + + <_> + 9 18 3 2 -1. + <_> + 10 18 1 2 3. + <_> + + <_> + 9 17 6 2 -1. + <_> + 11 17 2 2 3. + <_> + + <_> + 5 6 2 3 -1. + <_> + 5 7 2 1 3. + <_> + + <_> + 5 4 3 3 -1. + <_> + 5 5 3 1 3. + <_> + + <_> + 14 15 3 2 -1. + <_> + 14 16 3 1 2. + <_> + + <_> + 11 3 3 4 -1. + <_> + 12 3 1 4 3. + <_> + + <_> + 3 15 3 2 -1. + <_> + 3 16 3 1 2. + <_> + + <_> + 9 12 2 3 -1. + <_> + 9 13 2 1 3. + <_> + + <_> + 9 13 3 7 -1. + <_> + 10 13 1 7 3. + <_> + + <_> + 12 12 5 3 -1. + <_> + 12 13 5 1 3. + <_> + + <_> + 8 18 3 2 -1. + <_> + 9 18 1 2 3. + <_> + + <_> + 4 7 12 4 -1. + <_> + 4 7 6 2 2. + <_> + 10 9 6 2 2. + <_> + + <_> + 6 19 14 1 -1. + <_> + 6 19 7 1 2. + <_> + + <_> + 16 14 3 2 -1. + <_> + 16 15 3 1 2. + <_> + + <_> + 1 0 6 10 -1. + <_> + 1 0 3 5 2. + <_> + 4 5 3 5 2. + <_> + + <_> + 1 0 4 10 -1. + <_> + 1 0 2 5 2. + <_> + 3 5 2 5 2. + <_> + + <_> + 15 3 5 6 -1. + <_> + 15 5 5 2 3. + <_> + + <_> + 9 5 2 15 -1. + <_> + 9 10 2 5 3. + <_> + + <_> + 0 3 5 6 -1. + <_> + 0 5 5 2 3. + <_> + + <_> + 6 0 3 2 -1. + <_> + 7 0 1 2 3. + <_> + + <_> + 12 8 8 2 -1. + <_> + 16 8 4 1 2. + <_> + 12 9 4 1 2. + <_> + + <_> + 5 8 12 1 -1. + <_> + 9 8 4 1 3. + <_> + + <_> + 3 13 3 3 -1. + <_> + 3 14 3 1 3. + <_> + + <_> + 5 13 3 2 -1. + <_> + 5 14 3 1 2. + <_> + + <_> + 9 15 3 3 -1. + <_> + 9 16 3 1 3. + <_> + + <_> + 7 15 7 3 -1. + <_> + 7 16 7 1 3. + <_> + + <_> + 3 14 11 6 -1. + <_> + 3 16 11 2 3. + <_> + + <_> + 0 19 14 1 -1. + <_> + 7 19 7 1 2. + <_> + + <_> + 9 17 6 2 -1. + <_> + 11 17 2 2 3. + <_> + + <_> + 12 11 6 2 -1. + <_> + 14 11 2 2 3. + <_> + + <_> + 5 17 6 2 -1. + <_> + 7 17 2 2 3. + <_> + + <_> + 0 1 9 10 -1. + <_> + 3 1 3 10 3. + <_> + + <_> + 10 1 3 3 -1. + <_> + 11 1 1 3 3. + <_> + + <_> + 9 5 6 4 -1. + <_> + 9 5 3 4 2. + <_> + + <_> + 7 1 3 3 -1. + <_> + 8 1 1 3 3. + <_> + + <_> + 0 4 4 11 -1. + <_> + 2 4 2 11 2. + <_> + + <_> + 9 5 6 4 -1. + <_> + 9 5 3 4 2. + <_> + + <_> + 6 0 8 10 -1. + <_> + 10 0 4 5 2. + <_> + 6 5 4 5 2. + <_> + + <_> + 6 6 5 14 -1. + <_> + 6 13 5 7 2. + <_> + + <_> + 8 5 4 14 -1. + <_> + 8 12 4 7 2. + <_> + + <_> + 7 7 6 5 -1. + <_> + 9 7 2 5 3. + <_> + + <_> + 9 3 3 9 -1. + <_> + 9 6 3 3 3. + <_> + + <_> + 8 1 3 3 -1. + <_> + 9 1 1 3 3. + <_> + + <_> + 9 6 2 4 -1. + <_> + 10 6 1 4 2. + <_> + + <_> + 10 8 6 9 -1. + <_> + 10 8 3 9 2. + <_> + + <_> + 16 4 3 8 -1. + <_> + 17 4 1 8 3. + <_> + + <_> + 5 9 10 6 -1. + <_> + 5 9 5 3 2. + <_> + 10 12 5 3 2. + <_> + + <_> + 5 5 6 4 -1. + <_> + 8 5 3 4 2. + <_> + + <_> + 9 8 4 2 -1. + <_> + 9 9 4 1 2. + <_> + + <_> + 11 7 2 2 -1. + <_> + 11 7 1 2 2. + <_> + + <_> + 8 12 4 8 -1. + <_> + 8 12 2 4 2. + <_> + 10 16 2 4 2. + <_> + + <_> + 0 1 4 9 -1. + <_> + 0 4 4 3 3. + <_> + + <_> + 9 10 3 3 -1. + <_> + 9 11 3 1 3. + <_> + + <_> + 8 11 4 2 -1. + <_> + 8 12 4 1 2. + <_> + + <_> + 7 8 4 2 -1. + <_> + 7 9 4 1 2. + <_> + + <_> + 7 8 6 1 -1. + <_> + 9 8 2 1 3. + <_> + + <_> + 16 0 4 9 -1. + <_> + 16 0 2 9 2. + <_> + + <_> + 16 0 3 6 -1. + <_> + 16 3 3 3 2. + <_> + + <_> + 0 0 4 9 -1. + <_> + 2 0 2 9 2. + <_> + + <_> + 1 0 3 6 -1. + <_> + 1 3 3 3 2. + <_> + + <_> + 9 7 6 9 -1. + <_> + 11 7 2 9 3. + <_> + + <_> + 10 6 3 6 -1. + <_> + 11 6 1 6 3. + <_> + + <_> + 1 2 18 2 -1. + <_> + 1 2 9 1 2. + <_> + 10 3 9 1 2. + <_> + + <_> + 5 8 6 8 -1. + <_> + 7 8 2 8 3. + <_> + + <_> + 9 0 6 16 -1. + <_> + 11 0 2 16 3. + <_> + + <_> + 14 1 6 18 -1. + <_> + 17 1 3 9 2. + <_> + 14 10 3 9 2. + <_> + + <_> + 2 9 2 3 -1. + <_> + 2 10 2 1 3. + <_> + + <_> + 0 1 6 18 -1. + <_> + 0 1 3 9 2. + <_> + 3 10 3 9 2. + <_> + + <_> + 11 8 4 12 -1. + <_> + 11 8 2 12 2. + <_> + + <_> + 2 1 18 18 -1. + <_> + 2 10 18 9 2. + <_> + + <_> + 6 3 3 1 -1. + <_> + 7 3 1 1 3. + <_> + + <_> + 4 12 2 2 -1. + <_> + 4 13 2 1 2. + <_> + + <_> + 8 13 5 3 -1. + <_> + 8 14 5 1 3. + <_> + + <_> + 8 14 4 3 -1. + <_> + 8 15 4 1 3. + <_> + + <_> + 3 12 5 3 -1. + <_> + 3 13 5 1 3. + <_> + + <_> + 6 3 3 4 -1. + <_> + 7 3 1 4 3. + <_> + + <_> + 11 10 2 2 -1. + <_> + 12 10 1 1 2. + <_> + 11 11 1 1 2. + <_> + + <_> + 5 8 12 1 -1. + <_> + 9 8 4 1 3. + <_> + + <_> + 8 4 4 8 -1. + <_> + 10 4 2 8 2. + <_> + + <_> + 6 6 8 5 -1. + <_> + 10 6 4 5 2. + <_> + + <_> + 10 4 6 4 -1. + <_> + 12 4 2 4 3. + <_> + + <_> + 12 7 2 2 -1. + <_> + 13 7 1 1 2. + <_> + 12 8 1 1 2. + <_> + + <_> + 3 5 10 8 -1. + <_> + 3 9 10 4 2. + <_> + + <_> + 7 1 2 12 -1. + <_> + 7 7 2 6 2. + <_> + + <_> + 12 7 2 2 -1. + <_> + 13 7 1 1 2. + <_> + 12 8 1 1 2. + <_> + + <_> + 11 13 1 6 -1. + <_> + 11 16 1 3 2. + <_> + + <_> + 5 1 6 15 -1. + <_> + 7 1 2 15 3. + <_> + + <_> + 6 7 2 2 -1. + <_> + 6 7 1 1 2. + <_> + 7 8 1 1 2. + <_> + + <_> + 17 5 2 2 -1. + <_> + 17 6 2 1 2. + <_> + + <_> + 10 3 4 10 -1. + <_> + 12 3 2 5 2. + <_> + 10 8 2 5 2. + <_> + + <_> + 1 5 2 2 -1. + <_> + 1 6 2 1 2. + <_> + + <_> + 7 10 2 2 -1. + <_> + 7 10 1 1 2. + <_> + 8 11 1 1 2. + <_> + + <_> + 3 12 14 4 -1. + <_> + 10 12 7 2 2. + <_> + 3 14 7 2 2. + <_> + + <_> + 9 15 3 2 -1. + <_> + 9 16 3 1 2. + <_> + + <_> + 1 13 3 3 -1. + <_> + 1 14 3 1 3. + <_> + + <_> + 0 3 1 2 -1. + <_> + 0 4 1 1 2. + <_> + + <_> + 7 7 6 1 -1. + <_> + 9 7 2 1 3. + <_> + + <_> + 0 4 16 6 -1. + <_> + 0 6 16 2 3. + <_> + + <_> + 9 3 2 14 -1. + <_> + 9 10 2 7 2. + <_> + + <_> + 12 0 4 3 -1. + <_> + 12 0 2 3 2. + <_> + + <_> + 4 18 12 2 -1. + <_> + 8 18 4 2 3. + <_> + + <_> + 4 10 12 4 -1. + <_> + 8 10 4 4 3. + <_> + + <_> + 9 9 2 2 -1. + <_> + 9 10 2 1 2. + <_> + + <_> + 14 1 2 8 -1. + <_> + 15 1 1 4 2. + <_> + 14 5 1 4 2. + <_> + + <_> + 3 4 9 1 -1. + <_> + 6 4 3 1 3. + <_> + + <_> + 3 3 4 2 -1. + <_> + 3 4 4 1 2. + <_> + + <_> + 11 15 2 4 -1. + <_> + 11 17 2 2 2. + <_> + + <_> + 14 13 2 6 -1. + <_> + 14 15 2 2 3. + <_> + + <_> + 6 6 1 6 -1. + <_> + 6 9 1 3 2. + <_> + + <_> + 6 10 8 8 -1. + <_> + 6 14 8 4 2. + <_> + + <_> + 8 13 4 3 -1. + <_> + 8 14 4 1 3. + <_> + + <_> + 10 11 4 8 -1. + <_> + 10 15 4 4 2. + <_> + + <_> + 5 11 6 1 -1. + <_> + 7 11 2 1 3. + <_> + + <_> + 5 4 6 10 -1. + <_> + 8 4 3 10 2. + <_> + + <_> + 14 2 6 3 -1. + <_> + 14 3 6 1 3. + <_> + + <_> + 9 12 3 2 -1. + <_> + 9 13 3 1 2. + <_> + + <_> + 8 1 4 6 -1. + <_> + 8 3 4 2 3. + <_> + + <_> + 3 5 13 8 -1. + <_> + 3 9 13 4 2. + <_> + + <_> + 12 5 5 3 -1. + <_> + 12 6 5 1 3. + <_> + + <_> + 5 14 15 6 -1. + <_> + 5 16 15 2 3. + <_> + + <_> + 3 5 5 3 -1. + <_> + 3 6 5 1 3. + <_> + + <_> + 9 14 2 6 -1. + <_> + 9 14 1 3 2. + <_> + 10 17 1 3 2. + <_> + + <_> + 9 12 3 2 -1. + <_> + 9 13 3 1 2. + <_> + + <_> + 9 13 3 2 -1. + <_> + 9 14 3 1 2. + <_> + + <_> + 0 2 6 3 -1. + <_> + 0 3 6 1 3. + <_> + + <_> + 0 1 9 11 -1. + <_> + 3 1 3 11 3. + <_> + + <_> + 8 13 4 6 -1. + <_> + 10 13 2 3 2. + <_> + 8 16 2 3 2. + <_> + + <_> + 7 13 6 3 -1. + <_> + 7 14 6 1 3. + <_> + + <_> + 3 12 14 4 -1. + <_> + 3 12 7 2 2. + <_> + 10 14 7 2 2. + <_> + + <_> + 7 14 1 4 -1. + <_> + 7 16 1 2 2. + <_> + + <_> + 8 13 4 6 -1. + <_> + 10 13 2 3 2. + <_> + 8 16 2 3 2. + <_> + + <_> + 10 14 1 3 -1. + <_> + 10 15 1 1 3. + <_> + + <_> + 8 13 4 6 -1. + <_> + 8 13 2 3 2. + <_> + 10 16 2 3 2. + <_> + + <_> + 9 14 1 3 -1. + <_> + 9 15 1 1 3. + <_> + + <_> + 10 15 2 3 -1. + <_> + 10 16 2 1 3. + <_> + + <_> + 11 16 1 2 -1. + <_> + 11 17 1 1 2. + <_> + + <_> + 9 0 2 2 -1. + <_> + 9 1 2 1 2. + <_> + + <_> + 0 1 5 8 -1. + <_> + 0 5 5 4 2. + <_> + + <_> + 10 14 2 3 -1. + <_> + 10 15 2 1 3. + <_> + + <_> + 10 13 2 3 -1. + <_> + 10 14 2 1 3. + <_> + + <_> + 0 3 16 6 -1. + <_> + 0 6 16 3 2. + <_> + + <_> + 4 1 2 2 -1. + <_> + 5 1 1 2 2. + <_> + + <_> + 9 7 2 3 -1. + <_> + 9 8 2 1 3. + <_> + + <_> + 10 8 2 12 -1. + <_> + 10 12 2 4 3. + <_> + + <_> + 9 7 2 2 -1. + <_> + 10 7 1 2 2. + <_> + + <_> + 5 0 6 8 -1. + <_> + 7 0 2 8 3. + <_> + + <_> + 9 7 3 6 -1. + <_> + 10 7 1 6 3. + <_> + + <_> + 8 12 10 8 -1. + <_> + 8 16 10 4 2. + <_> + + <_> + 8 7 3 6 -1. + <_> + 9 7 1 6 3. + <_> + + <_> + 4 7 12 2 -1. + <_> + 10 7 6 2 2. + <_> + + <_> + 8 6 8 3 -1. + <_> + 8 6 4 3 2. + <_> + + <_> + 16 15 3 3 -1. + <_> + 16 16 3 1 3. + <_> + + <_> + 4 6 12 3 -1. + <_> + 10 6 6 3 2. + <_> + + <_> + 7 8 3 5 -1. + <_> + 8 8 1 5 3. + <_> + + <_> + 0 10 20 2 -1. + <_> + 10 10 10 1 2. + <_> + 0 11 10 1 2. + <_> + + <_> + 11 16 9 4 -1. + <_> + 14 16 3 4 3. + <_> + + <_> + 0 5 3 4 -1. + <_> + 1 5 1 4 3. + <_> + + <_> + 8 15 4 2 -1. + <_> + 8 15 2 1 2. + <_> + 10 16 2 1 2. + <_> + + <_> + 1 8 19 3 -1. + <_> + 1 9 19 1 3. + <_> + + <_> + 15 16 3 3 -1. + <_> + 15 17 3 1 3. + <_> + + <_> + 0 4 20 10 -1. + <_> + 0 4 10 5 2. + <_> + 10 9 10 5 2. + <_> + + <_> + 2 14 7 6 -1. + <_> + 2 16 7 2 3. + <_> + + <_> + 8 6 6 6 -1. + <_> + 10 6 2 6 3. + <_> + + <_> + 16 4 4 6 -1. + <_> + 16 6 4 2 3. + <_> + + <_> + 7 13 6 3 -1. + <_> + 7 14 6 1 3. + <_> + + <_> + 7 13 4 3 -1. + <_> + 7 14 4 1 3. + <_> + + <_> + 13 13 6 2 -1. + <_> + 13 14 6 1 2. + <_> + + <_> + 14 12 2 3 -1. + <_> + 14 13 2 1 3. + <_> + + <_> + 1 13 6 2 -1. + <_> + 1 14 6 1 2. + <_> + + <_> + 4 12 2 3 -1. + <_> + 4 13 2 1 3. + <_> + + <_> + 17 4 3 5 -1. + <_> + 18 4 1 5 3. + <_> + + <_> + 5 5 14 8 -1. + <_> + 12 5 7 4 2. + <_> + 5 9 7 4 2. + <_> + + <_> + 6 8 6 5 -1. + <_> + 8 8 2 5 3. + <_> + + <_> + 0 4 4 6 -1. + <_> + 0 6 4 2 3. + <_> + + <_> + 9 1 3 6 -1. + <_> + 10 1 1 6 3. + <_> + + <_> + 10 4 6 3 -1. + <_> + 10 5 6 1 3. + <_> + + <_> + 8 1 3 6 -1. + <_> + 9 1 1 6 3. + <_> + + <_> + 4 4 6 3 -1. + <_> + 4 5 6 1 3. + <_> + + <_> + 12 4 3 3 -1. + <_> + 12 5 3 1 3. + <_> + + <_> + 12 11 4 2 -1. + <_> + 12 12 4 1 2. + <_> + + <_> + 0 2 20 6 -1. + <_> + 0 2 10 3 2. + <_> + 10 5 10 3 2. + <_> + + <_> + 5 4 3 3 -1. + <_> + 5 5 3 1 3. + <_> + + <_> + 2 10 16 4 -1. + <_> + 10 10 8 2 2. + <_> + 2 12 8 2 2. + <_> + + <_> + 3 10 16 6 -1. + <_> + 11 10 8 3 2. + <_> + 3 13 8 3 2. + <_> + + <_> + 1 10 16 6 -1. + <_> + 1 10 8 3 2. + <_> + 9 13 8 3 2. + <_> + + <_> + 4 7 2 4 -1. + <_> + 5 7 1 4 2. + <_> + + <_> + 11 16 9 4 -1. + <_> + 14 16 3 4 3. + <_> + + <_> + 3 16 14 4 -1. + <_> + 10 16 7 2 2. + <_> + 3 18 7 2 2. + <_> + + <_> + 0 16 9 4 -1. + <_> + 3 16 3 4 3. + <_> + + <_> + 1 14 6 6 -1. + <_> + 1 14 3 3 2. + <_> + 4 17 3 3 2. + <_> + + <_> + 9 0 2 1 -1. + <_> + 9 0 1 1 2. + <_> + + <_> + 6 7 8 10 -1. + <_> + 10 7 4 5 2. + <_> + 6 12 4 5 2. + <_> + + <_> + 2 15 1 2 -1. + <_> + 2 16 1 1 2. + <_> + + <_> + 0 14 7 6 -1. + <_> + 0 16 7 2 3. + <_> + + <_> + 7 8 6 2 -1. + <_> + 7 9 6 1 2. + <_> + + <_> + 9 2 2 15 -1. + <_> + 9 7 2 5 3. + <_> + + <_> + 5 6 2 2 -1. + <_> + 5 7 2 1 2. + <_> + + <_> + 6 6 8 3 -1. + <_> + 6 7 8 1 3. + <_> + + <_> + 12 13 5 6 -1. + <_> + 12 15 5 2 3. + <_> + + <_> + 0 0 20 18 -1. + <_> + 0 9 20 9 2. + <_> + + <_> + 5 1 6 6 -1. + <_> + 7 1 2 6 3. + <_> + + <_> + 5 1 4 9 -1. + <_> + 7 1 2 9 2. + <_> + + <_> + 1 19 18 1 -1. + <_> + 7 19 6 1 3. + <_> + + <_> + 14 16 5 2 -1. + <_> + 14 17 5 1 2. + <_> + + <_> + 0 5 15 10 -1. + <_> + 0 10 15 5 2. + <_> + + <_> + 7 15 4 2 -1. + <_> + 7 15 2 1 2. + <_> + 9 16 2 1 2. + <_> + + <_> + 14 11 2 2 -1. + <_> + 14 12 2 1 2. + <_> + + <_> + 9 8 3 3 -1. + <_> + 9 9 3 1 3. + <_> + + <_> + 4 11 2 2 -1. + <_> + 4 12 2 1 2. + <_> + + <_> + 8 8 3 3 -1. + <_> + 8 9 3 1 3. + <_> + + <_> + 9 10 2 3 -1. + <_> + 9 11 2 1 3. + <_> + + <_> + 8 8 4 3 -1. + <_> + 8 9 4 1 3. + <_> + + <_> + 1 9 4 10 -1. + <_> + 1 9 2 5 2. + <_> + 3 14 2 5 2. + <_> + + <_> + 0 12 6 8 -1. + <_> + 2 12 2 8 3. + <_> + + <_> + 9 1 4 2 -1. + <_> + 11 1 2 1 2. + <_> + 9 2 2 1 2. + <_> + + <_> + 12 13 7 6 -1. + <_> + 12 15 7 2 3. + <_> + + <_> + 7 0 2 3 -1. + <_> + 7 1 2 1 3. + <_> + + <_> + 7 14 6 3 -1. + <_> + 9 14 2 3 3. + <_> + + <_> + 9 6 6 4 -1. + <_> + 11 6 2 4 3. + <_> + + <_> + 8 10 8 3 -1. + <_> + 8 10 4 3 2. + <_> + + <_> + 6 10 4 3 -1. + <_> + 8 10 2 3 2. + <_> + + <_> + 6 8 3 5 -1. + <_> + 7 8 1 5 3. + <_> + + <_> + 0 4 8 1 -1. + <_> + 4 4 4 1 2. + <_> + + <_> + 8 2 2 6 -1. + <_> + 8 2 1 3 2. + <_> + 9 5 1 3 2. + <_> + + <_> + 0 7 20 6 -1. + <_> + 0 9 20 2 3. + <_> + + <_> + 12 10 3 6 -1. + <_> + 12 13 3 3 2. + <_> + + <_> + 8 15 1 4 -1. + <_> + 8 17 1 2 2. + <_> + + <_> + 5 16 2 4 -1. + <_> + 5 18 2 2 2. + <_> + + <_> + 6 2 8 12 -1. + <_> + 6 6 8 4 3. + <_> + + <_> + 4 7 12 2 -1. + <_> + 8 7 4 2 3. + <_> + + <_> + 7 0 6 1 -1. + <_> + 9 0 2 1 3. + <_> + + <_> + 8 11 3 3 -1. + <_> + 8 12 3 1 3. + <_> + + <_> + 12 11 3 6 -1. + <_> + 12 14 3 3 2. + <_> + + <_> + 11 2 6 10 -1. + <_> + 14 2 3 5 2. + <_> + 11 7 3 5 2. + <_> + + <_> + 5 7 10 12 -1. + <_> + 5 7 5 6 2. + <_> + 10 13 5 6 2. + <_> + + <_> + 4 4 2 10 -1. + <_> + 4 9 2 5 2. + <_> + + <_> + 9 7 2 3 -1. + <_> + 9 7 1 3 2. + <_> + + <_> + 11 9 6 2 -1. + <_> + 11 9 3 2 2. + <_> + + <_> + 4 7 2 2 -1. + <_> + 5 7 1 2 2. + <_> + + <_> + 0 2 4 6 -1. + <_> + 0 4 4 2 3. + <_> + + <_> + 10 7 3 4 -1. + <_> + 11 7 1 4 3. + <_> + + <_> + 9 7 3 5 -1. + <_> + 10 7 1 5 3. + <_> + + <_> + 9 1 1 3 -1. + <_> + 9 2 1 1 3. + <_> + + <_> + 0 6 16 6 -1. + <_> + 0 6 8 3 2. + <_> + 8 9 8 3 2. + <_> + + <_> + 10 15 3 3 -1. + <_> + 10 16 3 1 3. + <_> + + <_> + 9 14 4 3 -1. + <_> + 9 15 4 1 3. + <_> + + <_> + 3 2 6 10 -1. + <_> + 3 2 3 5 2. + <_> + 6 7 3 5 2. + <_> + + <_> + 3 0 14 2 -1. + <_> + 3 1 14 1 2. + <_> + + <_> + 9 14 3 3 -1. + <_> + 9 15 3 1 3. + <_> + + <_> + 10 15 3 3 -1. + <_> + 10 16 3 1 3. + <_> + + <_> + 9 13 2 6 -1. + <_> + 9 16 2 3 2. + <_> + + <_> + 7 13 6 3 -1. + <_> + 7 14 6 1 3. + <_> + + <_> + 12 11 3 6 -1. + <_> + 12 14 3 3 2. + <_> + + <_> + 8 12 5 2 -1. + <_> + 8 13 5 1 2. + <_> + + <_> + 5 11 3 6 -1. + <_> + 5 14 3 3 2. + <_> + + <_> + 8 12 3 2 -1. + <_> + 8 13 3 1 2. + <_> + + <_> + 11 13 7 6 -1. + <_> + 11 15 7 2 3. + <_> + + <_> + 7 14 6 3 -1. + <_> + 7 15 6 1 3. + <_> + + <_> + 3 13 14 4 -1. + <_> + 3 13 7 2 2. + <_> + 10 15 7 2 2. + <_> + + <_> + 8 14 4 6 -1. + <_> + 8 14 2 3 2. + <_> + 10 17 2 3 2. + <_> + + <_> + 8 15 4 3 -1. + <_> + 8 16 4 1 3. + <_> + + <_> + 7 16 6 2 -1. + <_> + 9 16 2 2 3. + <_> + + <_> + 7 7 6 2 -1. + <_> + 7 8 6 1 2. + <_> + + <_> + 3 9 13 3 -1. + <_> + 3 10 13 1 3. + <_> + + <_> + 9 8 3 4 -1. + <_> + 9 10 3 2 2. + <_> + + <_> + 8 10 4 3 -1. + <_> + 8 11 4 1 3. + <_> + + <_> + 7 7 3 4 -1. + <_> + 8 7 1 4 3. + <_> + + <_> + 8 7 3 5 -1. + <_> + 9 7 1 5 3. + <_> + + <_> + 12 3 3 4 -1. + <_> + 13 3 1 4 3. + <_> + + <_> + 9 7 2 3 -1. + <_> + 9 7 1 3 2. + <_> + + <_> + 5 3 3 4 -1. + <_> + 6 3 1 4 3. + <_> + + <_> + 3 7 12 1 -1. + <_> + 7 7 4 1 3. + <_> + + <_> + 12 5 3 3 -1. + <_> + 12 6 3 1 3. + <_> + + <_> + 11 2 6 2 -1. + <_> + 11 3 6 1 2. + <_> + + <_> + 3 2 14 2 -1. + <_> + 3 2 7 1 2. + <_> + 10 3 7 1 2. + <_> + + <_> + 6 1 7 14 -1. + <_> + 6 8 7 7 2. + <_> + + <_> + 8 0 12 5 -1. + <_> + 8 0 6 5 2. + <_> + + <_> + 1 9 18 1 -1. + <_> + 7 9 6 1 3. + <_> + + <_> + 0 0 10 5 -1. + <_> + 5 0 5 5 2. + <_> + + <_> + 2 5 8 15 -1. + <_> + 2 10 8 5 3. + <_> + + <_> + 12 5 3 3 -1. + <_> + 12 6 3 1 3. + <_> + + <_> + 13 4 2 3 -1. + <_> + 13 5 2 1 3. + <_> + + <_> + 2 15 4 3 -1. + <_> + 2 16 4 1 3. + <_> + + <_> + 5 6 10 3 -1. + <_> + 10 6 5 3 2. + <_> + + <_> + 11 6 2 2 -1. + <_> + 12 6 1 1 2. + <_> + 11 7 1 1 2. + <_> + + <_> + 12 4 4 3 -1. + <_> + 12 5 4 1 3. + <_> + + <_> + 7 6 2 2 -1. + <_> + 7 6 1 1 2. + <_> + 8 7 1 1 2. + <_> + + <_> + 4 4 4 3 -1. + <_> + 4 5 4 1 3. + <_> + + <_> + 11 4 3 3 -1. + <_> + 12 4 1 3 3. + <_> + + <_> + 9 3 2 1 -1. + <_> + 9 3 1 1 2. + <_> + + <_> + 4 5 5 3 -1. + <_> + 4 6 5 1 3. + <_> + + <_> + 4 6 4 3 -1. + <_> + 4 7 4 1 3. + <_> + + <_> + 11 4 3 3 -1. + <_> + 12 4 1 3 3. + <_> + + <_> + 8 8 4 3 -1. + <_> + 8 9 4 1 3. + <_> + + <_> + 6 4 3 3 -1. + <_> + 7 4 1 3 3. + <_> + + <_> + 4 14 1 3 -1. + <_> + 4 15 1 1 3. + <_> + + <_> + 9 7 2 3 -1. + <_> + 9 7 1 3 2. + <_> + + <_> + 17 0 3 2 -1. + <_> + 17 1 3 1 2. + <_> + + <_> + 8 10 2 9 -1. + <_> + 8 13 2 3 3. + <_> + + <_> + 0 8 18 2 -1. + <_> + 0 9 18 1 2. + <_> + + <_> + 9 15 2 3 -1. + <_> + 9 16 2 1 3. + <_> + + <_> + 8 7 4 3 -1. + <_> + 8 8 4 1 3. + <_> + + <_> + 1 14 6 6 -1. + <_> + 1 14 3 3 2. + <_> + 4 17 3 3 2. + <_> + + <_> + 0 18 6 2 -1. + <_> + 0 19 6 1 2. + <_> + + <_> + 12 9 4 3 -1. + <_> + 12 9 2 3 2. + <_> + + <_> + 9 8 3 8 -1. + <_> + 10 8 1 8 3. + <_> + + <_> + 4 9 4 3 -1. + <_> + 6 9 2 3 2. + <_> + + <_> + 4 18 6 1 -1. + <_> + 6 18 2 1 3. + <_> + + <_> + 9 7 3 2 -1. + <_> + 10 7 1 2 3. + <_> + + <_> + 6 7 8 12 -1. + <_> + 10 7 4 6 2. + <_> + 6 13 4 6 2. + <_> + + <_> + 8 7 3 2 -1. + <_> + 9 7 1 2 3. + <_> + + <_> + 8 7 3 6 -1. + <_> + 9 7 1 6 3. + <_> + + <_> + 3 16 14 4 -1. + <_> + 10 16 7 2 2. + <_> + 3 18 7 2 2. + <_> + + <_> + 1 14 18 4 -1. + <_> + 10 14 9 2 2. + <_> + 1 16 9 2 2. + <_> + + <_> + 8 7 3 3 -1. + <_> + 8 8 3 1 3. + <_> + + <_> + 0 4 20 12 -1. + <_> + 0 4 10 6 2. + <_> + 10 10 10 6 2. + <_> + + <_> + 5 5 10 12 -1. + <_> + 10 5 5 6 2. + <_> + 5 11 5 6 2. + <_> + + <_> + 10 2 4 7 -1. + <_> + 10 2 2 7 2. + <_> + + <_> + 8 11 4 3 -1. + <_> + 8 12 4 1 3. + <_> + + <_> + 8 12 3 3 -1. + <_> + 8 13 3 1 3. + <_> + + <_> + 13 13 5 6 -1. + <_> + 13 15 5 2 3. + <_> + + <_> + 7 0 6 6 -1. + <_> + 9 0 2 6 3. + <_> + + <_> + 2 13 5 6 -1. + <_> + 2 15 5 2 3. + <_> + + <_> + 0 4 2 12 -1. + <_> + 0 4 1 6 2. + <_> + 1 10 1 6 2. + <_> + + <_> + 9 19 3 1 -1. + <_> + 10 19 1 1 3. + <_> + + <_> + 18 0 2 6 -1. + <_> + 18 2 2 2 3. + <_> + + <_> + 0 3 1 6 -1. + <_> + 0 5 1 2 3. + <_> + + <_> + 0 0 3 6 -1. + <_> + 0 2 3 2 3. + <_> + + <_> + 17 2 3 7 -1. + <_> + 18 2 1 7 3. + <_> + + <_> + 10 3 4 7 -1. + <_> + 10 3 2 7 2. + <_> + + <_> + 0 2 3 7 -1. + <_> + 1 2 1 7 3. + <_> + + <_> + 6 2 4 8 -1. + <_> + 8 2 2 8 2. + <_> + + <_> + 13 0 1 4 -1. + <_> + 13 2 1 2 2. + <_> + + <_> + 5 1 12 5 -1. + <_> + 9 1 4 5 3. + <_> + + <_> + 6 0 1 4 -1. + <_> + 6 2 1 2 2. + <_> + + <_> + 3 1 12 5 -1. + <_> + 7 1 4 5 3. + <_> + + <_> + 9 12 3 8 -1. + <_> + 10 12 1 8 3. + <_> + + <_> + 7 13 6 1 -1. + <_> + 9 13 2 1 3. + <_> + + <_> + 7 14 6 3 -1. + <_> + 7 15 6 1 3. + <_> + + <_> + 5 16 7 3 -1. + <_> + 5 17 7 1 3. + <_> + + <_> + 0 12 20 6 -1. + <_> + 0 14 20 2 3. + <_> + + <_> + 4 18 14 2 -1. + <_> + 4 19 14 1 2. + <_> + + <_> + 8 12 3 8 -1. + <_> + 9 12 1 8 3. + <_> + + <_> + 7 13 3 3 -1. + <_> + 7 14 3 1 3. + <_> + + <_> + 5 5 12 10 -1. + <_> + 11 5 6 5 2. + <_> + 5 10 6 5 2. + <_> + + <_> + 8 1 5 10 -1. + <_> + 8 6 5 5 2. + <_> + + <_> + 5 4 9 12 -1. + <_> + 5 10 9 6 2. + <_> + + <_> + 7 13 6 6 -1. + <_> + 7 15 6 2 3. + <_> + + <_> + 8 4 5 16 -1. + <_> + 8 12 5 8 2. + <_> + + <_> + 8 12 4 6 -1. + <_> + 8 15 4 3 2. + <_> + + <_> + 7 13 2 2 -1. + <_> + 7 13 1 1 2. + <_> + 8 14 1 1 2. + <_> + + <_> + 7 12 2 2 -1. + <_> + 7 12 1 1 2. + <_> + 8 13 1 1 2. + <_> + + <_> + 18 0 2 14 -1. + <_> + 18 0 1 14 2. + <_> + + <_> + 12 11 7 2 -1. + <_> + 12 12 7 1 2. + <_> + + <_> + 1 18 1 2 -1. + <_> + 1 19 1 1 2. + <_> + + <_> + 2 18 1 2 -1. + <_> + 2 19 1 1 2. + <_> + + <_> + 9 7 2 1 -1. + <_> + 9 7 1 1 2. + <_> + + <_> + 9 6 2 3 -1. + <_> + 9 6 1 3 2. + <_> + + <_> + 3 1 2 2 -1. + <_> + 4 1 1 2 2. + <_> + + <_> + 3 0 3 2 -1. + <_> + 3 1 3 1 2. + <_> + + <_> + 12 10 3 4 -1. + <_> + 12 12 3 2 2. + <_> + + <_> + 7 7 8 2 -1. + <_> + 7 8 8 1 2. + <_> + + <_> + 8 8 3 4 -1. + <_> + 8 10 3 2 2. + <_> + + <_> + 7 12 6 3 -1. + <_> + 7 13 6 1 3. + <_> + + <_> + 0 2 10 3 -1. + <_> + 5 2 5 3 2. + <_> + + <_> + 0 1 20 6 -1. + <_> + 0 3 20 2 3. + <_> + + <_> + 7 6 6 3 -1. + <_> + 9 6 2 3 3. + <_> + + <_> + 3 7 14 4 -1. + <_> + 3 9 14 2 2. + <_> + + <_> + 5 7 3 6 -1. + <_> + 5 9 3 2 3. + <_> + + <_> + 8 8 3 12 -1. + <_> + 8 12 3 4 3. + <_> + + <_> + 9 17 6 2 -1. + <_> + 12 17 3 1 2. + <_> + 9 18 3 1 2. + <_> + + <_> + 10 17 4 3 -1. + <_> + 10 18 4 1 3. + <_> + + <_> + 4 2 4 2 -1. + <_> + 4 3 4 1 2. + <_> + + <_> + 7 3 6 14 -1. + <_> + 9 3 2 14 3. + <_> + + <_> + 15 13 1 6 -1. + <_> + 15 16 1 3 2. + <_> + + <_> + 13 14 2 6 -1. + <_> + 13 16 2 2 3. + <_> + + <_> + 4 11 5 6 -1. + <_> + 4 14 5 3 2. + <_> + + <_> + 4 17 4 2 -1. + <_> + 6 17 2 2 2. + <_> + + <_> + 0 6 20 2 -1. + <_> + 0 6 10 2 2. + <_> + + <_> + 6 5 10 12 -1. + <_> + 11 5 5 6 2. + <_> + 6 11 5 6 2. + <_> + + <_> + 4 0 2 12 -1. + <_> + 4 0 1 6 2. + <_> + 5 6 1 6 2. + <_> + + <_> + 4 1 6 2 -1. + <_> + 6 1 2 2 3. + <_> + + <_> + 13 7 2 1 -1. + <_> + 13 7 1 1 2. + <_> + + <_> + 5 5 15 6 -1. + <_> + 5 7 15 2 3. + <_> + + <_> + 1 10 18 2 -1. + <_> + 1 10 9 1 2. + <_> + 10 11 9 1 2. + <_> + + <_> + 1 6 15 7 -1. + <_> + 6 6 5 7 3. + <_> + + <_> + 8 14 4 3 -1. + <_> + 8 15 4 1 3. + <_> + + <_> + 9 14 3 3 -1. + <_> + 9 15 3 1 3. + <_> + + <_> + 8 14 4 3 -1. + <_> + 8 15 4 1 3. + <_> + + <_> + 8 13 3 2 -1. + <_> + 8 14 3 1 2. + <_> + + <_> + 15 14 5 3 -1. + <_> + 15 15 5 1 3. + <_> + + <_> + 0 14 20 1 -1. + <_> + 0 14 10 1 2. + <_> + + <_> + 0 14 6 3 -1. + <_> + 0 15 6 1 3. + <_> + + <_> + 5 3 4 2 -1. + <_> + 5 4 4 1 2. + <_> + + <_> + 0 6 20 1 -1. + <_> + 0 6 10 1 2. + <_> + + <_> + 6 3 10 14 -1. + <_> + 11 3 5 7 2. + <_> + 6 10 5 7 2. + <_> + + <_> + 8 12 4 2 -1. + <_> + 8 13 4 1 2. + <_> + + <_> + 6 3 8 6 -1. + <_> + 6 3 4 3 2. + <_> + 10 6 4 3 2. + <_> + + <_> + 13 7 2 1 -1. + <_> + 13 7 1 1 2. + <_> + + <_> + 6 3 10 14 -1. + <_> + 11 3 5 7 2. + <_> + 6 10 5 7 2. + <_> + + <_> + 5 7 2 1 -1. + <_> + 6 7 1 1 2. + <_> + + <_> + 4 3 10 14 -1. + <_> + 4 3 5 7 2. + <_> + 9 10 5 7 2. + <_> + + <_> + 9 7 2 2 -1. + <_> + 9 7 1 2 2. + <_> + + <_> + 0 3 20 1 -1. + <_> + 0 3 10 1 2. + <_> + + <_> + 2 1 10 3 -1. + <_> + 2 2 10 1 3. + <_> + + <_> + 9 7 2 2 -1. + <_> + 10 7 1 2 2. + <_> + + <_> + 9 17 3 2 -1. + <_> + 10 17 1 2 3. + <_> + + <_> + 9 7 3 6 -1. + <_> + 10 7 1 6 3. + <_> + + <_> + 8 17 3 2 -1. + <_> + 9 17 1 2 3. + <_> + + <_> + 8 7 3 6 -1. + <_> + 9 7 1 6 3. + <_> + + <_> + 16 3 4 6 -1. + <_> + 16 5 4 2 3. + <_> + + <_> + 15 6 2 12 -1. + <_> + 16 6 1 6 2. + <_> + 15 12 1 6 2. + <_> + + <_> + 1 4 18 10 -1. + <_> + 1 4 9 5 2. + <_> + 10 9 9 5 2. + <_> + + <_> + 9 4 2 4 -1. + <_> + 9 6 2 2 2. + <_> + + <_> + 12 5 3 2 -1. + <_> + 12 6 3 1 2. + <_> + + <_> + 5 12 10 4 -1. + <_> + 5 14 10 2 2. + <_> + + <_> + 5 5 3 2 -1. + <_> + 5 6 3 1 2. + <_> + + <_> + 4 6 12 6 -1. + <_> + 8 6 4 6 3. + <_> + + <_> + 14 4 6 6 -1. + <_> + 14 6 6 2 3. + <_> + + <_> + 16 0 4 6 -1. + <_> + 18 0 2 3 2. + <_> + 16 3 2 3 2. + <_> + + <_> + 0 4 6 6 -1. + <_> + 0 6 6 2 3. + <_> + + <_> + 0 0 4 6 -1. + <_> + 0 0 2 3 2. + <_> + 2 3 2 3 2. + <_> + + <_> + 12 0 8 5 -1. + <_> + 12 0 4 5 2. + <_> + + <_> + 16 0 4 17 -1. + <_> + 16 0 2 17 2. + <_> + + <_> + 1 0 18 20 -1. + <_> + 7 0 6 20 3. + <_> + + <_> + 6 0 2 5 -1. + <_> + 7 0 1 5 2. + <_> + + <_> + 0 6 20 1 -1. + <_> + 0 6 10 1 2. + <_> + + <_> + 8 7 6 4 -1. + <_> + 10 7 2 4 3. + <_> + + <_> + 1 1 16 4 -1. + <_> + 1 1 8 2 2. + <_> + 9 3 8 2 2. + <_> + + <_> + 7 2 4 2 -1. + <_> + 7 2 2 1 2. + <_> + 9 3 2 1 2. + <_> + + <_> + 7 4 9 3 -1. + <_> + 7 5 9 1 3. + <_> + + <_> + 10 4 5 12 -1. + <_> + 10 10 5 6 2. + <_> + + <_> + 3 12 2 3 -1. + <_> + 3 13 2 1 3. + <_> + + <_> + 8 8 3 5 -1. + <_> + 9 8 1 5 3. + <_> + + <_> + 13 9 2 3 -1. + <_> + 13 9 1 3 2. + <_> + + <_> + 15 11 2 2 -1. + <_> + 15 12 2 1 2. + <_> + + <_> + 5 6 2 3 -1. + <_> + 5 7 2 1 3. + <_> + + <_> + 2 11 6 2 -1. + <_> + 2 12 6 1 2. + <_> + + <_> + 15 11 4 3 -1. + <_> + 15 12 4 1 3. + <_> + + <_> + 16 0 4 17 -1. + <_> + 16 0 2 17 2. + <_> + + <_> + 1 11 4 3 -1. + <_> + 1 12 4 1 3. + <_> + + <_> + 9 11 1 3 -1. + <_> + 9 12 1 1 3. + <_> + + <_> + 10 9 6 7 -1. + <_> + 10 9 3 7 2. + <_> + + <_> + 8 15 4 2 -1. + <_> + 8 16 4 1 2. + <_> + + <_> + 4 9 6 7 -1. + <_> + 7 9 3 7 2. + <_> + + <_> + 9 14 2 3 -1. + <_> + 9 15 2 1 3. + <_> + + <_> + 0 2 20 2 -1. + <_> + 10 2 10 1 2. + <_> + 0 3 10 1 2. + <_> + + <_> + 6 7 8 2 -1. + <_> + 6 8 8 1 2. + <_> + + <_> + 0 2 20 2 -1. + <_> + 0 2 10 1 2. + <_> + 10 3 10 1 2. + <_> + + <_> + 3 1 2 10 -1. + <_> + 3 1 1 5 2. + <_> + 4 6 1 5 2. + <_> + + <_> + 13 4 1 10 -1. + <_> + 13 9 1 5 2. + <_> + + <_> + 9 8 4 3 -1. + <_> + 9 9 4 1 3. + <_> + + <_> + 2 11 16 4 -1. + <_> + 2 11 8 2 2. + <_> + 10 13 8 2 2. + <_> + + <_> + 5 1 3 5 -1. + <_> + 6 1 1 5 3. + <_> + + <_> + 9 10 2 3 -1. + <_> + 9 11 2 1 3. + <_> + + <_> + 9 11 2 2 -1. + <_> + 9 12 2 1 2. + <_> + + <_> + 0 10 20 2 -1. + <_> + 0 11 20 1 2. + <_> + + <_> + 1 7 6 4 -1. + <_> + 1 7 3 2 2. + <_> + 4 9 3 2 2. + <_> + + <_> + 12 0 8 8 -1. + <_> + 16 0 4 4 2. + <_> + 12 4 4 4 2. + <_> + + <_> + 14 1 6 4 -1. + <_> + 16 1 2 4 3. + <_> + + <_> + 6 3 2 14 -1. + <_> + 6 10 2 7 2. + <_> + + <_> + 6 1 7 12 -1. + <_> + 6 7 7 6 2. + <_> + + <_> + 5 0 15 5 -1. + <_> + 10 0 5 5 3. + <_> + + <_> + 15 0 4 10 -1. + <_> + 15 0 2 10 2. + <_> + + <_> + 1 0 18 3 -1. + <_> + 7 0 6 3 3. + <_> + + <_> + 0 0 17 2 -1. + <_> + 0 1 17 1 2. + <_> + + <_> + 10 0 3 3 -1. + <_> + 11 0 1 3 3. + <_> + + <_> + 10 0 3 12 -1. + <_> + 11 0 1 12 3. + <_> + + <_> + 1 3 4 16 -1. + <_> + 1 3 2 8 2. + <_> + 3 11 2 8 2. + <_> + + <_> + 7 0 3 3 -1. + <_> + 8 0 1 3 3. + <_> + + <_> + 9 13 2 6 -1. + <_> + 9 16 2 3 2. + <_> + + <_> + 9 0 6 13 -1. + <_> + 11 0 2 13 3. + <_> + + <_> + 7 7 3 2 -1. + <_> + 8 7 1 2 3. + <_> + + <_> + 8 2 1 12 -1. + <_> + 8 6 1 4 3. + <_> + + <_> + 4 10 12 6 -1. + <_> + 10 10 6 3 2. + <_> + 4 13 6 3 2. + <_> + + <_> + 13 5 2 3 -1. + <_> + 13 6 2 1 3. + <_> + + <_> + 4 10 12 6 -1. + <_> + 4 10 6 3 2. + <_> + 10 13 6 3 2. + <_> + + <_> + 5 5 2 3 -1. + <_> + 5 6 2 1 3. + <_> + + <_> + 8 6 6 7 -1. + <_> + 10 6 2 7 3. + <_> + + <_> + 9 6 2 4 -1. + <_> + 9 6 1 4 2. + <_> + + <_> + 6 6 6 7 -1. + <_> + 8 6 2 7 3. + <_> + + <_> + 9 6 2 4 -1. + <_> + 10 6 1 4 2. + <_> + + <_> + 12 9 2 3 -1. + <_> + 12 9 1 3 2. + <_> + + <_> + 0 6 20 1 -1. + <_> + 0 6 10 1 2. + <_> + + <_> + 5 7 10 2 -1. + <_> + 10 7 5 2 2. + <_> + + <_> + 1 16 4 3 -1. + <_> + 1 17 4 1 3. + <_> + + <_> + 12 4 3 3 -1. + <_> + 12 5 3 1 3. + <_> + + <_> + 10 3 5 3 -1. + <_> + 10 4 5 1 3. + <_> + + <_> + 3 9 14 8 -1. + <_> + 3 9 7 4 2. + <_> + 10 13 7 4 2. + <_> + + <_> + 6 8 8 10 -1. + <_> + 6 8 4 5 2. + <_> + 10 13 4 5 2. + <_> + + <_> + 12 4 3 3 -1. + <_> + 12 5 3 1 3. + <_> + + <_> + 10 3 5 3 -1. + <_> + 10 4 5 1 3. + <_> + + <_> + 5 4 3 3 -1. + <_> + 5 5 3 1 3. + <_> + + <_> + 5 3 5 3 -1. + <_> + 5 4 5 1 3. + <_> + + <_> + 13 16 2 3 -1. + <_> + 13 17 2 1 3. + <_> + + <_> + 0 5 20 6 -1. + <_> + 0 7 20 2 3. + <_> + + <_> + 3 14 3 3 -1. + <_> + 3 15 3 1 3. + <_> + + <_> + 7 15 5 3 -1. + <_> + 7 16 5 1 3. + <_> + + <_> + 12 9 2 3 -1. + <_> + 12 9 1 3 2. + <_> + + <_> + 15 13 2 6 -1. + <_> + 15 13 1 6 2. + <_> + + <_> + 6 9 2 3 -1. + <_> + 7 9 1 3 2. + <_> + + <_> + 3 13 2 6 -1. + <_> + 4 13 1 6 2. + <_> + + <_> + 11 4 2 4 -1. + <_> + 11 4 1 4 2. + <_> + + <_> + 13 4 2 5 -1. + <_> + 13 4 1 5 2. + <_> + + <_> + 7 4 2 4 -1. + <_> + 8 4 1 4 2. + <_> + + <_> + 5 4 2 5 -1. + <_> + 6 4 1 5 2. + <_> + + <_> + 19 6 1 2 -1. + <_> + 19 7 1 1 2. + <_> + + <_> + 12 7 8 13 -1. + <_> + 12 7 4 13 2. + <_> + + <_> + 0 6 1 2 -1. + <_> + 0 7 1 1 2. + <_> + + <_> + 6 15 4 3 -1. + <_> + 6 16 4 1 3. + <_> + + <_> + 11 8 2 2 -1. + <_> + 11 9 2 1 2. + <_> + + <_> + 11 7 2 4 -1. + <_> + 11 7 1 4 2. + <_> + + <_> + 4 13 2 3 -1. + <_> + 4 14 2 1 3. + <_> + + <_> + 0 17 18 3 -1. + <_> + 6 17 6 3 3. + <_> + + <_> + 1 0 18 5 -1. + <_> + 7 0 6 5 3. + <_> + + <_> + 5 7 3 4 -1. + <_> + 5 9 3 2 2. + <_> + + <_> + 10 6 2 2 -1. + <_> + 10 6 1 2 2. + <_> + + <_> + 6 4 14 4 -1. + <_> + 13 4 7 2 2. + <_> + 6 6 7 2 2. + <_> + + <_> + 5 16 6 4 -1. + <_> + 5 16 3 2 2. + <_> + 8 18 3 2 2. + <_> + + <_> + 7 15 2 4 -1. + <_> + 7 17 2 2 2. + <_> + + <_> + 8 5 5 14 -1. + <_> + 8 12 5 7 2. + <_> + + <_> + 9 9 2 2 -1. + <_> + 9 10 2 1 2. + <_> + + <_> + 7 5 3 7 -1. + <_> + 8 5 1 7 3. + <_> + + <_> + 0 0 3 9 -1. + <_> + 0 3 3 3 3. + <_> + + <_> + 8 6 8 8 -1. + <_> + 12 6 4 4 2. + <_> + 8 10 4 4 2. + <_> + + <_> + 4 8 13 2 -1. + <_> + 4 9 13 1 2. + <_> + + <_> + 4 3 6 1 -1. + <_> + 6 3 2 1 3. + <_> + + <_> + 9 1 2 6 -1. + <_> + 9 3 2 2 3. + <_> + + <_> + 10 5 6 4 -1. + <_> + 12 5 2 4 3. + <_> + + <_> + 9 5 2 12 -1. + <_> + 9 9 2 4 3. + <_> + + <_> + 8 14 4 3 -1. + <_> + 8 15 4 1 3. + <_> + + <_> + 8 12 4 3 -1. + <_> + 8 13 4 1 3. + <_> + + <_> + 10 3 6 7 -1. + <_> + 12 3 2 7 3. + <_> + + <_> + 3 10 16 6 -1. + <_> + 3 12 16 2 3. + <_> + + <_> + 5 5 3 10 -1. + <_> + 5 10 3 5 2. + <_> + + <_> + 6 10 3 6 -1. + <_> + 6 13 3 3 2. + <_> + + <_> + 17 2 2 12 -1. + <_> + 17 2 1 12 2. + <_> + + <_> + 16 6 2 14 -1. + <_> + 16 13 2 7 2. + <_> + + <_> + 3 11 12 9 -1. + <_> + 3 14 12 3 3. + <_> + + <_> + 0 2 4 12 -1. + <_> + 2 2 2 12 2. + <_> + + <_> + 18 0 2 18 -1. + <_> + 18 0 1 18 2. + <_> + + <_> + 16 12 3 2 -1. + <_> + 16 13 3 1 2. + <_> + + <_> + 0 2 2 15 -1. + <_> + 1 2 1 15 2. + <_> + + <_> + 1 10 2 4 -1. + <_> + 1 12 2 2 2. + <_> + + <_> + 11 1 2 18 -1. + <_> + 11 1 1 18 2. + <_> + + <_> + 3 2 14 2 -1. + <_> + 10 2 7 1 2. + <_> + 3 3 7 1 2. + <_> + + <_> + 7 1 2 18 -1. + <_> + 8 1 1 18 2. + <_> + + <_> + 6 1 8 12 -1. + <_> + 6 7 8 6 2. + <_> + + <_> + 8 14 4 3 -1. + <_> + 8 15 4 1 3. + <_> + + <_> + 7 14 6 3 -1. + <_> + 7 15 6 1 3. + <_> + + <_> + 0 13 5 2 -1. + <_> + 0 14 5 1 2. + <_> + + <_> + 9 0 2 6 -1. + <_> + 9 0 1 3 2. + <_> + 10 3 1 3 2. + <_> + + <_> + 9 0 2 6 -1. + <_> + 10 0 1 3 2. + <_> + 9 3 1 3 2. + <_> + + <_> + 9 7 3 6 -1. + <_> + 10 7 1 6 3. + <_> + + <_> + 9 0 2 6 -1. + <_> + 9 0 1 3 2. + <_> + 10 3 1 3 2. + <_> + + <_> + 8 7 3 6 -1. + <_> + 9 7 1 6 3. + <_> + + <_> + 9 6 2 6 -1. + <_> + 9 6 1 6 2. + <_> + + <_> + 9 4 4 3 -1. + <_> + 9 4 2 3 2. + <_> + + <_> + 0 4 4 3 -1. + <_> + 0 5 4 1 3. + <_> + + <_> + 8 7 4 2 -1. + <_> + 8 8 4 1 2. + <_> + + <_> + 10 6 6 3 -1. + <_> + 12 6 2 3 3. + <_> + + <_> + 9 6 3 12 -1. + <_> + 9 10 3 4 3. + <_> + + <_> + 5 4 2 3 -1. + <_> + 5 5 2 1 3. + <_> + + <_> + 5 6 1 3 -1. + <_> + 5 7 1 1 3. + <_> + + <_> + 9 17 3 2 -1. + <_> + 10 17 1 2 3. + <_> + + <_> + 0 7 20 2 -1. + <_> + 0 8 20 1 2. + <_> + + <_> + 4 3 6 7 -1. + <_> + 6 3 2 7 3. + <_> + + <_> + 5 10 6 10 -1. + <_> + 5 10 3 5 2. + <_> + 8 15 3 5 2. + <_> + + <_> + 9 17 3 2 -1. + <_> + 10 17 1 2 3. + <_> + + <_> + 9 10 2 2 -1. + <_> + 9 11 2 1 2. + <_> + + <_> + 8 17 3 2 -1. + <_> + 9 17 1 2 3. + <_> + + <_> + 5 6 1 3 -1. + <_> + 5 7 1 1 3. + <_> + + <_> + 0 1 20 2 -1. + <_> + 10 1 10 1 2. + <_> + 0 2 10 1 2. + <_> + + <_> + 14 2 6 9 -1. + <_> + 14 5 6 3 3. + <_> + + <_> + 5 3 3 2 -1. + <_> + 5 4 3 1 2. + <_> + + <_> + 5 4 4 2 -1. + <_> + 7 4 2 2 2. + <_> + + <_> + 14 2 6 9 -1. + <_> + 14 5 6 3 3. + <_> + + <_> + 0 12 20 6 -1. + <_> + 0 14 20 2 3. + <_> + + <_> + 2 2 16 4 -1. + <_> + 2 2 8 2 2. + <_> + 10 4 8 2 2. + <_> + + <_> + 7 12 5 3 -1. + <_> + 7 13 5 1 3. + <_> + + <_> + 14 9 6 10 -1. + <_> + 14 9 3 10 2. + <_> + + <_> + 16 6 3 2 -1. + <_> + 16 7 3 1 2. + <_> + + <_> + 0 9 6 10 -1. + <_> + 3 9 3 10 2. + <_> + + <_> + 0 16 5 2 -1. + <_> + 0 17 5 1 2. + <_> + + <_> + 9 12 2 3 -1. + <_> + 9 13 2 1 3. + <_> + + <_> + 9 7 2 12 -1. + <_> + 9 11 2 4 3. + <_> + + <_> + 3 2 6 2 -1. + <_> + 5 2 2 2 3. + <_> + + <_> + 4 1 1 2 -1. + <_> + 4 2 1 1 2. + <_> + + <_> + 11 15 1 2 -1. + <_> + 11 16 1 1 2. + <_> + + <_> + 3 1 16 2 -1. + <_> + 11 1 8 1 2. + <_> + 3 2 8 1 2. + <_> + + <_> + 3 6 2 2 -1. + <_> + 3 6 1 1 2. + <_> + 4 7 1 1 2. + <_> + + <_> + 5 11 10 6 -1. + <_> + 5 11 5 3 2. + <_> + 10 14 5 3 2. + <_> + + <_> + 10 11 4 6 -1. + <_> + 10 14 4 3 2. + <_> + + <_> + 14 9 6 11 -1. + <_> + 16 9 2 11 3. + <_> + + <_> + 0 9 6 11 -1. + <_> + 2 9 2 11 3. + <_> + + <_> + 2 11 16 6 -1. + <_> + 2 11 8 3 2. + <_> + 10 14 8 3 2. + <_> + + <_> + 12 0 8 10 -1. + <_> + 16 0 4 5 2. + <_> + 12 5 4 5 2. + <_> + + <_> + 14 2 6 4 -1. + <_> + 16 2 2 4 3. + <_> + + <_> + 0 0 8 10 -1. + <_> + 0 0 4 5 2. + <_> + 4 5 4 5 2. + <_> + + <_> + 0 2 6 4 -1. + <_> + 2 2 2 4 3. + <_> + + <_> + 4 9 15 2 -1. + <_> + 9 9 5 2 3. + <_> + + <_> + 12 3 4 8 -1. + <_> + 14 3 2 4 2. + <_> + 12 7 2 4 2. + <_> + + <_> + 9 2 2 9 -1. + <_> + 10 2 1 9 2. + <_> + + <_> + 0 2 20 1 -1. + <_> + 10 2 10 1 2. + <_> + + <_> + 16 1 4 5 -1. + <_> + 16 1 2 5 2. + <_> + + <_> + 16 0 4 6 -1. + <_> + 16 3 4 3 2. + <_> + + <_> + 4 3 6 4 -1. + <_> + 6 3 2 4 3. + <_> + + <_> + 0 0 18 5 -1. + <_> + 6 0 6 5 3. + <_> + + <_> + 6 2 12 14 -1. + <_> + 12 2 6 7 2. + <_> + 6 9 6 7 2. + <_> + + <_> + 11 8 3 5 -1. + <_> + 12 8 1 5 3. + <_> + + <_> + 5 12 2 2 -1. + <_> + 5 13 2 1 2. + <_> + + <_> + 5 10 4 3 -1. + <_> + 7 10 2 3 2. + <_> + + <_> + 4 9 15 2 -1. + <_> + 9 9 5 2 3. + <_> + + <_> + 10 7 6 2 -1. + <_> + 12 7 2 2 3. + <_> + + <_> + 1 9 15 2 -1. + <_> + 6 9 5 2 3. + <_> + + <_> + 5 0 2 10 -1. + <_> + 5 0 1 5 2. + <_> + 6 5 1 5 2. + <_> + + <_> + 0 0 20 14 -1. + <_> + 0 7 20 7 2. + <_> + + <_> + 12 7 8 4 -1. + <_> + 12 7 4 4 2. + <_> + + <_> + 0 7 8 4 -1. + <_> + 4 7 4 4 2. + <_> + + <_> + 8 1 3 3 -1. + <_> + 9 1 1 3 3. + <_> + + <_> + 9 7 3 4 -1. + <_> + 10 7 1 4 3. + <_> + + <_> + 9 9 3 1 -1. + <_> + 10 9 1 1 3. + <_> + + <_> + 8 9 3 2 -1. + <_> + 8 10 3 1 2. + <_> + + <_> + 8 4 2 8 -1. + <_> + 8 4 1 4 2. + <_> + 9 8 1 4 2. + <_> + + <_> + 5 8 12 3 -1. + <_> + 5 9 12 1 3. + <_> + + <_> + 11 14 1 3 -1. + <_> + 11 15 1 1 3. + <_> + + <_> + 6 10 3 6 -1. + <_> + 6 12 3 2 3. + <_> + + <_> + 4 17 8 3 -1. + <_> + 4 18 8 1 3. + <_> + + <_> + 17 6 2 3 -1. + <_> + 17 7 2 1 3. + <_> + + <_> + 9 12 2 2 -1. + <_> + 10 12 1 1 2. + <_> + 9 13 1 1 2. + <_> + + <_> + 9 13 2 4 -1. + <_> + 9 13 1 2 2. + <_> + 10 15 1 2 2. + <_> + + <_> + 9 11 2 3 -1. + <_> + 9 12 2 1 3. + <_> + + <_> + 5 5 12 10 -1. + <_> + 11 5 6 5 2. + <_> + 5 10 6 5 2. + <_> + + <_> + 6 3 12 12 -1. + <_> + 12 3 6 6 2. + <_> + 6 9 6 6 2. + <_> + + <_> + 5 7 2 2 -1. + <_> + 5 7 1 1 2. + <_> + 6 8 1 1 2. + <_> + + <_> + 4 3 3 2 -1. + <_> + 5 3 1 2 3. + <_> + + <_> + 6 2 12 14 -1. + <_> + 12 2 6 7 2. + <_> + 6 9 6 7 2. + <_> + + <_> + 5 2 12 3 -1. + <_> + 9 2 4 3 3. + <_> + + <_> + 1 1 18 17 -1. + <_> + 7 1 6 17 3. + <_> + + <_> + 0 9 10 1 -1. + <_> + 5 9 5 1 2. + <_> + + <_> + 16 8 4 3 -1. + <_> + 16 9 4 1 3. + <_> + + <_> + 7 13 6 6 -1. + <_> + 7 16 6 3 2. + <_> + + <_> + 6 14 1 6 -1. + <_> + 6 16 1 2 3. + <_> + + <_> + 6 17 4 2 -1. + <_> + 6 18 4 1 2. + <_> + + <_> + 10 18 6 2 -1. + <_> + 13 18 3 1 2. + <_> + 10 19 3 1 2. + <_> + + <_> + 16 8 1 3 -1. + <_> + 16 9 1 1 3. + <_> + + <_> + 8 13 4 3 -1. + <_> + 8 14 4 1 3. + <_> + + <_> + 9 15 1 2 -1. + <_> + 9 16 1 1 2. + <_> + + <_> + 13 0 3 12 -1. + <_> + 14 0 1 12 3. + <_> + + <_> + 15 11 1 3 -1. + <_> + 15 12 1 1 3. + <_> + + <_> + 8 15 3 3 -1. + <_> + 8 16 3 1 3. + <_> + + <_> + 4 0 3 12 -1. + <_> + 5 0 1 12 3. + <_> + + <_> + 9 7 3 3 -1. + <_> + 10 7 1 3 3. + <_> + + <_> + 9 9 3 1 -1. + <_> + 10 9 1 1 3. + <_> + + <_> + 2 2 12 14 -1. + <_> + 2 2 6 7 2. + <_> + 8 9 6 7 2. + <_> + + <_> + 4 2 12 3 -1. + <_> + 8 2 4 3 3. + <_> + + <_> + 18 18 2 2 -1. + <_> + 18 18 1 2 2. + <_> + + <_> + 17 2 3 8 -1. + <_> + 18 2 1 8 3. + <_> + + <_> + 0 18 2 2 -1. + <_> + 1 18 1 2 2. + <_> + + <_> + 6 11 2 6 -1. + <_> + 6 14 2 3 2. + <_> + + <_> + 13 10 5 6 -1. + <_> + 13 12 5 2 3. + <_> + + <_> + 5 8 15 3 -1. + <_> + 5 9 15 1 3. + <_> + + <_> + 2 10 5 6 -1. + <_> + 2 12 5 2 3. + <_> + + <_> + 0 8 15 3 -1. + <_> + 0 9 15 1 3. + <_> + + <_> + 16 2 3 1 -1. + <_> + 17 2 1 1 3. + <_> + + <_> + 17 4 3 2 -1. + <_> + 18 4 1 2 3. + <_> + + <_> + 0 8 8 12 -1. + <_> + 0 8 4 6 2. + <_> + 4 14 4 6 2. + <_> + + <_> + 1 7 8 6 -1. + <_> + 1 7 4 3 2. + <_> + 5 10 4 3 2. + <_> + + <_> + 14 1 6 2 -1. + <_> + 16 1 2 2 3. + <_> + + <_> + 15 0 4 4 -1. + <_> + 17 0 2 2 2. + <_> + 15 2 2 2 2. + <_> + + <_> + 1 1 4 11 -1. + <_> + 3 1 2 11 2. + <_> + + <_> + 5 5 1 8 -1. + <_> + 5 9 1 4 2. + <_> + + <_> + 7 7 6 1 -1. + <_> + 9 7 2 1 3. + <_> + + <_> + 4 7 12 2 -1. + <_> + 8 7 4 2 3. + <_> + + <_> + 8 4 4 4 -1. + <_> + 8 6 4 2 2. + <_> + + <_> + 2 4 9 1 -1. + <_> + 5 4 3 1 3. + <_> + + <_> + 9 12 2 8 -1. + <_> + 9 16 2 4 2. + <_> + + <_> + 3 8 14 12 -1. + <_> + 3 14 14 6 2. + <_> + + <_> + 6 13 7 3 -1. + <_> + 6 14 7 1 3. + <_> + + <_> + 5 9 6 3 -1. + <_> + 7 9 2 3 3. + <_> + + <_> + 12 1 6 3 -1. + <_> + 12 2 6 1 3. + <_> + + <_> + 8 12 6 2 -1. + <_> + 8 13 6 1 2. + <_> + + <_> + 0 2 18 2 -1. + <_> + 0 2 9 1 2. + <_> + 9 3 9 1 2. + <_> + + <_> + 6 10 3 6 -1. + <_> + 6 13 3 3 2. + <_> + + <_> + 14 0 6 6 -1. + <_> + 14 0 3 6 2. + <_> + + <_> + 15 0 5 8 -1. + <_> + 15 4 5 4 2. + <_> + + <_> + 7 16 6 4 -1. + <_> + 9 16 2 4 3. + <_> + + <_> + 2 11 14 4 -1. + <_> + 2 11 7 2 2. + <_> + 9 13 7 2 2. + <_> + + <_> + 14 10 6 10 -1. + <_> + 14 10 3 10 2. + <_> + + <_> + 9 8 10 12 -1. + <_> + 14 8 5 6 2. + <_> + 9 14 5 6 2. + <_> + + <_> + 0 10 6 10 -1. + <_> + 3 10 3 10 2. + <_> + + <_> + 1 8 10 12 -1. + <_> + 1 8 5 6 2. + <_> + 6 14 5 6 2. + <_> + + <_> + 9 3 6 1 -1. + <_> + 11 3 2 1 3. + <_> + + <_> + 7 4 6 3 -1. + <_> + 9 4 2 3 3. + <_> + + <_> + 5 3 6 1 -1. + <_> + 7 3 2 1 3. + <_> + + <_> + 4 5 6 3 -1. + <_> + 6 5 2 3 3. + <_> + + <_> + 9 16 3 3 -1. + <_> + 9 17 3 1 3. + <_> + + <_> + 8 14 6 3 -1. + <_> + 8 15 6 1 3. + <_> + + <_> + 6 0 8 12 -1. + <_> + 6 0 4 6 2. + <_> + 10 6 4 6 2. + <_> + + <_> + 4 12 2 3 -1. + <_> + 4 13 2 1 3. + <_> + + <_> + 12 16 6 3 -1. + <_> + 12 17 6 1 3. + <_> + + <_> + 7 12 7 2 -1. + <_> + 7 13 7 1 2. + <_> + + <_> + 2 16 6 3 -1. + <_> + 2 17 6 1 3. + <_> + + <_> + 0 7 16 6 -1. + <_> + 0 10 16 3 2. + <_> + + <_> + 9 7 3 3 -1. + <_> + 10 7 1 3 3. + <_> + + <_> + 9 7 3 5 -1. + <_> + 10 7 1 5 3. + <_> + + <_> + 0 5 20 10 -1. + <_> + 0 5 10 5 2. + <_> + 10 10 10 5 2. + <_> + + <_> + 3 1 4 2 -1. + <_> + 5 1 2 2 2. + <_> + + <_> + 7 6 8 10 -1. + <_> + 11 6 4 5 2. + <_> + 7 11 4 5 2. + <_> + + <_> + 17 6 3 2 -1. + <_> + 17 7 3 1 2. + <_> + + <_> + 5 6 8 10 -1. + <_> + 5 6 4 5 2. + <_> + 9 11 4 5 2. + <_> + + <_> + 5 12 10 6 -1. + <_> + 5 14 10 2 3. + <_> + + <_> + 9 7 3 3 -1. + <_> + 10 7 1 3 3. + <_> + + <_> + 10 3 2 6 -1. + <_> + 11 3 1 3 2. + <_> + 10 6 1 3 2. + <_> + + <_> + 0 4 3 3 -1. + <_> + 0 5 3 1 3. + <_> + + <_> + 3 16 8 4 -1. + <_> + 3 16 4 2 2. + <_> + 7 18 4 2 2. + <_> + + <_> + 8 13 5 2 -1. + <_> + 8 14 5 1 2. + <_> + + <_> + 8 7 4 12 -1. + <_> + 8 11 4 4 3. + <_> + + <_> + 5 9 2 2 -1. + <_> + 6 9 1 2 2. + <_> + + <_> + 9 15 2 3 -1. + <_> + 9 16 2 1 3. + <_> + + <_> + 13 9 2 3 -1. + <_> + 13 9 1 3 2. + <_> + + <_> + 14 0 6 17 -1. + <_> + 16 0 2 17 3. + <_> + + <_> + 5 10 2 2 -1. + <_> + 6 10 1 2 2. + <_> + + <_> + 2 9 9 1 -1. + <_> + 5 9 3 1 3. + <_> + + <_> + 9 11 2 3 -1. + <_> + 9 12 2 1 3. + <_> + + <_> + 7 11 6 3 -1. + <_> + 7 12 6 1 3. + <_> + + <_> + 0 6 3 2 -1. + <_> + 0 7 3 1 2. + <_> + + <_> + 7 0 6 1 -1. + <_> + 9 0 2 1 3. + <_> + + <_> + 9 16 3 3 -1. + <_> + 9 17 3 1 3. + <_> + + <_> + 2 13 17 6 -1. + <_> + 2 16 17 3 2. + <_> + + <_> + 1 3 3 7 -1. + <_> + 2 3 1 7 3. + <_> + + <_> + 1 1 6 4 -1. + <_> + 3 1 2 4 3. + <_> + + <_> + 14 1 6 5 -1. + <_> + 14 1 3 5 2. + <_> + + <_> + 13 2 3 2 -1. + <_> + 13 3 3 1 2. + <_> + + <_> + 0 1 6 5 -1. + <_> + 3 1 3 5 2. + <_> + + <_> + 2 3 2 6 -1. + <_> + 2 5 2 2 3. + <_> + + <_> + 9 10 3 2 -1. + <_> + 9 11 3 1 2. + <_> + + <_> + 8 13 4 3 -1. + <_> + 8 14 4 1 3. + <_> + + <_> + 6 3 3 1 -1. + <_> + 7 3 1 1 3. + <_> + + <_> + 8 2 3 12 -1. + <_> + 8 6 3 4 3. + <_> + + <_> + 11 12 1 2 -1. + <_> + 11 13 1 1 2. + <_> + + <_> + 11 12 2 2 -1. + <_> + 12 12 1 1 2. + <_> + 11 13 1 1 2. + <_> + + <_> + 5 5 2 2 -1. + <_> + 5 6 2 1 2. + <_> + + <_> + 5 4 1 3 -1. + <_> + 5 5 1 1 3. + <_> + + <_> + 3 11 16 4 -1. + <_> + 11 11 8 2 2. + <_> + 3 13 8 2 2. + <_> + + <_> + 0 10 20 3 -1. + <_> + 0 11 20 1 3. + <_> + + <_> + 1 11 16 4 -1. + <_> + 1 11 8 2 2. + <_> + 9 13 8 2 2. + <_> + + <_> + 4 2 4 2 -1. + <_> + 4 3 4 1 2. + <_> + + <_> + 12 6 2 2 -1. + <_> + 13 6 1 1 2. + <_> + 12 7 1 1 2. + <_> + + <_> + 12 11 6 6 -1. + <_> + 12 13 6 2 3. + <_> + + <_> + 6 6 2 2 -1. + <_> + 6 6 1 1 2. + <_> + 7 7 1 1 2. + <_> + + <_> + 6 4 4 16 -1. + <_> + 8 4 2 16 2. + <_> + + <_> + 11 18 3 2 -1. + <_> + 11 19 3 1 2. + <_> + + <_> + 9 17 6 2 -1. + <_> + 12 17 3 1 2. + <_> + 9 18 3 1 2. + <_> + + <_> + 2 13 5 2 -1. + <_> + 2 14 5 1 2. + <_> + + <_> + 3 15 2 2 -1. + <_> + 3 16 2 1 2. + <_> + + <_> + 9 7 3 3 -1. + <_> + 10 7 1 3 3. + <_> + + <_> + 9 6 2 6 -1. + <_> + 9 6 1 6 2. + <_> + + <_> + 1 14 7 6 -1. + <_> + 1 16 7 2 3. + <_> + + <_> + 8 1 2 11 -1. + <_> + 9 1 1 11 2. + <_> + + <_> + 9 7 2 4 -1. + <_> + 9 7 1 4 2. + <_> + + <_> + 11 10 2 1 -1. + <_> + 11 10 1 1 2. + <_> + + <_> + 0 3 3 9 -1. + <_> + 1 3 1 9 3. + <_> + + <_> + 0 3 3 6 -1. + <_> + 0 5 3 2 3. + <_> + + <_> + 11 15 2 2 -1. + <_> + 12 15 1 1 2. + <_> + 11 16 1 1 2. + <_> + + <_> + 11 14 2 2 -1. + <_> + 12 14 1 1 2. + <_> + 11 15 1 1 2. + <_> + + <_> + 7 15 2 2 -1. + <_> + 7 15 1 1 2. + <_> + 8 16 1 1 2. + <_> + + <_> + 7 14 2 2 -1. + <_> + 7 14 1 1 2. + <_> + 8 15 1 1 2. + <_> + + <_> + 8 13 4 6 -1. + <_> + 10 13 2 3 2. + <_> + 8 16 2 3 2. + <_> + + <_> + 2 14 16 4 -1. + <_> + 10 14 8 2 2. + <_> + 2 16 8 2 2. + <_> + + <_> + 9 8 2 2 -1. + <_> + 9 9 2 1 2. + <_> + + <_> + 7 7 5 3 -1. + <_> + 7 8 5 1 3. + <_> + + <_> + 7 5 6 2 -1. + <_> + 9 5 2 2 3. + <_> + + <_> + 9 1 6 18 -1. + <_> + 11 1 2 18 3. + <_> + + <_> + 8 6 3 4 -1. + <_> + 9 6 1 4 3. + <_> + + <_> + 8 5 2 4 -1. + <_> + 8 5 1 2 2. + <_> + 9 7 1 2 2. + <_> + + <_> + 9 13 2 6 -1. + <_> + 10 13 1 3 2. + <_> + 9 16 1 3 2. + <_> + + <_> + 11 0 3 18 -1. + <_> + 12 0 1 18 3. + <_> + + <_> + 6 0 3 18 -1. + <_> + 7 0 1 18 3. + <_> + + <_> + 5 15 4 2 -1. + <_> + 7 15 2 2 2. + <_> + + <_> + 1 9 18 1 -1. + <_> + 7 9 6 1 3. + <_> + + <_> + 0 0 20 3 -1. + <_> + 0 1 20 1 3. + <_> + + <_> + 9 6 2 4 -1. + <_> + 10 6 1 4 2. + <_> + + <_> + 6 10 6 2 -1. + <_> + 8 10 2 2 3. + <_> + + <_> + 0 7 20 1 -1. + <_> + 0 7 10 1 2. + <_> + + <_> + 11 3 5 4 -1. + <_> + 11 5 5 2 2. + <_> + + <_> + 5 7 10 1 -1. + <_> + 10 7 5 1 2. + <_> + + <_> + 8 10 3 3 -1. + <_> + 8 11 3 1 3. + <_> + + <_> + 2 0 16 8 -1. + <_> + 10 0 8 4 2. + <_> + 2 4 8 4 2. + <_> + + <_> + 11 0 9 10 -1. + <_> + 11 5 9 5 2. + <_> + + <_> + 0 2 8 18 -1. + <_> + 4 2 4 18 2. + <_> + + <_> + 0 0 2 6 -1. + <_> + 0 2 2 2 3. + <_> + + <_> + 6 0 9 2 -1. + <_> + 6 1 9 1 2. + <_> + + <_> + 4 1 12 2 -1. + <_> + 4 2 12 1 2. + <_> + + <_> + 2 1 16 14 -1. + <_> + 2 8 16 7 2. + <_> + + <_> + 5 1 8 12 -1. + <_> + 5 7 8 6 2. + <_> + + <_> + 9 11 2 2 -1. + <_> + 9 12 2 1 2. + <_> + + <_> + 9 10 5 6 -1. + <_> + 9 12 5 2 3. + <_> + + <_> + 3 0 13 8 -1. + <_> + 3 4 13 4 2. + <_> + + <_> + 6 7 5 8 -1. + <_> + 6 11 5 4 2. + <_> + + <_> + 9 5 2 3 -1. + <_> + 9 6 2 1 3. + <_> + + <_> + 6 8 8 3 -1. + <_> + 6 9 8 1 3. + <_> + + <_> + 2 2 7 6 -1. + <_> + 2 5 7 3 2. + <_> + + <_> + 2 1 14 4 -1. + <_> + 2 1 7 2 2. + <_> + 9 3 7 2 2. + <_> + + <_> + 11 14 1 3 -1. + <_> + 11 15 1 1 3. + <_> + + <_> + 6 15 8 2 -1. + <_> + 6 16 8 1 2. + <_> + + <_> + 8 14 1 3 -1. + <_> + 8 15 1 1 3. + <_> + + <_> + 8 11 2 8 -1. + <_> + 8 15 2 4 2. + <_> + + <_> + 6 15 8 2 -1. + <_> + 6 16 8 1 2. + <_> + + <_> + 7 16 8 3 -1. + <_> + 7 17 8 1 3. + <_> + + <_> + 0 16 2 2 -1. + <_> + 0 17 2 1 2. + <_> + + <_> + 1 16 8 4 -1. + <_> + 1 16 4 2 2. + <_> + 5 18 4 2 2. + <_> + + <_> + 2 9 16 3 -1. + <_> + 2 10 16 1 3. + <_> + + <_> + 13 11 2 4 -1. + <_> + 13 11 1 4 2. + <_> + + <_> + 0 13 16 6 -1. + <_> + 0 15 16 2 3. + <_> + + <_> + 5 11 2 4 -1. + <_> + 6 11 1 4 2. + <_> + + <_> + 18 2 2 18 -1. + <_> + 19 2 1 9 2. + <_> + 18 11 1 9 2. + <_> + + <_> + 19 7 1 9 -1. + <_> + 19 10 1 3 3. + <_> + + <_> + 0 2 2 18 -1. + <_> + 0 2 1 9 2. + <_> + 1 11 1 9 2. + <_> + + <_> + 0 7 1 9 -1. + <_> + 0 10 1 3 3. + <_> + + <_> + 14 12 2 2 -1. + <_> + 14 13 2 1 2. + <_> + + <_> + 11 14 2 3 -1. + <_> + 11 15 2 1 3. + <_> + + <_> + 7 8 6 2 -1. + <_> + 7 9 6 1 2. + <_> + + <_> + 7 12 4 6 -1. + <_> + 7 12 2 3 2. + <_> + 9 15 2 3 2. + <_> + + <_> + 8 13 5 3 -1. + <_> + 8 14 5 1 3. + <_> + + <_> + 12 14 2 2 -1. + <_> + 13 14 1 1 2. + <_> + 12 15 1 1 2. + <_> + + <_> + 7 13 6 3 -1. + <_> + 7 14 6 1 3. + <_> + + <_> + 7 13 5 2 -1. + <_> + 7 14 5 1 2. + <_> + + <_> + 2 10 16 4 -1. + <_> + 10 10 8 2 2. + <_> + 2 12 8 2 2. + <_> + + <_> + 7 0 6 6 -1. + <_> + 9 0 2 6 3. + <_> + + <_> + 7 1 6 3 -1. + <_> + 7 2 6 1 3. + <_> + + <_> + 0 12 6 2 -1. + <_> + 0 13 6 1 2. + <_> + + <_> + 6 3 11 2 -1. + <_> + 6 4 11 1 2. + <_> + + <_> + 12 0 8 6 -1. + <_> + 16 0 4 3 2. + <_> + 12 3 4 3 2. + <_> + + <_> + 8 12 1 2 -1. + <_> + 8 13 1 1 2. + <_> + + <_> + 8 8 1 12 -1. + <_> + 8 12 1 4 3. + <_> + + <_> + 11 11 2 2 -1. + <_> + 12 11 1 1 2. + <_> + 11 12 1 1 2. + <_> + + <_> + 12 7 3 13 -1. + <_> + 13 7 1 13 3. + <_> + + <_> + 7 11 2 2 -1. + <_> + 7 11 1 1 2. + <_> + 8 12 1 1 2. + <_> + + <_> + 3 13 1 3 -1. + <_> + 3 14 1 1 3. + <_> + + <_> + 10 18 3 2 -1. + <_> + 11 18 1 2 3. + <_> + + <_> + 11 11 2 1 -1. + <_> + 11 11 1 1 2. + <_> + + <_> + 1 10 5 9 -1. + <_> + 1 13 5 3 3. + <_> + + <_> + 4 8 6 4 -1. + <_> + 6 8 2 4 3. + <_> + + <_> + 13 12 1 4 -1. + <_> + 13 14 1 2 2. + <_> + + <_> + 11 3 4 14 -1. + <_> + 13 3 2 7 2. + <_> + 11 10 2 7 2. + <_> + + <_> + 6 12 1 4 -1. + <_> + 6 14 1 2 2. + <_> + + <_> + 5 3 4 14 -1. + <_> + 5 3 2 7 2. + <_> + 7 10 2 7 2. + <_> + + <_> + 10 18 3 2 -1. + <_> + 11 18 1 2 3. + <_> + + <_> + 9 12 3 3 -1. + <_> + 9 13 3 1 3. + <_> + + <_> + 2 2 12 6 -1. + <_> + 2 2 6 3 2. + <_> + 8 5 6 3 2. + <_> + + <_> + 6 6 6 2 -1. + <_> + 9 6 3 2 2. + <_> + + <_> + 1 0 18 12 -1. + <_> + 7 0 6 12 3. + <_> + + <_> + 5 7 6 4 -1. + <_> + 5 7 3 2 2. + <_> + 8 9 3 2 2. + <_> + + <_> + 5 7 10 4 -1. + <_> + 5 9 10 2 2. + <_> + + <_> + 7 7 6 4 -1. + <_> + 9 7 2 4 3. + <_> + + <_> + 9 5 2 2 -1. + <_> + 9 6 2 1 2. + <_> + + <_> + 9 9 2 2 -1. + <_> + 9 10 2 1 2. + <_> + + <_> + 6 17 8 3 -1. + <_> + 6 18 8 1 3. + <_> + + <_> + 9 17 6 2 -1. + <_> + 12 17 3 1 2. + <_> + 9 18 3 1 2. + <_> + + <_> + 4 12 2 2 -1. + <_> + 4 13 2 1 2. + <_> + + <_> + 3 12 9 2 -1. + <_> + 3 13 9 1 2. + <_> + + <_> + 8 3 6 1 -1. + <_> + 10 3 2 1 3. + <_> + + <_> + 9 3 4 6 -1. + <_> + 11 3 2 3 2. + <_> + 9 6 2 3 2. + <_> + + <_> + 0 3 6 5 -1. + <_> + 3 3 3 5 2. + <_> + + <_> + 2 0 2 18 -1. + <_> + 2 6 2 6 3. + <_> + + <_> + 14 2 4 9 -1. + <_> + 14 5 4 3 3. + <_> + + <_> + 10 18 3 2 -1. + <_> + 11 18 1 2 3. + <_> + + <_> + 2 2 4 9 -1. + <_> + 2 5 4 3 3. + <_> + + <_> + 7 18 3 2 -1. + <_> + 8 18 1 2 3. + <_> + + <_> + 10 14 3 3 -1. + <_> + 10 15 3 1 3. + <_> + + <_> + 10 12 2 6 -1. + <_> + 10 15 2 3 2. + <_> + + <_> + 7 5 3 6 -1. + <_> + 7 7 3 2 3. + <_> + + <_> + 3 3 6 2 -1. + <_> + 3 4 6 1 2. + <_> + + <_> + 8 4 7 3 -1. + <_> + 8 5 7 1 3. + <_> + + <_> + 13 6 2 3 -1. + <_> + 13 7 2 1 3. + <_> + + <_> + 8 8 2 12 -1. + <_> + 8 12 2 4 3. + <_> + + <_> + 5 4 8 14 -1. + <_> + 5 4 4 7 2. + <_> + 9 11 4 7 2. + <_> + + <_> + 0 1 20 8 -1. + <_> + 10 1 10 4 2. + <_> + 0 5 10 4 2. + <_> + + <_> + 4 0 12 2 -1. + <_> + 4 1 12 1 2. + <_> + + <_> + 0 1 20 8 -1. + <_> + 0 1 10 4 2. + <_> + 10 5 10 4 2. + <_> + + <_> + 4 0 12 2 -1. + <_> + 4 1 12 1 2. + <_> + + <_> + 9 5 6 3 -1. + <_> + 9 5 3 3 2. + <_> + + <_> + 8 13 10 6 -1. + <_> + 8 15 10 2 3. + <_> + + <_> + 5 5 6 3 -1. + <_> + 8 5 3 3 2. + <_> + + <_> + 6 3 6 1 -1. + <_> + 8 3 2 1 3. + <_> + + <_> + 11 18 9 2 -1. + <_> + 14 18 3 2 3. + <_> + + <_> + 13 11 6 7 -1. + <_> + 13 11 3 7 2. + <_> + + <_> + 4 6 12 10 -1. + <_> + 4 6 6 5 2. + <_> + 10 11 6 5 2. + <_> + + <_> + 8 17 3 3 -1. + <_> + 9 17 1 3 3. + <_> + + <_> + 11 18 9 2 -1. + <_> + 14 18 3 2 3. + <_> + + <_> + 13 11 6 8 -1. + <_> + 13 11 3 8 2. + <_> + + <_> + 4 16 2 2 -1. + <_> + 4 17 2 1 2. + <_> + + <_> + 7 15 4 4 -1. + <_> + 7 17 4 2 2. + <_> + + <_> + 12 4 3 3 -1. + <_> + 12 5 3 1 3. + <_> + + <_> + 13 6 2 3 -1. + <_> + 13 7 2 1 3. + <_> + + <_> + 5 11 6 1 -1. + <_> + 7 11 2 1 3. + <_> + + <_> + 7 10 3 1 -1. + <_> + 8 10 1 1 3. + <_> + + <_> + 0 12 20 4 -1. + <_> + 0 14 20 2 2. + <_> + + <_> + 10 2 3 2 -1. + <_> + 10 3 3 1 2. + <_> + + <_> + 5 4 3 3 -1. + <_> + 5 5 3 1 3. + <_> + + <_> + 5 5 4 3 -1. + <_> + 5 6 4 1 3. + <_> + + <_> + 8 8 4 3 -1. + <_> + 8 9 4 1 3. + <_> + + <_> + 10 4 2 12 -1. + <_> + 10 8 2 4 3. + <_> + + <_> + 0 3 4 3 -1. + <_> + 0 4 4 1 3. + <_> + + <_> + 1 3 2 3 -1. + <_> + 1 4 2 1 3. + <_> + + <_> + 16 1 4 11 -1. + <_> + 16 1 2 11 2. + <_> + + <_> + 18 2 2 16 -1. + <_> + 19 2 1 8 2. + <_> + 18 10 1 8 2. + <_> + + <_> + 1 8 6 12 -1. + <_> + 3 8 2 12 3. + <_> + + <_> + 7 2 6 2 -1. + <_> + 7 2 3 1 2. + <_> + 10 3 3 1 2. + <_> + + <_> + 12 4 8 2 -1. + <_> + 16 4 4 1 2. + <_> + 12 5 4 1 2. + <_> + + <_> + 10 6 6 2 -1. + <_> + 12 6 2 2 3. + <_> + + <_> + 0 4 8 2 -1. + <_> + 0 4 4 1 2. + <_> + 4 5 4 1 2. + <_> + + <_> + 1 3 3 5 -1. + <_> + 2 3 1 5 3. + <_> + + <_> + 16 3 4 6 -1. + <_> + 16 5 4 2 3. + <_> + + <_> + 8 6 4 3 -1. + <_> + 8 7 4 1 3. + <_> + + <_> + 8 14 1 3 -1. + <_> + 8 15 1 1 3. + <_> + + <_> + 4 11 1 2 -1. + <_> + 4 12 1 1 2. + <_> + + <_> + 8 14 6 3 -1. + <_> + 8 15 6 1 3. + <_> + + <_> + 7 15 7 3 -1. + <_> + 7 16 7 1 3. + <_> + + <_> + 9 12 2 8 -1. + <_> + 9 16 2 4 2. + <_> + + <_> + 4 6 6 2 -1. + <_> + 6 6 2 2 3. + <_> + + <_> + 12 7 4 2 -1. + <_> + 12 8 4 1 2. + <_> + + <_> + 5 3 13 10 -1. + <_> + 5 8 13 5 2. + <_> + + <_> + 4 7 4 2 -1. + <_> + 4 8 4 1 2. + <_> + + <_> + 0 8 16 2 -1. + <_> + 0 8 8 1 2. + <_> + 8 9 8 1 2. + <_> + + <_> + 11 8 2 5 -1. + <_> + 11 8 1 5 2. + <_> + + <_> + 10 0 6 13 -1. + <_> + 10 0 3 13 2. + <_> + + <_> + 1 6 4 2 -1. + <_> + 1 7 4 1 2. + <_> + + <_> + 4 3 2 1 -1. + <_> + 5 3 1 1 2. + <_> + + <_> + 11 8 2 5 -1. + <_> + 11 8 1 5 2. + <_> + + <_> + 12 10 4 8 -1. + <_> + 12 10 2 8 2. + <_> + + <_> + 7 8 2 5 -1. + <_> + 8 8 1 5 2. + <_> + + <_> + 4 10 4 8 -1. + <_> + 6 10 2 8 2. + <_> + + <_> + 6 7 9 12 -1. + <_> + 9 7 3 12 3. + <_> + + <_> + 11 13 2 3 -1. + <_> + 11 13 1 3 2. + <_> + + <_> + 7 10 6 10 -1. + <_> + 10 10 3 10 2. + <_> + + <_> + 8 11 4 8 -1. + <_> + 8 11 2 4 2. + <_> + 10 15 2 4 2. + <_> + + <_> + 16 1 4 11 -1. + <_> + 16 1 2 11 2. + <_> + + <_> + 18 2 2 4 -1. + <_> + 18 2 1 4 2. + <_> + + <_> + 5 6 6 2 -1. + <_> + 5 6 3 1 2. + <_> + 8 7 3 1 2. + <_> + + <_> + 5 4 1 3 -1. + <_> + 5 5 1 1 3. + <_> + + <_> + 11 1 4 14 -1. + <_> + 11 1 2 14 2. + <_> + + <_> + 4 2 12 3 -1. + <_> + 8 2 4 3 3. + <_> + + <_> + 5 1 4 14 -1. + <_> + 7 1 2 14 2. + <_> + + <_> + 7 3 6 2 -1. + <_> + 9 3 2 2 3. + <_> + + <_> + 2 0 18 4 -1. + <_> + 8 0 6 4 3. + <_> + + <_> + 9 5 2 10 -1. + <_> + 9 10 2 5 2. + <_> + + <_> + 8 6 3 4 -1. + <_> + 9 6 1 4 3. + <_> + + <_> + 5 5 9 11 -1. + <_> + 8 5 3 11 3. + <_> + + <_> + 10 6 3 5 -1. + <_> + 11 6 1 5 3. + <_> + + <_> + 8 9 6 5 -1. + <_> + 8 9 3 5 2. + <_> + + <_> + 7 6 3 5 -1. + <_> + 8 6 1 5 3. + <_> + + <_> + 6 10 6 3 -1. + <_> + 9 10 3 3 2. + <_> + + <_> + 10 0 3 7 -1. + <_> + 11 0 1 7 3. + <_> + + <_> + 0 3 20 12 -1. + <_> + 0 9 20 6 2. + <_> + + <_> + 9 7 2 2 -1. + <_> + 10 7 1 2 2. + <_> + + <_> + 5 9 4 1 -1. + <_> + 7 9 2 1 2. + <_> + + <_> + 13 13 3 2 -1. + <_> + 13 14 3 1 2. + <_> + + <_> + 16 9 4 6 -1. + <_> + 16 9 2 6 2. + <_> + + <_> + 7 15 6 3 -1. + <_> + 7 16 6 1 3. + <_> + + <_> + 6 16 7 3 -1. + <_> + 6 17 7 1 3. + <_> + + <_> + 11 14 9 6 -1. + <_> + 11 16 9 2 3. + <_> + + <_> + 19 14 1 3 -1. + <_> + 19 15 1 1 3. + <_> + + <_> + 0 9 6 6 -1. + <_> + 3 9 3 6 2. + <_> + + <_> + 0 19 9 1 -1. + <_> + 3 19 3 1 3. + <_> + + <_> + 11 14 9 6 -1. + <_> + 11 16 9 2 3. + <_> + + <_> + 12 12 6 6 -1. + <_> + 12 14 6 2 3. + <_> + + <_> + 1 14 8 6 -1. + <_> + 1 16 8 2 3. + <_> + + <_> + 8 1 3 2 -1. + <_> + 9 1 1 2 3. + <_> + + <_> + 18 2 2 4 -1. + <_> + 18 2 1 4 2. + <_> + + <_> + 14 0 6 3 -1. + <_> + 16 0 2 3 3. + <_> + + <_> + 0 2 2 4 -1. + <_> + 1 2 1 4 2. + <_> + + <_> + 0 0 6 3 -1. + <_> + 2 0 2 3 3. + <_> + + <_> + 9 0 3 2 -1. + <_> + 10 0 1 2 3. + <_> + + <_> + 12 1 2 2 -1. + <_> + 12 1 1 2 2. + <_> + + <_> + 8 0 3 2 -1. + <_> + 9 0 1 2 3. + <_> + + <_> + 6 1 2 2 -1. + <_> + 7 1 1 2 2. + <_> + + <_> + 10 8 2 3 -1. + <_> + 10 9 2 1 3. + <_> + + <_> + 13 15 6 2 -1. + <_> + 13 16 6 1 2. + <_> + + <_> + 8 12 2 2 -1. + <_> + 8 12 1 1 2. + <_> + 9 13 1 1 2. + <_> + + <_> + 8 15 3 5 -1. + <_> + 9 15 1 5 3. + <_> + + <_> + 8 6 4 12 -1. + <_> + 8 12 4 6 2. + <_> + + <_> + 7 6 7 8 -1. + <_> + 7 10 7 4 2. + <_> + + <_> + 0 11 8 2 -1. + <_> + 0 12 8 1 2. + <_> + + <_> + 8 11 2 2 -1. + <_> + 8 11 1 1 2. + <_> + 9 12 1 1 2. + <_> + + <_> + 7 7 12 1 -1. + <_> + 11 7 4 1 3. + <_> + + <_> + 10 8 3 2 -1. + <_> + 11 8 1 2 3. + <_> + + <_> + 1 7 12 1 -1. + <_> + 5 7 4 1 3. + <_> + + <_> + 6 5 8 2 -1. + <_> + 6 5 4 1 2. + <_> + 10 6 4 1 2. + <_> + + <_> + 9 10 3 10 -1. + <_> + 10 10 1 10 3. + <_> + + <_> + 16 0 2 4 -1. + <_> + 16 0 1 4 2. + <_> + + <_> + 8 10 3 10 -1. + <_> + 9 10 1 10 3. + <_> + + <_> + 9 10 2 3 -1. + <_> + 9 11 2 1 3. + <_> + + <_> + 8 9 4 2 -1. + <_> + 10 9 2 1 2. + <_> + 8 10 2 1 2. + <_> + + <_> + 12 14 7 6 -1. + <_> + 12 16 7 2 3. + <_> + + <_> + 6 1 3 1 -1. + <_> + 7 1 1 1 3. + <_> + + <_> + 2 0 2 4 -1. + <_> + 3 0 1 4 2. + <_> + + <_> + 11 11 2 2 -1. + <_> + 12 11 1 1 2. + <_> + 11 12 1 1 2. + <_> + + <_> + 12 12 6 6 -1. + <_> + 12 14 6 2 3. + <_> + + <_> + 1 0 6 10 -1. + <_> + 1 0 3 5 2. + <_> + 4 5 3 5 2. + <_> + + <_> + 3 0 2 9 -1. + <_> + 3 3 2 3 3. + <_> + + <_> + 14 13 3 2 -1. + <_> + 14 14 3 1 2. + <_> + + <_> + 15 2 3 2 -1. + <_> + 15 3 3 1 2. + <_> + + <_> + 2 13 5 2 -1. + <_> + 2 14 5 1 2. + <_> + + <_> + 3 4 12 10 -1. + <_> + 3 4 6 5 2. + <_> + 9 9 6 5 2. + <_> + + <_> + 5 1 14 6 -1. + <_> + 5 3 14 2 3. + <_> + + <_> + 15 3 3 2 -1. + <_> + 15 4 3 1 2. + <_> + + <_> + 7 11 2 2 -1. + <_> + 7 11 1 1 2. + <_> + 8 12 1 1 2. + <_> + + <_> + 2 14 6 6 -1. + <_> + 2 16 6 2 3. + <_> + + <_> + 6 13 8 3 -1. + <_> + 6 14 8 1 3. + <_> + + <_> + 1 19 18 1 -1. + <_> + 7 19 6 1 3. + <_> + + <_> + 8 12 1 6 -1. + <_> + 8 15 1 3 2. + <_> + + <_> + 0 0 14 15 -1. + <_> + 0 5 14 5 3. + <_> + + <_> + 3 0 16 8 -1. + <_> + 3 4 16 4 2. + <_> + + <_> + 6 1 8 12 -1. + <_> + 6 7 8 6 2. + <_> + + <_> + 5 3 3 3 -1. + <_> + 6 3 1 3 3. + <_> + + <_> + 5 1 3 4 -1. + <_> + 6 1 1 4 3. + <_> + + <_> + 15 14 4 6 -1. + <_> + 17 14 2 3 2. + <_> + 15 17 2 3 2. + <_> + + <_> + 12 11 6 8 -1. + <_> + 15 11 3 4 2. + <_> + 12 15 3 4 2. + <_> + + <_> + 8 7 2 4 -1. + <_> + 9 7 1 4 2. + <_> + + <_> + 6 11 3 1 -1. + <_> + 7 11 1 1 3. + <_> + + <_> + 12 3 2 14 -1. + <_> + 12 3 1 14 2. + <_> + + <_> + 12 11 6 2 -1. + <_> + 15 11 3 1 2. + <_> + 12 12 3 1 2. + <_> + + <_> + 0 2 5 2 -1. + <_> + 0 3 5 1 2. + <_> + + <_> + 0 0 15 1 -1. + <_> + 5 0 5 1 3. + <_> + + <_> + 12 11 6 2 -1. + <_> + 15 11 3 1 2. + <_> + 12 12 3 1 2. + <_> + + <_> + 10 5 2 2 -1. + <_> + 10 5 1 2 2. + <_> + + <_> + 9 7 2 2 -1. + <_> + 10 7 1 2 2. + <_> + + <_> + 9 0 2 10 -1. + <_> + 9 0 1 5 2. + <_> + 10 5 1 5 2. + <_> + + <_> + 18 14 2 2 -1. + <_> + 18 15 2 1 2. + <_> + + <_> + 13 11 4 9 -1. + <_> + 13 14 4 3 3. + <_> + + <_> + 8 13 2 2 -1. + <_> + 8 13 1 1 2. + <_> + 9 14 1 1 2. + <_> + + <_> + 7 8 4 3 -1. + <_> + 7 9 4 1 3. + <_> + + <_> + 8 9 4 2 -1. + <_> + 8 10 4 1 2. + <_> + + <_> + 13 12 4 2 -1. + <_> + 13 13 4 1 2. + <_> + + <_> + 6 14 2 2 -1. + <_> + 6 14 1 1 2. + <_> + 7 15 1 1 2. + <_> + + <_> + 0 14 2 2 -1. + <_> + 0 15 2 1 2. + <_> + + <_> + 7 13 6 3 -1. + <_> + 7 14 6 1 3. + <_> + + <_> + 7 9 10 6 -1. + <_> + 7 11 10 2 3. + <_> + + <_> + 2 9 12 4 -1. + <_> + 6 9 4 4 3. + <_> + + <_> + 7 9 6 11 -1. + <_> + 10 9 3 11 2. + <_> + + <_> + 9 7 2 3 -1. + <_> + 9 8 2 1 3. + <_> + + <_> + 9 14 4 3 -1. + <_> + 9 15 4 1 3. + <_> + + <_> + 2 3 3 17 -1. + <_> + 3 3 1 17 3. + <_> + + <_> + 0 11 6 3 -1. + <_> + 0 12 6 1 3. + <_> + + <_> + 4 3 11 9 -1. + <_> + 4 6 11 3 3. + <_> + + <_> + 0 2 6 11 -1. + <_> + 3 2 3 11 2. + <_> + + <_> + 13 0 4 5 -1. + <_> + 13 0 2 5 2. + <_> + + <_> + 9 7 6 4 -1. + <_> + 12 7 3 2 2. + <_> + 9 9 3 2 2. + <_> + + <_> + 5 7 8 2 -1. + <_> + 9 7 4 2 2. + <_> + + <_> + 1 8 15 1 -1. + <_> + 6 8 5 1 3. + <_> + + <_> + 4 12 12 2 -1. + <_> + 8 12 4 2 3. + <_> + + <_> + 13 0 4 10 -1. + <_> + 15 0 2 5 2. + <_> + 13 5 2 5 2. + <_> + + <_> + 9 9 2 2 -1. + <_> + 9 10 2 1 2. + <_> + + <_> + 3 9 6 2 -1. + <_> + 6 9 3 2 2. + <_> + + <_> + 8 17 4 3 -1. + <_> + 8 18 4 1 3. + <_> + + <_> + 8 3 9 2 -1. + <_> + 11 3 3 2 3. + <_> + + <_> + 3 3 9 2 -1. + <_> + 6 3 3 2 3. + <_> + + <_> + 5 0 9 14 -1. + <_> + 8 0 3 14 3. + <_> + + <_> + 7 3 7 10 -1. + <_> + 7 8 7 5 2. + <_> + + <_> + 4 8 13 3 -1. + <_> + 4 9 13 1 3. + <_> + + <_> + 3 12 14 4 -1. + <_> + 3 12 7 2 2. + <_> + 10 14 7 2 2. + <_> + + <_> + 8 12 4 2 -1. + <_> + 8 13 4 1 2. + <_> + + <_> + 6 10 9 8 -1. + <_> + 6 14 9 4 2. + <_> + + <_> + 9 12 2 8 -1. + <_> + 9 16 2 4 2. + <_> + + <_> + 8 12 3 3 -1. + <_> + 8 13 3 1 3. + <_> + + <_> + 5 5 4 10 -1. + <_> + 7 5 2 10 2. + <_> + + <_> + 14 15 3 3 -1. + <_> + 14 16 3 1 3. + <_> + + <_> + 4 6 13 3 -1. + <_> + 4 7 13 1 3. + <_> + + <_> + 3 15 3 3 -1. + <_> + 3 16 3 1 3. + <_> + + <_> + 3 9 4 2 -1. + <_> + 3 9 2 1 2. + <_> + 5 10 2 1 2. + <_> + + <_> + 0 11 20 4 -1. + <_> + 10 11 10 2 2. + <_> + 0 13 10 2 2. + <_> + + <_> + 8 15 4 3 -1. + <_> + 8 16 4 1 3. + <_> + + <_> + 0 11 20 4 -1. + <_> + 0 11 10 2 2. + <_> + 10 13 10 2 2. + <_> + + <_> + 8 15 4 3 -1. + <_> + 8 16 4 1 3. + <_> + + <_> + 10 13 1 6 -1. + <_> + 10 16 1 3 2. + <_> + + <_> + 2 1 18 2 -1. + <_> + 11 1 9 1 2. + <_> + 2 2 9 1 2. + <_> + + <_> + 8 14 3 3 -1. + <_> + 8 15 3 1 3. + <_> + + <_> + 4 1 6 1 -1. + <_> + 6 1 2 1 3. + <_> + + <_> + 11 13 1 3 -1. + <_> + 11 14 1 1 3. + <_> + + <_> + 13 5 2 12 -1. + <_> + 13 11 2 6 2. + <_> + + <_> + 1 14 18 6 -1. + <_> + 1 16 18 2 3. + <_> + + <_> + 8 13 1 3 -1. + <_> + 8 14 1 1 3. + <_> + + <_> + 7 13 6 3 -1. + <_> + 7 14 6 1 3. + <_> + + <_> + 9 10 3 2 -1. + <_> + 9 11 3 1 2. + <_> + + <_> + 5 1 3 3 -1. + <_> + 6 1 1 3 3. + <_> + + <_> + 5 5 6 5 -1. + <_> + 8 5 3 5 2. + <_> + + <_> + 7 5 6 14 -1. + <_> + 7 12 6 7 2. + <_> + + <_> + 7 16 6 2 -1. + <_> + 9 16 2 2 3. + <_> + + <_> + 0 2 2 12 -1. + <_> + 1 2 1 12 2. + <_> + + <_> + 1 0 5 3 -1. + <_> + 1 1 5 1 3. + <_> + + <_> + 12 4 3 3 -1. + <_> + 12 5 3 1 3. + <_> + + <_> + 12 6 3 3 -1. + <_> + 12 7 3 1 3. + <_> + + <_> + 5 4 3 3 -1. + <_> + 5 5 3 1 3. + <_> + + <_> + 5 6 3 3 -1. + <_> + 5 7 3 1 3. + <_> + + <_> + 8 12 4 8 -1. + <_> + 10 12 2 4 2. + <_> + 8 16 2 4 2. + <_> + + <_> + 2 17 18 2 -1. + <_> + 11 17 9 1 2. + <_> + 2 18 9 1 2. + <_> + + <_> + 9 3 2 2 -1. + <_> + 9 4 2 1 2. + <_> + + <_> + 8 5 4 6 -1. + <_> + 8 7 4 2 3. + <_> + + <_> + 9 0 8 6 -1. + <_> + 9 2 8 2 3. + <_> + + <_> + 1 0 18 4 -1. + <_> + 7 0 6 4 3. + <_> + + <_> + 0 0 4 8 -1. + <_> + 2 0 2 8 2. + <_> + + <_> + 0 4 6 9 -1. + <_> + 2 4 2 9 3. + <_> + + <_> + 1 4 18 2 -1. + <_> + 7 4 6 2 3. + <_> + + <_> + 8 16 12 4 -1. + <_> + 14 16 6 2 2. + <_> + 8 18 6 2 2. + <_> + + <_> + 0 0 18 2 -1. + <_> + 0 0 9 1 2. + <_> + 9 1 9 1 2. + <_> + + <_> + 3 0 3 18 -1. + <_> + 4 0 1 18 3. + <_> + + <_> + 14 9 4 7 -1. + <_> + 14 9 2 7 2. + <_> + + <_> + 15 14 2 2 -1. + <_> + 15 15 2 1 2. + <_> + + <_> + 2 9 4 7 -1. + <_> + 4 9 2 7 2. + <_> + + <_> + 3 14 2 2 -1. + <_> + 3 15 2 1 2. + <_> + + <_> + 11 0 6 6 -1. + <_> + 11 2 6 2 3. + <_> + + <_> + 14 0 2 6 -1. + <_> + 15 0 1 3 2. + <_> + 14 3 1 3 2. + <_> + + <_> + 7 11 2 2 -1. + <_> + 7 11 1 1 2. + <_> + 8 12 1 1 2. + <_> + + <_> + 7 10 2 2 -1. + <_> + 8 10 1 2 2. + <_> + + <_> + 9 14 2 6 -1. + <_> + 9 17 2 3 2. + <_> + + <_> + 12 18 4 2 -1. + <_> + 12 19 4 1 2. + <_> + + <_> + 8 17 4 3 -1. + <_> + 8 18 4 1 3. + <_> + + <_> + 2 18 8 2 -1. + <_> + 2 19 8 1 2. + <_> + + <_> + 2 9 16 3 -1. + <_> + 2 10 16 1 3. + <_> + + <_> + 9 9 2 2 -1. + <_> + 9 10 2 1 2. + <_> + + <_> + 5 14 2 4 -1. + <_> + 5 14 1 2 2. + <_> + 6 16 1 2 2. + <_> + + <_> + 8 9 4 2 -1. + <_> + 8 9 2 1 2. + <_> + 10 10 2 1 2. + <_> + + <_> + 9 5 2 5 -1. + <_> + 9 5 1 5 2. + <_> + + <_> + 9 9 3 2 -1. + <_> + 10 9 1 2 3. + <_> + + <_> + 8 9 3 2 -1. + <_> + 9 9 1 2 3. + <_> + + <_> + 8 8 3 6 -1. + <_> + 9 8 1 6 3. + <_> + + <_> + 8 12 4 8 -1. + <_> + 10 12 2 4 2. + <_> + 8 16 2 4 2. + <_> + + <_> + 2 17 16 2 -1. + <_> + 10 17 8 1 2. + <_> + 2 18 8 1 2. + <_> + + <_> + 8 12 3 8 -1. + <_> + 9 12 1 8 3. + <_> + + <_> + 3 10 1 3 -1. + <_> + 3 11 1 1 3. + <_> + + <_> + 9 14 10 6 -1. + <_> + 14 14 5 3 2. + <_> + 9 17 5 3 2. + <_> + + <_> + 14 13 3 6 -1. + <_> + 14 15 3 2 3. + <_> + + <_> + 1 19 18 1 -1. + <_> + 7 19 6 1 3. + <_> + + <_> + 2 10 15 2 -1. + <_> + 7 10 5 2 3. + <_> + + <_> + 4 17 16 3 -1. + <_> + 4 18 16 1 3. + <_> + + <_> + 8 6 4 9 -1. + <_> + 8 9 4 3 3. + <_> + + <_> + 9 16 2 4 -1. + <_> + 9 16 1 2 2. + <_> + 10 18 1 2 2. + <_> + + <_> + 5 5 10 8 -1. + <_> + 5 9 10 4 2. + <_> + + <_> + 13 1 4 2 -1. + <_> + 13 1 2 2 2. + <_> + + <_> + 14 0 3 6 -1. + <_> + 14 2 3 2 3. + <_> + + <_> + 6 7 2 2 -1. + <_> + 6 7 1 1 2. + <_> + 7 8 1 1 2. + <_> + + <_> + 7 1 6 1 -1. + <_> + 9 1 2 1 3. + <_> + + <_> + 9 11 3 3 -1. + <_> + 9 12 3 1 3. + <_> + + <_> + 12 9 3 3 -1. + <_> + 13 9 1 3 3. + <_> + + <_> + 8 11 3 3 -1. + <_> + 8 12 3 1 3. + <_> + + <_> + 5 9 3 3 -1. + <_> + 6 9 1 3 3. + <_> + + <_> + 10 11 1 3 -1. + <_> + 10 12 1 1 3. + <_> + + <_> + 7 9 6 4 -1. + <_> + 10 9 3 2 2. + <_> + 7 11 3 2 2. + <_> + + <_> + 4 7 2 2 -1. + <_> + 4 7 1 1 2. + <_> + 5 8 1 1 2. + <_> + + <_> + 5 7 3 1 -1. + <_> + 6 7 1 1 3. + <_> + + <_> + 18 3 2 3 -1. + <_> + 18 4 2 1 3. + <_> + + <_> + 13 1 4 2 -1. + <_> + 13 1 2 2 2. + <_> + + <_> + 3 1 4 2 -1. + <_> + 5 1 2 2 2. + <_> + + <_> + 3 0 5 2 -1. + <_> + 3 1 5 1 2. + <_> + + <_> + 14 7 6 4 -1. + <_> + 17 7 3 2 2. + <_> + 14 9 3 2 2. + <_> + + <_> + 4 8 16 2 -1. + <_> + 4 9 16 1 2. + <_> + + <_> + 2 11 5 6 -1. + <_> + 2 13 5 2 3. + <_> + + <_> + 5 16 2 4 -1. + <_> + 5 16 1 2 2. + <_> + 6 18 1 2 2. + <_> + + <_> + 15 6 2 12 -1. + <_> + 16 6 1 6 2. + <_> + 15 12 1 6 2. + <_> + + <_> + 13 3 6 16 -1. + <_> + 15 3 2 16 3. + <_> + + <_> + 4 5 12 12 -1. + <_> + 4 5 6 6 2. + <_> + 10 11 6 6 2. + <_> + + <_> + 5 1 10 13 -1. + <_> + 10 1 5 13 2. + <_> + + <_> + 11 5 2 2 -1. + <_> + 12 5 1 1 2. + <_> + 11 6 1 1 2. + <_> + + <_> + 13 5 1 3 -1. + <_> + 13 6 1 1 3. + <_> + + <_> + 7 4 2 4 -1. + <_> + 7 4 1 2 2. + <_> + 8 6 1 2 2. + <_> + + <_> + 7 5 6 4 -1. + <_> + 10 5 3 4 2. + <_> + + <_> + 12 4 4 6 -1. + <_> + 14 4 2 3 2. + <_> + 12 7 2 3 2. + <_> + + <_> + 12 11 7 6 -1. + <_> + 12 13 7 2 3. + <_> + + <_> + 5 6 6 6 -1. + <_> + 7 6 2 6 3. + <_> + + <_> + 9 8 2 2 -1. + <_> + 9 9 2 1 2. + <_> + + <_> + 15 6 2 2 -1. + <_> + 16 6 1 1 2. + <_> + 15 7 1 1 2. + <_> + + <_> + 14 7 4 4 -1. + <_> + 16 7 2 2 2. + <_> + 14 9 2 2 2. + <_> + + <_> + 5 5 6 2 -1. + <_> + 7 5 2 2 3. + <_> + + <_> + 1 19 18 1 -1. + <_> + 7 19 6 1 3. + <_> + + <_> + 12 3 3 3 -1. + <_> + 12 4 3 1 3. + <_> + + <_> + 16 0 2 3 -1. + <_> + 16 1 2 1 3. + <_> + + <_> + 5 3 3 3 -1. + <_> + 5 4 3 1 3. + <_> + + <_> + 2 0 2 3 -1. + <_> + 2 1 2 1 3. + <_> + + <_> + 15 6 2 2 -1. + <_> + 16 6 1 1 2. + <_> + 15 7 1 1 2. + <_> + + <_> + 10 13 1 6 -1. + <_> + 10 16 1 3 2. + <_> + + <_> + 0 7 10 2 -1. + <_> + 0 7 5 1 2. + <_> + 5 8 5 1 2. + <_> + + <_> + 3 10 6 2 -1. + <_> + 3 11 6 1 2. + <_> + + <_> + 12 18 4 2 -1. + <_> + 12 19 4 1 2. + <_> + + <_> + 12 18 2 2 -1. + <_> + 13 18 1 1 2. + <_> + 12 19 1 1 2. + <_> + + <_> + 6 19 2 1 -1. + <_> + 7 19 1 1 2. + <_> + + <_> + 0 4 2 16 -1. + <_> + 0 4 1 8 2. + <_> + 1 12 1 8 2. + <_> + + <_> + 16 1 4 9 -1. + <_> + 16 4 4 3 3. + <_> + + <_> + 10 2 1 2 -1. + <_> + 10 3 1 1 2. + <_> + + <_> + 4 14 4 6 -1. + <_> + 4 14 2 3 2. + <_> + 6 17 2 3 2. + <_> + + <_> + 4 15 1 4 -1. + <_> + 4 17 1 2 2. + <_> + + <_> + 0 2 20 4 -1. + <_> + 10 2 10 2 2. + <_> + 0 4 10 2 2. + <_> + + <_> + 14 5 2 8 -1. + <_> + 14 9 2 4 2. + <_> + + <_> + 5 12 4 5 -1. + <_> + 7 12 2 5 2. + <_> + + <_> + 0 13 9 6 -1. + <_> + 0 15 9 2 3. + <_> + + <_> + 9 14 11 3 -1. + <_> + 9 15 11 1 3. + <_> + + <_> + 7 14 7 3 -1. + <_> + 7 15 7 1 3. + <_> + + <_> + 3 6 2 2 -1. + <_> + 3 6 1 1 2. + <_> + 4 7 1 1 2. + <_> + + <_> + 6 7 2 7 -1. + <_> + 7 7 1 7 2. + <_> + + <_> + 14 5 1 3 -1. + <_> + 14 6 1 1 3. + <_> + + <_> + 13 4 4 3 -1. + <_> + 13 5 4 1 3. + <_> + + <_> + 2 7 4 4 -1. + <_> + 2 7 2 2 2. + <_> + 4 9 2 2 2. + <_> + + <_> + 2 9 13 6 -1. + <_> + 2 12 13 3 2. + <_> + + <_> + 10 1 3 4 -1. + <_> + 11 1 1 4 3. + <_> + + <_> + 9 8 5 2 -1. + <_> + 9 9 5 1 2. + <_> + + <_> + 0 14 11 3 -1. + <_> + 0 15 11 1 3. + <_> + + <_> + 8 11 2 8 -1. + <_> + 8 15 2 4 2. + <_> + + <_> + 5 11 10 6 -1. + <_> + 5 14 10 3 2. + <_> + + <_> + 5 13 15 5 -1. + <_> + 10 13 5 5 3. + <_> + + <_> + 8 10 1 10 -1. + <_> + 8 15 1 5 2. + <_> + + <_> + 4 14 6 2 -1. + <_> + 6 14 2 2 3. + <_> + + <_> + 7 14 7 3 -1. + <_> + 7 15 7 1 3. + <_> + + <_> + 7 16 9 3 -1. + <_> + 7 17 9 1 3. + <_> + + <_> + 8 7 3 3 -1. + <_> + 8 8 3 1 3. + <_> + + <_> + 3 5 1 6 -1. + <_> + 3 8 1 3 2. + <_> + + <_> + 6 5 11 2 -1. + <_> + 6 6 11 1 2. + <_> + + <_> + 9 0 3 2 -1. + <_> + 10 0 1 2 3. + <_> + + <_> + 5 5 1 3 -1. + <_> + 5 6 1 1 3. + <_> + + <_> + 8 7 3 2 -1. + <_> + 9 7 1 2 3. + <_> + + <_> + 5 2 10 6 -1. + <_> + 10 2 5 3 2. + <_> + 5 5 5 3 2. + <_> + + <_> + 8 4 6 4 -1. + <_> + 8 4 3 4 2. + <_> + + <_> + 8 16 3 4 -1. + <_> + 9 16 1 4 3. + <_> + + <_> + 9 13 2 6 -1. + <_> + 9 13 1 3 2. + <_> + 10 16 1 3 2. + <_> + + <_> + 9 8 3 1 -1. + <_> + 10 8 1 1 3. + <_> + + <_> + 2 5 18 15 -1. + <_> + 2 10 18 5 3. + <_> + + <_> + 1 3 6 2 -1. + <_> + 4 3 3 2 2. + <_> + + <_> + 7 6 6 2 -1. + <_> + 9 6 2 2 3. + <_> + + <_> + 8 17 4 3 -1. + <_> + 8 18 4 1 3. + <_> + + <_> + 10 13 2 3 -1. + <_> + 10 14 2 1 3. + <_> + + <_> + 0 10 20 4 -1. + <_> + 0 12 20 2 2. + <_> + + <_> + 5 7 6 4 -1. + <_> + 5 7 3 2 2. + <_> + 8 9 3 2 2. + <_> + + <_> + 11 12 1 2 -1. + <_> + 11 13 1 1 2. + <_> + + <_> + 10 10 2 3 -1. + <_> + 10 11 2 1 3. + <_> + + <_> + 9 5 2 2 -1. + <_> + 9 6 2 1 2. + <_> + + <_> + 4 4 1 10 -1. + <_> + 4 9 1 5 2. + <_> + + <_> + 11 18 4 2 -1. + <_> + 11 18 2 2 2. + <_> + + <_> + 12 18 3 2 -1. + <_> + 12 19 3 1 2. + <_> + + <_> + 0 6 16 6 -1. + <_> + 0 6 8 3 2. + <_> + 8 9 8 3 2. + <_> + + <_> + 7 6 4 12 -1. + <_> + 7 12 4 6 2. + <_> + + <_> + 11 18 4 2 -1. + <_> + 11 18 2 2 2. + <_> + + <_> + 12 18 3 2 -1. + <_> + 12 19 3 1 2. + <_> + + <_> + 8 12 1 2 -1. + <_> + 8 13 1 1 2. + <_> + + <_> + 8 13 1 3 -1. + <_> + 8 14 1 1 3. + <_> + + <_> + 11 18 4 2 -1. + <_> + 11 18 2 2 2. + <_> + + <_> + 14 12 4 6 -1. + <_> + 14 12 2 6 2. + <_> + + <_> + 6 0 3 4 -1. + <_> + 7 0 1 4 3. + <_> + + <_> + 4 0 2 8 -1. + <_> + 4 0 1 4 2. + <_> + 5 4 1 4 2. + <_> + + <_> + 11 17 9 3 -1. + <_> + 14 17 3 3 3. + <_> + + <_> + 16 2 4 5 -1. + <_> + 16 2 2 5 2. + <_> + + <_> + 0 2 5 9 -1. + <_> + 0 5 5 3 3. + <_> + + <_> + 7 2 3 2 -1. + <_> + 8 2 1 2 3. + <_> + + <_> + 11 17 9 3 -1. + <_> + 14 17 3 3 3. + <_> + + <_> + 16 2 4 5 -1. + <_> + 16 2 2 5 2. + <_> + + <_> + 0 17 9 3 -1. + <_> + 3 17 3 3 3. + <_> + + <_> + 0 2 4 5 -1. + <_> + 2 2 2 5 2. + <_> + + <_> + 5 11 10 9 -1. + <_> + 5 14 10 3 3. + <_> + + <_> + 9 6 3 3 -1. + <_> + 9 7 3 1 3. + <_> + + <_> + 3 17 5 3 -1. + <_> + 3 18 5 1 3. + <_> + + <_> + 7 5 4 7 -1. + <_> + 9 5 2 7 2. + <_> + + <_> + 9 8 2 5 -1. + <_> + 9 8 1 5 2. + <_> + + <_> + 2 2 18 2 -1. + <_> + 2 3 18 1 2. + <_> + + <_> + 2 8 15 6 -1. + <_> + 7 8 5 6 3. + <_> + + <_> + 9 8 2 5 -1. + <_> + 10 8 1 5 2. + <_> + + <_> + 12 10 4 6 -1. + <_> + 12 12 4 2 3. + <_> + + <_> + 14 3 6 2 -1. + <_> + 14 4 6 1 2. + <_> + + <_> + 5 5 2 3 -1. + <_> + 5 6 2 1 3. + <_> + + <_> + 4 6 3 3 -1. + <_> + 4 7 3 1 3. + <_> + + <_> + 14 12 3 3 -1. + <_> + 14 13 3 1 3. + <_> + + <_> + 6 12 11 3 -1. + <_> + 6 13 11 1 3. + <_> + + <_> + 1 2 3 6 -1. + <_> + 1 4 3 2 3. + <_> + + <_> + 1 0 4 7 -1. + <_> + 3 0 2 7 2. + <_> + + <_> + 9 8 3 4 -1. + <_> + 10 8 1 4 3. + <_> + + <_> + 10 9 2 2 -1. + <_> + 10 10 2 1 2. + <_> + + <_> + 8 8 3 4 -1. + <_> + 9 8 1 4 3. + <_> + + <_> + 4 4 10 10 -1. + <_> + 4 9 10 5 2. + <_> + + <_> + 9 10 3 2 -1. + <_> + 10 10 1 2 3. + <_> + + <_> + 9 10 3 2 -1. + <_> + 9 11 3 1 2. + <_> + + <_> + 8 10 3 2 -1. + <_> + 9 10 1 2 3. + <_> + + <_> + 2 4 14 12 -1. + <_> + 2 4 7 6 2. + <_> + 9 10 7 6 2. + <_> + + <_> + 10 12 1 6 -1. + <_> + 10 15 1 3 2. + <_> + + <_> + 7 3 8 16 -1. + <_> + 11 3 4 8 2. + <_> + 7 11 4 8 2. + <_> + + <_> + 5 6 8 10 -1. + <_> + 5 6 4 5 2. + <_> + 9 11 4 5 2. + <_> + + <_> + 6 2 8 8 -1. + <_> + 6 2 4 4 2. + <_> + 10 6 4 4 2. + <_> + + <_> + 10 5 4 2 -1. + <_> + 12 5 2 1 2. + <_> + 10 6 2 1 2. + <_> + + <_> + 12 4 3 3 -1. + <_> + 12 5 3 1 3. + <_> + + <_> + 4 19 12 1 -1. + <_> + 8 19 4 1 3. + <_> + + <_> + 8 2 3 1 -1. + <_> + 9 2 1 1 3. + <_> + + <_> + 13 17 4 3 -1. + <_> + 13 18 4 1 3. + <_> + + <_> + 7 14 6 3 -1. + <_> + 7 15 6 1 3. + <_> + + <_> + 9 14 2 3 -1. + <_> + 9 15 2 1 3. + <_> + + <_> + 7 15 6 3 -1. + <_> + 7 16 6 1 3. + <_> + + <_> + 10 18 3 2 -1. + <_> + 11 18 1 2 3. + <_> + + <_> + 14 12 2 3 -1. + <_> + 14 13 2 1 3. + <_> + + <_> + 4 10 4 6 -1. + <_> + 4 12 4 2 3. + <_> + + <_> + 4 13 3 2 -1. + <_> + 4 14 3 1 2. + <_> + + <_> + 9 16 2 3 -1. + <_> + 9 17 2 1 3. + <_> + + <_> + 10 18 3 2 -1. + <_> + 11 18 1 2 3. + <_> + + <_> + 7 18 3 2 -1. + <_> + 8 18 1 2 3. + <_> + + <_> + 1 10 4 2 -1. + <_> + 1 11 4 1 2. + <_> + + <_> + 12 4 6 3 -1. + <_> + 12 5 6 1 3. + <_> + + <_> + 14 4 1 3 -1. + <_> + 14 5 1 1 3. + <_> + + <_> + 2 4 6 3 -1. + <_> + 2 5 6 1 3. + <_> + + <_> + 5 4 1 3 -1. + <_> + 5 5 1 1 3. + <_> + + <_> + 14 12 3 3 -1. + <_> + 14 13 3 1 3. + <_> + + <_> + 15 12 2 3 -1. + <_> + 15 13 2 1 3. + <_> + + <_> + 3 16 4 3 -1. + <_> + 3 17 4 1 3. + <_> + + <_> + 8 0 4 2 -1. + <_> + 8 1 4 1 2. + <_> + + <_> + 0 0 20 1 -1. + <_> + 0 0 10 1 2. + <_> + + <_> + 9 7 3 4 -1. + <_> + 10 7 1 4 3. + <_> + + <_> + 0 0 20 1 -1. + <_> + 10 0 10 1 2. + <_> + + <_> + 8 7 3 4 -1. + <_> + 9 7 1 4 3. + <_> + + <_> + 1 6 19 3 -1. + <_> + 1 7 19 1 3. + <_> + + <_> + 12 7 4 2 -1. + <_> + 12 8 4 1 2. + <_> + + <_> + 7 8 3 3 -1. + <_> + 7 9 3 1 3. + <_> + + <_> + 7 7 3 3 -1. + <_> + 8 7 1 3 3. + <_> + + <_> + 2 9 16 3 -1. + <_> + 2 10 16 1 3. + <_> + + <_> + 9 4 2 12 -1. + <_> + 9 8 2 4 3. + <_> + + <_> + 7 3 2 5 -1. + <_> + 8 3 1 5 2. + <_> + + <_> + 9 7 2 3 -1. + <_> + 9 8 2 1 3. + <_> + + <_> + 9 14 4 3 -1. + <_> + 9 15 4 1 3. + <_> + + <_> + 7 8 6 4 -1. + <_> + 10 8 3 2 2. + <_> + 7 10 3 2 2. + <_> + + <_> + 9 7 2 2 -1. + <_> + 10 7 1 2 2. + <_> + + <_> + 5 5 6 6 -1. + <_> + 7 5 2 6 3. + <_> + + <_> + 9 1 3 6 -1. + <_> + 10 1 1 6 3. + <_> + + <_> + 4 5 12 2 -1. + <_> + 8 5 4 2 3. + <_> + + <_> + 4 2 6 4 -1. + <_> + 6 2 2 4 3. + <_> + + <_> + 4 7 8 2 -1. + <_> + 4 8 8 1 2. + <_> + + <_> + 3 6 14 6 -1. + <_> + 10 6 7 3 2. + <_> + 3 9 7 3 2. + <_> + + <_> + 3 6 14 3 -1. + <_> + 3 6 7 3 2. + <_> + + <_> + 0 5 2 2 -1. + <_> + 0 6 2 1 2. + <_> + + <_> + 8 13 4 3 -1. + <_> + 8 14 4 1 3. + <_> + + <_> + 13 0 3 20 -1. + <_> + 14 0 1 20 3. + <_> + + <_> + 10 8 10 3 -1. + <_> + 10 9 10 1 3. + <_> + + <_> + 4 0 3 20 -1. + <_> + 5 0 1 20 3. + <_> + + <_> + 0 8 10 3 -1. + <_> + 0 9 10 1 3. + <_> + + <_> + 12 5 3 4 -1. + <_> + 13 5 1 4 3. + <_> + + <_> + 6 7 12 4 -1. + <_> + 10 7 4 4 3. + <_> + + <_> + 1 14 6 6 -1. + <_> + 1 14 3 3 2. + <_> + 4 17 3 3 2. + <_> + + <_> + 1 17 6 2 -1. + <_> + 1 18 6 1 2. + <_> + + <_> + 14 8 6 12 -1. + <_> + 17 8 3 6 2. + <_> + 14 14 3 6 2. + <_> + + <_> + 18 5 2 2 -1. + <_> + 18 6 2 1 2. + <_> + + <_> + 3 16 4 2 -1. + <_> + 3 16 2 1 2. + <_> + 5 17 2 1 2. + <_> + + <_> + 2 16 6 2 -1. + <_> + 4 16 2 2 3. + <_> + + <_> + 14 8 6 12 -1. + <_> + 17 8 3 6 2. + <_> + 14 14 3 6 2. + <_> + + <_> + 18 5 2 2 -1. + <_> + 18 6 2 1 2. + <_> + + <_> + 5 16 9 2 -1. + <_> + 8 16 3 2 3. + <_> + + <_> + 3 14 6 6 -1. + <_> + 3 14 3 3 2. + <_> + 6 17 3 3 2. + <_> + + <_> + 14 8 6 12 -1. + <_> + 17 8 3 6 2. + <_> + 14 14 3 6 2. + <_> + + <_> + 11 7 2 12 -1. + <_> + 11 11 2 4 3. + <_> + + <_> + 0 8 6 12 -1. + <_> + 0 8 3 6 2. + <_> + 3 14 3 6 2. + <_> + + <_> + 7 7 2 12 -1. + <_> + 7 11 2 4 3. + <_> + + <_> + 14 12 1 2 -1. + <_> + 14 13 1 1 2. + <_> + + <_> + 12 13 8 1 -1. + <_> + 12 13 4 1 2. + <_> + + <_> + 0 3 16 6 -1. + <_> + 0 6 16 3 2. + <_> + + <_> + 1 4 8 2 -1. + <_> + 1 4 4 1 2. + <_> + 5 5 4 1 2. + <_> + + <_> + 14 12 1 2 -1. + <_> + 14 13 1 1 2. + <_> + + <_> + 15 12 2 3 -1. + <_> + 15 13 2 1 3. + <_> + + <_> + 8 16 3 3 -1. + <_> + 8 17 3 1 3. + <_> + + <_> + 5 12 1 2 -1. + <_> + 5 13 1 1 2. + <_> + + <_> + 13 4 3 15 -1. + <_> + 14 4 1 15 3. + <_> + + <_> + 17 3 2 6 -1. + <_> + 18 3 1 3 2. + <_> + 17 6 1 3 2. + <_> + + <_> + 4 4 3 15 -1. + <_> + 5 4 1 15 3. + <_> + + <_> + 1 3 2 6 -1. + <_> + 1 3 1 3 2. + <_> + 2 6 1 3 2. + <_> + + <_> + 7 15 12 4 -1. + <_> + 7 17 12 2 2. + <_> + + <_> + 1 0 19 3 -1. + <_> + 1 1 19 1 3. + <_> + + <_> + 3 17 10 2 -1. + <_> + 3 17 5 1 2. + <_> + 8 18 5 1 2. + <_> + + <_> + 2 5 10 15 -1. + <_> + 2 10 10 5 3. + <_> + + <_> + 13 8 3 4 -1. + <_> + 13 10 3 2 2. + <_> + + <_> + 19 13 1 2 -1. + <_> + 19 14 1 1 2. + <_> + + <_> + 4 8 3 4 -1. + <_> + 4 10 3 2 2. + <_> + + <_> + 0 13 1 2 -1. + <_> + 0 14 1 1 2. + <_> + + <_> + 12 7 2 12 -1. + <_> + 12 13 2 6 2. + <_> + + <_> + 14 7 2 2 -1. + <_> + 15 7 1 1 2. + <_> + 14 8 1 1 2. + <_> + + <_> + 5 3 8 2 -1. + <_> + 5 4 8 1 2. + <_> + + <_> + 0 2 2 6 -1. + <_> + 0 4 2 2 3. + <_> + + <_> + 18 2 2 12 -1. + <_> + 19 2 1 6 2. + <_> + 18 8 1 6 2. + <_> + + <_> + 18 1 1 2 -1. + <_> + 18 2 1 1 2. + <_> + + <_> + 0 2 2 12 -1. + <_> + 0 2 1 6 2. + <_> + 1 8 1 6 2. + <_> + + <_> + 1 1 1 2 -1. + <_> + 1 2 1 1 2. + <_> + + <_> + 16 4 4 14 -1. + <_> + 18 4 2 7 2. + <_> + 16 11 2 7 2. + <_> + + <_> + 10 14 1 6 -1. + <_> + 10 17 1 3 2. + <_> + + <_> + 0 4 4 14 -1. + <_> + 0 4 2 7 2. + <_> + 2 11 2 7 2. + <_> + + <_> + 9 14 1 6 -1. + <_> + 9 17 1 3 2. + <_> + + <_> + 9 14 4 3 -1. + <_> + 9 15 4 1 3. + <_> + + <_> + 4 7 12 2 -1. + <_> + 8 7 4 2 3. + <_> + + <_> + 0 8 4 3 -1. + <_> + 0 9 4 1 3. + <_> + + <_> + 4 7 2 2 -1. + <_> + 4 7 1 1 2. + <_> + 5 8 1 1 2. + <_> + + <_> + 13 7 2 1 -1. + <_> + 13 7 1 1 2. + <_> + + <_> + 11 4 4 5 -1. + <_> + 11 4 2 5 2. + <_> + + <_> + 4 8 3 3 -1. + <_> + 5 8 1 3 3. + <_> + + <_> + 0 3 8 1 -1. + <_> + 4 3 4 1 2. + <_> + + <_> + 13 7 2 1 -1. + <_> + 13 7 1 1 2. + <_> + + <_> + 14 7 3 2 -1. + <_> + 15 7 1 2 3. + <_> + + <_> + 5 7 2 1 -1. + <_> + 6 7 1 1 2. + <_> + + <_> + 3 7 3 2 -1. + <_> + 4 7 1 2 3. + <_> + + <_> + 18 5 2 2 -1. + <_> + 18 6 2 1 2. + <_> + + <_> + 12 14 2 2 -1. + <_> + 13 14 1 1 2. + <_> + 12 15 1 1 2. + <_> + + <_> + 0 5 2 2 -1. + <_> + 0 6 2 1 2. + <_> + + <_> + 6 14 2 2 -1. + <_> + 6 14 1 1 2. + <_> + 7 15 1 1 2. + <_> + + <_> + 7 12 6 5 -1. + <_> + 9 12 2 5 3. + <_> + + <_> + 12 17 5 2 -1. + <_> + 12 18 5 1 2. + <_> + + <_> + 1 11 6 3 -1. + <_> + 4 11 3 3 2. + <_> + + <_> + 1 9 6 3 -1. + <_> + 4 9 3 3 2. + <_> + + <_> + 12 7 2 12 -1. + <_> + 12 13 2 6 2. + <_> + + <_> + 8 7 5 3 -1. + <_> + 8 8 5 1 3. + <_> + + <_> + 6 7 2 12 -1. + <_> + 6 13 2 6 2. + <_> + + <_> + 1 2 9 18 -1. + <_> + 4 2 3 18 3. + <_> + + <_> + 12 17 5 2 -1. + <_> + 12 18 5 1 2. + <_> + + <_> + 4 7 12 2 -1. + <_> + 4 7 6 2 2. + <_> + + <_> + 6 7 6 1 -1. + <_> + 8 7 2 1 3. + <_> + + <_> + 7 3 3 2 -1. + <_> + 8 3 1 2 3. + <_> + + <_> + 9 4 3 1 -1. + <_> + 10 4 1 1 3. + <_> + + <_> + 11 11 3 1 -1. + <_> + 12 11 1 1 3. + <_> + + <_> + 8 4 3 1 -1. + <_> + 9 4 1 1 3. + <_> + + <_> + 6 11 3 1 -1. + <_> + 7 11 1 1 3. + <_> + + <_> + 12 13 6 6 -1. + <_> + 12 15 6 2 3. + <_> + + <_> + 14 13 1 6 -1. + <_> + 14 15 1 2 3. + <_> + + <_> + 2 13 6 6 -1. + <_> + 2 15 6 2 3. + <_> + + <_> + 1 5 18 1 -1. + <_> + 7 5 6 1 3. + <_> + + <_> + 4 7 12 2 -1. + <_> + 10 7 6 1 2. + <_> + 4 8 6 1 2. + <_> + + <_> + 6 1 8 10 -1. + <_> + 10 1 4 5 2. + <_> + 6 6 4 5 2. + <_> + + <_> + 3 13 4 3 -1. + <_> + 3 14 4 1 3. + <_> + + <_> + 6 13 4 3 -1. + <_> + 6 14 4 1 3. + <_> + + <_> + 9 14 4 3 -1. + <_> + 9 15 4 1 3. + <_> + + <_> + 12 9 2 3 -1. + <_> + 12 10 2 1 3. + <_> + + <_> + 7 14 4 3 -1. + <_> + 7 15 4 1 3. + <_> + + <_> + 9 0 2 1 -1. + <_> + 10 0 1 1 2. + <_> + + <_> + 5 0 10 5 -1. + <_> + 5 0 5 5 2. + <_> + + <_> + 6 6 8 7 -1. + <_> + 6 6 4 7 2. + <_> + + <_> + 5 0 10 5 -1. + <_> + 10 0 5 5 2. + <_> + + <_> + 6 6 8 7 -1. + <_> + 10 6 4 7 2. + <_> + + <_> + 5 9 10 8 -1. + <_> + 10 9 5 4 2. + <_> + 5 13 5 4 2. + <_> + + <_> + 10 0 4 10 -1. + <_> + 12 0 2 5 2. + <_> + 10 5 2 5 2. + <_> + + <_> + 1 4 8 3 -1. + <_> + 1 5 8 1 3. + <_> + + <_> + 4 4 8 3 -1. + <_> + 4 5 8 1 3. + <_> + + <_> + 9 7 4 3 -1. + <_> + 9 8 4 1 3. + <_> + + <_> + 12 8 3 12 -1. + <_> + 12 14 3 6 2. + <_> + + <_> + 7 7 4 3 -1. + <_> + 7 8 4 1 3. + <_> + + <_> + 5 8 3 12 -1. + <_> + 5 14 3 6 2. + <_> + + <_> + 10 0 7 6 -1. + <_> + 10 2 7 2 3. + <_> + + <_> + 2 1 18 1 -1. + <_> + 8 1 6 1 3. + <_> + + <_> + 5 0 3 8 -1. + <_> + 6 0 1 8 3. + <_> + + <_> + 4 7 4 2 -1. + <_> + 4 8 4 1 2. + From 5a4d11b85375a7448dec647533cd31c7378f7320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Tue, 9 Nov 2021 13:01:44 +0800 Subject: [PATCH 22/63] docs: update README.md [skip ci] --- README.md | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 135 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ece7fa2..d019081 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,143 @@ +![Home Guardian Social Image](https://raw.githubusercontent.com/johnnymillergh/MaterialLibrary/master/home_guardian/home_guardian_social_image_dark_theme.png) +[![GitHub release](https://img.shields.io/github/release/johnnymillergh/home_guardian.svg)](https://github.com/johnnymillergh/home_guardian/releases) +[![Github Actions workflow status](https://github.com/johnnymillergh/home_guardian/actions/workflows/build-and-test.yml/badge.svg?branch=main)](https://github.com/johnnymillergh/home_guardian/actions) +[![GitHub issues](https://img.shields.io/github/issues/johnnymillergh/home_guardian)](https://github.com/johnnymillergh/home_guardian/issues) +[![GitHub forks](https://img.shields.io/github/forks/johnnymillergh/home_guardian)](https://github.com/johnnymillergh/home_guardian/network) +[![GitHub stars](https://img.shields.io/github/stars/johnnymillergh/home_guardian)](https://github.com/johnnymillergh/home_guardian) +[![GitHub license](https://img.shields.io/github/license/johnnymillergh/home_guardian)](https://github.com/johnnymillergh/home_guardian/blob/master/LICENSE) +[![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/johnnymillergh/home_guardian.svg?style=popout)](https://github.com/johnnymillergh/home_guardian) +[![GitHub repo size](https://img.shields.io/github/repo-size/johnnymillergh/home_guardian.svg)](https://github.com/johnnymillergh/home_guardian) +[![Twitter](https://img.shields.io/twitter/url/https/github.com/johnnymillergh/home_guardian?style=social)](https://twitter.com/intent/tweet?text=Wow:&url=https%3A%2F%2Fgithub.com%2Fjohnnymillergh%2Fhome_guardian) + # home_guardian +**Home Guardian**, a smart intruder inspection system, ran on Python 3, Raspberry Pi. + +## Features + +Here are the highlights of **home_guardian**: + +1. Inherited from modern and the latest newest Python technologies: + + `Python` - [![Python](https://img.shields.io/badge/Python-v3.10.0-blue)](https://www.python.org/downloads/release/python-3100/) + `OpenCV` - [![OpenCV](https://img.shields.io/badge/OpenCV-v4.5.4.58-red)](https://pypi.org/project/opencv-python/4.5.4.58/) + +2. Sending Email via [Sina]() Email Service. + +3. Testing with [pytest](https://docs.pytest.org/en/latest/) + +4. Formatting with [black](https://github.com/psf/black) + +5. Import sorting with [isort](https://github.com/timothycrosley/isort) + +6. Static typing with [mypy](http://mypy-lang.org/) + +7. Linting with [flake8](http://flake8.pycqa.org/en/latest/) + +8. Git hooks that run all the above with [pre-commit](https://pre-commit.com/) + +9. Deployment ready with [Docker](https://docker.com/) + +10. Continuous Integration with [GitHub Actions](https://github.com/features/actions) + +11. Universal logging configuration based on [Loguru](https://github.com/Delgan/loguru/releases/tag/0.5.3). Log sample is like, + + ``` + 2021-11-09 10:57:55.362 | WARNING | MainThread | home_guardian.configuration.loguru_configuration:configure:61 - Loguru logging configured + 2021-11-09 10:57:55.367 | WARNING | MainThread | home_guardian.configuration.thread_pool_configuration:configure:18 - Thread pool executor with 8 workers, executor: + 2021-11-09 10:57:55.603 | INFO | MainThread | home_guardian.repository.model.base.model::7 - SQLite database path: /Users/johnny/Projects/PyCharmProjects/home_guardian/home_guardian/_data/home_guardian.db + 2021-11-09 10:57:55.603 | WARNING | MainThread | home_guardian.repository.model.base.model::9 - Initialized db file: + ``` + +## Usage + +1. Clone or download this project. + + ```shell + $ git clone https://github.com/johnnymillergh/python_boilerplater.git + ``` + +2. Build with newest PyCharm. + +3. Click the green triangle to Run. + ## Setup -```sh -# Install dependencies -pipenv install --dev -# Setup pre-commit and pre-push hooks -pipenv run pre-commit install -t pre-commit -pipenv run pre-commit install -t pre-push +1. Install dependencies + + ```shell + $ pipenv install --dev + ``` + +2. Setup pre-commit and pre-push hooks + + ```shell + $ pipenv run pre-commit install -t pre-commit + $ pipenv run pre-commit install -t pre-push + ``` + +## Useful Commands + +### Run unit test + +```shell +$ pipenv run pytest --cov --cov-fail-under=50 ``` +### Conventional Changelog CLI + +1. Install global dependencies (optional if installed): + + ```sh + $ npm install -g conventional-changelog-cli + ``` + +2. This will *not* overwrite any previous changelogs. The above generates a changelog based on commits since the last semver tag that matches the pattern of "Feature", "Fix", "Performance Improvement" or "Breaking Changes". + + ```sh + $ conventional-changelog -p angular -i CHANGELOG.md -s + ``` + +3. If this is your first time using this tool and you want to generate all previous changelogs, you could do: + + ```sh + $ conventional-changelog -p angular -i CHANGELOG.md -s -r 0 + ``` + +## CI (Continuous Integration) + +- GitHub Actions is for building project and running tests. +- ~~[Travis CI](https://travis-ci.com/github/johnnymillergh/media-streaming) is for publishing Docker Hub images of SNAPSHOT and RELEASE.~~ + +## Maintainers + +[@johnnymillergh](https://github.com/johnnymillergh) + +## Contributing + +Feel free to dive in! [Open an issue](https://github.com/johnnymillergh/home_guardian/issues/new). + +### Contributors + +This project exists thanks to all the people who contribute. + +- Johnny Miller [[@johnnymillergh](https://github.com/johnnymillergh)] +- … + +### Sponsors + +Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://become-a-sponsor.org)] + ## Credits + This package was created with Cookiecutter and the [sourcery-ai/python-best-practices-cookiecutter](https://github.com/sourcery-ai/python-best-practices-cookiecutter) project template. + +Inspired by [How to set up a perfect Python project](https://sourcery.ai/blog/python-best-practices/). + +Icon from [flaticon - Shield](https://www.flaticon.com/free-icon/shield_929429), [home](https://www.flaticon.com/premium-icon/home_2549900). + +## License + +[Apache License](https://github.com/johnnymillergh/home_guardian/blob/master/LICENSE) © Johnny Miller + +2021 - Present From 46dce1d0b53b2b9522bf7e03e31e00492722771b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Tue, 9 Nov 2021 14:57:24 +0800 Subject: [PATCH 23/63] feat($common): refine @debounce and @throttle decorators --- home_guardian/common/debounce_throttle.py | 84 +++++++++++------------ 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/home_guardian/common/debounce_throttle.py b/home_guardian/common/debounce_throttle.py index 3c48d5e..55572af 100644 --- a/home_guardian/common/debounce_throttle.py +++ b/home_guardian/common/debounce_throttle.py @@ -1,75 +1,75 @@ -import asyncio +from threading import Timer from time import time +from loguru import logger -class Setter: - def __init__(self, initial_value=None) -> None: - self._value = initial_value - - def get(self): - return self._value - def set(self, v): - self._value = v - - -def debounce(delay): +def debounce(interval: float): """ - Debounce decorator. + Decorator that will postpone a functions + execution until after wait seconds + have elapsed since the last time it was invoked. - @see Python 中的防抖与节流 https://www.bilibili.com/read/cv13257868 + @param interval: interval time in seconds + @see https://gist.github.com/walkermatt/2871026 """ - # 用于存储 asyncio.Task 实例,这里是闭包 - task = Setter() - def decorator(fn): - # Task 协程函数 - async def f(*args, **kwargs): - # 进行休眠 - await asyncio.sleep(delay) - # 调用函数 - f1 = fn(*args, **kwargs) - # 支持回调函数是异步函数的情况 - if asyncio.iscoroutine(f1): - await f1 - # 清除 task - task.set(None) - - def wrapper(*args, **kwargs): - # 如果 task 存在,说明在 delay 秒内调用过一次函数,此次调用应当重置计时器,因此取消先前的 Task - if task.get() is not None: - task.get().cancel() - # 创建 Task 并赋值变量 task - task.set(asyncio.create_task(f(*args, **kwargs))) - - return wrapper + def debounced(*args, **kwargs): + def call_it(): + fn(*args, **kwargs) + logger.debug(f"Called debounced function: {fn}") + + try: + debounced.t.cancel() + logger.debug(f"Cancelled calling debounced function: {fn}") + except AttributeError: + pass + debounced.t = Timer(interval, call_it) + debounced.t.start() + + return debounced return decorator -def throttle(delay): +class Wrapper: + def __init__(self, initial_value=None) -> None: + self._value = initial_value + + def get(self): + return self._value + + def set(self, v): + self._value = v + + +def throttle(interval: float): """ Throttle decorator. + @param interval: interval time in seconds + @see Python 中的防抖与节流 https://www.bilibili.com/read/cv13257868/ @see Python 中的防抖与节流 https://www.moyu.moe/articles/25/ """ # 下一次许可调用的时间,初始化为 0 - next_t = Setter(0) + next_t = Wrapper(0) def decorator(fn): - def wrapper(*args, **kwargs): + def throttled(*args, **kwargs): # 当前时间 now = time() # 若未到下一次许可调用的时间,直接返回 if next_t.get() > now: + logger.debug(f"Skipped throttled call, function: {fn}") return # 更新下一次许可调用的时间 - next_t.set(now + delay) + next_t.set(now + interval) # 调用函数并返回 + logger.debug(f"Called throttled function: {fn}") return fn(*args, **kwargs) - return wrapper + return throttled return decorator From e9b3fc9b3ac4d2b74aafc8db4bbee9a7f79be757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Tue, 9 Nov 2021 14:58:35 +0800 Subject: [PATCH 24/63] test($common): create unit tests for @debounce and @throttle --- test/__init__.py | 5 ++++ test/test_debounce_and_throttle.py | 37 ++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 test/test_debounce_and_throttle.py diff --git a/test/__init__.py b/test/__init__.py index e69de29..7ecca61 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -0,0 +1,5 @@ +from home_guardian.configuration.loguru_configuration import ( + configure as loguru_configure, +) + +loguru_configure() diff --git a/test/test_debounce_and_throttle.py b/test/test_debounce_and_throttle.py new file mode 100644 index 0000000..d6ee7a5 --- /dev/null +++ b/test/test_debounce_and_throttle.py @@ -0,0 +1,37 @@ +from time import sleep + +from loguru import logger + +from home_guardian.common.debounce_throttle import debounce, throttle + + +def test_debounce() -> None: + call_count: int = 3 + try: + while call_count > 0: + debounce_function() + call_count -= 1 + except Exception: + assert False, "Failed to test debounce_function()" + sleep(2) + + +def test_throttle() -> None: + call_count: int = 5 + try: + while call_count > 0: + throttle_function() + call_count -= 1 + sleep(0.24) + except Exception: + assert False, "Failed to test throttle_function()" + + +@debounce(1) +def debounce_function() -> None: + logger.warning("'debounce_function' was called") + + +@throttle(0.25) +def throttle_function() -> None: + logger.warning("'throttle_function' was called") From fc62749d842a1a37a6184c2e7c81c3f31170acab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Tue, 9 Nov 2021 20:41:22 +0800 Subject: [PATCH 25/63] chore: specify more details for `.editorconfig` --- .editorconfig | 101 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 95 insertions(+), 6 deletions(-) diff --git a/.editorconfig b/.editorconfig index e31e681..9b6afa4 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,4 +1,3 @@ -# http://editorconfig.org/#file-format-details root = true [*] @@ -7,10 +6,100 @@ end_of_line = lf indent_size = 4 indent_style = space insert_final_newline = true -trim_trailing_whitespace = true +max_line_length = 120 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_formatter_off_tag = @formatter:off +ij_formatter_on_tag = @formatter:on +ij_formatter_tags_enabled = false +ij_smart_tabs = false +ij_visual_guides = none +ij_wrap_on_typing = false -[*.md] -trim_trailing_whitespace = false +[{*.markdown,*.md}] +ij_markdown_force_one_space_after_blockquote_symbol = true +ij_markdown_force_one_space_after_header_symbol = true +ij_markdown_force_one_space_after_list_bullet = true +ij_markdown_force_one_space_between_words = true +ij_markdown_keep_indents_on_empty_lines = false +ij_markdown_max_lines_around_block_elements = 1 +ij_markdown_max_lines_around_header = 1 +ij_markdown_max_lines_between_paragraphs = 1 +ij_markdown_min_lines_around_block_elements = 1 +ij_markdown_min_lines_around_header = 1 +ij_markdown_min_lines_between_paragraphs = 1 -[Makefile] -indent_style = tab +[{*.py,*.pyw}] +ij_python_align_collections_and_comprehensions = true +ij_python_align_multiline_imports = true +ij_python_align_multiline_parameters = true +ij_python_align_multiline_parameters_in_calls = true +ij_python_blank_line_at_file_end = true +ij_python_blank_lines_after_imports = 1 +ij_python_blank_lines_after_local_imports = 0 +ij_python_blank_lines_around_class = 1 +ij_python_blank_lines_around_method = 1 +ij_python_blank_lines_around_top_level_classes_functions = 2 +ij_python_blank_lines_before_first_method = 0 +ij_python_call_parameters_new_line_after_left_paren = false +ij_python_call_parameters_right_paren_on_new_line = false +ij_python_call_parameters_wrap = normal +ij_python_dict_alignment = 0 +ij_python_dict_new_line_after_left_brace = false +ij_python_dict_new_line_before_right_brace = false +ij_python_dict_wrapping = 1 +ij_python_from_import_new_line_after_left_parenthesis = false +ij_python_from_import_new_line_before_right_parenthesis = false +ij_python_from_import_parentheses_force_if_multiline = false +ij_python_from_import_trailing_comma_if_multiline = false +ij_python_from_import_wrapping = 1 +ij_python_hang_closing_brackets = false +ij_python_keep_blank_lines_in_code = 1 +ij_python_keep_blank_lines_in_declarations = 1 +ij_python_keep_indents_on_empty_lines = false +ij_python_keep_line_breaks = true +ij_python_method_parameters_new_line_after_left_paren = false +ij_python_method_parameters_right_paren_on_new_line = false +ij_python_method_parameters_wrap = normal +ij_python_new_line_after_colon = false +ij_python_new_line_after_colon_multi_clause = true +ij_python_optimize_imports_always_split_from_imports = false +ij_python_optimize_imports_case_insensitive_order = false +ij_python_optimize_imports_join_from_imports_with_same_source = false +ij_python_optimize_imports_sort_by_type_first = true +ij_python_optimize_imports_sort_imports = true +ij_python_optimize_imports_sort_names_in_from_imports = false +ij_python_space_after_comma = true +ij_python_space_after_number_sign = true +ij_python_space_after_py_colon = true +ij_python_space_before_backslash = true +ij_python_space_before_comma = false +ij_python_space_before_for_semicolon = false +ij_python_space_before_lbracket = false +ij_python_space_before_method_call_parentheses = false +ij_python_space_before_method_parentheses = false +ij_python_space_before_number_sign = true +ij_python_space_before_py_colon = false +ij_python_space_within_empty_method_call_parentheses = false +ij_python_space_within_empty_method_parentheses = false +ij_python_spaces_around_additive_operators = true +ij_python_spaces_around_assignment_operators = true +ij_python_spaces_around_bitwise_operators = true +ij_python_spaces_around_eq_in_keyword_argument = false +ij_python_spaces_around_eq_in_named_parameter = false +ij_python_spaces_around_equality_operators = true +ij_python_spaces_around_multiplicative_operators = true +ij_python_spaces_around_power_operator = true +ij_python_spaces_around_relational_operators = true +ij_python_spaces_around_shift_operators = true +ij_python_spaces_within_braces = false +ij_python_spaces_within_brackets = false +ij_python_spaces_within_method_call_parentheses = false +ij_python_spaces_within_method_parentheses = false +ij_python_use_continuation_indent_for_arguments = false +ij_python_use_continuation_indent_for_collection_and_comprehensions = false +ij_python_use_continuation_indent_for_parameters = true +ij_python_wrap_long_lines = false + +[*.conf] +indent_size = 2 From 0a005736e425a603614482faedab7c25ad228857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Tue, 9 Nov 2021 20:45:15 +0800 Subject: [PATCH 26/63] feat($conf): support dynamic environment variable configuration --- Pipfile | 1 + Pipfile.lock | 37 +++++++++++++------ home_guardian/__init__.py | 4 ++ .../application_configuration.py | 18 +++++++++ home_guardian/function_collection.py | 7 ++++ home_guardian/message/email.py | 15 ++++---- home_guardian/opencv/face_detection.py | 4 +- home_guardian/resources/application.conf | 15 ++++++++ 8 files changed, 81 insertions(+), 20 deletions(-) create mode 100644 home_guardian/configuration/application_configuration.py create mode 100644 home_guardian/resources/application.conf diff --git a/Pipfile b/Pipfile index a5ea165..1853040 100644 --- a/Pipfile +++ b/Pipfile @@ -10,6 +10,7 @@ python_version = "3.10" peewee = "==3.14.8" loguru = "==0.5.3" opencv-python = "==4.5.4.58" +pyhocon = "==0.3.58" [dev-packages] black = "==20.8b1" diff --git a/Pipfile.lock b/Pipfile.lock index 76664d2..c7714cb 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "e67402d59be37da2cb123fbecb42293f83254f268c0b2d47ab1378cba2a3fa5b" + "sha256": "ac998277fada1273e01650fb6e8b0d7dd796b1c7a7cacf83dedd56eea775af4e" }, "pipfile-spec": 6, "requires": { @@ -102,6 +102,21 @@ ], "index": "pypi", "version": "==3.14.8" + }, + "pyhocon": { + "hashes": [ + "sha256:9639e29069dd67c31a7afb14ec972c68765ddee3439b43f6b08f25f4371b6209" + ], + "index": "pypi", + "version": "==0.3.58" + }, + "pyparsing": { + "hashes": [ + "sha256:4881e3d2979f27b41a3a2421b10be9cbfa7ce2baa6c7117952222f8bbea6650c", + "sha256:9329d1c1b51f0f76371c4ded42c5ec4cc0be18456b22193e0570c2da98ed288b" + ], + "markers": "python_version >= '3.6'", + "version": "==3.0.5" } }, "develop": { @@ -122,11 +137,11 @@ }, "backports.entry-points-selectable": { "hashes": [ - "sha256:988468260ec1c196dab6ae1149260e2f5472c9110334e5d51adcb77867361f6a", - "sha256:a6d9a871cde5e15b4c4a53e3d43ba890cc6861ec1332c9c2428c92f977192acc" + "sha256:7fceed9532a7aa2bd888654a7314f864a3c16a4e710b34a58cfc0f08114c663b", + "sha256:914b21a479fde881635f7af5adc7f6e38d6b274be32269070c53b698c60d5386" ], "markers": "python_version >= '2.7'", - "version": "==1.1.0" + "version": "==1.1.1" }, "black": { "hashes": [ @@ -231,11 +246,11 @@ }, "identify": { "hashes": [ - "sha256:4de55a93e0ba72bf917c840b3794eb1055a67272a1732351c557c88ec42011b1", - "sha256:595283a1c3a078ac5774ad4dc4d1bdd0c1602f60bcf11ae673b64cb2b1945762" + "sha256:6f0368ba0f21c199645a331beb7425d5374376e71bc149e9cb55e45cb45f832d", + "sha256:ba945bddb4322394afcf3f703fa68eda08a6acc0f99d9573eb2be940aa7b9bba" ], "markers": "python_full_version >= '3.6.1'", - "version": "==2.3.4" + "version": "==2.3.5" }, "iniconfig": { "hashes": [ @@ -367,11 +382,11 @@ }, "pyparsing": { "hashes": [ - "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", - "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" + "sha256:4881e3d2979f27b41a3a2421b10be9cbfa7ce2baa6c7117952222f8bbea6650c", + "sha256:9329d1c1b51f0f76371c4ded42c5ec4cc0be18456b22193e0570c2da98ed288b" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.4.7" + "markers": "python_version >= '3.6'", + "version": "==3.0.5" }, "pytest": { "hashes": [ diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index 36f705e..3f5dcfa 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -1,3 +1,6 @@ +from home_guardian.configuration.application_configuration import ( + configure as application_configure, +) from home_guardian.configuration.loguru_configuration import ( configure as loguru_configure, ) @@ -7,3 +10,4 @@ loguru_configure() thread_pool_configure() +application_configure() diff --git a/home_guardian/configuration/application_configuration.py b/home_guardian/configuration/application_configuration.py new file mode 100644 index 0000000..30bb054 --- /dev/null +++ b/home_guardian/configuration/application_configuration.py @@ -0,0 +1,18 @@ +from loguru import logger +from pyhocon import ConfigFactory, ConfigTree + +from home_guardian.function_collection import get_resources_dir + +# `application_conf` contains the configuration for the application. +application_conf: ConfigTree = ConfigFactory.parse_file( + f"{get_resources_dir()}/application.conf" +) + + +def configure() -> None: + """ + Configure application. + """ + logger.warning( + f"Application configuration loaded, {application_conf}, mail_password: {application_conf.get_string('email.mail_password')}" + ) diff --git a/home_guardian/function_collection.py b/home_guardian/function_collection.py index 6a8d888..5438b5f 100644 --- a/home_guardian/function_collection.py +++ b/home_guardian/function_collection.py @@ -19,6 +19,13 @@ def get_data_dir() -> str: return data_dir +def get_resources_dir() -> str: + """ + Get the resources directory of the project. + """ + return f"{get_root_path()}/resources" + + def get_cpu_count() -> int: """ Get CPU count, default is 4 diff --git a/home_guardian/message/email.py b/home_guardian/message/email.py index b753a2c..a8be12d 100644 --- a/home_guardian/message/email.py +++ b/home_guardian/message/email.py @@ -7,12 +7,13 @@ from loguru import logger -# Email constants -mail_host: str = "smtp.sina.com" -mail_user: str = "johnnys_rpi_3b" -authorization_password: str = "dcbc7bdd4cb11187" -sender: str = f"{mail_user}@sina.com" -receivers: List[str] = ["johnnysviva@outlook.com", "tewis1992@yahoo.com"] +from home_guardian.configuration.application_configuration import application_conf + +mail_host: str = application_conf.get_string("email.mail_host") +mail_user: str = application_conf.get_string("email.mail_user") +mail_password: str = application_conf.get_string("email.mail_password") +sender: str = f"{mail_user}{application_conf.get_string('email.mail_address_suffix')}" +receivers: List[str] = application_conf.get_list("email.receivers") def build_message(receiver: str) -> MIMEMultipart: @@ -38,7 +39,7 @@ def build_message(receiver: str) -> MIMEMultipart: def send_email(): smtp: smtplib.SMTP = smtplib.SMTP(mail_host, 25) smtp.connect(mail_host, 25) - smtp.login(mail_user, authorization_password) + smtp.login(sender, mail_password) for receiver in receivers: message: MIMEMultipart = build_message(receiver) try: diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index 9f602f8..048f6c4 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -7,7 +7,7 @@ from home_guardian.common.debounce_throttle import throttle from home_guardian.configuration.thread_pool_configuration import executor -from home_guardian.function_collection import get_data_dir, get_root_path +from home_guardian.function_collection import get_data_dir, get_resources_dir detected_face_dir = f"{get_data_dir()}/detection" os.makedirs(detected_face_dir, exist_ok=True) @@ -16,7 +16,7 @@ def detect_and_take_photo() -> None: face = cv2.CascadeClassifier( - f"{get_root_path()}/resources/haarcascade_frontalface_alt2.xml" + f"{get_resources_dir()}/haarcascade_frontalface_alt2.xml" ) capture = cv2.VideoCapture(0) while True: diff --git a/home_guardian/resources/application.conf b/home_guardian/resources/application.conf new file mode 100644 index 0000000..82a5b76 --- /dev/null +++ b/home_guardian/resources/application.conf @@ -0,0 +1,15 @@ +{ + email { + mail_host = "smtp.tom.com" + mail_port = 25 + mail_username = "DEFAULT_MAIL_USERNAME" + mail_username = ${?MAIL_USERNAME} + mail_password = "DEFAULT_MAIL_PASSWORD" + mail_password = ${?MAIL_PASSWORD} + mail_address_suffix = "@tom.com" + receivers = [ + "johnnysviva@outlook.com", + "tewis1992@yahoo.com" + ] + } +} From 1bec964080c7eb3931f3132133b9b9f52722a269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Tue, 9 Nov 2021 22:09:10 +0800 Subject: [PATCH 27/63] feat($opencv): persistence detected face info --- home_guardian/__main__.py | 4 ---- home_guardian/message/email.py | 2 +- home_guardian/opencv/face_detection.py | 17 ++++++++++++++--- .../repository/detected_face_repository.py | 18 ++++++++++++++++++ home_guardian/repository/model/base/model.py | 1 + .../repository/model/detected_face.py | 18 ++++++++++++++++++ home_guardian/repository/model/user.py | 15 --------------- home_guardian/repository/user_repository.py | 17 ----------------- 8 files changed, 52 insertions(+), 40 deletions(-) create mode 100644 home_guardian/repository/detected_face_repository.py create mode 100644 home_guardian/repository/model/detected_face.py delete mode 100644 home_guardian/repository/model/user.py delete mode 100644 home_guardian/repository/user_repository.py diff --git a/home_guardian/__main__.py b/home_guardian/__main__.py index 3782ffc..7a6fd3f 100644 --- a/home_guardian/__main__.py +++ b/home_guardian/__main__.py @@ -1,8 +1,4 @@ -import random - from home_guardian.configuration.thread_pool_configuration import simulate_multi_thread -from home_guardian.repository.user_repository import create_user if __name__ == "__main__": - create_user(f"user{random.random()}") simulate_multi_thread() diff --git a/home_guardian/message/email.py b/home_guardian/message/email.py index a8be12d..fa584f4 100644 --- a/home_guardian/message/email.py +++ b/home_guardian/message/email.py @@ -36,7 +36,7 @@ def build_message(receiver: str) -> MIMEMultipart: return message -def send_email(): +def send_email() -> None: smtp: smtplib.SMTP = smtplib.SMTP(mail_host, 25) smtp.connect(mail_host, 25) smtp.login(sender, mail_password) diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index 048f6c4..d3e9151 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -8,6 +8,7 @@ from home_guardian.common.debounce_throttle import throttle from home_guardian.configuration.thread_pool_configuration import executor from home_guardian.function_collection import get_data_dir, get_resources_dir +from home_guardian.repository.detected_face_repository import save detected_face_dir = f"{get_data_dir()}/detection" os.makedirs(detected_face_dir, exist_ok=True) @@ -37,10 +38,20 @@ def detect_and_take_photo() -> None: @throttle(2) def save_capture(frame) -> None: + logger.debug(f"type of frame: {type(frame)}") executor.submit(async_save_capture, frame) +@logger.catch def async_save_capture(frame) -> None: - file_name = f"{get_data_dir()}/detection/detected_face_{datetime.datetime.now().__str__().replace(':', '_')}.jpeg" - cv2.imwrite(file_name, frame) - logger.info("Saved image to: {}", file_name) + picture_path = ( + f"{get_data_dir()}/detection" + f"/detected_face_{datetime.datetime.now().__str__().replace(':', '_')}.jpeg" + ) + cv2.imwrite(picture_path, frame) + detected_face = save(picture_path) + logger.info( + "Saved picture, picture_path: {}, detected_face: {}", + picture_path, + detected_face, + ) diff --git a/home_guardian/repository/detected_face_repository.py b/home_guardian/repository/detected_face_repository.py new file mode 100644 index 0000000..02161bd --- /dev/null +++ b/home_guardian/repository/detected_face_repository.py @@ -0,0 +1,18 @@ +from loguru import logger + +from home_guardian.repository.model.detected_face import DetectedFace + + +@logger.catch +def save(picture_path: str, detected_username: str = None) -> DetectedFace: + """ + Save a new detected face. + :param picture_path: the picture path + :param detected_username: the detected username + :return: a DetectedFace object + """ + detected_face: DetectedFace = DetectedFace( + picture_path=picture_path, detected_username=detected_username + ) + detected_face.save() + return detected_face diff --git a/home_guardian/repository/model/base/model.py b/home_guardian/repository/model/base/model.py index b739305..a353c95 100644 --- a/home_guardian/repository/model/base/model.py +++ b/home_guardian/repository/model/base/model.py @@ -18,3 +18,4 @@ class BaseModel(Model): class Meta: database = db + legacy_table_names = False diff --git a/home_guardian/repository/model/detected_face.py b/home_guardian/repository/model/detected_face.py new file mode 100644 index 0000000..d858078 --- /dev/null +++ b/home_guardian/repository/model/detected_face.py @@ -0,0 +1,18 @@ +from datetime import datetime + +from peewee import CharField, DateTimeField + +from home_guardian.repository.model.base.model import BaseModel, db + + +class DetectedFace(BaseModel): + """ + DetectedFace model + """ + + picture_path = CharField(max_length=500) + detected_username = CharField(max_length=50, null=True) + created_time = DateTimeField(default=datetime.now) + + +db.create_tables([DetectedFace]) diff --git a/home_guardian/repository/model/user.py b/home_guardian/repository/model/user.py deleted file mode 100644 index ee5f156..0000000 --- a/home_guardian/repository/model/user.py +++ /dev/null @@ -1,15 +0,0 @@ -from peewee import CharField, DateTimeField - -from home_guardian.repository.model.base.model import BaseModel, db - - -class User(BaseModel): - """ - User model for testing peewee - """ - - username = CharField(unique=True) - created_time = DateTimeField(null=False) - - -db.create_tables([User]) diff --git a/home_guardian/repository/user_repository.py b/home_guardian/repository/user_repository.py deleted file mode 100644 index 6895b6a..0000000 --- a/home_guardian/repository/user_repository.py +++ /dev/null @@ -1,17 +0,0 @@ -from datetime import datetime - -from loguru import logger - -from home_guardian.repository.model.user import User - - -@logger.catch -def create_user(username: str) -> User: - """ - Creates a new user. - :param username: username - :return: a user - """ - a_user = User.create(username=username, created_time=datetime.now()) - logger.info(f"Created, a_user = {a_user}") - return a_user From 4ffd731ffc8fb1927b6bdc1f999619a49bf0a754 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Tue, 9 Nov 2021 22:13:34 +0800 Subject: [PATCH 28/63] refactor($log): change log directory [skip ci] --- home_guardian/configuration/loguru_configuration.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home_guardian/configuration/loguru_configuration.py b/home_guardian/configuration/loguru_configuration.py index fac1ec4..3cb3c8e 100644 --- a/home_guardian/configuration/loguru_configuration.py +++ b/home_guardian/configuration/loguru_configuration.py @@ -3,6 +3,8 @@ from loguru import logger +from home_guardian.function_collection import get_data_dir + message_format = ( "{time:YYYY-MM-DD HH:mm:ss.SSS} | " "{level: <8} | " @@ -14,7 +16,7 @@ # Remove a previously added handler and stop sending logs to its sink. logger.remove(handler_id=None) # Set up logging -log_file = "logs/home_guardian.{time}.log" +log_file = get_data_dir() + "/logs/home_guardian.{time}.log" logger.add( log_file, level="DEBUG", From 6f631768db36556e197dc28ee94ee4ef1ab983cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 01:12:32 +0800 Subject: [PATCH 29/63] feat($template): add Jinjia2 dependency https://jinja2docs.readthedocs.io/en/stable/ BREAKING CHANGE: support template rendering --- Pipfile | 1 + Pipfile.lock | 85 ++++++++++++++++++- .../application_configuration.py | 4 +- home_guardian/template/__init__.py | 0 home_guardian/template/html_template.py | 36 ++++++++ 5 files changed, 122 insertions(+), 4 deletions(-) create mode 100644 home_guardian/template/__init__.py create mode 100644 home_guardian/template/html_template.py diff --git a/Pipfile b/Pipfile index 1853040..3a5c986 100644 --- a/Pipfile +++ b/Pipfile @@ -11,6 +11,7 @@ peewee = "==3.14.8" loguru = "==0.5.3" opencv-python = "==4.5.4.58" pyhocon = "==0.3.58" +jinja2 = "==3.0.2" [dev-packages] black = "==20.8b1" diff --git a/Pipfile.lock b/Pipfile.lock index c7714cb..0a18ddd 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "ac998277fada1273e01650fb6e8b0d7dd796b1c7a7cacf83dedd56eea775af4e" + "sha256": "5da83f5e2c06bbc1d9391951e86402d6b0f380e92840b93be3dc9db8b774b03a" }, "pipfile-spec": 6, "requires": { @@ -16,6 +16,14 @@ ] }, "default": { + "jinja2": { + "hashes": [ + "sha256:827a0e32839ab1600d4eb1c4c33ec5a8edfbc5cb42dafa13b81f182f97784b45", + "sha256:8569982d3f0889eed11dd620c706d39b60c36d6d25843961f33f77fb6bc6b20c" + ], + "index": "pypi", + "version": "==3.0.2" + }, "loguru": { "hashes": [ "sha256:b28e72ac7a98be3d28ad28570299a393dfcd32e5e3f6a353dec94675767b6319", @@ -24,6 +32,81 @@ "index": "pypi", "version": "==0.5.3" }, + "markupsafe": { + "hashes": [ + "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298", + "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64", + "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b", + "sha256:04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194", + "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567", + "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff", + "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724", + "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74", + "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646", + "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35", + "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6", + "sha256:20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a", + "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6", + "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad", + "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26", + "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38", + "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac", + "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7", + "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6", + "sha256:4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047", + "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75", + "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f", + "sha256:4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b", + "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135", + "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8", + "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a", + "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a", + "sha256:5b6d930f030f8ed98e3e6c98ffa0652bdb82601e7a016ec2ab5d7ff23baa78d1", + "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9", + "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864", + "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914", + "sha256:6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee", + "sha256:63f3268ba69ace99cab4e3e3b5840b03340efed0948ab8f78d2fd87ee5442a4f", + "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18", + "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8", + "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2", + "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d", + "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b", + "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b", + "sha256:89c687013cb1cd489a0f0ac24febe8c7a666e6e221b783e53ac50ebf68e45d86", + "sha256:8d206346619592c6200148b01a2142798c989edcb9c896f9ac9722a99d4e77e6", + "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f", + "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb", + "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833", + "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28", + "sha256:9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e", + "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415", + "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902", + "sha256:aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f", + "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d", + "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9", + "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d", + "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145", + "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066", + "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c", + "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1", + "sha256:cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a", + "sha256:d6c7ebd4e944c85e2c3421e612a7057a2f48d478d79e61800d81468a8d842207", + "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f", + "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53", + "sha256:deb993cacb280823246a026e3b2d81c493c53de6acfd5e6bfe31ab3402bb37dd", + "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134", + "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85", + "sha256:f0567c4dc99f264f49fe27da5f735f414c4e7e7dd850cfd8e69f0862d7c74ea9", + "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5", + "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94", + "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509", + "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51", + "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872" + ], + "markers": "python_version >= '3.6'", + "version": "==2.0.1" + }, "numpy": { "hashes": [ "sha256:0b78ecfa070460104934e2caf51694ccd00f37d5e5dbe76f021b1b0b0d221823", diff --git a/home_guardian/configuration/application_configuration.py b/home_guardian/configuration/application_configuration.py index 30bb054..2c3ae92 100644 --- a/home_guardian/configuration/application_configuration.py +++ b/home_guardian/configuration/application_configuration.py @@ -13,6 +13,4 @@ def configure() -> None: """ Configure application. """ - logger.warning( - f"Application configuration loaded, {application_conf}, mail_password: {application_conf.get_string('email.mail_password')}" - ) + logger.warning(f"Application configuration loaded, {application_conf}") diff --git a/home_guardian/template/__init__.py b/home_guardian/template/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/home_guardian/template/html_template.py b/home_guardian/template/html_template.py new file mode 100644 index 0000000..0714465 --- /dev/null +++ b/home_guardian/template/html_template.py @@ -0,0 +1,36 @@ +from datetime import datetime +from typing import List + +from jinja2 import Environment, FileSystemLoader, select_autoescape + +from home_guardian.function_collection import get_resources_dir + +_env: Environment = Environment( + loader=FileSystemLoader(f"{get_resources_dir()}/html_template"), + autoescape=select_autoescape(["html"]), +) + + +def render_template(template_name: str, render_dict: dict) -> str: + template = _env.get_template(template_name) + return template.render(render_dict) + + +def render_template_example() -> str: + render_dict: dict = {} + dict_table_data: List[dict] = [ + {"Name": "Basketball", "Type": "Sports", "Value": 5}, + {"Name": "Football", "Type": "Sports", "Value": 4.5}, + {"Name": "Pencil", "Type": "Learning", "Value": 5}, + {"Name": "Hat", "Type": "Wearing", "Value": 2}, + ] + render_dict.update( + { + "datetime": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "content": "Hello reader, here is a table:", + "content_id": "cid:a_picture_id", + "array_table_head": ["Name", "Type", "Value"], + "dict_table_data": dict_table_data, + } + ) + return _env.get_template("template_example.html").render(render_dict) From 094a6ff87c6ecada0e8759cfc93dec73f09df2b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 01:13:37 +0800 Subject: [PATCH 30/63] test($template): create tests for Jinjia2 --- .../html_template/template_example.html | 29 +++++++++++++++++++ test/test_html_template.py | 9 ++++++ 2 files changed, 38 insertions(+) create mode 100644 home_guardian/resources/html_template/template_example.html create mode 100644 test/test_html_template.py diff --git a/home_guardian/resources/html_template/template_example.html b/home_guardian/resources/html_template/template_example.html new file mode 100644 index 0000000..6d3bf03 --- /dev/null +++ b/home_guardian/resources/html_template/template_example.html @@ -0,0 +1,29 @@ + + + + + Template Example Title at {{ datetime }} + + +

{{ content }}

+A test capture + + + {% if array_table_head %} + {% for var_i in array_table_head %} + + {% endfor %} + {% endif %} + + {% if dict_table_data %} + {% for table_data in dict_table_data %} + + + + + + {% endfor %} + {% endif %} +
{{var_i}}
{{ table_data.Name }}{{ table_data.Type }}{{ table_data.Value }}
+ + diff --git a/test/test_html_template.py b/test/test_html_template.py new file mode 100644 index 0000000..0e9985d --- /dev/null +++ b/test/test_html_template.py @@ -0,0 +1,9 @@ +from loguru import logger + +from home_guardian.template.html_template import render_template_example + + +def test_render_template_example() -> None: + rendered = render_template_example() + logger.info(f"Rendered template: \n{rendered}") + assert rendered is not None From f423fec3bd3b7f4c2bd004674b92176c1f7e7ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 01:18:10 +0800 Subject: [PATCH 31/63] feat($message): support sending redered HTML in email render HTML template via Jinjia2, and then send it via email BREAKING CHANGE: support sending redered HTML in email --- home_guardian/message/email.py | 85 +++++++++++++------ .../html_template/security_warning.html | 13 +++ 2 files changed, 71 insertions(+), 27 deletions(-) create mode 100644 home_guardian/resources/html_template/security_warning.html diff --git a/home_guardian/message/email.py b/home_guardian/message/email.py index fa584f4..c32bc1a 100644 --- a/home_guardian/message/email.py +++ b/home_guardian/message/email.py @@ -1,6 +1,6 @@ -import datetime import smtplib from email.header import Header +from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from typing import List @@ -8,45 +8,76 @@ from loguru import logger from home_guardian.configuration.application_configuration import application_conf +from home_guardian.template.html_template import render_template -mail_host: str = application_conf.get_string("email.mail_host") -mail_user: str = application_conf.get_string("email.mail_user") -mail_password: str = application_conf.get_string("email.mail_password") -sender: str = f"{mail_user}{application_conf.get_string('email.mail_address_suffix')}" -receivers: List[str] = application_conf.get_list("email.receivers") +_mail_host: str = application_conf.get_string("email.mail_host") +_mail_username: str = application_conf.get_string("email.mail_username") +_mail_password: str = application_conf.get_string("email.mail_password") +_sender: str = ( + f"{_mail_username}{application_conf.get_string('email.mail_address_suffix')}" +) +_receivers: List[str] = application_conf.get_list("email.receivers") -def build_message(receiver: str) -> MIMEMultipart: +def build_message( + subject: str, + receiver: str, + template_name: str, + render_dict: dict, + picture_path: str, +) -> MIMEMultipart: + """ + Builds a message with the given subject, receiver, template name and render dict. + + :param subject: The subject of the message. + :param receiver: The receiver of the message. + :param template_name: The name of the template to render. + :param render_dict: The render dict for the template. + :param picture_path: The path to the picture to attach. + """ content: MIMEText = MIMEText( - "This is a email from Python " - + datetime.datetime.now().strftime("%Y-%m-%d %T"), - "plain", - "utf-8", - ) - message: MIMEMultipart = MIMEMultipart() - message["Subject"] = Header( - "Emergency Security Alert, at " - + datetime.datetime.now().strftime("%Y-%m-%d %T"), + render_template(template_name, render_dict), + "html", "utf-8", ) - message["From"] = Header(sender) + message: MIMEMultipart = MIMEMultipart("related") + message["Subject"] = Header(subject, "utf-8").encode() + message["From"] = Header(_sender) message["To"] = Header(receiver) - message["Cc"] = Header(sender) + message["Cc"] = Header(_sender) message.attach(content) + file = open(picture_path, "rb") + img_data = file.read() + file.close() + img = MIMEImage(img_data) + img.add_header("Content-ID", render_dict["content_id"]) + message.attach(img) return message -def send_email() -> None: - smtp: smtplib.SMTP = smtplib.SMTP(mail_host, 25) - smtp.connect(mail_host, 25) - smtp.login(sender, mail_password) - for receiver in receivers: - message: MIMEMultipart = build_message(receiver) +def send_email( + subject: str, template_name: str, render_dict: dict, picture_path: str +) -> None: + """ + Sends an email with the given subject, template name and render dict. + + :param subject: The subject of the message. + :param template_name: The name of the template to render. + :param render_dict: The render dict for the template. + :param picture_path: The path to the picture to attach. + """ + smtp: smtplib.SMTP = smtplib.SMTP(_mail_host, 25) + smtp.connect(_mail_host, 25) + smtp.login(_sender, _mail_password) + for receiver in _receivers: + message: MIMEMultipart = build_message( + subject, receiver, template_name, render_dict, picture_path + ) + logger.info(f"Sending email. receiver: {receiver}") try: - logger.info(f"Sending email. receiver: {receiver}") - smtp.sendmail(sender, [receiver], message.as_string()) + smtp.sendmail(_sender, [receiver], message.as_string()) logger.info( - f"Sent email successfully. {smtp}. receiver: {receiver}, message: {message}" + f"Sent email successfully. Receiver: {receiver}, subject: {subject}, template_name: {template_name}" ) except smtplib.SMTPException: logger.exception("Exception occurred while sending email!") diff --git a/home_guardian/resources/html_template/security_warning.html b/home_guardian/resources/html_template/security_warning.html new file mode 100644 index 0000000..61e4a3a --- /dev/null +++ b/home_guardian/resources/html_template/security_warning.html @@ -0,0 +1,13 @@ + + + + + Security Warning: {{ subject }} + + +

{{ content }}

+

Warning time: {{ warning_time }}

+
+A capture + + From 10353ce518f3f9fc288d5fb10956816cff832054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 01:23:51 +0800 Subject: [PATCH 32/63] chore: change `data` directory --- .gitignore | 2 +- home_guardian/function_collection.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c491b38..38d2a11 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ *.db *.gz logs/ -_data/ +data/ ### PyCharm ### .idea diff --git a/home_guardian/function_collection.py b/home_guardian/function_collection.py index 5438b5f..d29ded9 100644 --- a/home_guardian/function_collection.py +++ b/home_guardian/function_collection.py @@ -14,7 +14,7 @@ def get_data_dir() -> str: """ Get the data directory of the project. """ - data_dir = f"{get_root_path()}/_data" + data_dir = f"{get_root_path()}/data" os.makedirs(data_dir, exist_ok=True) return data_dir From 7e7450aa40b34a59aced003129e431eec80e8695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 01:42:25 +0800 Subject: [PATCH 33/63] feat($message): send warning email when detecting face --- home_guardian/message/email.py | 4 ++-- home_guardian/opencv/face_detection.py | 27 ++++++++++++++++++++------ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/home_guardian/message/email.py b/home_guardian/message/email.py index c32bc1a..25aa081 100644 --- a/home_guardian/message/email.py +++ b/home_guardian/message/email.py @@ -73,10 +73,10 @@ def send_email( message: MIMEMultipart = build_message( subject, receiver, template_name, render_dict, picture_path ) - logger.info(f"Sending email. receiver: {receiver}") + logger.debug(f"Sending email. receiver: {receiver}") try: smtp.sendmail(_sender, [receiver], message.as_string()) - logger.info( + logger.debug( f"Sent email successfully. Receiver: {receiver}, subject: {subject}, template_name: {template_name}" ) except smtplib.SMTPException: diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index d3e9151..177d171 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -8,11 +8,13 @@ from home_guardian.common.debounce_throttle import throttle from home_guardian.configuration.thread_pool_configuration import executor from home_guardian.function_collection import get_data_dir, get_resources_dir +from home_guardian.message.email import send_email from home_guardian.repository.detected_face_repository import save +from home_guardian.repository.model.detected_face import DetectedFace -detected_face_dir = f"{get_data_dir()}/detection" -os.makedirs(detected_face_dir, exist_ok=True) -logger.warning(f"Made the directory, detected_face_dir: {detected_face_dir}") +_detected_face_dir = f"{get_data_dir()}/detection" +os.makedirs(_detected_face_dir, exist_ok=True) +logger.warning(f"Made the directory, _detected_face_dir: {_detected_face_dir}") def detect_and_take_photo() -> None: @@ -36,7 +38,7 @@ def detect_and_take_photo() -> None: cv2.destroyAllWindows() -@throttle(2) +@throttle(3) def save_capture(frame) -> None: logger.debug(f"type of frame: {type(frame)}") executor.submit(async_save_capture, frame) @@ -45,13 +47,26 @@ def save_capture(frame) -> None: @logger.catch def async_save_capture(frame) -> None: picture_path = ( - f"{get_data_dir()}/detection" + f"{_detected_face_dir}" f"/detected_face_{datetime.datetime.now().__str__().replace(':', '_')}.jpeg" ) cv2.imwrite(picture_path, frame) - detected_face = save(picture_path) + detected_face: DetectedFace = save(picture_path) logger.info( "Saved picture, picture_path: {}, detected_face: {}", picture_path, detected_face, ) + render_dict: dict = { + "subject": "Detected face", + "content": "Attention, detected face, please take actions if necessary.", + "warning_time": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "content_id": f"detected_face_{detected_face}", + } + send_email( + render_dict["subject"], + "security_warning.html", + render_dict, + detected_face.picture_path, + ) + logger.info("Sent `security_warning` successfully") From cf6d3983ca8fcaac3111e04bbb3720e94e911a39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 01:53:06 +0800 Subject: [PATCH 34/63] chore: remove `message_format` print [skip ci] --- home_guardian/configuration/loguru_configuration.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/home_guardian/configuration/loguru_configuration.py b/home_guardian/configuration/loguru_configuration.py index 3cb3c8e..e81542c 100644 --- a/home_guardian/configuration/loguru_configuration.py +++ b/home_guardian/configuration/loguru_configuration.py @@ -5,22 +5,21 @@ from home_guardian.function_collection import get_data_dir -message_format = ( +_message_format = ( "{time:YYYY-MM-DD HH:mm:ss.SSS} | " "{level: <8} | " "{thread.name: <15} | " "{name}:{function}:{line} - " "{message}" ) -print(f"message_format: {message_format}") # Remove a previously added handler and stop sending logs to its sink. logger.remove(handler_id=None) # Set up logging -log_file = get_data_dir() + "/logs/home_guardian.{time}.log" +_log_file = get_data_dir() + "/logs/home_guardian.{time}.log" logger.add( - log_file, + _log_file, level="DEBUG", - format=message_format, + format=_message_format, enqueue=True, # turn to false if in production to prevent data leaking backtrace=False, @@ -30,7 +29,7 @@ serialize=False, ) # Override the default stderr -logger.add(sys.stderr, format=message_format) +logger.add(sys.stderr, format=_message_format) # Intercept standard logging https://gist.github.com/devsetgo/28c2edaca2d09e267dec46bb2e54b9e2 From 21bde11feeb0f4e599bd9551a4216d790619ad0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 12:26:46 +0800 Subject: [PATCH 35/63] refactor($Python): standardize Python code - private variable - main function [skip ci] --- home_guardian/__main__.py | 10 +++++++++- .../configuration/thread_pool_configuration.py | 6 +++--- home_guardian/opencv/edge.py | 2 +- home_guardian/repository/model/base/model.py | 10 +++++----- home_guardian/repository/model/detected_face.py | 4 ++-- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/home_guardian/__main__.py b/home_guardian/__main__.py index 7a6fd3f..2d1ed94 100644 --- a/home_guardian/__main__.py +++ b/home_guardian/__main__.py @@ -1,4 +1,12 @@ from home_guardian.configuration.thread_pool_configuration import simulate_multi_thread -if __name__ == "__main__": + +def main() -> None: + """ + Main function. + """ simulate_multi_thread() + + +if __name__ == "__main__": + main() diff --git a/home_guardian/configuration/thread_pool_configuration.py b/home_guardian/configuration/thread_pool_configuration.py index 76677a7..8427f24 100644 --- a/home_guardian/configuration/thread_pool_configuration.py +++ b/home_guardian/configuration/thread_pool_configuration.py @@ -5,9 +5,9 @@ from home_guardian.function_collection import get_cpu_count -max_workers = 2 * get_cpu_count() +_max_workers = 2 * get_cpu_count() executor = ThreadPoolExecutor( - max_workers=max_workers, thread_name_prefix="my_thread_pool" + max_workers=_max_workers, thread_name_prefix="my_thread_pool" ) @@ -16,7 +16,7 @@ def configure() -> None: Configure thread pool. """ logger.warning( - f"Thread pool executor with {max_workers} workers, executor: {executor}" + f"Thread pool executor with {_max_workers} workers, executor: {executor}" ) diff --git a/home_guardian/opencv/edge.py b/home_guardian/opencv/edge.py index 9ab96b8..fecb0fb 100644 --- a/home_guardian/opencv/edge.py +++ b/home_guardian/opencv/edge.py @@ -1,4 +1,4 @@ -import cv2 +import cv2.cv2 as cv2 def capture_edge_video() -> None: diff --git a/home_guardian/repository/model/base/model.py b/home_guardian/repository/model/base/model.py index a353c95..228aad8 100644 --- a/home_guardian/repository/model/base/model.py +++ b/home_guardian/repository/model/base/model.py @@ -3,10 +3,10 @@ from home_guardian.function_collection import get_data_dir -db_path = f"{get_data_dir()}/home_guardian.db" -logger.info(f"SQLite database path: {db_path}") -db = SqliteDatabase(db_path) -logger.warning(f"Initialized db file: {db}") +_db_path: str = f"{get_data_dir()}/home_guardian.db" +logger.info(f"SQLite database path: {_db_path}") +database: SqliteDatabase = SqliteDatabase(_db_path) +logger.warning(f"Initialized db file: {database}") class BaseModel(Model): @@ -17,5 +17,5 @@ class BaseModel(Model): """ class Meta: - database = db + database = database legacy_table_names = False diff --git a/home_guardian/repository/model/detected_face.py b/home_guardian/repository/model/detected_face.py index d858078..a7fe310 100644 --- a/home_guardian/repository/model/detected_face.py +++ b/home_guardian/repository/model/detected_face.py @@ -2,7 +2,7 @@ from peewee import CharField, DateTimeField -from home_guardian.repository.model.base.model import BaseModel, db +from home_guardian.repository.model.base.model import BaseModel, database class DetectedFace(BaseModel): @@ -15,4 +15,4 @@ class DetectedFace(BaseModel): created_time = DateTimeField(default=datetime.now) -db.create_tables([DetectedFace]) +database.create_tables([DetectedFace]) From 3337194108521e81038650bc0f613ba04b09f9c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 12:53:03 +0800 Subject: [PATCH 36/63] build: specify step name --- .editorconfig | 48 ++++++++++++++++++++++++++++ .github/workflows/build-and-test.yml | 22 ++++++------- .github/workflows/publish-docker.yml | 17 +++++----- 3 files changed, 68 insertions(+), 19 deletions(-) diff --git a/.editorconfig b/.editorconfig index 9b6afa4..8feb162 100644 --- a/.editorconfig +++ b/.editorconfig @@ -16,6 +16,41 @@ ij_smart_tabs = false ij_visual_guides = none ij_wrap_on_typing = false +[.editorconfig] +ij_editorconfig_align_group_field_declarations = false +ij_editorconfig_space_after_colon = false +ij_editorconfig_space_after_comma = true +ij_editorconfig_space_before_colon = false +ij_editorconfig_space_before_comma = false +ij_editorconfig_spaces_around_assignment_operators = true + +[{*.htm,*.html,*.ng,*.sht,*.shtm,*.shtml}] +ij_html_add_new_line_before_tags = body, div, p, form, h1, h2, h3 +ij_html_align_attributes = true +ij_html_align_text = false +ij_html_attribute_wrap = normal +ij_html_block_comment_at_first_column = true +ij_html_do_not_align_children_of_min_lines = 0 +ij_html_do_not_break_if_inline_tags = title, h1, h2, h3, h4, h5, h6, p +ij_html_do_not_indent_children_of_tags = html, body, thead, tbody, tfoot +ij_html_enforce_quotes = false +ij_html_inline_tags = a, abbr, acronym, b, basefont, bdo, big, br, cite, cite, code, dfn, em, font, i, img, input, kbd, label, q, s, samp, select, small, span, strike, strong, sub, sup, textarea, tt, u, var +ij_html_keep_blank_lines = 2 +ij_html_keep_indents_on_empty_lines = false +ij_html_keep_line_breaks = true +ij_html_keep_line_breaks_in_text = true +ij_html_keep_whitespaces = false +ij_html_keep_whitespaces_inside = span, pre, textarea +ij_html_line_comment_at_first_column = true +ij_html_new_line_after_last_attribute = never +ij_html_new_line_before_first_attribute = never +ij_html_quote_style = double +ij_html_remove_new_line_before_tags = br +ij_html_space_after_tag_name = false +ij_html_space_around_equality_in_attribute = false +ij_html_space_inside_empty_tag = false +ij_html_text_wrap = normal + [{*.markdown,*.md}] ij_markdown_force_one_space_after_blockquote_symbol = true ij_markdown_force_one_space_after_header_symbol = true @@ -101,5 +136,18 @@ ij_python_use_continuation_indent_for_collection_and_comprehensions = false ij_python_use_continuation_indent_for_parameters = true ij_python_wrap_long_lines = false +[{*.yaml,*.yml}] +indent_size = 2 +ij_yaml_align_values_properties = do_not_align +ij_yaml_autoinsert_sequence_marker = true +ij_yaml_block_mapping_on_new_line = false +ij_yaml_indent_sequence_value = true +ij_yaml_keep_indents_on_empty_lines = false +ij_yaml_keep_line_breaks = true +ij_yaml_sequence_on_new_line = false +ij_yaml_space_before_colon = false +ij_yaml_spaces_within_braces = true +ij_yaml_spaces_within_brackets = true + [*.conf] indent_size = 2 diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index db15f7a..a771748 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -1,7 +1,7 @@ name: Build and Test on: - pull_request: {} + pull_request: { } push: branches: - 'main' @@ -17,22 +17,23 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Setup Python uses: actions/setup-python@v2.2.2 with: python-version: "3.10.0" architecture: x64 - - name: Install Dependencies with pipenv run: | pip install pipenv pipenv install --deploy --dev - - - run: pipenv run isort --recursive --diff . - - run: pipenv run black --check . - - run: pipenv run flake8 - - run: pipenv run mypy + - name: Import Sorting with isort + run: pipenv run isort --recursive --diff . + - name: Code Formatting with black + run: pipenv run black --check . + - name: Linting with flake8 + run: pipenv run flake8 + - name: Static type check + run: pipenv run mypy - name: Python tests with pytest run: pipenv run pytest --cov @@ -40,10 +41,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - - name: Build Docker Image + # https://www.guru99.com/smoke-testing.html + - name: Build Docker Image for Smoke Test run: docker build . -t home_guardian:test - - name: Smoke Test Docker Image run: | docker run --rm home_guardian:test 10 diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml index c173f9c..8df888d 100644 --- a/.github/workflows/publish-docker.yml +++ b/.github/workflows/publish-docker.yml @@ -8,12 +8,13 @@ jobs: docker: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v2 - - name: Publish to GitHub packages - uses: whoan/docker-build-with-cache-action@v2 - with: - registry: docker.pkg.github.com - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - image_name: ${{ github.repository }}/home_guardian + - name: Publish to GitHub packages + uses: whoan/docker-build-with-cache-action@v5 + with: + registry: docker.pkg.github.com + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + image_name: ${{ github.repository }}/home_guardian + push_git_tag: true From 306f4d725213321ce6d6d6672f35118b89f62b41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 13:57:11 +0800 Subject: [PATCH 37/63] build($Docker): create docker-compose.yaml for fast deployment --- Dockerfile | 2 +- docker-compose.yml | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile index c034b40..c4df586 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,7 +29,7 @@ ENV PATH="/.venv/bin:$PATH" WORKDIR /app # Install application into container -COPY . /app +COPY . . # Run the executable ENTRYPOINT ["python", "-m", "home_guardian"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b78c99a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,19 @@ +version: "3.8" + +services: + home_guardian: + build: + context: . + dockerfile: Dockerfile + container_name: home_guardian + image: home_guardian/home_guardian:latest + privileged: true + devices: + - /dev/video0:/dev/video0 + environment: + MAIL_USERNAME: "DEFAULT_MAIL_USERNAME" + MAIL_PASSWORD: "DEFAULT_MAIL_PASSWORD" + TZ: Asia/Hong_Kong + restart: always + volumes: + - ~/docker-file-mapping/home_guardian:/app/data From 31edd929c720124026cce40dc7e19ddfc19d0b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 14:29:53 +0800 Subject: [PATCH 38/63] docs: append more feature descriptions [skip ci] --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d019081..41e6a3e 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,11 @@ Here are the highlights of **home_guardian**: `Python` - [![Python](https://img.shields.io/badge/Python-v3.10.0-blue)](https://www.python.org/downloads/release/python-3100/) `OpenCV` - [![OpenCV](https://img.shields.io/badge/OpenCV-v4.5.4.58-red)](https://pypi.org/project/opencv-python/4.5.4.58/) -2. Sending Email via [Sina]() Email Service. +2. Sending Email via [Tom](https://mail.tom.com/) Email Service, email template engine powered by [Jinjia2](https://jinja2docs.readthedocs.io/en/stable/) + +2. Data persistence with [peewee](http://docs.peewee-orm.com/en/latest/), [SQLite3](https://sqlite.org/index.html) as local database + +2. Environment variable and configuration with [pyhocon](https://pythonhosted.org/pyhocon/_modules/pyhocon.html). Read `${ENVIRONMENT_VARIABLE}` when startup 3. Testing with [pytest](https://docs.pytest.org/en/latest/) From cef9cf926eb9868f59f2d26552018c4310a869bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 15:54:50 +0800 Subject: [PATCH 39/63] perf($email): only login and logout from the email server once --- home_guardian/message/email.py | 22 +++++++++++++++++----- home_guardian/opencv/face_detection.py | 1 - 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/home_guardian/message/email.py b/home_guardian/message/email.py index 25aa081..0db3c65 100644 --- a/home_guardian/message/email.py +++ b/home_guardian/message/email.py @@ -7,6 +7,7 @@ from loguru import logger +from home_guardian.common.debounce_throttle import debounce from home_guardian.configuration.application_configuration import application_conf from home_guardian.template.html_template import render_template @@ -18,6 +19,12 @@ ) _receivers: List[str] = application_conf.get_list("email.receivers") +# Login to the email server +_smtp: smtplib.SMTP = smtplib.SMTP(_mail_host, 25) +_smtp.connect(_mail_host, 25) +_smtp.login(_sender, _mail_password) +logger.warning(f"Logged in to the email server: {_mail_host}") + def build_message( subject: str, @@ -55,6 +62,7 @@ def build_message( return message +@debounce(30) def send_email( subject: str, template_name: str, render_dict: dict, picture_path: str ) -> None: @@ -66,19 +74,23 @@ def send_email( :param render_dict: The render dict for the template. :param picture_path: The path to the picture to attach. """ - smtp: smtplib.SMTP = smtplib.SMTP(_mail_host, 25) - smtp.connect(_mail_host, 25) - smtp.login(_sender, _mail_password) for receiver in _receivers: message: MIMEMultipart = build_message( subject, receiver, template_name, render_dict, picture_path ) logger.debug(f"Sending email. receiver: {receiver}") try: - smtp.sendmail(_sender, [receiver], message.as_string()) + _smtp.sendmail(_sender, [receiver], message.as_string()) logger.debug( f"Sent email successfully. Receiver: {receiver}, subject: {subject}, template_name: {template_name}" ) except smtplib.SMTPException: logger.exception("Exception occurred while sending email!") - smtp.quit() + + +def cleanup() -> None: + """ + Closes the connection to the email server. + """ + _smtp.quit() + logger.warning(f"Logged out from the email server: {_mail_host}") diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index 177d171..8eb73be 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -69,4 +69,3 @@ def async_save_capture(frame) -> None: render_dict, detected_face.picture_path, ) - logger.info("Sent `security_warning` successfully") From b254d418f4eddde5aff63fa494243170402df5a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 10 Nov 2021 16:09:37 +0800 Subject: [PATCH 40/63] perf($Executor): cleanup thread pool executor when exiting program --- home_guardian/__main__.py | 12 +++++++++++- .../configuration/thread_pool_configuration.py | 8 ++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/home_guardian/__main__.py b/home_guardian/__main__.py index 2d1ed94..a96aed5 100644 --- a/home_guardian/__main__.py +++ b/home_guardian/__main__.py @@ -1,11 +1,21 @@ +from home_guardian.configuration.thread_pool_configuration import ( + cleanup as thread_pool_cleanup, +) from home_guardian.configuration.thread_pool_configuration import simulate_multi_thread +def cleanup() -> None: + thread_pool_cleanup() + + def main() -> None: """ Main function. """ - simulate_multi_thread() + try: + simulate_multi_thread() + finally: + cleanup() if __name__ == "__main__": diff --git a/home_guardian/configuration/thread_pool_configuration.py b/home_guardian/configuration/thread_pool_configuration.py index 8427f24..3bb223d 100644 --- a/home_guardian/configuration/thread_pool_configuration.py +++ b/home_guardian/configuration/thread_pool_configuration.py @@ -20,6 +20,14 @@ def configure() -> None: ) +def cleanup() -> None: + """ + Clean up thread pool. + """ + executor.shutdown() + logger.warning(f"Thread pool executor has been shutdown: {executor}") + + def simulate_get_html(times): time.sleep(times) logger.info(f"get page {times} finished") From e8a529293169b1bc6a058e10b3f7d525443fb990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Thu, 11 Nov 2021 15:42:44 +0800 Subject: [PATCH 41/63] docs: update PyDoc PEP 257 -- Docstring Conventions https://www.python.org/dev/peps/pep-0257/ PEP 8 -- Style Guide for Python Code https://www.python.org/dev/peps/pep-0008/ [skip ci] --- home_guardian/common/debounce_throttle.py | 10 +++++----- home_guardian/repository/model/base/model.py | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/home_guardian/common/debounce_throttle.py b/home_guardian/common/debounce_throttle.py index 55572af..0998a00 100644 --- a/home_guardian/common/debounce_throttle.py +++ b/home_guardian/common/debounce_throttle.py @@ -9,9 +9,9 @@ def debounce(interval: float): Decorator that will postpone a functions execution until after wait seconds have elapsed since the last time it was invoked. + https://gist.github.com/walkermatt/2871026 - @param interval: interval time in seconds - @see https://gist.github.com/walkermatt/2871026 + :param interval: interval time in seconds """ def decorator(fn): @@ -47,10 +47,10 @@ def set(self, v): def throttle(interval: float): """ Throttle decorator. + Python 中的防抖与节流 https://www.bilibili.com/read/cv13257868/ + Python 中的防抖与节流 https://www.moyu.moe/articles/25/ - @param interval: interval time in seconds - @see Python 中的防抖与节流 https://www.bilibili.com/read/cv13257868/ - @see Python 中的防抖与节流 https://www.moyu.moe/articles/25/ + :param interval: interval time in seconds """ # 下一次许可调用的时间,初始化为 0 diff --git a/home_guardian/repository/model/base/model.py b/home_guardian/repository/model/base/model.py index 228aad8..b3bb843 100644 --- a/home_guardian/repository/model/base/model.py +++ b/home_guardian/repository/model/base/model.py @@ -12,8 +12,7 @@ class BaseModel(Model): """ Base model for persistence. - - @see Models and Fields https://docs.peewee-orm.com/en/latest/peewee/models.html#model-inheritance + Models and Fields https://docs.peewee-orm.com/en/latest/peewee/models.html#model-inheritance """ class Meta: From 661f1ac88e8675054ef9a623daf0e670ba4044c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Fri, 12 Nov 2021 19:44:15 +0800 Subject: [PATCH 42/63] perf($Async): add async debounce decorator --- home_guardian/common/debounce_throttle.py | 57 ++++++++++++++++++++++- test/test_debounce_and_throttle.py | 15 +++++- 2 files changed, 69 insertions(+), 3 deletions(-) diff --git a/home_guardian/common/debounce_throttle.py b/home_guardian/common/debounce_throttle.py index 0998a00..4abe73e 100644 --- a/home_guardian/common/debounce_throttle.py +++ b/home_guardian/common/debounce_throttle.py @@ -1,3 +1,5 @@ +import asyncio +from datetime import datetime from threading import Timer from time import time @@ -33,7 +35,7 @@ def call_it(): return decorator -class Wrapper: +class _Wrapper: def __init__(self, initial_value=None) -> None: self._value = initial_value @@ -44,6 +46,52 @@ def set(self, v): self._value = v +def async_debounce(interval: float): + """ + Async debounce decorator. + + Python 中的防抖与节流 https://www.bilibili.com/read/cv13257868/ + Python 中的防抖与节流 https://www.moyu.moe/articles/25/ + + :param interval: interval time in seconds + """ + + # 用于存储 asyncio.Task 实例,这里是闭包 + task_wrapper = _Wrapper() + + def decorator(fn): + # Task 协程函数 + async def f(*args, **kwargs): + # 进行休眠 + logger.debug("Set debounced function delay in {} seconds", interval) + await asyncio.sleep(interval) + + # 调用函数 + f1 = fn(*args, **kwargs) + logger.debug("Called debounced function, {}", fn) + + # 支持回调函数是异步函数的情况 + if asyncio.iscoroutine(f1): + await f1 + + # 清除 task_wrapper + task_wrapper.set(None) + + def wrapper(*args, **kwargs): + # 如果 task_wrapper 存在,说明在 delay 秒内调用过一次函数,此次调用应当重置计时器,因此取消先前的 Task + if task_wrapper.get() is not None: + task_wrapper.get().cancel() + logger.debug("Task cancelled, {}", task_wrapper.get()) + + # 创建 Task 并赋值变量 task_wrapper + task_wrapper.set(asyncio.create_task(f(*args, **kwargs))) + logger.debug(f"Created task: {task_wrapper.get()}") + + return wrapper + + return decorator + + def throttle(interval: float): """ Throttle decorator. @@ -54,7 +102,7 @@ def throttle(interval: float): """ # 下一次许可调用的时间,初始化为 0 - next_t = Wrapper(0) + next_t = _Wrapper(0) def decorator(fn): def throttled(*args, **kwargs): @@ -73,3 +121,8 @@ def throttled(*args, **kwargs): return throttled return decorator + + +@async_debounce(1) +def debounced_example_1(): + logger.info(f"debounced_example_1 function: {datetime.now()}") diff --git a/test/test_debounce_and_throttle.py b/test/test_debounce_and_throttle.py index d6ee7a5..714a41e 100644 --- a/test/test_debounce_and_throttle.py +++ b/test/test_debounce_and_throttle.py @@ -2,7 +2,7 @@ from loguru import logger -from home_guardian.common.debounce_throttle import debounce, throttle +from home_guardian.common.debounce_throttle import async_debounce, debounce, throttle def test_debounce() -> None: @@ -16,6 +16,14 @@ def test_debounce() -> None: sleep(2) +# @pytest.mark.asyncio +# async def test_async_debounce(): +# try: +# await asyncio.new_event_loop().run_until_complete(async_debounce_function() for _ in range(3)) +# except Exception: +# assert False, "Failed to test throttle_function()" + + def test_throttle() -> None: call_count: int = 5 try: @@ -32,6 +40,11 @@ def debounce_function() -> None: logger.warning("'debounce_function' was called") +@async_debounce(0.25) +def async_debounce_function(): + logger.warning("'async_debounce_function' was called") + + @throttle(0.25) def throttle_function() -> None: logger.warning("'throttle_function' was called") From a07af6a94b1c324705ac82a3c6bf916bc6d73c8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Fri, 12 Nov 2021 20:17:12 +0800 Subject: [PATCH 43/63] perf: upgrade dependencies - jinja2==3.0.3 - isort==5.10.1 --- Pipfile | 4 +- Pipfile.lock | 265 +++++++++++++++++++++++++-------------------------- 2 files changed, 130 insertions(+), 139 deletions(-) diff --git a/Pipfile b/Pipfile index 3a5c986..23579b6 100644 --- a/Pipfile +++ b/Pipfile @@ -11,12 +11,12 @@ peewee = "==3.14.8" loguru = "==0.5.3" opencv-python = "==4.5.4.58" pyhocon = "==0.3.58" -jinja2 = "==3.0.2" +jinja2 = "==3.0.3" [dev-packages] black = "==20.8b1" flake8 = "==4.0.1" -isort = "==5.10.0" +isort = "==5.10.1" mypy = "==0.910" pre-commit = "==2.15.0" pytest = "==6.2.5" diff --git a/Pipfile.lock b/Pipfile.lock index 0a18ddd..afb7c06 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "5da83f5e2c06bbc1d9391951e86402d6b0f380e92840b93be3dc9db8b774b03a" + "sha256": "93dfc3aa77d90da579479a15211032b05a7d46721a0dc5072a3b8846a348f427" }, "pipfile-spec": 6, "requires": { @@ -18,11 +18,11 @@ "default": { "jinja2": { "hashes": [ - "sha256:827a0e32839ab1600d4eb1c4c33ec5a8edfbc5cb42dafa13b81f182f97784b45", - "sha256:8569982d3f0889eed11dd620c706d39b60c36d6d25843961f33f77fb6bc6b20c" + "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8", + "sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7" ], "index": "pypi", - "version": "==3.0.2" + "version": "==3.0.3" }, "loguru": { "hashes": [ @@ -254,55 +254,56 @@ "toml" ], "hashes": [ - "sha256:0147f7833c41927d84f5af9219d9b32f875c0689e5e74ac8ca3cb61e73a698f9", - "sha256:04a92a6cf9afd99f9979c61348ec79725a9f9342fb45e63c889e33c04610d97b", - "sha256:10ab138b153e4cc408b43792cb7f518f9ee02f4ff55cd1ab67ad6fd7e9905c7e", - "sha256:2e5b9c17a56b8bf0c0a9477fcd30d357deb486e4e1b389ed154f608f18556c8a", - "sha256:326d944aad0189603733d646e8d4a7d952f7145684da973c463ec2eefe1387c2", - "sha256:359a32515e94e398a5c0fa057e5887a42e647a9502d8e41165cf5cb8d3d1ca67", - "sha256:35cd2230e1ed76df7d0081a997f0fe705be1f7d8696264eb508076e0d0b5a685", - "sha256:3b270c6b48d3ff5a35deb3648028ba2643ad8434b07836782b1139cf9c66313f", - "sha256:42a1fb5dee3355df90b635906bb99126faa7936d87dfc97eacc5293397618cb7", - "sha256:479228e1b798d3c246ac89b09897ee706c51b3e5f8f8d778067f38db73ccc717", - "sha256:4cd919057636f63ab299ccb86ea0e78b87812400c76abab245ca385f17d19fb5", - "sha256:4d8b453764b9b26b0dd2afb83086a7c3f9379134e340288d2a52f8a91592394b", - "sha256:51a441011a30d693e71dea198b2a6f53ba029afc39f8e2aeb5b77245c1b282ef", - "sha256:557594a50bfe3fb0b1b57460f6789affe8850ad19c1acf2d14a3e12b2757d489", - "sha256:572f917267f363101eec375c109c9c1118037c7cc98041440b5eabda3185ac7b", - "sha256:62512c0ec5d307f56d86504c58eace11c1bc2afcdf44e3ff20de8ca427ca1d0e", - "sha256:65ad3ff837c89a229d626b8004f0ee32110f9bfdb6a88b76a80df36ccc60d926", - "sha256:666c6b32b69e56221ad1551d377f718ed00e6167c7a1b9257f780b105a101271", - "sha256:6e994003e719458420e14ffb43c08f4c14990e20d9e077cb5cad7a3e419bbb54", - "sha256:72bf437d54186d104388cbae73c9f2b0f8a3e11b6e8d7deb593bd14625c96026", - "sha256:738e823a746841248b56f0f3bd6abf3b73af191d1fd65e4c723b9c456216f0ad", - "sha256:78287731e3601ea5ce9d6468c82d88a12ef8fe625d6b7bdec9b45d96c1ad6533", - "sha256:7833c872718dc913f18e51ee97ea0dece61d9930893a58b20b3daf09bb1af6b6", - "sha256:7e083d32965d2eb6638a77e65b622be32a094fdc0250f28ce6039b0732fbcaa8", - "sha256:8186b5a4730c896cbe1e4b645bdc524e62d874351ae50e1db7c3e9f5dc81dc26", - "sha256:8605add58e6a960729aa40c0fd9a20a55909dd9b586d3e8104cc7f45869e4c6b", - "sha256:977ce557d79577a3dd510844904d5d968bfef9489f512be65e2882e1c6eed7d8", - "sha256:994ce5a7b3d20981b81d83618aa4882f955bfa573efdbef033d5632b58597ba9", - "sha256:9ad5895938a894c368d49d8470fe9f519909e5ebc6b8f8ea5190bd0df6aa4271", - "sha256:9eb0a1923354e0fdd1c8a6f53f5db2e6180d670e2b587914bf2e79fa8acfd003", - "sha256:a00284dbfb53b42e35c7dd99fc0e26ef89b4a34efff68078ed29d03ccb28402a", - "sha256:a11a2c019324fc111485e79d55907e7289e53d0031275a6c8daed30690bc50c0", - "sha256:ab6a0fe4c96f8058d41948ddf134420d3ef8c42d5508b5a341a440cce7a37a1d", - "sha256:b1d0a1bce919de0dd8da5cff4e616b2d9e6ebf3bd1410ff645318c3dd615010a", - "sha256:b8e4f15b672c9156c1154249a9c5746e86ac9ae9edc3799ee3afebc323d9d9e0", - "sha256:bbca34dca5a2d60f81326d908d77313816fad23d11b6069031a3d6b8c97a54f9", - "sha256:bf656cd74ff7b4ed7006cdb2a6728150aaad69c7242b42a2a532f77b63ea233f", - "sha256:c95257aa2ccf75d3d91d772060538d5fea7f625e48157f8ca44594f94d41cb33", - "sha256:dc5023be1c2a8b0a0ab5e31389e62c28b2453eb31dd069f4b8d1a0f9814d951a", - "sha256:e14bceb1f3ae8a14374be2b2d7bc12a59226872285f91d66d301e5f41705d4d6", - "sha256:e3c4f5211394cd0bf6874ac5d29684a495f9c374919833dcfff0bd6d37f96201", - "sha256:e76f017b6d4140a038c5ff12be1581183d7874e41f1c0af58ecf07748d36a336", - "sha256:e7d5606b9240ed4def9cbdf35be4308047d11e858b9c88a6c26974758d6225ce", - "sha256:f0f80e323a17af63eac6a9db0c9188c10f1fd815c3ab299727150cc0eb92c7a4", - "sha256:fb2fa2f6506c03c48ca42e3fe5a692d7470d290c047ee6de7c0f3e5fa7639ac9", - "sha256:ffa8fee2b1b9e60b531c4c27cf528d6b5d5da46b1730db1f4d6eee56ff282e07" + "sha256:046647b96969fda1ae0605f61288635209dd69dcd27ba3ec0bf5148bc157f954", + "sha256:06d009e8a29483cbc0520665bc46035ffe9ae0e7484a49f9782c2a716e37d0a0", + "sha256:0cde7d9fe2fb55ff68ebe7fb319ef188e9b88e0a3d1c9c5db7dd829cd93d2193", + "sha256:1de9c6f5039ee2b1860b7bad2c7bc3651fbeb9368e4c4d93e98a76358cdcb052", + "sha256:24ed38ec86754c4d5a706fbd5b52b057c3df87901a8610d7e5642a08ec07087e", + "sha256:27a3df08a855522dfef8b8635f58bab81341b2fb5f447819bc252da3aa4cf44c", + "sha256:310c40bed6b626fd1f463e5a83dba19a61c4eb74e1ac0d07d454ebbdf9047e9d", + "sha256:3348865798c077c695cae00da0924136bb5cc501f236cfd6b6d9f7a3c94e0ec4", + "sha256:35b246ae3a2c042dc8f410c94bcb9754b18179cdb81ff9477a9089dbc9ecc186", + "sha256:3f546f48d5d80a90a266769aa613bc0719cb3e9c2ef3529d53f463996dd15a9d", + "sha256:586d38dfc7da4a87f5816b203ff06dd7c1bb5b16211ccaa0e9788a8da2b93696", + "sha256:5d3855d5d26292539861f5ced2ed042fc2aa33a12f80e487053aed3bcb6ced13", + "sha256:610c0ba11da8de3a753dc4b1f71894f9f9debfdde6559599f303286e70aeb0c2", + "sha256:62646d98cf0381ffda301a816d6ac6c35fc97aa81b09c4c52d66a15c4bef9d7c", + "sha256:66af99c7f7b64d050d37e795baadf515b4561124f25aae6e1baa482438ecc388", + "sha256:675adb3b3380967806b3cbb9c5b00ceb29b1c472692100a338730c1d3e59c8b9", + "sha256:6e5a8c947a2a89c56655ecbb789458a3a8e3b0cbf4c04250331df8f647b3de59", + "sha256:7a39590d1e6acf6a3c435c5d233f72f5d43b585f5be834cff1f21fec4afda225", + "sha256:80cb70264e9a1d04b519cdba3cd0dc42847bf8e982a4d55c769b9b0ee7cdce1e", + "sha256:82fdcb64bf08aa5db881db061d96db102c77397a570fbc112e21c48a4d9cb31b", + "sha256:8492d37acdc07a6eac6489f6c1954026f2260a85a4c2bb1e343fe3d35f5ee21a", + "sha256:94f558f8555e79c48c422045f252ef41eb43becdd945e9c775b45ebfc0cbd78f", + "sha256:958ac66272ff20e63d818627216e3d7412fdf68a2d25787b89a5c6f1eb7fdd93", + "sha256:95a58336aa111af54baa451c33266a8774780242cab3704b7698d5e514840758", + "sha256:96129e41405887a53a9cc564f960d7f853cc63d178f3a182fdd302e4cab2745b", + "sha256:97ef6e9119bd39d60ef7b9cd5deea2b34869c9f0b9777450a7e3759c1ab09b9b", + "sha256:98d44a8136eebbf544ad91fef5bd2b20ef0c9b459c65a833c923d9aa4546b204", + "sha256:9d2c2e3ce7b8cc932a2f918186964bd44de8c84e2f9ef72dc616f5bb8be22e71", + "sha256:a300b39c3d5905686c75a369d2a66e68fd01472ea42e16b38c948bd02b29e5bd", + "sha256:a34fccb45f7b2d890183a263578d60a392a1a218fdc12f5bce1477a6a68d4373", + "sha256:a4d48e42e17d3de212f9af44f81ab73b9378a4b2b8413fd708d0d9023f2bbde4", + "sha256:af45eea024c0e3a25462fade161afab4f0d9d9e0d5a5d53e86149f74f0a35ecc", + "sha256:ba6125d4e55c0b8e913dad27b22722eac7abdcb1f3eab1bd090eee9105660266", + "sha256:bc1ee1318f703bc6c971da700d74466e9b86e0c443eb85983fb2a1bd20447263", + "sha256:c18725f3cffe96732ef96f3de1939d81215fd6d7d64900dcc4acfe514ea4fcbf", + "sha256:c8e9c4bcaaaa932be581b3d8b88b677489975f845f7714efc8cce77568b6711c", + "sha256:cc799916b618ec9fd00135e576424165691fec4f70d7dc12cfaef09268a2478c", + "sha256:cd2d11a59afa5001ff28073ceca24ae4c506da4355aba30d1e7dd2bd0d2206dc", + "sha256:d0a595a781f8e186580ff8e3352dd4953b1944289bec7705377c80c7e36c4d6c", + "sha256:d3c5f49ce6af61154060640ad3b3281dbc46e2e0ef2fe78414d7f8a324f0b649", + "sha256:d9a635114b88c0ab462e0355472d00a180a5fbfd8511e7f18e4ac32652e7d972", + "sha256:e5432d9c329b11c27be45ee5f62cf20a33065d482c8dec1941d6670622a6fb8f", + "sha256:eab14fdd410500dae50fd14ccc332e65543e7b39f6fc076fe90603a0e5d2f929", + "sha256:ebcc03e1acef4ff44f37f3c61df478d6e469a573aa688e5a162f85d7e4c3860d", + "sha256:fae3fe111670e51f1ebbc475823899524e3459ea2db2cb88279bbfb2a0b8a3de", + "sha256:fd92ece726055e80d4e3f01fff3b91f54b18c9c357c48fcf6119e87e2461a091", + "sha256:ffa545230ca2ad921ad066bf8fd627e7be43716b6e0fcf8e32af1b8188ccb0ab" ], "markers": "python_version >= '3.6'", - "version": "==6.1.1" + "version": "==6.1.2" }, "distlib": { "hashes": [ @@ -344,11 +345,11 @@ }, "isort": { "hashes": [ - "sha256:1a18ccace2ed8910bd9458b74a3ecbafd7b2f581301b0ab65cfdd4338272d76f", - "sha256:e52ff6d38012b131628cf0f26c51e7bd3a7c81592eefe3ac71411e692f1b9345" + "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7", + "sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951" ], "index": "pypi", - "version": "==5.10.0" + "version": "==5.10.1" }, "mccabe": { "hashes": [ @@ -528,57 +529,57 @@ }, "regex": { "hashes": [ - "sha256:0075fe4e2c2720a685fef0f863edd67740ff78c342cf20b2a79bc19388edf5db", - "sha256:0621c90f28d17260b41838b22c81a79ff436141b322960eb49c7b3f91d1cbab6", - "sha256:070336382ca92c16c45b4066c4ba9fa83fb0bd13d5553a82e07d344df8d58a84", - "sha256:075b0fdbaea81afcac5a39a0d1bb91de887dd0d93bf692a5dd69c430e7fc58cb", - "sha256:07e3755e0f070bc31567dfe447a02011bfa8444239b3e9e5cca6773a22133839", - "sha256:0ed3465acf8c7c10aa2e0f3d9671da410ead63b38a77283ef464cbb64275df58", - "sha256:17e095f7f96a4b9f24b93c2c915f31a5201a6316618d919b0593afb070a5270e", - "sha256:1d85ca137756d62c8138c971453cafe64741adad1f6a7e63a22a5a8abdbd19fa", - "sha256:20605bfad484e1341b2cbfea0708e4b211d233716604846baa54b94821f487cb", - "sha256:23f93e74409c210de4de270d4bf88fb8ab736a7400f74210df63a93728cf70d6", - "sha256:2bb7cae741de1aa03e3dd3a7d98c304871eb155921ca1f0d7cc11f5aade913fd", - "sha256:2e3ff69ab203b54ce5c480c3ccbe959394ea5beef6bd5ad1785457df7acea92e", - "sha256:30fe317332de0e50195665bc61a27d46e903d682f94042c36b3f88cb84bd7958", - "sha256:3576e173e7b4f88f683b4de7db0c2af1b209bb48b2bf1c827a6f3564fad59a97", - "sha256:35ed5714467fc606551db26f80ee5d6aa1f01185586a7bccd96f179c4b974a11", - "sha256:41c66bd6750237a8ed23028a6c9173dc0c92dc24c473e771d3bfb9ee817700c3", - "sha256:48b4f4810117a9072a5aa70f7fea5f86fa9efbe9a798312e0a05044bd707cc33", - "sha256:4abf35e16f4b639daaf05a2602c1b1d47370e01babf9821306aa138924e3fe92", - "sha256:4fba661a4966adbd2c3c08d3caad6822ecb6878f5456588e2475ae23a6e47929", - "sha256:5e85dcfc5d0f374955015ae12c08365b565c6f1eaf36dd182476a4d8e5a1cdb7", - "sha256:77f9d16f7970791f17ecce7e7f101548314ed1ee2583d4268601f30af3170856", - "sha256:7ee36d5113b6506b97f45f2e8447cb9af146e60e3f527d93013d19f6d0405f3b", - "sha256:7fab29411d75c2eb48070020a40f80255936d7c31357b086e5931c107d48306e", - "sha256:85289c25f658e3260b00178757c87f033f3d4b3e40aa4abdd4dc875ff11a94fb", - "sha256:886f459db10c0f9d17c87d6594e77be915f18d343ee138e68d259eb385f044a8", - "sha256:897c539f0f3b2c3a715be651322bef2167de1cdc276b3f370ae81a3bda62df71", - "sha256:8fbe1768feafd3d0156556677b8ff234c7bf94a8110e906b2d73506f577a3269", - "sha256:9267e4fba27e6dd1008c4f2983cc548c98b4be4444e3e342db11296c0f45512f", - "sha256:9486ebda015913909bc28763c6b92fcc3b5e5a67dee4674bceed112109f5dfb8", - "sha256:956187ff49db7014ceb31e88fcacf4cf63371e6e44d209cf8816cd4a2d61e11a", - "sha256:a56735c35a3704603d9d7b243ee06139f0837bcac2171d9ba1d638ce1df0742a", - "sha256:ab1fea8832976ad0bebb11f652b692c328043057d35e9ebc78ab0a7a30cf9a70", - "sha256:adf35d88d9cffc202e6046e4c32e1e11a1d0238b2fcf095c94f109e510ececea", - "sha256:af23b9ca9a874ef0ec20e44467b8edd556c37b0f46f93abfa93752ea7c0e8d1e", - "sha256:b3794cea825f101fe0df9af8a00f9fad8e119c91e39a28636b95ee2b45b6c2e5", - "sha256:bb11c982a849dc22782210b01d0c1b98eb3696ce655d58a54180774e4880ac66", - "sha256:be30cd315db0168063a1755fa20a31119da91afa51da2907553493516e165640", - "sha256:c6238d30dcff141de076344cf7f52468de61729c2f70d776fce12f55fe8df790", - "sha256:cb1e44d860345ab5d4f533b6c37565a22f403277f44c4d2d5e06c325da959883", - "sha256:d4bfe3bc3976ccaeb4ae32f51e631964e2f0e85b2b752721b7a02de5ce3b7f27", - "sha256:d8ee91e1c295beb5c132ebd78616814de26fedba6aa8687ea460c7f5eb289b72", - "sha256:e3c00cb5c71da655e1e5161481455479b613d500dd1bd252aa01df4f037c641f", - "sha256:e9cec3a62d146e8e122d159ab93ac32c988e2ec0dcb1e18e9e53ff2da4fbd30c", - "sha256:ef4e53e2fdc997d91f5b682f81f7dc9661db9a437acce28745d765d251902d85", - "sha256:f0148988af0182a0a4e5020e7c168014f2c55a16d11179610f7883dd48ac0ebe", - "sha256:f20f9f430c33597887ba9bd76635476928e76cad2981643ca8be277b8e97aa96", - "sha256:f5930d334c2f607711d54761956aedf8137f83f1b764b9640be21d25a976f3a4", - "sha256:f6a28e87ba69f3a4f30d775b179aac55be1ce59f55799328a0d9b6df8f16b39d", - "sha256:f9ee98d658a146cb6507be720a0ce1b44f2abef8fb43c2859791d91aace17cd5" - ], - "version": "==2021.11.2" + "sha256:05b7d6d7e64efe309972adab77fc2af8907bb93217ec60aa9fe12a0dad35874f", + "sha256:0617383e2fe465732af4509e61648b77cbe3aee68b6ac8c0b6fe934db90be5cc", + "sha256:07856afef5ffcc052e7eccf3213317fbb94e4a5cd8177a2caa69c980657b3cb4", + "sha256:162abfd74e88001d20cb73ceaffbfe601469923e875caf9118333b1a4aaafdc4", + "sha256:2207ae4f64ad3af399e2d30dde66f0b36ae5c3129b52885f1bffc2f05ec505c8", + "sha256:30ab804ea73972049b7a2a5c62d97687d69b5a60a67adca07eb73a0ddbc9e29f", + "sha256:3b5df18db1fccd66de15aa59c41e4f853b5df7550723d26aa6cb7f40e5d9da5a", + "sha256:3c5fb32cc6077abad3bbf0323067636d93307c9fa93e072771cf9a64d1c0f3ef", + "sha256:416c5f1a188c91e3eb41e9c8787288e707f7d2ebe66e0a6563af280d9b68478f", + "sha256:432bd15d40ed835a51617521d60d0125867f7b88acf653e4ed994a1f8e4995dc", + "sha256:4aaa4e0705ef2b73dd8e36eeb4c868f80f8393f5f4d855e94025ce7ad8525f50", + "sha256:537ca6a3586931b16a85ac38c08cc48f10fc870a5b25e51794c74df843e9966d", + "sha256:53db2c6be8a2710b359bfd3d3aa17ba38f8aa72a82309a12ae99d3c0c3dcd74d", + "sha256:5537f71b6d646f7f5f340562ec4c77b6e1c915f8baae822ea0b7e46c1f09b733", + "sha256:6650f16365f1924d6014d2ea770bde8555b4a39dc9576abb95e3cd1ff0263b36", + "sha256:666abff54e474d28ff42756d94544cdfd42e2ee97065857413b72e8a2d6a6345", + "sha256:68a067c11463de2a37157930d8b153005085e42bcb7ad9ca562d77ba7d1404e0", + "sha256:780b48456a0f0ba4d390e8b5f7c661fdd218934388cde1a974010a965e200e12", + "sha256:788aef3549f1924d5c38263104dae7395bf020a42776d5ec5ea2b0d3d85d6646", + "sha256:7ee1227cf08b6716c85504aebc49ac827eb88fcc6e51564f010f11a406c0a667", + "sha256:7f301b11b9d214f83ddaf689181051e7f48905568b0c7017c04c06dfd065e244", + "sha256:83ee89483672b11f8952b158640d0c0ff02dc43d9cb1b70c1564b49abe92ce29", + "sha256:85bfa6a5413be0ee6c5c4a663668a2cad2cbecdee367630d097d7823041bdeec", + "sha256:9345b6f7ee578bad8e475129ed40123d265464c4cfead6c261fd60fc9de00bcf", + "sha256:93a5051fcf5fad72de73b96f07d30bc29665697fb8ecdfbc474f3452c78adcf4", + "sha256:962b9a917dd7ceacbe5cd424556914cb0d636001e393b43dc886ba31d2a1e449", + "sha256:98ba568e8ae26beb726aeea2273053c717641933836568c2a0278a84987b2a1a", + "sha256:a3feefd5e95871872673b08636f96b61ebef62971eab044f5124fb4dea39919d", + "sha256:b43c2b8a330a490daaef5a47ab114935002b13b3f9dc5da56d5322ff218eeadb", + "sha256:b483c9d00a565633c87abd0aaf27eb5016de23fed952e054ecc19ce32f6a9e7e", + "sha256:ba05430e819e58544e840a68b03b28b6d328aff2e41579037e8bab7653b37d83", + "sha256:ca5f18a75e1256ce07494e245cdb146f5a9267d3c702ebf9b65c7f8bd843431e", + "sha256:d5ca078bb666c4a9d1287a379fe617a6dccd18c3e8a7e6c7e1eb8974330c626a", + "sha256:da1a90c1ddb7531b1d5ff1e171b4ee61f6345119be7351104b67ff413843fe94", + "sha256:dba70f30fd81f8ce6d32ddeef37d91c8948e5d5a4c63242d16a2b2df8143aafc", + "sha256:dd33eb9bdcfbabab3459c9ee651d94c842bc8a05fabc95edf4ee0c15a072495e", + "sha256:e0538c43565ee6e703d3a7c3bdfe4037a5209250e8502c98f20fea6f5fdf2965", + "sha256:e1f54b9b4b6c53369f40028d2dd07a8c374583417ee6ec0ea304e710a20f80a0", + "sha256:e32d2a2b02ccbef10145df9135751abea1f9f076e67a4e261b05f24b94219e36", + "sha256:e71255ba42567d34a13c03968736c5d39bb4a97ce98188fafb27ce981115beec", + "sha256:ed2e07c6a26ed4bea91b897ee2b0835c21716d9a469a96c3e878dc5f8c55bb23", + "sha256:eef2afb0fd1747f33f1ee3e209bce1ed582d1896b240ccc5e2697e3275f037c7", + "sha256:f23222527b307970e383433daec128d769ff778d9b29343fb3496472dc20dabe", + "sha256:f341ee2df0999bfdf7a95e448075effe0db212a59387de1a70690e4acb03d4c6", + "sha256:f7f325be2804246a75a4f45c72d4ce80d2443ab815063cdf70ee8fb2ca59ee1b", + "sha256:f8af619e3be812a2059b212064ea7a640aff0568d972cd1b9e920837469eb3cb", + "sha256:fa8c626d6441e2d04b6ee703ef2d1e17608ad44c7cb75258c09dd42bacdfc64b", + "sha256:fbb9dc00e39f3e6c0ef48edee202f9520dafb233e8b51b06b8428cfcb92abd30", + "sha256:fff55f3ce50a3ff63ec8e2a8d3dd924f1941b250b0aac3d3d42b687eeff07a8e" + ], + "version": "==2021.11.10" }, "six": { "hashes": [ @@ -605,38 +606,28 @@ }, "typed-ast": { "hashes": [ - "sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace", - "sha256:067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5b3dfecec08c5ff", - "sha256:0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d3681b3dc31a266", - "sha256:1b3ead4a96c9101bef08f9f7d1217c096f31667617b58de957f690c92378b528", - "sha256:2068531575a125b87a41802130fa7e29f26c09a2833fea68d9a40cf33902eba6", - "sha256:209596a4ec71d990d71d5e0d312ac935d86930e6eecff6ccc7007fe54d703808", - "sha256:2c726c276d09fc5c414693a2de063f521052d9ea7c240ce553316f70656c84d4", - "sha256:398e44cd480f4d2b7ee8d98385ca104e35c81525dd98c519acff1b79bdaac363", - "sha256:52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd54d3b5e5fb4341", - "sha256:5feca99c17af94057417d744607b82dd0a664fd5e4ca98061480fd8b14b18d04", - "sha256:7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088a1636180f11a41", - "sha256:760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99aedadd9246450e9e", - "sha256:777a26c84bea6cd934422ac2e3b78863a37017618b6e5c08f92ef69853e765d3", - "sha256:95431a26309a21874005845c21118c83991c63ea800dd44843e42a916aec5899", - "sha256:9ad2c92ec681e02baf81fdfa056fe0d818645efa9af1f1cd5fd6f1bd2bdfd805", - "sha256:9c6d1a54552b5330bc657b7ef0eae25d00ba7ffe85d9ea8ae6540d2197a3788c", - "sha256:aee0c1256be6c07bd3e1263ff920c325b59849dc95392a05f258bb9b259cf39c", - "sha256:af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f22ee626a7b88e39", - "sha256:b36b4f3920103a25e1d5d024d155c504080959582b928e91cb608a65c3a49e1a", - "sha256:b9574c6f03f685070d859e75c7f9eeca02d6933273b5e69572e5ff9d5e3931c3", - "sha256:bff6ad71c81b3bba8fa35f0f1921fb24ff4476235a6e94a26ada2e54370e6da7", - "sha256:c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca3596d12b8a4c4c7f", - "sha256:c907f561b1e83e93fad565bac5ba9c22d96a54e7ea0267c708bffe863cbe4075", - "sha256:cae53c389825d3b46fb37538441f75d6aecc4174f615d048321b716df2757fb0", - "sha256:dd4a21253f42b8d2b48410cb31fe501d32f8b9fbeb1f55063ad102fe9c425e40", - "sha256:dde816ca9dac1d9c01dd504ea5967821606f02e510438120091b84e852367428", - "sha256:f2362f3cb0f3172c42938946dbc5b7843c2a28aec307c49100c8b38764eb6927", - "sha256:f328adcfebed9f11301eaedfa48e15bdece9b519fb27e6a8c01aa52a17ec31b3", - "sha256:f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb4530f96fe5ef2f", - "sha256:fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65" - ], - "version": "==1.4.3" + "sha256:14fed8820114a389a2b7e91624db5f85f3f6682fda09fe0268a59aabd28fe5f5", + "sha256:155b74b078be842d2eb630dd30a280025eca0a5383c7d45853c27afee65f278f", + "sha256:224afecb8b39739f5c9562794a7c98325cb9d972712e1a98b6989a4720219541", + "sha256:361b9e5d27bd8e3ccb6ea6ad6c4f3c0be322a1a0f8177db6d56264fa0ae40410", + "sha256:37ba2ab65a0028b1a4f2b61a8fe77f12d242731977d274a03d68ebb751271508", + "sha256:49af5b8f6f03ed1eb89ee06c1d7c2e7c8e743d720c3746a5857609a1abc94c94", + "sha256:51040bf45aacefa44fa67fb9ebcd1f2bec73182b99a532c2394eea7dabd18e24", + "sha256:52ca2b2b524d770bed7a393371a38e91943f9160a190141e0df911586066ecda", + "sha256:618912cbc7e17b4aeba86ffe071698c6e2d292acbd6d1d5ec1ee724b8c4ae450", + "sha256:65c81abbabda7d760df7304d843cc9dbe7ef5d485504ca59a46ae2d1731d2428", + "sha256:7b310a207ee9fde3f46ba327989e6cba4195bc0c8c70a158456e7b10233e6bed", + "sha256:7e6731044f748340ef68dcadb5172a4b1f40847a2983fe3983b2a66445fbc8e6", + "sha256:806e0c7346b9b4af8c62d9a29053f484599921a4448c37fbbcbbf15c25138570", + "sha256:a67fd5914603e2165e075f1b12f5a8356bfb9557e8bfb74511108cfbab0f51ed", + "sha256:e4374a76e61399a173137e7984a1d7e356038cf844f24fd8aea46c8029a2f712", + "sha256:e8a9b9c87801cecaad3b4c2b8876387115d1a14caa602c1618cedbb0cb2a14e6", + "sha256:ea517c2bb11c5e4ba7a83a91482a2837041181d57d3ed0749a6c382a2b6b7086", + "sha256:ec184dfb5d3d11e82841dbb973e7092b75f306b625fad7b2e665b64c5d60ab3f", + "sha256:ff4ad88271aa7a55f19b6a161ed44e088c393846d954729549e3cde8257747bb" + ], + "markers": "python_version >= '3.6'", + "version": "==1.5.0" }, "typing-extensions": { "hashes": [ From c4da662ef40fdea0db52a210af00266f86ed845a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Fri, 12 Nov 2021 22:39:11 +0800 Subject: [PATCH 44/63] build($Docker): correct volume mapping --- docker-compose.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b78c99a..cd1da7a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,6 +14,5 @@ services: MAIL_USERNAME: "DEFAULT_MAIL_USERNAME" MAIL_PASSWORD: "DEFAULT_MAIL_PASSWORD" TZ: Asia/Hong_Kong - restart: always volumes: - - ~/docker-file-mapping/home_guardian:/app/data + - ~/docker-file-mapping/home_guardian:/app/home_guardian/data From fe471dd2adbb8f3a6bc2de8175c2d6351fdac63b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Fri, 12 Nov 2021 22:49:42 +0800 Subject: [PATCH 45/63] perf($OpenCV): change dependency to opencv-python-headless==4.5.4.58 Packages for server (headless) environments (such as Docker, cloud environments etc.), no GUI library dependencies. Headless main modules package: pip install opencv-python-headless Headless full package (contains both main modules and contrib/extra modules): pip install opencv-contrib-python-headless https://pypi.org/project/opencv-python-headless/4.5.4.58/ --- Pipfile | 2 +- Pipfile.lock | 66 +++++++++++++------------- home_guardian/__main__.py | 18 +++---- home_guardian/opencv/face_detection.py | 11 ++++- 4 files changed, 53 insertions(+), 44 deletions(-) diff --git a/Pipfile b/Pipfile index 23579b6..9ded088 100644 --- a/Pipfile +++ b/Pipfile @@ -9,7 +9,7 @@ python_version = "3.10" [packages] peewee = "==3.14.8" loguru = "==0.5.3" -opencv-python = "==4.5.4.58" +opencv-python-headless = "==4.5.4.58" pyhocon = "==0.3.58" jinja2 = "==3.0.3" diff --git a/Pipfile.lock b/Pipfile.lock index afb7c06..0bbfbb3 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "93dfc3aa77d90da579479a15211032b05a7d46721a0dc5072a3b8846a348f427" + "sha256": "7a90b0747fe5c13ccfce8cd62ab72019a759a9cb2f5ad5add8872c9bb5b3d4c6" }, "pipfile-spec": 6, "requires": { @@ -143,38 +143,38 @@ "markers": "python_version < '3.11' and python_version >= '3.7'", "version": "==1.21.4" }, - "opencv-python": { - "hashes": [ - "sha256:02872e0a9358526646d691f390143e9c21109c210095314abaa0641211cda077", - "sha256:085c5fcf5a6479c34aca3fd0f59055e704083d6a44009d6583c675ff1a5a0625", - "sha256:0d6249a49122a78afc6685ddb1377a87e46414ae61c84535c4c6024397f1f3e8", - "sha256:0eba0bfe62c48a02a5af3a0944e872c99f57f98653bed14d51c6991a58f9e1d1", - "sha256:215bdf069847d4e3b0447a34e9eb4046dd4ca523d41fe4381c1c55f6704fd0dc", - "sha256:22bcc3153a7d4f95aff79457eef81ef5e40ab1851b189e014412b5e9fbee2573", - "sha256:26feeeb280de179f5dbb8976ebf7ceb836bd263973cb5daec8ca36e8ef7b5773", - "sha256:2fff48a641a74d1def31c1e88f9e5ce50ba4d0f87d085dfbf8bc844e12f6cd54", - "sha256:315c357522b6310ef7a0718d9f0c5d3110e59c19140705499a3c29bdd8c0124f", - "sha256:48288428f407bacba5f73d460feb4a1ecafe87db3d7cfc0730a49fb32f589bbf", - "sha256:4a13381bdfc0fb4b080efcc27c46561d0bd752f126226e9f19aa9cbcf6677f40", - "sha256:4abe9c4fb6fe16daa9fcdd68b5357d3530431341aa655203f8e84f394e1fe6d4", - "sha256:4b614fbd81aeda53ce28e645aaee18fda7c7f2a48eb7f1a70a7c6c3427946342", - "sha256:5370a11757fbe94b176771269aff599f4da8676c2a672b13bcbca043f2e3eea8", - "sha256:637f4d3ad81bd27f273ede4c5fa6c26afb85c097c9715baf107cc270e37f5fea", - "sha256:69a78e40a374ac14e4bf15a13dbb6c30fd2fbd5fcd3674d020a31b88861d5aaf", - "sha256:6b87bab220d17e03eeedbcc6652d9d7e7bb09886dbd0f810310697a948b4c6fd", - "sha256:887a61097092dc0bf23fa24646dbc8cfeeb753649cb28a3782a93a6879e3b7d2", - "sha256:8ddf4dcd8199209e33f21deb0c6d8ab62b21802816bba895fefc346b6d2e522d", - "sha256:8f7886acabaebf0361bd3dbccaa0d08e3f65ab13b7c739eb11e028f01ad13582", - "sha256:92e9b2261ec764229c948d77fe0d922ee033348ca6519939b87861016c1614b3", - "sha256:9998ce60884f3cda074f02b56d2b57ee6bd863e2ddba132da2b0af3b9487d584", - "sha256:9b2c198af083a693d42a82bddc4d1f7e6bb02c64192ff7fac1fd1d43a8cf1be6", - "sha256:9bcca50c5444b5cfb01624666b69f91ba8f2d2bf4ef37b111697aafdeb81c99f", - "sha256:a2a7f09b8843b85f3e1b02c5ea3ddc0cb9f5ad9698380109b37069ee8db7746d", - "sha256:ac852fcaac93439f2f7116ddffdc23fd366c872200ade2272446f9898180cecb", - "sha256:bc34cdbfbab463750713118c8259a5d364547adab8ed91e94ba888349f33590a", - "sha256:c44f5c51e92322ed832607204249c190764dec6cf29e8ba6d679b10326be1c1b", - "sha256:d4b1d0b98ee72ba5dd720166790fc93ce459281e138ee79b0d41420b3da52b2e", - "sha256:eaa144013b597e4dcabc8d8230edfe810319de01b5609556d415a20e2b707547" + "opencv-python-headless": { + "hashes": [ + "sha256:014e4a892f67043610521e673883da5ad98a6e61356a609c6502b9d22144f2f1", + "sha256:01a6411eb9eecf58db3a50fa761f0527bdd2b23b884b3bea44eb57e6d06e4767", + "sha256:067e4736cdc70712f43c064bfe53ba80492c20479ad3290849337f948572c392", + "sha256:09b21c48144a9dd82e435d66ccd834f3a391a2cd2b69f787aabbc7cd3576f2f1", + "sha256:113b8ce88f337ab3a1ee670b8c5afc3fbf0d8aafec7b2ee897ad5efd9926ce90", + "sha256:1162de92301d0d13642afe8e163593982d3159ef21eba95a56ba3f5ca8024861", + "sha256:1799ae397677bd3a68aff4eb4f5c122baf3ee73a26fe67391e0d618bd2b7d046", + "sha256:1e0498bc4a39d887e84801b82df5cc943a5ae4b596511da7e69df64b263f293b", + "sha256:27b9118b342dc464590ed233c7f468c8cb68ee0e5d9734d9b67fb0bc1b10abd6", + "sha256:32e1f478457adeea4e1a3d6baf33310331740cceffd83a2f34e00a7e5bae6407", + "sha256:37e20b1a0c623c7e01381668b83342387798d0f32ff8a7d7f3dd0ef127eb10fa", + "sha256:3e32018e65eabc9aab10c7a109be5f735cf2c3934a47025b6903dcec034d460b", + "sha256:4b9fa45f1b364e7585fd4a2781565667efed49124748fb3ec2a66e40b7398338", + "sha256:526417214a1cad27e3d2d064e535868ae05f5a07a0e344d54fe81078bbacfa57", + "sha256:540fa340b29dd86670e1f91bbcd2675df032b774f77d08909faf818696524617", + "sha256:64bfc55fe60ed9ad778ec73161f0cea58e425a3f2f06293756f82880319bffa9", + "sha256:685c41fce11c83a238ab40bd57d5b39c3fc4f87a898565cd27e4a521b5902a62", + "sha256:69c55e055e81a2eead40e6f2521ad27bdd11523dc0c1de5e5aea23041a0a49f0", + "sha256:6e0757762096158b803b366c386f25f24715662465c448ed70ce65ecd93e41a2", + "sha256:79ca8b8feab911a80692fa3871c02526844f112e0f8bf4749f78383696cfaa4c", + "sha256:807ac9d48c11b3f734d9de5eda69e1c4197204bac1e6db3d3d51859832df6fc1", + "sha256:84f037ba74482548c066ad5e341f77ebcd3d08d06a540a4a1182300045b8bde8", + "sha256:989d4817a2f22a601707ea36a3664a6c26cee155ed441363d5f29d73d9aec610", + "sha256:a148f8bdb54e03b1d899acb95aa6d870d6f10eed037d9b4700912068f3952c32", + "sha256:bb29a911c4a67f9710b53b94766be1bb22926b98460790091d4620a534329736", + "sha256:c8b595731b5c519daf2bf3c074ec2080eb51e8efef198a4493f930b5e4439bb0", + "sha256:d1735296d88e16379d001c4946c1a196b87e3c3ff4da0c10762918dded02f670", + "sha256:d73972a62d3e48ee01783d4eee01152c93348c70305c91f85fb668ddcc8907ad", + "sha256:dabf703efe12ec4341efd71c1dd384542e28fc49b7d2ea02f185ef22bb75a1c8", + "sha256:fdd80034749b8b2f211c2549293b34af691e4f90bf17b320a84b09b784275cc2" ], "index": "pypi", "version": "==4.5.4.58" diff --git a/home_guardian/__main__.py b/home_guardian/__main__.py index a96aed5..9ebcd75 100644 --- a/home_guardian/__main__.py +++ b/home_guardian/__main__.py @@ -1,22 +1,22 @@ +from loguru import logger + from home_guardian.configuration.thread_pool_configuration import ( cleanup as thread_pool_cleanup, ) -from home_guardian.configuration.thread_pool_configuration import simulate_multi_thread - - -def cleanup() -> None: - thread_pool_cleanup() +from home_guardian.opencv.face_detection import detect_and_take_photo -def main() -> None: +def _main() -> None: """ Main function. """ try: - simulate_multi_thread() + detect_and_take_photo() finally: - cleanup() + # Cleanup procedures + logger.warning("Cleaning up…") + thread_pool_cleanup() if __name__ == "__main__": - main() + _main() diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index 8eb73be..0743556 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -2,6 +2,7 @@ import os from time import sleep +# noinspection PyPackageRequirements import cv2.cv2 as cv2 from loguru import logger @@ -18,10 +19,18 @@ def detect_and_take_photo() -> None: + """ + Detect and take photo. + :return: when exception is raised, return None. + """ face = cv2.CascadeClassifier( f"{get_resources_dir()}/haarcascade_frontalface_alt2.xml" ) - capture = cv2.VideoCapture(0) + try: + capture = cv2.VideoCapture(0) + except Exception as e: + logger.error("Exception raised while capturing video!", e) + return while True: return_value, frame = capture.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) From 5671e65cdffa9a1a0053f4522f1960bc852c81e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Sat, 13 Nov 2021 00:03:32 +0800 Subject: [PATCH 46/63] build($GitHub): update step name --- .github/workflows/build-and-test.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index a771748..143de2b 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -10,7 +10,7 @@ on: - '**.md' - '_config.yml' - '**.tweet' - tags: "*" + tags: '*' jobs: build-and-test: @@ -26,15 +26,15 @@ jobs: run: | pip install pipenv pipenv install --deploy --dev - - name: Import Sorting with isort + - name: Import Sorting with [isort] run: pipenv run isort --recursive --diff . - - name: Code Formatting with black + - name: Code Formatting with [black] run: pipenv run black --check . - - name: Linting with flake8 + - name: Linting with [flake8] run: pipenv run flake8 - - name: Static type check + - name: Static type check with [mypy] run: pipenv run mypy - - name: Python tests with pytest + - name: Python tests with [pytest] run: pipenv run pytest --cov docker-test: @@ -45,5 +45,5 @@ jobs: - name: Build Docker Image for Smoke Test run: docker build . -t home_guardian:test - name: Smoke Test Docker Image - run: | - docker run --rm home_guardian:test 10 + # docker run --rm home_guardian:test + run: docker --version From e66050ebb4ac6de5ba9e494ce6718a0b5ec5906e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Sat, 13 Nov 2021 13:16:49 +0800 Subject: [PATCH 47/63] chore($Git): update .gitignore VisualStudioCode template [skip ci] --- .gitignore | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.gitignore b/.gitignore index 38d2a11..2d58d48 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,21 @@ data/ ### PyCharm ### .idea +*.iml +out +gen + +### VisualStudioCode template +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + ### Python ### # Byte-compiled / optimized / DLL files From 1b71e4585c88237d70f7d1a2ae9f81b72182ba01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Sat, 13 Nov 2021 16:05:02 +0800 Subject: [PATCH 48/63] feat($Loguru): set default log level as "INFO" --- home_guardian/__init__.py | 2 +- home_guardian/configuration/loguru_configuration.py | 10 +++++++--- home_guardian/resources/application.conf | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index 3f5dcfa..39aa880 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -8,6 +8,6 @@ configure as thread_pool_configure, ) +application_configure() loguru_configure() thread_pool_configure() -application_configure() diff --git a/home_guardian/configuration/loguru_configuration.py b/home_guardian/configuration/loguru_configuration.py index e81542c..a9a2ab2 100644 --- a/home_guardian/configuration/loguru_configuration.py +++ b/home_guardian/configuration/loguru_configuration.py @@ -3,6 +3,7 @@ from loguru import logger +from home_guardian.configuration.application_configuration import application_conf from home_guardian.function_collection import get_data_dir _message_format = ( @@ -16,9 +17,10 @@ logger.remove(handler_id=None) # Set up logging _log_file = get_data_dir() + "/logs/home_guardian.{time}.log" +log_level = application_conf.get_string("log_level") logger.add( _log_file, - level="DEBUG", + level=log_level, format=_message_format, enqueue=True, # turn to false if in production to prevent data leaking @@ -29,10 +31,12 @@ serialize=False, ) # Override the default stderr -logger.add(sys.stderr, format=_message_format) +logger.add(sys.stderr, level=log_level, format=_message_format) # Intercept standard logging https://gist.github.com/devsetgo/28c2edaca2d09e267dec46bb2e54b9e2 + + class InterceptHandler(logging.Handler): def emit(self, record): # Get corresponding Loguru level if it exists @@ -59,4 +63,4 @@ def configure() -> None: """ Configure logging. """ - logger.warning("Loguru logging configured") + logger.warning(f"Loguru logging configured, log_level: {log_level}") diff --git a/home_guardian/resources/application.conf b/home_guardian/resources/application.conf index 82a5b76..cacb85e 100644 --- a/home_guardian/resources/application.conf +++ b/home_guardian/resources/application.conf @@ -1,4 +1,6 @@ { + log_level = "INFO" + log_level = ${?LOG_LEVEL} email { mail_host = "smtp.tom.com" mail_port = 25 From bbfecda78cd71ee6a86f9830a856544dfd988c00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Sat, 13 Nov 2021 17:27:22 +0800 Subject: [PATCH 49/63] perf($OpenCV): multi-threading for OpenCV parallelism works well with CPU bound operation BREAKING CHANGE: use parallelism (multi-thread) to work with CPU bound operation --- .../thread_pool_configuration.py | 2 +- home_guardian/message/email.py | 4 +- home_guardian/opencv/face_detection.py | 48 ++++++---- home_guardian/opencv/threading.py | 96 +++++++++++++++++++ 4 files changed, 127 insertions(+), 23 deletions(-) create mode 100644 home_guardian/opencv/threading.py diff --git a/home_guardian/configuration/thread_pool_configuration.py b/home_guardian/configuration/thread_pool_configuration.py index 3bb223d..912ba70 100644 --- a/home_guardian/configuration/thread_pool_configuration.py +++ b/home_guardian/configuration/thread_pool_configuration.py @@ -5,7 +5,7 @@ from home_guardian.function_collection import get_cpu_count -_max_workers = 2 * get_cpu_count() +_max_workers = get_cpu_count() executor = ThreadPoolExecutor( max_workers=_max_workers, thread_name_prefix="my_thread_pool" ) diff --git a/home_guardian/message/email.py b/home_guardian/message/email.py index 0db3c65..c9ef13f 100644 --- a/home_guardian/message/email.py +++ b/home_guardian/message/email.py @@ -78,10 +78,10 @@ def send_email( message: MIMEMultipart = build_message( subject, receiver, template_name, render_dict, picture_path ) - logger.debug(f"Sending email. receiver: {receiver}") + logger.info(f"Sending email. receiver: {receiver}") try: _smtp.sendmail(_sender, [receiver], message.as_string()) - logger.debug( + logger.info( f"Sent email successfully. Receiver: {receiver}, subject: {subject}, template_name: {template_name}" ) except smtplib.SMTPException: diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index 0743556..46d7419 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -1,15 +1,15 @@ import datetime import os -from time import sleep -# noinspection PyPackageRequirements import cv2.cv2 as cv2 +from cv2.cv2 import CascadeClassifier from loguru import logger from home_guardian.common.debounce_throttle import throttle from home_guardian.configuration.thread_pool_configuration import executor from home_guardian.function_collection import get_data_dir, get_resources_dir from home_guardian.message.email import send_email +from home_guardian.opencv.threading import VideoCaptureThreading from home_guardian.repository.detected_face_repository import save from home_guardian.repository.model.detected_face import DetectedFace @@ -27,34 +27,42 @@ def detect_and_take_photo() -> None: f"{get_resources_dir()}/haarcascade_frontalface_alt2.xml" ) try: - capture = cv2.VideoCapture(0) + capture = VideoCaptureThreading(0).start() except Exception as e: - logger.error("Exception raised while capturing video!", e) + logger.error("Exception raised while starting video capture thread!", e) return while True: - return_value, frame = capture.read() - gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) - faces = face.detectMultiScale(gray) - for (x, y, w, h) in faces: - cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) - save_capture(frame) - if return_value: - cv2.imshow("Capture Window", frame) - if cv2.waitKey(1) & 0xFF == ord("q"): - break - sleep(1) - capture.release() + grabbed, frame = capture.read() + process_frame(face, frame) + if not grabbed: + break + capture.stop() cv2.destroyAllWindows() @throttle(3) -def save_capture(frame) -> None: - logger.debug(f"type of frame: {type(frame)}") - executor.submit(async_save_capture, frame) +def process_frame(cascade_classifier: CascadeClassifier, frame) -> None: + executor.submit(async_process_frame, cascade_classifier, frame) @logger.catch -def async_save_capture(frame) -> None: +def async_process_frame(cascade_classifier: CascadeClassifier, frame) -> None: + gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + faces = cascade_classifier.detectMultiScale(gray_frame) + for (x, y, w, h) in faces: + logger.info( + "Detected face, axis(x,y) = ({},{}), width = {} px, h = {} px", x, y, w, h + ) + cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) + save_frame(frame) + + +def save_frame(frame) -> None: + """ + Save frame. + + :param frame: The frame + """ picture_path = ( f"{_detected_face_dir}" f"/detected_face_{datetime.datetime.now().__str__().replace(':', '_')}.jpeg" diff --git a/home_guardian/opencv/threading.py b/home_guardian/opencv/threading.py new file mode 100644 index 0000000..8ed0450 --- /dev/null +++ b/home_guardian/opencv/threading.py @@ -0,0 +1,96 @@ +from __future__ import annotations + +from threading import Lock, Thread +from typing import Any + +import cv2.cv2 as cv2 +from cv2.cv2 import VideoCapture +from loguru import logger + + +class VideoCaptureThreading: + """ + Class to capture video from a camera or a video file by Python threading. + + Inspired by https://github.com/gilbertfrancois/video-capture-async/blob/master/main/gfd/py/video/capture.py + """ + + def __init__(self, src: int = 0, width: int = 640, height: int = 480): + """ + Initialize the video capture threading object. + + :param src: The source of the video. + :param width: The width of the video. + :param height: The height of the video. + """ + self._thread: Thread = Thread(target=self._thread_loop, args=()) + self._src: int = src + self._video_capture: VideoCapture = VideoCapture(self._src) + self.set(cv2.CAP_PROP_FRAME_WIDTH, width).set(cv2.CAP_PROP_FRAME_HEIGHT, height) + # `_grabbed` is a boolean indicating if the frame is available or not + self._grabbed, self._frame = self._video_capture.read() + self._started = False + self._read_lock = Lock() + + def set(self, property_id: int, value: Any) -> VideoCaptureThreading: + """ + Sets a property in the VideoCapture. + + :param property_id: The property id. + :param value: The value of the property. + :return: self + """ + self._video_capture.set(property_id, value) + return self + + def start(self) -> VideoCaptureThreading: + """ + Start the thread to read frames from the video stream. + + :return: self + """ + if self._started: + logger.warning( + "Threaded video capturing has already been started! Cannot be started again." + ) + return self + self._started = True + self._thread.start() + logger.debug("Started video capture thread. Thread: {}", self._thread) + return self + + def _thread_loop(self): + """ + [Private] Loop over frames from the video stream. + """ + logger.warning("Started video capture loop. Thread: {}", self._thread) + while self._started: + grabbed, frame = self._video_capture.read() + with self._read_lock: + self._grabbed = grabbed + self._frame = frame + logger.warning("Stopped video capture loop. Thread: {}", self._thread) + + def read(self): + """ + Read the frame from the video stream. + + :return: `grabbed` is a boolean indicating if the frame is available or not + """ + with self._read_lock: + grabbed = self._grabbed + frame = self._frame.copy() + return grabbed, frame + + def stop(self): + """ + Stop the thread and release video capture object. + """ + self._started = False + self._thread.join() + + def __exit__(self, exec_type, exc_value, traceback): + """ + Release video capture object + """ + self._video_capture.release() From 4cdbd7a9e6ef63b58854558ebdb933c6a0b08107 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Sat, 13 Nov 2021 17:41:02 +0800 Subject: [PATCH 50/63] refactor: remove unnecessary codes --- home_guardian/opencv/face_detection.py | 13 ++++++------- home_guardian/opencv/threading.py | 2 ++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index 46d7419..c66af5b 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -23,21 +23,20 @@ def detect_and_take_photo() -> None: Detect and take photo. :return: when exception is raised, return None. """ - face = cv2.CascadeClassifier( - f"{get_resources_dir()}/haarcascade_frontalface_alt2.xml" - ) + face = CascadeClassifier(f"{get_resources_dir()}/haarcascade_frontalface_alt2.xml") try: - capture = VideoCaptureThreading(0).start() + video_capture_threading: VideoCaptureThreading = VideoCaptureThreading( + 0 + ).start() except Exception as e: logger.error("Exception raised while starting video capture thread!", e) return while True: - grabbed, frame = capture.read() + grabbed, frame = video_capture_threading.read() process_frame(face, frame) if not grabbed: break - capture.stop() - cv2.destroyAllWindows() + video_capture_threading.stop() @throttle(3) diff --git a/home_guardian/opencv/threading.py b/home_guardian/opencv/threading.py index 8ed0450..e073838 100644 --- a/home_guardian/opencv/threading.py +++ b/home_guardian/opencv/threading.py @@ -31,6 +31,7 @@ def __init__(self, src: int = 0, width: int = 640, height: int = 480): self._grabbed, self._frame = self._video_capture.read() self._started = False self._read_lock = Lock() + logger.warning("Initialized {}", self) def set(self, property_id: int, value: Any) -> VideoCaptureThreading: """ @@ -94,3 +95,4 @@ def __exit__(self, exec_type, exc_value, traceback): Release video capture object """ self._video_capture.release() + logger.warning("Released {}", self) From a19bf5e2b2a98a92e5caa6a7d8a37f5c8e883f26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Sat, 13 Nov 2021 19:43:53 +0800 Subject: [PATCH 51/63] feat($startup): define multiple startup mode identified by runtime arguments --- Dockerfile | 2 +- docker-compose.yml | 2 ++ home_guardian/__main__.py | 15 +++++++++++-- home_guardian/common/startup.py | 22 +++++++++++++++++++ .../configuration/loguru_configuration.py | 4 ++-- 5 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 home_guardian/common/startup.py diff --git a/Dockerfile b/Dockerfile index c4df586..a4a0121 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,4 +33,4 @@ COPY . . # Run the executable ENTRYPOINT ["python", "-m", "home_guardian"] -CMD ["10"] +CMD ["1"] diff --git a/docker-compose.yml b/docker-compose.yml index cd1da7a..3b86ce3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,3 +16,5 @@ services: TZ: Asia/Hong_Kong volumes: - ~/docker-file-mapping/home_guardian:/app/home_guardian/data + command: + - 0 diff --git a/home_guardian/__main__.py b/home_guardian/__main__.py index 9ebcd75..d55053d 100644 --- a/home_guardian/__main__.py +++ b/home_guardian/__main__.py @@ -1,21 +1,32 @@ +import sys + from loguru import logger +from home_guardian.common.startup import StartupMode from home_guardian.configuration.thread_pool_configuration import ( cleanup as thread_pool_cleanup, ) +from home_guardian.message.email import cleanup as email_cleanup from home_guardian.opencv.face_detection import detect_and_take_photo +from home_guardian.opencv.face_training import train_data def _main() -> None: """ Main function. """ + startup_mode = StartupMode.value_of(int(sys.argv[1])) + logger.info(f"startup_mode: {startup_mode}") try: - detect_and_take_photo() + if startup_mode == StartupMode.NORMAL: + detect_and_take_photo() + elif startup_mode == StartupMode.TRAIN: + logger.info("Training data") + train_data() finally: - # Cleanup procedures logger.warning("Cleaning up…") thread_pool_cleanup() + email_cleanup() if __name__ == "__main__": diff --git a/home_guardian/common/startup.py b/home_guardian/common/startup.py new file mode 100644 index 0000000..39dc299 --- /dev/null +++ b/home_guardian/common/startup.py @@ -0,0 +1,22 @@ +from __future__ import annotations + +from enum import Enum, unique + + +@unique +class StartupMode(Enum): + """ + StartupMode is an enumeration of possible startup modes. + """ + + # Detect and inspect + NORMAL = 0 + # Train data + TRAIN = 1 + + @staticmethod + def value_of(value: int) -> StartupMode: + for member in StartupMode: + if member.value == value: + return member + raise ValueError(f"Unknown startup mode: {value}") diff --git a/home_guardian/configuration/loguru_configuration.py b/home_guardian/configuration/loguru_configuration.py index a9a2ab2..ede94cf 100644 --- a/home_guardian/configuration/loguru_configuration.py +++ b/home_guardian/configuration/loguru_configuration.py @@ -15,7 +15,7 @@ ) # Remove a previously added handler and stop sending logs to its sink. logger.remove(handler_id=None) -# Set up logging +# Set up logging for log file _log_file = get_data_dir() + "/logs/home_guardian.{time}.log" log_level = application_conf.get_string("log_level") logger.add( @@ -30,7 +30,7 @@ compression="gz", serialize=False, ) -# Override the default stderr +# Override the default stderr (console) logger.add(sys.stderr, level=log_level, format=_message_format) From 9fd983d5851aed81769cc82451de3ec1b1016c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 17 Nov 2021 02:20:37 +0800 Subject: [PATCH 52/63] feat($OpenCV): support face training and recognition support face training and recognition BREAKING CHANGE: support face training and recognition --- Pipfile | 3 + Pipfile.lock | 119 +++++++++++++++--- home_guardian/common/debounce_throttle.py | 2 - home_guardian/function_collection.py | 7 ++ home_guardian/opencv/face_detection.py | 37 ++++-- home_guardian/opencv/face_training.py | 56 +++++++++ .../repository/model/trained_face.py | 18 +++ .../repository/trained_face_repository.py | 33 +++++ 8 files changed, 248 insertions(+), 27 deletions(-) create mode 100644 home_guardian/opencv/face_training.py create mode 100644 home_guardian/repository/model/trained_face.py create mode 100644 home_guardian/repository/trained_face_repository.py diff --git a/Pipfile b/Pipfile index 9ded088..cc5c504 100644 --- a/Pipfile +++ b/Pipfile @@ -10,8 +10,11 @@ python_version = "3.10" peewee = "==3.14.8" loguru = "==0.5.3" opencv-python-headless = "==4.5.4.58" +opencv-contrib-python-headless = "==4.5.4.58" pyhocon = "==0.3.58" jinja2 = "==3.0.3" +numpy= "==1.21.4" +pillow = "==8.4.0" [dev-packages] black = "==20.8b1" diff --git a/Pipfile.lock b/Pipfile.lock index 0bbfbb3..e69e105 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "7a90b0747fe5c13ccfce8cd62ab72019a759a9cb2f5ad5add8872c9bb5b3d4c6" + "sha256": "3b777d9795b0865f38c0d26a6bba7036a4f386d462b16d5f44e9f47b35a4ae12" }, "pipfile-spec": 6, "requires": { @@ -140,9 +140,45 @@ "sha256:f5162ec777ba7138906c9c274353ece5603646c6965570d82905546579573f73", "sha256:fde96af889262e85aa033f8ee1d3241e32bf36228318a61f1ace579df4e8170d" ], - "markers": "python_version < '3.11' and python_version >= '3.7'", + "index": "pypi", "version": "==1.21.4" }, + "opencv-contrib-python-headless": { + "hashes": [ + "sha256:25cb8a1df67f092ed3e7005ac1d871a65f4b20f949563345aa75be4aaae657e7", + "sha256:26085002cfbc90b1a5442132845d2fe871d60385501e94dc9db4d24ac643576d", + "sha256:2668fe81575128137fcedd6170db5fc992a31b321f6c633d1cb6de679c83e5bc", + "sha256:2e804d85096b1e9a02a1493fdeb0daf642e906db05fe791fbace81a8e3a213e8", + "sha256:312b497858cf73aa83e379498126d3afe87f1e728ab11445a12437261b47d233", + "sha256:339dd521fd2ed3175ce42563fbdd51ed849045d3c02a5ed6135b74c875c86105", + "sha256:428822a975615357faf9e9ca337e41eeb03e352696f8caccc88336ba4859da12", + "sha256:42eefb8eb7db8fda5a8b766673892fcad79e0810d8443184dda79b563312d466", + "sha256:430fd467d0e47d1e105fc2cf8e6daf792393cdb70f5d3d461542e61d0a2d2998", + "sha256:4c2b9ed1e68ac94ce648ff9644dad7cdfecf10f9955bf8486b0c3a1925a0f526", + "sha256:4f73e33fc012fca882a98c9ef2aa264f8f7aa3b30f84ae6cf32fbea30f0035c3", + "sha256:6432409ebb951689f5eb934b15578c74132c12c4cb088a6a159451274a11bdaf", + "sha256:644087373dc8bce2ccea37af2352b0bbd223521e30b4429d86d73ada59883fdf", + "sha256:76e20fbcb06a1ecf6308cf1a2554b578f37eec4de96a6d904b16843c8da0450e", + "sha256:7cd158c61ab0a2628d075930b37150e8009a5994b43d29b8a2fed284f20ab834", + "sha256:7dee937d1be11fbce10bcea79a11cce5f95c8017d256505dcfd2cdd9db006375", + "sha256:837749be5f2fdee4bb6296b840d1eb1ca46b29485889227e8e55d5b2ac3e852f", + "sha256:87c9ff955844e02bd838c39752c53a7046a7d99a87ec69b5e878ce87eb7e5a6e", + "sha256:9dd855e2694d564d91004193274f9b80990ff74cd9ed04ec230907162c1e7aea", + "sha256:a4a3685c7fe56295be2e60bd27031a0f8ec886dc5a952b73755eea1cd7358a46", + "sha256:bad63187e62afdf2eda9d191f8fd3c48ebeeebd263834221eb551cdd4f929705", + "sha256:c4f7348aa0d198774e658e190b03d7bb53569dfe42fea393ec0d9f7d60e3a9a5", + "sha256:d4b8ae7c831a6a5ab4e3e3f5ac20d45d2d5c81af9c58ac3bd7e6e3caa76befa7", + "sha256:d748922b24d3aa06ee48ee435af12a445c5bdcee7b0d5b0c1d2d543a2bd7cbe4", + "sha256:da467451dad776e15a4eaee35dcb2ac520de5d25875463e0e22923027c98038e", + "sha256:e0968af211f8a34afe9eeeb8d210c25461a9ba2310306ee9e7cb6c6afdba9c6b", + "sha256:e62cd3ad76154eb319224c05aeda9111711637392f4adbf8572b709948034273", + "sha256:e90e1f23a6353c8e32007a75121d77c8049191292bf85e5d3e7896d3132368d3", + "sha256:edec79850de396a22478089fc535949477a44fba19e227fba9b922006acf31c4", + "sha256:ff2c2abc3211aa8f0bf848abf8fc0ae1972810016149265216b1a15361a45c8a" + ], + "index": "pypi", + "version": "==4.5.4.58" + }, "opencv-python-headless": { "hashes": [ "sha256:014e4a892f67043610521e673883da5ad98a6e61356a609c6502b9d22144f2f1", @@ -186,6 +222,53 @@ "index": "pypi", "version": "==3.14.8" }, + "pillow": { + "hashes": [ + "sha256:066f3999cb3b070a95c3652712cffa1a748cd02d60ad7b4e485c3748a04d9d76", + "sha256:0a0956fdc5defc34462bb1c765ee88d933239f9a94bc37d132004775241a7585", + "sha256:0b052a619a8bfcf26bd8b3f48f45283f9e977890263e4571f2393ed8898d331b", + "sha256:1394a6ad5abc838c5cd8a92c5a07535648cdf6d09e8e2d6df916dfa9ea86ead8", + "sha256:1bc723b434fbc4ab50bb68e11e93ce5fb69866ad621e3c2c9bdb0cd70e345f55", + "sha256:244cf3b97802c34c41905d22810846802a3329ddcb93ccc432870243211c79fc", + "sha256:25a49dc2e2f74e65efaa32b153527fc5ac98508d502fa46e74fa4fd678ed6645", + "sha256:2e4440b8f00f504ee4b53fe30f4e381aae30b0568193be305256b1462216feff", + "sha256:3862b7256046fcd950618ed22d1d60b842e3a40a48236a5498746f21189afbbc", + "sha256:3eb1ce5f65908556c2d8685a8f0a6e989d887ec4057326f6c22b24e8a172c66b", + "sha256:3f97cfb1e5a392d75dd8b9fd274d205404729923840ca94ca45a0af57e13dbe6", + "sha256:493cb4e415f44cd601fcec11c99836f707bb714ab03f5ed46ac25713baf0ff20", + "sha256:4acc0985ddf39d1bc969a9220b51d94ed51695d455c228d8ac29fcdb25810e6e", + "sha256:5503c86916d27c2e101b7f71c2ae2cddba01a2cf55b8395b0255fd33fa4d1f1a", + "sha256:5b7bb9de00197fb4261825c15551adf7605cf14a80badf1761d61e59da347779", + "sha256:5e9ac5f66616b87d4da618a20ab0a38324dbe88d8a39b55be8964eb520021e02", + "sha256:620582db2a85b2df5f8a82ddeb52116560d7e5e6b055095f04ad828d1b0baa39", + "sha256:62cc1afda735a8d109007164714e73771b499768b9bb5afcbbee9d0ff374b43f", + "sha256:70ad9e5c6cb9b8487280a02c0ad8a51581dcbbe8484ce058477692a27c151c0a", + "sha256:72b9e656e340447f827885b8d7a15fc8c4e68d410dc2297ef6787eec0f0ea409", + "sha256:72cbcfd54df6caf85cc35264c77ede902452d6df41166010262374155947460c", + "sha256:792e5c12376594bfcb986ebf3855aa4b7c225754e9a9521298e460e92fb4a488", + "sha256:7b7017b61bbcdd7f6363aeceb881e23c46583739cb69a3ab39cb384f6ec82e5b", + "sha256:81f8d5c81e483a9442d72d182e1fb6dcb9723f289a57e8030811bac9ea3fef8d", + "sha256:82aafa8d5eb68c8463b6e9baeb4f19043bb31fefc03eb7b216b51e6a9981ae09", + "sha256:84c471a734240653a0ec91dec0996696eea227eafe72a33bd06c92697728046b", + "sha256:8c803ac3c28bbc53763e6825746f05cc407b20e4a69d0122e526a582e3b5e153", + "sha256:93ce9e955cc95959df98505e4608ad98281fff037350d8c2671c9aa86bcf10a9", + "sha256:9a3e5ddc44c14042f0844b8cf7d2cd455f6cc80fd7f5eefbe657292cf601d9ad", + "sha256:a4901622493f88b1a29bd30ec1a2f683782e57c3c16a2dbc7f2595ba01f639df", + "sha256:a5a4532a12314149d8b4e4ad8ff09dde7427731fcfa5917ff16d0291f13609df", + "sha256:b8831cb7332eda5dc89b21a7bce7ef6ad305548820595033a4b03cf3091235ed", + "sha256:b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed", + "sha256:c70e94281588ef053ae8998039610dbd71bc509e4acbc77ab59d7d2937b10698", + "sha256:c8a17b5d948f4ceeceb66384727dde11b240736fddeda54ca740b9b8b1556b29", + "sha256:d82cdb63100ef5eedb8391732375e6d05993b765f72cb34311fab92103314649", + "sha256:d89363f02658e253dbd171f7c3716a5d340a24ee82d38aab9183f7fdf0cdca49", + "sha256:d99ec152570e4196772e7a8e4ba5320d2d27bf22fdf11743dd882936ed64305b", + "sha256:ddc4d832a0f0b4c52fff973a0d44b6c99839a9d016fe4e6a1cb8f3eea96479c2", + "sha256:e3dacecfbeec9a33e932f00c6cd7996e62f53ad46fbe677577394aaa90ee419a", + "sha256:eb9fc393f3c61f9054e1ed26e6fe912c7321af2f41ff49d3f83d05bacf22cc78" + ], + "index": "pypi", + "version": "==8.4.0" + }, "pyhocon": { "hashes": [ "sha256:9639e29069dd67c31a7afb14ec972c68765ddee3439b43f6b08f25f4371b6209" @@ -195,11 +278,11 @@ }, "pyparsing": { "hashes": [ - "sha256:4881e3d2979f27b41a3a2421b10be9cbfa7ce2baa6c7117952222f8bbea6650c", - "sha256:9329d1c1b51f0f76371c4ded42c5ec4cc0be18456b22193e0570c2da98ed288b" + "sha256:04ff808a5b90911829c55c4e26f75fa5ca8a2f5f36aa3a51f68e27033341d3e4", + "sha256:d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81" ], "markers": "python_version >= '3.6'", - "version": "==3.0.5" + "version": "==3.0.6" } }, "develop": { @@ -314,11 +397,11 @@ }, "filelock": { "hashes": [ - "sha256:7afc856f74fa7006a289fd10fa840e1eebd8bbff6bffb69c26c54a0512ea8cf8", - "sha256:bb2a1c717df74c48a2d00ed625e5a66f8572a3a30baacb7657add1d7bac4097b" + "sha256:2e139a228bcf56dd8b2274a65174d005c4a6b68540ee0bdbb92c76f43f29f7e8", + "sha256:93d512b32a23baf4cac44ffd72ccf70732aeff7b8050fcaf6d3ec406d954baf4" ], "markers": "python_version >= '3.6'", - "version": "==3.3.2" + "version": "==3.4.0" }, "flake8": { "hashes": [ @@ -330,11 +413,11 @@ }, "identify": { "hashes": [ - "sha256:6f0368ba0f21c199645a331beb7425d5374376e71bc149e9cb55e45cb45f832d", - "sha256:ba945bddb4322394afcf3f703fa68eda08a6acc0f99d9573eb2be940aa7b9bba" + "sha256:4f85f9bd8e6e5e2d61b2f8de5ff5313d8a1cfac4c88822d74406de45ad10bd82", + "sha256:8cb609a671d2f861ae7fe583711a43fd2faab0c892f39cbc4568b0c51b354238" ], "markers": "python_full_version >= '3.6.1'", - "version": "==2.3.5" + "version": "==2.3.6" }, "iniconfig": { "hashes": [ @@ -466,11 +549,11 @@ }, "pyparsing": { "hashes": [ - "sha256:4881e3d2979f27b41a3a2421b10be9cbfa7ce2baa6c7117952222f8bbea6650c", - "sha256:9329d1c1b51f0f76371c4ded42c5ec4cc0be18456b22193e0570c2da98ed288b" + "sha256:04ff808a5b90911829c55c4e26f75fa5ca8a2f5f36aa3a51f68e27033341d3e4", + "sha256:d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81" ], "markers": "python_version >= '3.6'", - "version": "==3.0.5" + "version": "==3.0.6" }, "pytest": { "hashes": [ @@ -631,11 +714,11 @@ }, "typing-extensions": { "hashes": [ - "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e", - "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7", - "sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34" + "sha256:2cdf80e4e04866a9b3689a51869016d36db0814d84b8d8a568d22781d45d27ed", + "sha256:829704698b22e13ec9eaf959122315eabb370b0884400e9818334d8b677023d9" ], - "version": "==3.10.0.2" + "markers": "python_version >= '3.6'", + "version": "==4.0.0" }, "virtualenv": { "hashes": [ diff --git a/home_guardian/common/debounce_throttle.py b/home_guardian/common/debounce_throttle.py index 4abe73e..6092bf3 100644 --- a/home_guardian/common/debounce_throttle.py +++ b/home_guardian/common/debounce_throttle.py @@ -110,12 +110,10 @@ def throttled(*args, **kwargs): now = time() # 若未到下一次许可调用的时间,直接返回 if next_t.get() > now: - logger.debug(f"Skipped throttled call, function: {fn}") return # 更新下一次许可调用的时间 next_t.set(now + interval) # 调用函数并返回 - logger.debug(f"Called throttled function: {fn}") return fn(*args, **kwargs) return throttled diff --git a/home_guardian/function_collection.py b/home_guardian/function_collection.py index d29ded9..150b9e6 100644 --- a/home_guardian/function_collection.py +++ b/home_guardian/function_collection.py @@ -26,6 +26,13 @@ def get_resources_dir() -> str: return f"{get_root_path()}/resources" +def get_training_datasets_dir() -> str: + """ + Get the training datasets directory of the project. + """ + return f"{get_data_dir()}/training_datasets" + + def get_cpu_count() -> int: """ Get CPU count, default is 4 diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index c66af5b..7613d1b 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -12,6 +12,8 @@ from home_guardian.opencv.threading import VideoCaptureThreading from home_guardian.repository.detected_face_repository import save from home_guardian.repository.model.detected_face import DetectedFace +from home_guardian.repository.model.trained_face import TrainedFace +from home_guardian.repository.trained_face_repository import get_by_id _detected_face_dir = f"{get_data_dir()}/detection" os.makedirs(_detected_face_dir, exist_ok=True) @@ -25,18 +27,20 @@ def detect_and_take_photo() -> None: """ face = CascadeClassifier(f"{get_resources_dir()}/haarcascade_frontalface_alt2.xml") try: - video_capture_threading: VideoCaptureThreading = VideoCaptureThreading( - 0 - ).start() + vid_cap: VideoCaptureThreading = VideoCaptureThreading(0).start() except Exception as e: logger.error("Exception raised while starting video capture thread!", e) return while True: - grabbed, frame = video_capture_threading.read() - process_frame(face, frame) + grabbed, frame = vid_cap.read() + cv2.imshow("Capture", frame) + if cv2.waitKey(1) & 0xFF == ord("q"): + break if not grabbed: break - video_capture_threading.stop() + process_frame(face, frame) + vid_cap.stop() + cv2.destroyAllWindows() @throttle(3) @@ -47,11 +51,30 @@ def process_frame(cascade_classifier: CascadeClassifier, frame) -> None: @logger.catch def async_process_frame(cascade_classifier: CascadeClassifier, frame) -> None: gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) - faces = cascade_classifier.detectMultiScale(gray_frame) + faces = cascade_classifier.detectMultiScale( + gray_frame, scaleFactor=1.5, minNeighbors=5 + ) for (x, y, w, h) in faces: logger.info( "Detected face, axis(x,y) = ({},{}), width = {} px, h = {} px", x, y, w, h ) + _recognizer = cv2.face.LBPHFaceRecognizer_create() + _recognizer.read(f"{get_data_dir()}/trainer.yml") + # recognize? deep learned model predict keras tensorflow pytorch scikit learn + label, confidence = _recognizer.predict(gray_frame) + if 4 <= confidence <= 85: + trained_face: TrainedFace = get_by_id(_id=label) + if trained_face is not None: + text: str = trained_face.username + else: + text: str = "Unknown" + logger.info( + f"Recognized face. Label: {label}, confidence: {confidence}, text: {text}" + ) + font = cv2.FONT_HERSHEY_SIMPLEX + color = (255, 255, 255) + stroke = 2 + cv2.putText(frame, text, (x, y), font, 1, color, stroke, cv2.LINE_AA) cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) save_frame(frame) diff --git a/home_guardian/opencv/face_training.py b/home_guardian/opencv/face_training.py new file mode 100644 index 0000000..0debbf0 --- /dev/null +++ b/home_guardian/opencv/face_training.py @@ -0,0 +1,56 @@ +import os +from typing import Any + +import cv2.cv2 as cv2 +import numpy as np +from loguru import logger +from PIL import Image + +from home_guardian.function_collection import ( + get_data_dir, + get_resources_dir, + get_training_datasets_dir, +) +from home_guardian.repository.model.trained_face import TrainedFace +from home_guardian.repository.trained_face_repository import save_or_update + + +def _get_face_features_and_labels() -> tuple[list[np.ndarray], list]: + detector = cv2.CascadeClassifier( + f"{get_resources_dir()}/haarcascade_frontalface_alt2.xml" + ) + datasets_path: str = get_training_datasets_dir() + logger.info(f"Face training datasets path: {datasets_path}") + image_paths: list[str] = [ + os.path.join(datasets_path, f) for f in os.listdir(datasets_path) + ] + face_features: list[np.ndarray] = [] + labels: list[Any] = [] + for image_path in image_paths: + for root, dirs, files in os.walk(image_path): + for file in files: + path: str = os.path.join(root, file) + # convert it to grayscale + img: Image = Image.open(path).convert("L") + img_numpy: np.ndarray = np.array(img, "uint8") + username: str = os.path.split(image_paths[0])[-1] + trained_face: TrainedFace = save_or_update(username) + logger.info( + f"Getting face features with the username: {username}, id: {trained_face}" + ) + face_array = detector.detectMultiScale( + img_numpy, scaleFactor=1.5, minNeighbors=5 + ) + for (x, y, w, h) in face_array: + face_features.append(img_numpy[y : y + h, x : x + w]) + labels.append(trained_face.get_id()) + return face_features, labels + + +def train_data() -> None: + recognizer = cv2.face.LBPHFaceRecognizer_create() + logger.info("Training faces. It will take a few seconds. Wait...") + face_features, labels = _get_face_features_and_labels() + recognizer.train(face_features, np.array(labels)) + recognizer.save(f"{get_data_dir()}/trainer.yml") + logger.info(f"{len(np.unique(labels))} faces trained.") diff --git a/home_guardian/repository/model/trained_face.py b/home_guardian/repository/model/trained_face.py new file mode 100644 index 0000000..282eca5 --- /dev/null +++ b/home_guardian/repository/model/trained_face.py @@ -0,0 +1,18 @@ +from datetime import datetime + +from peewee import CharField, DateTimeField + +from home_guardian.repository.model.base.model import BaseModel, database + + +class TrainedFace(BaseModel): + """ + TrainedFace model + """ + + username = CharField(unique=True, max_length=50) + created_time = DateTimeField(default=datetime.now) + modified_time = DateTimeField(null=True, default=datetime.now) + + +database.create_tables([TrainedFace]) diff --git a/home_guardian/repository/trained_face_repository.py b/home_guardian/repository/trained_face_repository.py new file mode 100644 index 0000000..2def5f9 --- /dev/null +++ b/home_guardian/repository/trained_face_repository.py @@ -0,0 +1,33 @@ +from datetime import datetime + +from loguru import logger + +from home_guardian.repository.model.trained_face import TrainedFace + + +@logger.catch +def save_or_update(username: str) -> TrainedFace: + """ + Save or update a trained face. + :param username: The username of the trained face. + :return: a new trained face. + """ + trained_face: TrainedFace = TrainedFace(username=username) + try: + trained_face.save() + except Exception as e: + logger.warning(f"Exception occurred while saving trained face. {e}") + trained_face.update({TrainedFace.modified_time: datetime.now()}).where( + TrainedFace.username == username + ).execute() + trained_face = TrainedFace.get_or_none(TrainedFace.username == username) + return trained_face + + +def get_by_id(_id: int) -> TrainedFace: + """ + Get a trained face by id. + :param _id: The id of the trained face. + :return: a trained face. + """ + return TrainedFace.get_by_id(_id) From f41f08650af04334b366c2e44db9e4183465c683 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 17 Nov 2021 02:31:35 +0800 Subject: [PATCH 53/63] refactor($type): correct variable declaration Name "text" already defined on line 68 --- home_guardian/opencv/face_detection.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index 7613d1b..8b5c15c 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -6,6 +6,7 @@ from loguru import logger from home_guardian.common.debounce_throttle import throttle +from home_guardian.configuration.application_configuration import application_conf from home_guardian.configuration.thread_pool_configuration import executor from home_guardian.function_collection import get_data_dir, get_resources_dir from home_guardian.message.email import send_email @@ -19,6 +20,8 @@ os.makedirs(_detected_face_dir, exist_ok=True) logger.warning(f"Made the directory, _detected_face_dir: {_detected_face_dir}") +_headless: bool = application_conf.get_bool("headless") + def detect_and_take_photo() -> None: """ @@ -33,9 +36,10 @@ def detect_and_take_photo() -> None: return while True: grabbed, frame = vid_cap.read() - cv2.imshow("Capture", frame) - if cv2.waitKey(1) & 0xFF == ord("q"): - break + if _headless: + cv2.imshow("Capture", frame) + if cv2.waitKey(1) & 0xFF == ord("q"): + break if not grabbed: break process_frame(face, frame) @@ -64,10 +68,11 @@ def async_process_frame(cascade_classifier: CascadeClassifier, frame) -> None: label, confidence = _recognizer.predict(gray_frame) if 4 <= confidence <= 85: trained_face: TrainedFace = get_by_id(_id=label) + text: str if trained_face is not None: - text: str = trained_face.username + text = trained_face.username else: - text: str = "Unknown" + text = "Unknown" logger.info( f"Recognized face. Label: {label}, confidence: {confidence}, text: {text}" ) From b3097eb6fee51a00f7fc2daee954634ac027b757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 17 Nov 2021 02:35:47 +0800 Subject: [PATCH 54/63] feat($OpenCV): tell headless or not If so, window will not show BREAKING CHANGE: if it's not headless, show capture window --- docker-compose.yml | 1 + home_guardian/resources/application.conf | 1 + 2 files changed, 2 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 3b86ce3..46026cc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,6 +13,7 @@ services: environment: MAIL_USERNAME: "DEFAULT_MAIL_USERNAME" MAIL_PASSWORD: "DEFAULT_MAIL_PASSWORD" + HEADLESS: true TZ: Asia/Hong_Kong volumes: - ~/docker-file-mapping/home_guardian:/app/home_guardian/data diff --git a/home_guardian/resources/application.conf b/home_guardian/resources/application.conf index cacb85e..f37541f 100644 --- a/home_guardian/resources/application.conf +++ b/home_guardian/resources/application.conf @@ -1,6 +1,7 @@ { log_level = "INFO" log_level = ${?LOG_LEVEL} + headless = ${HEADLESS} email { mail_host = "smtp.tom.com" mail_port = 25 From f13227fc1c3445d6c346e8f8922ee0440e75858b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 17 Nov 2021 10:21:29 +0800 Subject: [PATCH 55/63] refactor($conf): application default is headless --- home_guardian/opencv/face_detection.py | 2 +- home_guardian/resources/application.conf | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index 8b5c15c..bf1f899 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -36,7 +36,7 @@ def detect_and_take_photo() -> None: return while True: grabbed, frame = vid_cap.read() - if _headless: + if not _headless: cv2.imshow("Capture", frame) if cv2.waitKey(1) & 0xFF == ord("q"): break diff --git a/home_guardian/resources/application.conf b/home_guardian/resources/application.conf index f37541f..b53233b 100644 --- a/home_guardian/resources/application.conf +++ b/home_guardian/resources/application.conf @@ -1,7 +1,8 @@ { log_level = "INFO" log_level = ${?LOG_LEVEL} - headless = ${HEADLESS} + headless = true + headless = ${?HEADLESS} email { mail_host = "smtp.tom.com" mail_port = 25 From a0c818eb461f4367dff96fa6d0272fadd8f328c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 17 Nov 2021 11:16:18 +0800 Subject: [PATCH 56/63] perf($OpenCV): read embedded xml resource --- home_guardian/opencv/face_detection.py | 14 +- .../haarcascade_frontalface_alt2.xml | 20719 ---------------- 2 files changed, 9 insertions(+), 20724 deletions(-) delete mode 100644 home_guardian/resources/haarcascade_frontalface_alt2.xml diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index bf1f899..31dca5b 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -3,12 +3,13 @@ import cv2.cv2 as cv2 from cv2.cv2 import CascadeClassifier +from cv2.data import haarcascades from loguru import logger from home_guardian.common.debounce_throttle import throttle from home_guardian.configuration.application_configuration import application_conf from home_guardian.configuration.thread_pool_configuration import executor -from home_guardian.function_collection import get_data_dir, get_resources_dir +from home_guardian.function_collection import get_data_dir from home_guardian.message.email import send_email from home_guardian.opencv.threading import VideoCaptureThreading from home_guardian.repository.detected_face_repository import save @@ -22,13 +23,18 @@ _headless: bool = application_conf.get_bool("headless") +_haarcascade_frontalface_default = os.path.join( + haarcascades, "haarcascade_frontalface_default.xml" +) +logger.warning(f"_haarcascade_frontalface_default: {_haarcascade_frontalface_default}") + def detect_and_take_photo() -> None: """ Detect and take photo. :return: when exception is raised, return None. """ - face = CascadeClassifier(f"{get_resources_dir()}/haarcascade_frontalface_alt2.xml") + face = CascadeClassifier(_haarcascade_frontalface_default) try: vid_cap: VideoCaptureThreading = VideoCaptureThreading(0).start() except Exception as e: @@ -55,9 +61,7 @@ def process_frame(cascade_classifier: CascadeClassifier, frame) -> None: @logger.catch def async_process_frame(cascade_classifier: CascadeClassifier, frame) -> None: gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) - faces = cascade_classifier.detectMultiScale( - gray_frame, scaleFactor=1.5, minNeighbors=5 - ) + faces = cascade_classifier.detectMultiScale(gray_frame) for (x, y, w, h) in faces: logger.info( "Detected face, axis(x,y) = ({},{}), width = {} px, h = {} px", x, y, w, h diff --git a/home_guardian/resources/haarcascade_frontalface_alt2.xml b/home_guardian/resources/haarcascade_frontalface_alt2.xml deleted file mode 100644 index b49cf5d..0000000 --- a/home_guardian/resources/haarcascade_frontalface_alt2.xml +++ /dev/null @@ -1,20719 +0,0 @@ - - - -BOOST - HAAR - 20 - 20 - - 109 - - 0 - 20 - - <_> - 3 - 3.5069230198860168e-01 - - <_> - - 0 1 0 4.3272329494357109e-03 -1 -2 1 1.3076160103082657e-02 - - 3.8381900638341904e-02 8.9652568101882935e-01 - 2.6293140649795532e-01 - <_> - - 0 1 2 5.2434601821005344e-04 -1 -2 3 4.4573000632226467e-03 - - 1.0216630250215530e-01 1.2384019792079926e-01 - 6.9103831052780151e-01 - <_> - - 1 0 4 -9.2708261217921972e-04 -1 -2 5 3.3989109215326607e-04 - - 1.9536970555782318e-01 2.1014410257339478e-01 - 8.2586747407913208e-01 - <_> - 9 - 3.4721779823303223e+00 - - <_> - - 0 1 6 2.3025739938020706e-03 -1 -2 7 4.4174338690936565e-03 - - 1.0183759778738022e-01 8.2190579175949097e-01 - 1.9565549492835999e-01 - <_> - - 0 1 8 2.2203210741281509e-02 -1 -2 9 -1.7283110355492681e-04 - - 2.2054070234298706e-01 7.3263257741928101e-02 - 5.9314841032028198e-01 - <_> - - 0 1 10 4.3567270040512085e-03 -1 -2 11 - -2.6032889727503061e-03 - - 1.8441149592399597e-01 4.0322139859199524e-01 - 8.0665212869644165e-01 - <_> - - 0 1 12 1.7309630056843162e-03 -1 -2 13 - -7.8146401792764664e-03 - - 2.5483280420303345e-01 6.0570698976516724e-01 - 2.7790638804435730e-01 - <_> - - 0 1 14 -8.7343417108058929e-03 -1 -2 15 - 9.4522320432588458e-04 - - 2.8899800777435303e-01 7.6165872812271118e-01 - 3.4956431388854980e-01 - <_> - - 1 0 16 4.9414858222007751e-02 -1 -2 17 - 4.4891750440001488e-03 - - 8.1516528129577637e-01 2.8087830543518066e-01 - 6.0277748107910156e-01 - <_> - - 1 0 18 6.0313619673252106e-02 -1 -2 19 - -1.0762850288301706e-03 - - 7.6075017452239990e-01 4.4440358877182007e-01 - 1.4373120665550232e-01 - <_> - - 1 0 20 -9.5083238556981087e-03 -1 -2 21 - 7.6601309701800346e-03 - - 5.3181701898574829e-01 5.4110521078109741e-01 - 2.1806870400905609e-01 - <_> - - 1 0 22 7.6467678882181644e-03 -1 -2 23 - -8.4662932204082608e-04 - - 1.1589600145816803e-01 2.3406790196895599e-01 - 5.9903818368911743e-01 - <_> - 14 - 5.9844889640808105e+00 - - <_> - - 1 0 24 -4.8506218008697033e-03 -1 -2 25 - -4.6141650527715683e-03 - - 1.8054960668087006e-01 2.1778939664363861e-01 - 8.0182367563247681e-01 - <_> - - 0 1 26 -2.4301309604197741e-03 -1 -2 27 - 4.1787960799410939e-04 - - 1.1413549631834030e-01 1.2030939757823944e-01 - 6.1085307598114014e-01 - <_> - - 0 1 28 1.0010929545387626e-03 -1 -2 29 - 1.0577100329101086e-03 - - 2.0799599587917328e-01 3.3020541071891785e-01 - 7.5110942125320435e-01 - <_> - - 1 0 30 1.2376549420878291e-03 -1 -2 31 - 3.5315038985572755e-04 - - 2.7682220935821533e-01 1.6682930290699005e-01 - 5.8294767141342163e-01 - <_> - - 0 1 32 -1.1953660286962986e-02 -1 -2 33 - 1.4182999730110168e-03 - - 1.5087880194187164e-01 4.3912279605865479e-01 - 7.6465952396392822e-01 - <_> - - 1 0 34 3.4642980899661779e-03 -1 -2 35 - -1.4948950149118900e-02 - - 2.6515561342239380e-01 2.2980530560016632e-01 - 5.4421657323837280e-01 - <_> - - 1 0 36 -1.0506849503144622e-03 -1 -2 37 - -4.0782918222248554e-03 - - 3.6228439211845398e-01 2.6012599468231201e-01 - 7.2336578369140625e-01 - <_> - - 0 1 38 5.4242828628048301e-04 -1 -2 39 - -7.3204059153795242e-03 - - 3.8496789336204529e-01 2.9655128717422485e-01 - 5.4803091287612915e-01 - <_> - - 0 1 40 1.1421289527788758e-03 -1 -2 41 - 1.1783400550484657e-03 - - 4.1047701239585876e-01 7.2390240430831909e-01 - 2.7872839570045471e-01 - <_> - - 0 1 42 4.4077109545469284e-02 -1 -2 43 - 3.7900090683251619e-03 - - 5.6405162811279297e-01 5.9475481510162354e-01 - 3.3120200037956238e-01 - <_> - - 0 1 44 -2.4291418958455324e-03 -1 -2 45 - 9.4262324273586273e-03 - - 6.6032320261001587e-01 4.6806651353836060e-01 - 2.0643380284309387e-01 - <_> - - 0 1 46 8.0630257725715637e-03 -1 -2 47 - 5.2240812219679356e-03 - - 5.2988511323928833e-01 5.2816027402877808e-01 - 1.9095499813556671e-01 - <_> - - 0 1 48 -7.0630568079650402e-03 -1 -2 49 - 5.6897541508078575e-03 - - 1.3806459307670593e-01 5.4906368255615234e-01 - 1.2602810561656952e-01 - <_> - - 0 1 50 1.2472929665818810e-03 -1 -2 51 - 4.9543488770723343e-02 - - 2.3726630210876465e-01 5.2401661872863770e-01 - 1.7692160606384277e-01 - <_> - 19 - 8.5117864608764648e+00 - - <_> - - 1 0 52 -4.9326149746775627e-03 -1 -2 53 - 2.7918140403926373e-05 - - 1.9980649650096893e-01 2.2993800044059753e-01 - 7.3932111263275146e-01 - <_> - - 1 0 54 3.0876200180500746e-03 -1 -2 55 - 7.4669660534709692e-06 - - 1.5338400006294250e-01 2.0368589460849762e-01 - 5.8549159765243530e-01 - <_> - - 0 1 56 1.8739729421213269e-03 -1 -2 57 - 9.3380251200869679e-04 - - 2.0498959720134735e-01 3.2341998815536499e-01 - 7.3230141401290894e-01 - <_> - - 0 1 58 1.9151850137859583e-03 -1 -2 59 - -5.9683797881007195e-03 - - 3.0451491475105286e-01 2.9321339726448059e-01 - 5.6212961673736572e-01 - <_> - - 0 1 60 -7.2115601506084204e-04 -1 -2 61 - -5.9663117863237858e-03 - - 3.6580368876457214e-01 2.7121558785438538e-01 - 7.2263348102569580e-01 - <_> - - 0 1 62 3.0874179676175117e-02 -1 -2 63 - -1.1099710129201412e-02 - - 4.4198378920555115e-01 3.6129769682884216e-01 - 5.2514511346817017e-01 - <_> - - 0 1 64 2.1164179779589176e-03 -1 -2 65 - -9.4317439943552017e-03 - - 3.6286169290542603e-01 1.6010950505733490e-01 - 7.0522767305374146e-01 - <_> - - 0 1 66 -3.5266019403934479e-03 -1 -2 67 - -1.6907559474930167e-03 - - 1.3012880086898804e-01 1.7863239347934723e-01 - 5.5215299129486084e-01 - <_> - - 0 1 68 4.6470930101349950e-04 -1 -2 69 - -1.0215570218861103e-02 - - 3.4873831272125244e-01 2.6739910244941711e-01 - 6.6679191589355469e-01 - <_> - - 1 0 70 1.2634709710255265e-03 -1 -2 71 - -1.1875299736857414e-02 - - 3.4378638863563538e-01 5.9953361749649048e-01 - 3.4977179765701294e-01 - <_> - - 0 1 72 -1.0732339695096016e-02 -1 -2 73 - 7.1836481802165508e-03 - - 2.1504899859428406e-01 6.2714362144470215e-01 - 2.5195419788360596e-01 - <_> - - 0 1 74 -2.8340889140963554e-02 -1 -2 75 - -4.5813230099156499e-04 - - 8.2411892712116241e-02 5.9100568294525146e-01 - 3.7052011489868164e-01 - <_> - - 1 0 76 4.2940340936183929e-03 -1 -2 77 - 1.0751079767942429e-02 - - 1.5947279334068298e-01 5.9804809093475342e-01 - 2.8325080871582031e-01 - <_> - - 1 0 78 2.2465119138360023e-02 -1 -2 79 - -5.7988539338111877e-02 - - 7.8770911693572998e-01 1.5557409822940826e-01 - 5.2396571636199951e-01 - <_> - - 1 0 80 7.2110891342163086e-03 -1 -2 81 - -4.8367571085691452e-02 - - 6.6203659772872925e-01 1.4247199892997742e-01 - 4.4298338890075684e-01 - <_> - - 0 1 82 -1.4418059960007668e-02 -1 -2 83 - -2.3156389594078064e-02 - - 1.5885409712791443e-01 2.3757989704608917e-01 - 5.2171349525451660e-01 - <_> - - 1 0 84 7.6985340565443039e-03 -1 -2 85 - -5.6248619221150875e-03 - - 1.9417250156402588e-01 6.2784057855606079e-01 - 3.7460449337959290e-01 - <_> - - 1 0 86 -7.2936748620122671e-04 -1 -2 87 - 6.1783898854628205e-04 - - 3.8409221172332764e-01 3.1064930558204651e-01 - 5.5378472805023193e-01 - <_> - - 1 0 88 -4.5803939428878948e-05 -1 -2 89 - -1.4719359569426160e-05 - - 3.4444490075111389e-01 2.7295520901679993e-01 - 6.4289510250091553e-01 - <_> - 19 - 8.4680156707763672e+00 - - <_> - - 0 1 90 -1.3469370314851403e-03 -1 -2 91 - -2.4774789344519377e-03 - - 1.6570860147476196e-01 2.2738510370254517e-01 - 6.9893497228622437e-01 - <_> - - 0 1 92 5.2632777951657772e-03 -1 -2 93 - 4.9075339920818806e-03 - - 1.5120740234851837e-01 5.5644702911376953e-01 - 1.6054420173168182e-01 - <_> - - 0 1 94 -2.3254349362105131e-03 -1 -2 95 - -1.4665479538962245e-03 - - 1.8802590668201447e-01 3.1224989891052246e-01 - 7.1653962135314941e-01 - <_> - - 1 0 96 -1.2311690300703049e-01 -1 -2 97 - 2.2108340635895729e-03 - - 3.8595831394195557e-01 2.4552939832210541e-01 - 5.6957101821899414e-01 - <_> - - 0 1 98 2.0661531016230583e-03 -1 -2 99 - 3.6130280932411551e-04 - - 2.7165201306343079e-01 2.2933620214462280e-01 - 7.2086298465728760e-01 - <_> - - 1 0 100 7.9957872629165649e-02 -1 -2 101 - 2.6064720004796982e-03 - - 7.8336209058761597e-01 5.5452322959899902e-01 - 2.5506898760795593e-01 - <_> - - 1 0 102 6.5699010156095028e-03 -1 -2 103 - 1.6259610420092940e-03 - - 1.8193900585174561e-01 3.5298758745193481e-01 - 6.5528190135955811e-01 - <_> - - 0 1 104 3.6204981151968241e-03 -1 -2 105 - -4.4391951523721218e-03 - - 5.4623097181320190e-01 1.3598430156707764e-01 - 5.4158151149749756e-01 - <_> - - 0 1 106 -9.0540945529937744e-03 -1 -2 107 - -4.6067481162026525e-04 - - 1.1151199787855148e-01 5.8467197418212891e-01 - 2.5983488559722900e-01 - <_> - - 0 1 108 -5.6621041148900986e-03 -1 -2 109 - 5.1165837794542313e-03 - - 1.6105690598487854e-01 5.3766787052154541e-01 - 1.7394550144672394e-01 - <_> - - 0 1 110 -2.1362339612096548e-03 -1 -2 111 - -5.4809921421110630e-03 - - 1.9020730257034302e-01 3.2720080018043518e-01 - 6.3648408651351929e-01 - <_> - - 0 1 112 -8.1061907112598419e-03 -1 -2 113 - 6.0048708692193031e-03 - - 6.9148528575897217e-01 4.3273261189460754e-01 - 6.9638431072235107e-01 - <_> - - 0 1 114 -8.7028548121452332e-02 -1 -2 115 - -4.7809639945626259e-03 - - 8.5941338539123535e-01 9.7394466400146484e-02 - 4.5870301127433777e-01 - <_> - - 0 1 116 -2.2166660055518150e-03 -1 -2 117 - 1.3642730191349983e-03 - - 2.5546258687973022e-01 3.3190909028053284e-01 - 5.9641027450561523e-01 - <_> - - 0 1 118 -9.0077864006161690e-03 -1 -2 119 - -1.5494120307266712e-02 - - 2.6665949821472168e-01 1.8481859564781189e-01 - 6.2459707260131836e-01 - <_> - - 1 0 120 -4.2165028862655163e-03 -1 -2 121 - 4.3249759823083878e-02 - - 5.3799271583557129e-01 5.1830291748046875e-01 - 2.1704199910163879e-01 - <_> - - 1 0 122 2.8786511393263936e-04 -1 -2 123 - 1.2373150093480945e-03 - - 2.6133841276168823e-01 2.7865320444107056e-01 - 5.9089881181716919e-01 - <_> - - 1 0 124 1.9528300035744905e-03 -1 -2 125 - -1.4947060262784362e-03 - - 2.6128691434860229e-01 5.9154129028320312e-01 - 3.4557819366455078e-01 - <_> - - 1 0 126 3.5878680646419525e-03 -1 -2 127 - -2.5938691105693579e-03 - - 1.5870520472526550e-01 1.2704110145568848e-01 - 5.9794288873672485e-01 - <_> - 27 - 1.2578499794006348e+01 - - <_> - - 0 1 128 3.5810680128633976e-03 -1 -2 129 - -2.8552350122481585e-03 - - 1.9951049983501434e-01 7.3730701208114624e-01 - 2.9217371344566345e-01 - <_> - - 0 1 130 1.9758539274334908e-03 -1 -2 131 - 3.2583118882030249e-03 - - 1.9564199447631836e-01 5.6920468807220459e-01 - 1.8390649557113647e-01 - <_> - - 0 1 132 2.3711679386906326e-04 -1 -2 133 - 2.5942500215023756e-03 - - 2.1716670691967010e-01 2.7199891209602356e-01 - 7.1502441167831421e-01 - <_> - - 0 1 134 -2.5032449513673782e-02 -1 -2 135 - 6.3087949529290199e-03 - - 1.8251839280128479e-01 5.6998378038406372e-01 - 3.5098528861999512e-01 - <_> - - 1 0 136 -3.2494920305907726e-03 -1 -2 137 - -1.4885730110108852e-02 - - 4.0239268541336060e-01 3.6040958762168884e-01 - 7.2919952869415283e-01 - <_> - - 1 0 138 8.0623216927051544e-03 -1 -2 139 - 2.7405679225921631e-02 - - 6.4914900064468384e-01 5.5189931392669678e-01 - 2.6596811413764954e-01 - <_> - - 1 0 140 3.4368600696325302e-02 -1 -2 141 - -2.7292970567941666e-02 - - 6.7125129699707031e-01 1.6913780570030212e-01 - 4.3262779712677002e-01 - <_> - - 0 1 142 7.4452121043577790e-04 -1 -2 143 - 7.0336280623450875e-04 - - 3.4051001071929932e-01 5.5167931318283081e-01 - 3.3113878965377808e-01 - <_> - - 0 1 144 -1.2275460362434387e-01 -1 -2 145 - 3.2559928949922323e-03 - - 1.6753150522708893e-01 3.6157518625259399e-01 - 6.4207828044891357e-01 - <_> - - 0 1 146 -3.2090399414300919e-02 -1 -2 147 - 3.2957999501377344e-03 - - 2.9210790991783142e-01 5.6130319833755493e-01 - 3.3578601479530334e-01 - <_> - - 0 1 148 -3.2273170072585344e-03 -1 -2 149 - 1.1171669466421008e-03 - - 6.9706428050994873e-01 3.5411500930786133e-01 - 6.1440062522888184e-01 - <_> - - 1 0 150 -1.7279950901865959e-02 -1 -2 151 - 1.1741200461983681e-02 - - 5.5371809005737305e-01 5.3419572114944458e-01 - 2.7571049332618713e-01 - <_> - - 1 0 152 4.6405228786170483e-03 -1 -2 153 - -1.6913030296564102e-02 - - 2.4895210564136505e-01 1.7119289934635162e-01 - 5.5239528417587280e-01 - <_> - - 1 0 154 1.0060169734060764e-02 -1 -2 155 - -6.0715491417795420e-04 - - 8.2734507322311401e-01 3.7793910503387451e-01 - 5.4762518405914307e-01 - <_> - - 1 0 156 -1.0865400545299053e-03 -1 -2 157 - 8.9362077414989471e-03 - - 3.2965409755706787e-01 6.0628837347030640e-01 - 2.4342200160026550e-01 - <_> - - 1 0 158 -2.6372660067863762e-04 -1 -2 159 - 1.3110050000250340e-02 - - 3.8140949606895447e-01 5.5176162719726562e-01 - 3.7268930673599243e-01 - <_> - - 0 1 160 -2.9806280508637428e-03 -1 -2 161 - -4.1619571857154369e-03 - - 1.2296640127897263e-01 7.2522747516632080e-01 - 4.9734550714492798e-01 - <_> - - 0 1 162 3.3842328935861588e-02 -1 -2 163 - -1.2564560165628791e-03 - - 5.3483128547668457e-01 5.8519148826599121e-01 - 4.3841668963432312e-01 - <_> - - 0 1 164 -1.9635230302810669e-02 -1 -2 165 - -9.9625496659427881e-04 - - 2.2978340089321136e-01 6.2959378957748413e-01 - 4.1315990686416626e-01 - <_> - - 0 1 166 -2.3127110674977303e-02 -1 -2 167 - 2.3525709286332130e-02 - - 1.6954590380191803e-01 5.1741302013397217e-01 - 5.9519391506910324e-02 - <_> - - 0 1 168 -1.9356520846486092e-02 -1 -2 169 - -4.1787112131714821e-03 - - 1.3572479784488678e-01 2.9966288805007935e-01 - 5.7916951179504395e-01 - <_> - - 1 0 170 3.1488779932260513e-03 -1 -2 171 - 7.3972279205918312e-03 - - 6.5925890207290649e-01 5.3071719408035278e-01 - 3.7951210141181946e-01 - <_> - - 0 1 172 7.1955118983169086e-06 -1 -2 173 - 4.7114409506320953e-02 - - 3.1283149123191833e-01 5.5378931760787964e-01 - 1.0273090004920959e-01 - <_> - - 0 1 174 7.2878710925579071e-03 -1 -2 175 - -6.1887511983513832e-03 - - 4.6608591079711914e-01 7.1588581800460815e-01 - 4.7244489192962646e-01 - <_> - - 1 0 176 2.9757320880889893e-03 -1 -2 177 - -1.8449809867888689e-03 - - 5.9345688670873642e-02 7.0273017883300781e-01 - 4.7187310457229614e-01 - <_> - - 0 1 178 1.0239540279144421e-04 -1 -2 179 - 2.4277009069919586e-03 - - 5.8947342634201050e-01 4.8623558878898621e-01 - 5.2475881576538086e-01 - <_> - - 0 1 180 -6.4751312136650085e-02 -1 -2 181 - 3.9380151429213583e-04 - - 6.9174712896347046e-01 4.6696171164512634e-01 - 2.3824059963226318e-01 - <_> - 31 - 1.4546750068664551e+01 - - <_> - - 0 1 182 1.4397440245375037e-03 -1 -2 183 - -5.4068560712039471e-04 - - 2.7734708786010742e-01 7.4271547794342041e-01 - 2.4797350168228149e-01 - <_> - - 1 0 184 -7.1237959673453588e-06 -1 -2 185 - -2.3661039303988218e-03 - - 2.1995030343532562e-01 5.8899897336959839e-01 - 2.5957161188125610e-01 - <_> - - 0 1 186 1.7343269428238273e-03 -1 -2 187 - 1.5874590026214719e-03 - - 1.8601259589195251e-01 4.1518709063529968e-01 - 7.1034741401672363e-01 - <_> - - 1 0 188 3.7285638973116875e-03 -1 -2 189 - -1.2883819639682770e-01 - - 2.5279670953750610e-01 1.3930009305477142e-01 - 5.2545148134231567e-01 - <_> - - 1 0 190 7.9412180930376053e-03 -1 -2 191 - -1.2661729939281940e-02 - - 2.4877290427684784e-01 2.7107000350952148e-01 - 6.6188377141952515e-01 - <_> - - 0 1 192 3.0146789868013002e-05 -1 -2 193 - -1.6330160200595856e-02 - - 3.8128259778022766e-01 2.3264320194721222e-01 - 5.2630108594894409e-01 - <_> - - 0 1 194 1.4622770322603174e-05 -1 -2 195 - -2.0858660340309143e-02 - - 4.2933320999145508e-01 1.6004039347171783e-01 - 6.7823147773742676e-01 - <_> - - 1 0 196 2.8194559272378683e-03 -1 -2 197 - 3.7899368908256292e-03 - - 6.6792941093444824e-01 4.5877051353454590e-01 - 7.1762388944625854e-01 - <_> - - 1 0 198 3.5344641655683517e-02 -1 -2 199 - -1.1571600334718823e-03 - - 1.8640750646591187e-01 5.5382597446441650e-01 - 3.1504508852958679e-01 - <_> - - 0 1 200 -5.8742752298712730e-03 -1 -2 201 - -1.5201780115603469e-05 - - 2.8287911415100098e-01 5.8702242374420166e-01 - 3.7048238515853882e-01 - <_> - - 1 0 202 -2.2681879636365920e-04 -1 -2 203 - 3.7845689803361893e-03 - - 4.2189309000968933e-01 6.6670012474060059e-01 - 2.4611820280551910e-01 - <_> - - 1 0 204 -8.5295992903411388e-05 -1 -2 205 - -4.4394891709089279e-02 - - 3.5575878620147705e-01 1.6655470430850983e-01 - 5.2348488569259644e-01 - <_> - - 0 1 206 1.0126030538231134e-03 -1 -2 207 - -7.6327780261635780e-03 - - 2.8846129775047302e-01 2.9693400859832764e-01 - 6.0801112651824951e-01 - <_> - - 0 1 208 4.0330411866307259e-03 -1 -2 209 - 1.3676689565181732e-01 - - 4.5363900065422058e-01 5.1772642135620117e-01 - 1.4491820335388184e-01 - <_> - - 0 1 210 -5.0060478970408440e-03 -1 -2 211 - -1.2475839816033840e-02 - - 7.6169097423553467e-01 2.1597060561180115e-01 - 5.4601877927780151e-01 - <_> - - 1 0 212 -9.4012258341535926e-04 -1 -2 213 - -1.2191980145871639e-02 - - 3.9262959361076355e-01 3.4788811206817627e-01 - 5.5426627397537231e-01 - <_> - - 0 1 214 -5.4959481349214911e-04 -1 -2 215 - -2.1802430273965001e-04 - - 6.0642760992050171e-01 5.6974071264266968e-01 - 1.7797139286994934e-01 - <_> - - 0 1 216 6.9115799851715565e-03 -1 -2 217 - -9.7631698008626699e-04 - - 5.3793722391128540e-01 3.3278390765190125e-01 - 5.4615312814712524e-01 - <_> - - 0 1 218 -8.7870173156261444e-03 -1 -2 219 - -1.6761029837653041e-03 - - 2.1161609888076782e-01 6.6358232498168945e-01 - 4.3658590316772461e-01 - <_> - - 1 0 220 -5.5694948881864548e-02 -1 -2 221 - -1.9844379276037216e-02 - - 5.3874248266220093e-01 1.6028049588203430e-01 - 5.3304588794708252e-01 - <_> - - 0 1 222 -7.4751611100509763e-04 -1 -2 223 - 2.3032890632748604e-02 - - 2.9174768924713135e-01 5.6081241369247437e-01 - 1.9979810714721680e-01 - <_> - - 1 0 224 -3.0700280331075191e-03 -1 -2 225 - -1.1636839481070638e-03 - - 3.9383140206336975e-01 5.7574361562728882e-01 - 4.2394569516181946e-01 - <_> - - 1 0 226 2.2464339435100555e-01 -1 -2 227 - 1.4412109740078449e-03 - - 7.6765531301498413e-01 5.3538662195205688e-01 - 2.5147768855094910e-01 - <_> - - 0 1 228 -3.0011249706149101e-02 -1 -2 229 - -5.3078960627317429e-02 - - 2.3649039864540100e-01 2.3858639597892761e-01 - 5.4146647453308105e-01 - <_> - - 1 0 230 2.0800929050892591e-03 -1 -2 231 - -4.0738182142376900e-03 - - 6.5116149187088013e-01 6.0304141044616699e-01 - 3.5877010226249695e-01 - <_> - - 1 0 232 -1.9529370591044426e-02 -1 -2 233 - -5.3309470415115356e-02 - - 5.4235929250717163e-01 2.3609539866447449e-01 - 5.4017579555511475e-01 - <_> - - 0 1 234 -3.4849561750888824e-02 -1 -2 235 - -1.2658450007438660e-01 - - 2.8369858860969543e-01 1.8135160207748413e-01 - 5.4210460186004639e-01 - <_> - - 0 1 236 7.3325118137290701e-06 -1 -2 237 - -1.1843870393931866e-02 - - 3.9803659915924072e-01 2.6163849234580994e-01 - 5.2377301454544067e-01 - <_> - - 0 1 238 -4.8470678739249706e-03 -1 -2 239 - 8.1693977117538452e-03 - - 2.4381080269813538e-01 5.3271460533142090e-01 - 8.1903767585754395e-01 - <_> - - 1 0 240 -6.4716790802776814e-03 -1 -2 241 - -1.5188479665084742e-05 - - 4.6796938776969910e-01 5.5639117956161499e-01 - 4.3675860762596130e-01 - <_> - - 1 0 242 3.0696711037307978e-03 -1 -2 243 - -1.6296720423270017e-04 - - 6.6643488407135010e-01 5.5946111679077148e-01 - 3.0427119135856628e-01 - <_> - 39 - 1.8572250366210938e+01 - - <_> - - 1 0 244 -9.8275858908891678e-03 -1 -2 245 - -4.1693858802318573e-03 - - 2.1160189807415009e-01 6.9246852397918701e-01 - 3.0437770485877991e-01 - <_> - - 0 1 246 3.5341319744475186e-04 -1 -2 247 - 4.8054549843072891e-03 - - 3.1832858920097351e-01 5.4565590620040894e-01 - 2.5222688913345337e-01 - <_> - - 0 1 248 2.1071180526632816e-04 -1 -2 249 - -2.8318869881331921e-03 - - 2.9026180505752563e-01 3.1304559111595154e-01 - 6.8849372863769531e-01 - <_> - - 1 0 250 -7.5633679443853907e-06 -1 -2 251 - -8.2888139877468348e-04 - - 2.9624658823013306e-01 3.0996260046958923e-01 - 5.7525151968002319e-01 - <_> - - 0 1 252 1.6209259629249573e-03 -1 -2 253 - 9.1338958591222763e-03 - - 3.9931958913803101e-01 4.8273721337318420e-01 - 7.5378328561782837e-01 - <_> - - 0 1 254 -4.1212290525436401e-03 -1 -2 255 - -2.5447290390729904e-03 - - 2.6169270277023315e-01 3.1087028980255127e-01 - 5.4912358522415161e-01 - <_> - - 0 1 256 -6.2652782071381807e-04 -1 -2 257 - -3.6596331483451650e-05 - - 3.2396918535232544e-01 6.5174108743667603e-01 - 4.1789120435714722e-01 - <_> - - 1 0 258 1.3882719911634922e-02 -1 -2 259 - 1.0493700392544270e-03 - - 6.7712038755416870e-01 4.1595110297203064e-01 - 5.6528919935226440e-01 - <_> - - 1 0 260 1.8215360119938850e-02 -1 -2 261 - -1.1334580369293690e-02 - - 7.6896011829376221e-01 2.8733238577842712e-01 - 4.9889329075813293e-01 - <_> - - 1 0 262 -4.1097560897469521e-03 -1 -2 263 - 4.2612891411408782e-04 - - 5.4630082845687866e-01 3.6312350630760193e-01 - 5.5125522613525391e-01 - <_> - - 1 0 264 6.0301548801362514e-03 -1 -2 265 - 3.3587709185667336e-04 - - 1.1437670141458511e-01 2.8910788893699646e-01 - 5.4473417997360229e-01 - <_> - - 1 0 266 6.2279507983475924e-04 -1 -2 267 - -2.5837119668722153e-02 - - 3.0234318971633911e-01 2.1670059859752655e-01 - 5.2781528234481812e-01 - <_> - - 1 0 268 2.1774910390377045e-02 -1 -2 269 - 1.7682299949228764e-03 - - 3.2548341155052185e-01 5.2630507946014404e-01 - 7.5263291597366333e-01 - <_> - - 0 1 270 -1.3793810270726681e-02 -1 -2 271 - -5.0852829590439796e-03 - - 7.4103301763534546e-01 6.8366098403930664e-01 - 4.5790711045265198e-01 - <_> - - 1 0 272 6.1795017682015896e-03 -1 -2 273 - 1.0030319914221764e-02 - - 7.4499362707138062e-01 4.8607799410820007e-01 - 2.3614570498466492e-01 - <_> - - 0 1 274 -6.4201927743852139e-03 -1 -2 275 - -5.6961281225085258e-03 - - 1.4673270285129547e-01 2.3478199541568756e-01 - 5.3233772516250610e-01 - <_> - - 0 1 276 -7.1498160250484943e-03 -1 -2 277 - 2.4450740311294794e-03 - - 1.4770570397377014e-01 3.4985339641571045e-01 - 5.8035618066787720e-01 - <_> - - 1 0 278 -3.7503410130739212e-02 -1 -2 279 - 4.7799441381357610e-04 - - 5.2595508098602295e-01 4.3628829717636108e-01 - 6.2089228630065918e-01 - <_> - - 0 1 280 -7.0806080475449562e-03 -1 -2 281 - 3.2818000763654709e-02 - - 2.0394609868526459e-01 5.1983588933944702e-01 - 1.3711960613727570e-01 - <_> - - 1 0 282 6.5188988810405135e-04 -1 -2 283 - 4.6485587954521179e-03 - - 6.3234299421310425e-01 4.7201630473136902e-01 - 6.5670871734619141e-01 - <_> - - 0 1 284 -1.9827929791063070e-03 -1 -2 285 - -1.6011310508474708e-03 - - 6.0530602931976318e-01 5.0905191898345947e-01 - 3.1169331073760986e-01 - <_> - - 0 1 286 -3.0539939180016518e-03 -1 -2 287 - 4.3212040327489376e-04 - - 3.4298041462898254e-01 3.8384029269218445e-01 - 5.7755982875823975e-01 - <_> - - 0 1 288 -2.7452120557427406e-02 -1 -2 289 - 9.3099439982324839e-04 - - 2.1434690058231354e-01 5.9529662132263184e-01 - 3.7601581215858459e-01 - <_> - - 0 1 290 6.7144189961254597e-03 -1 -2 291 - -3.3701690845191479e-03 - - 5.6926268339157104e-01 5.7843041419982910e-01 - 3.9742821455001831e-01 - <_> - - 0 1 292 -1.8903959542512894e-02 -1 -2 293 - -6.5850871615111828e-03 - - 1.8188929557800293e-01 6.8491101264953613e-01 - 4.3515840172767639e-01 - <_> - - 1 0 294 5.8810501359403133e-03 -1 -2 295 - 8.0092082498595119e-04 - - 2.7266609668731689e-01 4.2364311218261719e-01 - 5.8446758985519409e-01 - <_> - - 1 0 296 1.8510579830035567e-03 -1 -2 297 - 6.3273650594055653e-03 - - 3.3713209629058838e-01 5.2702218294143677e-01 - 8.0536508560180664e-01 - <_> - - 0 1 298 -3.3820930402725935e-03 -1 -2 299 - -1.9292969955131412e-03 - - 2.8660181164741516e-01 5.8889460563659668e-01 - 3.8957870006561279e-01 - <_> - - 1 0 300 1.4995220117270947e-02 -1 -2 301 - -2.6330750435590744e-02 - - 2.1778169274330139e-01 1.7753170430660248e-01 - 5.6714701652526855e-01 - <_> - - 1 0 302 -4.1734222322702408e-03 -1 -2 303 - 2.7268350124359131e-02 - - 4.6529620885848999e-01 4.7683110833168030e-01 - 5.6952387094497681e-01 - <_> - - 1 0 304 9.8880263976752758e-04 -1 -2 305 - -1.0528849670663476e-03 - - 3.3974018692970276e-01 6.2500411272048950e-01 - 4.2884120345115662e-01 - <_> - - 0 1 306 5.2288072183728218e-03 -1 -2 307 - 3.0395459383726120e-02 - - 5.3477621078491211e-01 4.1155189275741577e-01 - 5.6607538461685181e-01 - <_> - - 0 1 308 -7.9113930463790894e-02 -1 -2 309 - 1.8231669440865517e-02 - - 7.8813230991363525e-01 3.6043399572372437e-01 - 5.5695050954818726e-01 - <_> - - 0 1 310 5.2288072183728218e-03 -1 -2 311 - 4.3922828626818955e-04 - - 5.4166442155838013e-01 5.5071568489074707e-01 - 3.8822770118713379e-01 - <_> - - 0 1 312 -8.6501962505280972e-04 -1 -2 313 - 1.0326979681849480e-03 - - 3.1858509778976440e-01 5.5783641338348389e-01 - 3.2192459702491760e-01 - <_> - - 0 1 314 -7.2997747920453548e-03 -1 -2 315 - -9.3629042385146022e-04 - - 7.0732331275939941e-01 5.5580157041549683e-01 - 4.6138420701026917e-01 - <_> - - 0 1 316 -6.0483231209218502e-03 -1 -2 317 - 6.7529221996665001e-03 - - 6.8692898750305176e-01 4.8703178763389587e-01 - 2.6503708958625793e-01 - <_> - - 0 1 318 5.3078029304742813e-02 -1 -2 319 - -1.0225810110569000e-03 - - 5.2815151214599609e-01 6.0858821868896484e-01 - 4.3048679828643799e-01 - <_> - - 1 0 320 3.1270649284124374e-02 -1 -2 321 - -6.3522169366478920e-03 - - 5.4458320140838623e-01 5.3283357620239258e-01 - 2.3643240332603455e-01 - <_> - 45 - 2.1578119277954102e+01 - - <_> - - 1 0 322 -6.2215630896389484e-03 -1 -2 323 - 2.1097389981150627e-03 - - 2.6255810260772705e-01 1.5649929642677307e-01 - 6.7928832769393921e-01 - <_> - - 0 1 324 1.0845859535038471e-02 -1 -2 325 - 6.4230401767417789e-04 - - 3.4858089685440063e-01 3.6982551217079163e-01 - 5.9216582775115967e-01 - <_> - - 1 0 326 7.3311722371727228e-04 -1 -2 327 - 1.0134200565516949e-03 - - 3.0070841312408447e-01 3.6249229311943054e-01 - 7.0724260807037354e-01 - <_> - - 0 1 328 1.1093559674918652e-02 -1 -2 329 - -7.9127531498670578e-03 - - 4.4167020916938782e-01 3.0287081003189087e-01 - 5.4173761606216431e-01 - <_> - - 0 1 330 1.2905309908092022e-02 -1 -2 331 - -4.2430912144482136e-03 - - 4.3745040893554688e-01 4.4015899300575256e-01 - 7.5651907920837402e-01 - <_> - - 0 1 332 -2.1304309484548867e-04 -1 -2 333 - -2.2308640182018280e-03 - - 2.3107869923114777e-01 3.5681959986686707e-01 - 5.7499992847442627e-01 - <_> - - 0 1 334 2.6400520000606775e-03 -1 -2 335 - 7.5101032853126526e-02 - - 3.5936889052391052e-01 6.3635677099227905e-01 - 2.3270289599895477e-01 - <_> - - 0 1 336 -7.7012968249619007e-03 -1 -2 337 - 1.5588370151817799e-03 - - 7.0746237039566040e-01 5.7002371549606323e-01 - 3.5904508829116821e-01 - <_> - - 0 1 338 -4.7687938786111772e-04 -1 -2 339 - 8.4234727546572685e-04 - - 2.8054410219192505e-01 4.1254189610481262e-01 - 6.1779958009719849e-01 - <_> - - 1 0 340 -1.2825109995901585e-02 -1 -2 341 - -6.5156567143276334e-04 - - 5.4030781984329224e-01 5.6336438655853271e-01 - 3.3565390110015869e-01 - <_> - - 0 1 342 -1.2006159871816635e-02 -1 -2 343 - 1.3213419588282704e-03 - - 7.1095108985900879e-01 4.9038508534431458e-01 - 2.8245830535888672e-01 - <_> - - 0 1 344 -2.0307440310716629e-02 -1 -2 345 - 4.0180929936468601e-03 - - 1.8913699686527252e-01 5.3779661655426025e-01 - 3.1194949150085449e-01 - <_> - - 1 0 346 4.5315311290323734e-03 -1 -2 347 - -4.4381739571690559e-03 - - 7.2067582607269287e-01 1.8546679615974426e-01 - 4.9817329645156860e-01 - <_> - - 1 0 348 1.5692010056227446e-03 -1 -2 349 - -4.9516442231833935e-03 - - 2.6382741332054138e-01 6.8710672855377197e-01 - 4.7146868705749512e-01 - <_> - - 0 1 350 -2.7429679408669472e-02 -1 -2 351 - 1.4181969454512000e-03 - - 1.5482850372791290e-01 4.3768429756164551e-01 - 6.3273680210113525e-01 - <_> - - 0 1 352 -1.3078940100967884e-02 -1 -2 353 - -3.5092779435217381e-03 - - 3.1668141484260559e-01 6.1997437477111816e-01 - 4.3796870112419128e-01 - <_> - - 1 0 354 1.8920730799436569e-02 -1 -2 355 - 2.1683350205421448e-03 - - 1.4707140624523163e-01 5.8094590902328491e-01 - 3.4319490194320679e-01 - <_> - - 0 1 356 1.6401590546593070e-03 -1 -2 357 - 1.4005920093040913e-04 - - 3.9594578742980957e-01 3.2400250434875488e-01 - 5.6466472148895264e-01 - <_> - - 1 0 358 -3.3137591090053320e-03 -1 -2 359 - -2.9459029901772738e-03 - - 4.2745280265808105e-01 3.3416679501533508e-01 - 6.6279602050781250e-01 - <_> - - 0 1 360 1.3612229668069631e-04 -1 -2 361 - 6.0512032359838486e-04 - - 4.0469279885292053e-01 5.4840582609176636e-01 - 3.5699409246444702e-01 - <_> - - 0 1 362 -1.7513990402221680e-02 -1 -2 363 - -1.8735030665993690e-02 - - 1.8241509795188904e-01 7.9718202352523804e-01 - 5.0685691833496094e-01 - <_> - - 1 0 364 1.2065649963915348e-02 -1 -2 365 - -2.6544178836047649e-03 - - 2.1670070290565491e-01 6.5841788053512573e-01 - 4.6282431483268738e-01 - <_> - - 1 0 366 1.4501289697363973e-03 -1 -2 367 - 1.0954019613564014e-02 - - 2.0902520418167114e-01 5.1123052835464478e-01 - 7.7845758199691772e-01 - <_> - - 0 1 368 1.5771709382534027e-02 -1 -2 369 - -1.4252689667046070e-02 - - 5.1323592662811279e-01 1.7424149811267853e-01 - 5.2671480178833008e-01 - <_> - - 0 1 370 3.0411860279855318e-05 -1 -2 371 - 2.3486299440264702e-02 - - 3.4184479713439941e-01 5.6312650442123413e-01 - 2.0063939690589905e-01 - <_> - - 1 0 372 5.2205449901521206e-03 -1 -2 373 - -2.5812430307269096e-02 - - 6.2496489286422729e-01 3.2032281160354614e-01 - 5.1993298530578613e-01 - <_> - - 0 1 374 -1.9526650430634618e-03 -1 -2 375 - -8.1470049917697906e-03 - - 6.1407059431076050e-01 6.5928959846496582e-01 - 3.7111249566078186e-01 - <_> - - 1 0 376 3.2962448894977570e-03 -1 -2 377 - -1.3961310032755136e-03 - - 2.9521119594573975e-01 3.3208039402961731e-01 - 5.5284148454666138e-01 - <_> - - 0 1 378 -4.1055441834032536e-03 -1 -2 379 - -1.0888779535889626e-02 - - 1.7105500400066376e-01 3.3594349026679993e-01 - 5.6749051809310913e-01 - <_> - - 1 0 380 -7.6768421567976475e-03 -1 -2 381 - -9.7729787230491638e-03 - - 4.7732418775558472e-01 8.0810451507568359e-01 - 4.8458281159400940e-01 - <_> - - 1 0 382 6.0439710505306721e-03 -1 -2 383 - -4.6134641161188483e-04 - - 6.7840021848678589e-01 5.5146390199661255e-01 - 3.6423599720001221e-01 - <_> - - 1 0 384 5.7992361485958099e-02 -1 -2 385 - 5.9384980704635382e-04 - - 1.2544350326061249e-01 4.4248789548873901e-01 - 5.7284617424011230e-01 - <_> - - 0 1 386 -6.2353480607271194e-03 -1 -2 387 - -1.2784929946064949e-02 - - 2.8050419688224792e-01 1.9509120285511017e-01 - 5.6529247760772705e-01 - <_> - - 1 0 388 4.1973669431172311e-04 -1 -2 389 - 8.0646801507100463e-04 - - 6.1664837598800659e-01 4.5265799760818481e-01 - 5.9444868564605713e-01 - <_> - - 1 0 390 -1.6339010326191783e-03 -1 -2 391 - -4.8299999907612801e-03 - - 4.0869420766830444e-01 2.7935269474983215e-01 - 6.4449352025985718e-01 - <_> - - 1 0 392 -6.3992068171501160e-03 -1 -2 393 - 1.0819199681282043e-01 - - 5.6716561317443848e-01 5.3118121623992920e-01 - 2.6143568754196167e-01 - <_> - - 1 0 394 6.5056560561060905e-04 -1 -2 395 - 2.0611250773072243e-02 - - 2.9967740178108215e-01 4.4899430871009827e-01 - 6.8882799148559570e-01 - <_> - - 1 0 396 -2.5129050016403198e-02 -1 -2 397 - 1.7922939732670784e-03 - - 5.1968640089035034e-01 3.4669959545135498e-01 - 5.5335879325866699e-01 - <_> - - 1 0 398 1.5626220265403390e-03 -1 -2 399 - -6.1898730928078294e-04 - - 3.0814400315284729e-01 2.6938709616661072e-01 - 5.5444890260696411e-01 - <_> - - 0 1 400 4.8111421056091785e-03 -1 -2 401 - 2.2484229411929846e-03 - - 5.5878478288650513e-01 4.6721130609512329e-01 - 6.0908252000808716e-01 - <_> - - 0 1 402 -3.0147239565849304e-02 -1 -2 403 - 2.7548679709434509e-01 - - 9.0275919437408447e-01 4.7198349237442017e-01 - 2.1969200670719147e-01 - <_> - - 1 0 404 3.6894630175083876e-03 -1 -2 405 - 7.2957701049745083e-03 - - 6.2730091810226440e-01 4.8392179608345032e-01 - 6.9090622663497925e-01 - <_> - - 0 1 406 -5.6211069226264954e-02 -1 -2 407 - -2.6478560175746679e-03 - - 1.7384879291057587e-01 6.3041448593139648e-01 - 4.4743019342422485e-01 - <_> - - 1 0 408 -1.4534000074490905e-03 -1 -2 409 - 2.8540920466184616e-03 - - 5.3025382757186890e-01 5.3383970260620117e-01 - 3.7968829274177551e-01 - <_> - - 1 0 410 5.8243022067472339e-04 -1 -2 411 - 9.2509482055902481e-04 - - 3.2698369026184082e-01 4.5548120141029358e-01 - 6.3583481311798096e-01 - <_> - 47 - 2.2585290908813477e+01 - - <_> - - 0 1 412 1.9806440919637680e-02 -1 -2 413 - 7.0395611692219973e-04 - - 2.8097251057624817e-01 3.1198260188102722e-01 - 7.0903062820434570e-01 - <_> - - 0 1 414 2.5563780218362808e-03 -1 -2 415 - 1.0824160417541862e-03 - - 2.9819479584693909e-01 3.0205601453781128e-01 - 5.8088111877441406e-01 - <_> - - 1 0 416 -9.2893769033253193e-04 -1 -2 417 - -1.8009729683399200e-02 - - 3.7381029129028320e-01 2.1631260216236115e-01 - 6.6192537546157837e-01 - <_> - - 1 0 418 2.3500190582126379e-03 -1 -2 419 - 8.1822491483762860e-04 - - 2.9104039072990417e-01 5.5786228179931641e-01 - 3.3666279911994934e-01 - <_> - - 0 1 420 6.2095321482047439e-04 -1 -2 421 - 9.6780969761312008e-04 - - 4.0724259614944458e-01 6.8595957756042480e-01 - 3.1054618954658508e-01 - <_> - - 1 0 422 4.8000211245380342e-04 -1 -2 423 - 9.0538640506565571e-05 - - 3.3373329043388367e-01 3.3709588646888733e-01 - 5.4512107372283936e-01 - <_> - - 0 1 424 -4.3914798647165298e-02 -1 -2 425 - -5.6501338258385658e-03 - - 2.6256701350212097e-01 6.0504627227783203e-01 - 3.2324150204658508e-01 - <_> - - 1 0 426 3.8661491125822067e-03 -1 -2 427 - -6.3069426687434316e-05 - - 3.2626131176948547e-01 5.8173078298568726e-01 - 4.1643899679183960e-01 - <_> - - 1 0 428 5.2533738315105438e-02 -1 -2 429 - 1.3818660518154502e-03 - - 7.0953989028930664e-01 5.2928757667541504e-01 - 2.5413888692855835e-01 - <_> - - 1 0 430 -8.9264067355543375e-04 -1 -2 431 - 8.5579507052898407e-02 - - 4.0853410959243774e-01 5.2632361650466919e-01 - 3.0032029747962952e-01 - <_> - - 1 0 432 -1.8343339615967125e-04 -1 -2 433 - -9.7924815490841866e-03 - - 4.0292051434516907e-01 3.5213199257850647e-01 - 6.6640049219131470e-01 - <_> - - 0 1 434 1.4428620226681232e-02 -1 -2 435 - -4.5687001198530197e-02 - - 4.5935660600662231e-01 1.4747560024261475e-01 - 5.1786321401596069e-01 - <_> - - 0 1 436 -2.5763090234249830e-03 -1 -2 437 - -3.8301859050989151e-02 - - 1.8372780084609985e-01 8.0826580524444580e-01 - 5.1666879653930664e-01 - <_> - - 0 1 438 2.8978290501981974e-03 -1 -2 439 - -2.5165060069411993e-03 - - 4.7980138659477234e-01 3.3462959527969360e-01 - 5.4444491863250732e-01 - <_> - - 0 1 440 5.6281982688233256e-04 -1 -2 441 - 3.6684391088783741e-03 - - 3.5890269279479980e-01 5.9831297397613525e-01 - 2.9839640855789185e-01 - <_> - - 1 0 442 2.1319789811968803e-03 -1 -2 443 - 7.6037310063838959e-03 - - 6.1632239818572998e-01 5.2171301841735840e-01 - 2.0541590452194214e-01 - <_> - - 1 0 444 -1.1668079969240353e-04 -1 -2 445 - 3.1659509986639023e-03 - - 3.4466689825057983e-01 5.5974847078323364e-01 - 2.6737868785858154e-01 - <_> - - 0 1 446 -2.2569499909877777e-02 -1 -2 447 - 2.7129601221531630e-04 - - 6.9002681970596313e-01 4.4866389036178589e-01 - 5.5087852478027344e-01 - <_> - - 0 1 448 -1.5434459783136845e-02 -1 -2 449 - -8.4861656650900841e-03 - - 2.0483230054378510e-01 1.2549529969692230e-01 - 5.0603562593460083e-01 - <_> - - 0 1 450 -1.1807470023632050e-01 -1 -2 451 - -1.2300079688429832e-03 - - 6.7633062601089478e-02 5.6607007980346680e-01 - 4.2922011017799377e-01 - <_> - - 0 1 452 -7.0290351286530495e-03 -1 -2 453 - 8.9325206354260445e-03 - - 7.1364039182662964e-01 4.3388760089874268e-01 - 7.0608752965927124e-01 - <_> - - 1 0 454 -4.7735981643199921e-02 -1 -2 455 - -4.4155579060316086e-02 - - 5.2686852216720581e-01 2.5805801153182983e-01 - 5.4069608449935913e-01 - <_> - - 0 1 456 -2.5983480736613274e-02 -1 -2 457 - -4.7885831445455551e-03 - - 1.9050540030002594e-01 2.5518929958343506e-01 - 5.3390771150588989e-01 - <_> - - 0 1 458 6.7423451691865921e-03 -1 -2 459 - 1.1654750443994999e-02 - - 4.6933099627494812e-01 5.2619642019271851e-01 - 3.1454348564147949e-01 - <_> - - 0 1 460 -5.6982729583978653e-03 -1 -2 461 - -7.2983349673449993e-03 - - 1.7568530142307281e-01 7.7747297286987305e-01 - 5.1242929697036743e-01 - <_> - - 0 1 462 7.9091778025031090e-03 -1 -2 463 - -1.5874979726504534e-04 - - 5.2845597267150879e-01 3.8878020644187927e-01 - 5.5011737346649170e-01 - <_> - - 0 1 464 -6.2235877849161625e-03 -1 -2 465 - 1.3308860361576080e-03 - - 2.4898290634155273e-01 4.2621460556983948e-01 - 5.9350621700286865e-01 - <_> - - 1 0 466 5.2055278792977333e-03 -1 -2 467 - 1.4065169729292393e-02 - - 2.5452229380607605e-01 4.8519900441169739e-01 - 7.0214188098907471e-01 - <_> - - 0 1 468 -6.7384149879217148e-03 -1 -2 469 - 3.3406780567020178e-03 - - 7.1432709693908691e-01 5.1757252216339111e-01 - 2.8086438775062561e-01 - <_> - - 1 0 470 -1.1880699545145035e-02 -1 -2 471 - 1.4226379571482539e-03 - - 5.1732218265533447e-01 4.5028659701347351e-01 - 5.7956951856613159e-01 - <_> - - 1 0 472 2.9858129564672709e-03 -1 -2 473 - -2.0481580868363380e-03 - - 1.9151160120964050e-01 6.5024322271347046e-01 - 4.5593151450157166e-01 - <_> - - 0 1 474 1.7122729914262891e-03 -1 -2 475 - -1.6980869695544243e-02 - - 5.3762471675872803e-01 7.0562332868576050e-01 - 4.9146059155464172e-01 - <_> - - 0 1 476 -1.1290470138192177e-03 -1 -2 477 - 2.8620059601962566e-03 - - 2.6787060499191284e-01 4.4108539819717407e-01 - 6.3683199882507324e-01 - <_> - - 0 1 478 -3.8065758999437094e-03 -1 -2 479 - 5.9090270660817623e-03 - - 2.7635639905929565e-01 4.8673018813133240e-01 - 6.7287760972976685e-01 - <_> - - 0 1 480 1.1004370171576738e-03 -1 -2 481 - -2.3396299220621586e-03 - - 4.0705141425132751e-01 2.6049488782882690e-01 - 6.1548602581024170e-01 - <_> - - 0 1 482 -3.6068160552531481e-03 -1 -2 483 - 4.0831189602613449e-02 - - 5.7319998741149902e-01 4.9733769893646240e-01 - 7.3870068788528442e-01 - <_> - - 0 1 484 -7.1082250215113163e-03 -1 -2 485 - -9.3759730225428939e-04 - - 6.9847512245178223e-01 2.6911678910255432e-01 - 4.7417798638343811e-01 - <_> - - 0 1 486 -1.6740820137783885e-03 -1 -2 487 - 8.8287703692913055e-02 - - 3.5510140657424927e-01 5.2446138858795166e-01 - 2.0966500043869019e-01 - <_> - - 0 1 488 8.2009629113599658e-04 -1 -2 489 - -7.6624617213383317e-04 - - 4.1310968995094299e-01 4.6202930808067322e-01 - 6.7754101753234863e-01 - <_> - - 1 0 490 6.5769668435677886e-04 -1 -2 491 - -2.1304790861904621e-03 - - 5.6282752752304077e-01 5.5768597126007080e-01 - 4.5776501297950745e-01 - <_> - - 1 0 492 -3.7317050737328827e-04 -1 -2 493 - -1.1172230355441570e-02 - - 4.9592560529708862e-01 5.6256359815597534e-01 - 2.0471079647541046e-01 - <_> - - 1 0 494 4.3435219675302505e-02 -1 -2 495 - 9.6736161503940821e-04 - - 2.2421480715274811e-01 4.5333439111709595e-01 - 6.1999320983886719e-01 - <_> - - 0 1 496 -3.1452889088541269e-03 -1 -2 497 - 1.5233129961416125e-03 - - 6.6627562046051025e-01 5.0079882144927979e-01 - 2.3849929869174957e-01 - <_> - - 1 0 498 2.0854279864579439e-03 -1 -2 499 - 3.6098200827836990e-02 - - 3.7535008788108826e-01 5.1771712303161621e-01 - 1.6344930231571198e-01 - <_> - - 1 0 500 1.6179570229724050e-03 -1 -2 501 - -6.2132300809025764e-04 - - 2.5873818993568420e-01 6.2995338439941406e-01 - 4.6587899327278137e-01 - <_> - - 1 0 502 7.1878539165481925e-04 -1 -2 503 - -3.9339520037174225e-02 - - 3.3540761470794678e-01 2.1541289985179901e-01 - 5.2357137203216553e-01 - <_> - - 0 1 504 -1.0988829890266061e-03 -1 -2 505 - 2.1191420964896679e-03 - - 6.4688968658447266e-01 2.8930890560150146e-01 - 5.2548158168792725e-01 - <_> - 53 - 2.5609300613403320e+01 - - <_> - - 0 1 506 5.2359891124069691e-03 -1 -2 507 - -2.2169889416545630e-03 - - 3.2997110486030579e-01 7.0415931940078735e-01 - 3.2354658842086792e-01 - <_> - - 1 0 508 -8.2303592935204506e-03 -1 -2 509 - -8.2303592935204506e-03 - - 4.9611708521842957e-01 7.1280431747436523e-01 - 4.9611708521842957e-01 - <_> - - 0 1 510 4.5343261444941163e-04 -1 -2 511 - -4.1777061414904892e-04 - - 3.2084721326828003e-01 6.6139167547225952e-01 - 3.5513329505920410e-01 - <_> - - 0 1 512 2.7823769487440586e-03 -1 -2 513 - -6.0361868236213923e-05 - - 3.7101349234580994e-01 5.7463937997817993e-01 - 3.8948801159858704e-01 - <_> - - 1 0 514 3.5061789676547050e-03 -1 -2 515 - 1.7013119941111654e-04 - - 3.0541029572486877e-01 2.8855779767036438e-01 - 6.4877450466156006e-01 - <_> - - 1 0 516 -2.3378930054605007e-03 -1 -2 517 - -2.1369170863181353e-03 - - 3.1744310259819031e-01 3.8209199905395508e-01 - 5.2328932285308838e-01 - <_> - - 0 1 518 1.0250400518998504e-03 -1 -2 519 - -4.4726220949087292e-05 - - 3.6227950453758240e-01 6.5389591455459595e-01 - 4.0036809444427490e-01 - <_> - - 1 0 520 5.7102291611954570e-04 -1 -2 521 - 5.7743012439459562e-04 - - 3.8931730389595032e-01 5.6145328283309937e-01 - 3.6876440048217773e-01 - <_> - - 1 0 522 7.9692091094329953e-04 -1 -2 523 - 3.5945948911830783e-04 - - 6.4430278539657593e-01 3.3808529376983643e-01 - 5.8246481418609619e-01 - <_> - - 1 0 524 4.3973900028504431e-04 -1 -2 525 - -8.9061429025605321e-04 - - 3.9387670159339905e-01 3.4279710054397583e-01 - 5.5156987905502319e-01 - <_> - - 1 0 526 5.4110242053866386e-03 -1 -2 527 - -8.5764907998964190e-04 - - 3.8035380840301514e-01 6.4395052194595337e-01 - 4.1683459281921387e-01 - <_> - - 0 1 528 -2.2000649943947792e-02 -1 -2 529 - -7.8731682151556015e-03 - - 6.6546010971069336e-01 4.1827228665351868e-01 - 5.6047242879867554e-01 - <_> - - 0 1 530 -2.7444459497928619e-02 -1 -2 531 - 1.9792269449681044e-03 - - 6.5868628025054932e-01 3.2449120283126831e-01 - 4.8828700184822083e-01 - <_> - - 0 1 532 -5.6783691979944706e-03 -1 -2 533 - 1.5057219570735469e-05 - - 2.2290790081024170e-01 4.1072851419448853e-01 - 5.7475912570953369e-01 - <_> - - 0 1 534 -5.4136710241436958e-03 -1 -2 535 - 5.3679239936172962e-03 - - 2.0657970011234283e-01 4.9264231324195862e-01 - 7.1394848823547363e-01 - <_> - - 0 1 536 -3.1426660716533661e-03 -1 -2 537 - 1.0907390154898167e-02 - - 6.7800867557525635e-01 5.2149301767349243e-01 - 1.1439959704875946e-01 - <_> - - 1 0 538 5.8436761610209942e-03 -1 -2 539 - 9.0507230197545141e-05 - - 1.9375260174274445e-01 3.8125771284103394e-01 - 5.5141878128051758e-01 - <_> - - 0 1 540 -1.6345789656043053e-02 -1 -2 541 - 1.5987500082701445e-03 - - 2.4740239977836609e-01 4.8177829384803772e-01 - 5.9230798482894897e-01 - <_> - - 0 1 542 -4.0257978253066540e-03 -1 -2 543 - -6.7750471644103527e-03 - - 7.5082087516784668e-01 2.8798109292984009e-01 - 5.1996952295303345e-01 - <_> - - 0 1 544 -3.2470689620822668e-03 -1 -2 545 - 1.5409620245918632e-03 - - 3.0449101328849792e-01 4.0634828805923462e-01 - 5.6765627861022949e-01 - <_> - - 0 1 546 -1.2858119793236256e-02 -1 -2 547 - -1.4824670506641269e-04 - - 9.6717558801174164e-02 4.5378330349922180e-01 - 6.1153751611709595e-01 - <_> - - 1 0 548 -9.0210810303688049e-03 -1 -2 549 - -2.8795029968023300e-02 - - 4.8077508807182312e-01 3.4037950634956360e-01 - 5.2555292844772339e-01 - <_> - - 1 0 550 9.0210810303688049e-03 -1 -2 551 - 7.4121179059147835e-03 - - 7.5058358907699585e-01 5.4554468393325806e-01 - 3.2260689139366150e-01 - <_> - - 0 1 552 -3.7217529024928808e-03 -1 -2 553 - 1.9865889847278595e-01 - - 2.3118489980697632e-01 5.2710479497909546e-01 - 1.4699299633502960e-01 - <_> - - 0 1 554 1.5208719560177997e-05 -1 -2 555 - -3.9089918136596680e-03 - - 3.6781388521194458e-01 7.1319299936294556e-01 - 4.9938669800758362e-01 - <_> - - 0 1 556 2.5106288958340883e-03 -1 -2 557 - 2.3921660613268614e-04 - - 5.3120541572570801e-01 4.6893781423568726e-01 - 5.7140219211578369e-01 - <_> - - 1 0 558 6.9443131797015667e-03 -1 -2 559 - 1.2065629707649350e-03 - - 6.9487977027893066e-01 4.0045049786567688e-01 - 5.8748817443847656e-01 - <_> - - 0 1 560 2.5106288958340883e-03 -1 -2 561 - 1.7514040227979422e-03 - - 5.3295719623565674e-01 5.5458492040634155e-01 - 3.4495818614959717e-01 - <_> - - 0 1 562 -4.1978210210800171e-03 -1 -2 563 - 1.3092850567772985e-03 - - 1.2171830236911774e-01 5.3750497102737427e-01 - 3.4156250953674316e-01 - <_> - - 0 1 564 6.7396182566881180e-04 -1 -2 565 - -1.0530710220336914e-02 - - 4.1951790452003479e-01 3.4607538580894470e-01 - 5.1558601856231689e-01 - <_> - - 0 1 566 -4.0672299265861511e-01 -1 -2 567 - -2.6314549148082733e-02 - - 5.8065678924322128e-02 1.4734490215778351e-01 - 5.5593782663345337e-01 - <_> - - 1 0 568 2.2557149641215801e-03 -1 -2 569 - 1.2154860422015190e-02 - - 5.4777151346206665e-01 4.2077910900115967e-01 - 5.6218808889389038e-01 - <_> - - 0 1 570 -1.8436539918184280e-02 -1 -2 571 - 5.3676147945225239e-04 - - 6.4471471309661865e-01 2.7651271224021912e-01 - 4.8885959386825562e-01 - <_> - - 1 0 572 -2.6265541091561317e-03 -1 -2 573 - -5.1119807176291943e-04 - - 5.2646911144256592e-01 5.7853102684020996e-01 - 4.2911028861999512e-01 - <_> - - 1 0 574 4.1454841266386211e-04 -1 -2 575 - -5.5028748465701938e-04 - - 3.4554108977317810e-01 6.0269188880920410e-01 - 4.1438931226730347e-01 - <_> - - 0 1 576 -1.0347720235586166e-03 -1 -2 577 - -3.3966631162911654e-03 - - 6.0952937602996826e-01 6.1082822084426880e-01 - 4.7077208757400513e-01 - <_> - - 1 0 578 3.1795909162610769e-03 -1 -2 579 - -1.6528950072824955e-04 - - 3.2443669438362122e-01 3.8307571411132812e-01 - 5.7343262434005737e-01 - <_> - - 1 0 580 8.3725210279226303e-03 -1 -2 581 - -2.5799809955060482e-03 - - 6.6109192371368408e-01 6.1393070220947266e-01 - 4.6861499547958374e-01 - <_> - - 1 0 582 9.0194388758391142e-04 -1 -2 583 - 3.6952210939489305e-04 - - 3.5200220346450806e-01 2.5787541270256042e-01 - 5.4672420024871826e-01 - <_> - - 0 1 584 9.9746137857437134e-04 -1 -2 585 - -3.6688039544969797e-03 - - 4.8201468586921692e-01 5.7101500034332275e-01 - 4.8319110274314880e-01 - <_> - - 0 1 586 -8.9501030743122101e-04 -1 -2 587 - 5.1904921419918537e-03 - - 6.1336791515350342e-01 4.9285829067230225e-01 - 2.5813090801239014e-01 - <_> - - 0 1 588 4.2274440056644380e-04 -1 -2 589 - 8.5176713764667511e-03 - - 4.4711241126060486e-01 5.1610249280929565e-01 - 3.3165338635444641e-01 - <_> - - 0 1 590 -3.6623608320951462e-02 -1 -2 591 - -4.1103712283074856e-03 - - 9.2606216669082642e-02 8.5221147537231445e-01 - 5.1379078626632690e-01 - <_> - - 1 0 592 -6.6017331555485725e-03 -1 -2 593 - 2.5578640401363373e-02 - - 5.4590600728988647e-01 5.2193528413772583e-01 - 1.9271859526634216e-01 - <_> - - 1 0 594 1.1447439901530743e-02 -1 -2 595 - 7.2427501436322927e-04 - - 1.9160020351409912e-01 5.2315711975097656e-01 - 3.5353401303291321e-01 - <_> - - 1 0 596 9.7127500921487808e-03 -1 -2 597 - -1.1337569914758205e-02 - - 6.4641010761260986e-01 7.3830378055572510e-01 - 4.9647438526153564e-01 - <_> - - 0 1 598 -8.1453882157802582e-03 -1 -2 599 - -8.5570756345987320e-03 - - 3.6117058992385864e-01 3.4219071269035339e-01 - 5.9435117244720459e-01 - <_> - - 0 1 600 2.2993308957666159e-03 -1 -2 601 - 3.8430930580943823e-03 - - 4.5501041412353516e-01 4.7168621420860291e-01 - 6.6561907529830933e-01 - <_> - - 1 0 602 -9.9116540513932705e-04 -1 -2 603 - 2.5496469810605049e-02 - - 4.5927169919013977e-01 6.5634012222290039e-01 - 1.2588350474834442e-01 - <_> - - 1 0 604 -1.5748359262943268e-02 -1 -2 605 - -1.8046120181679726e-02 - - 5.2395021915435791e-01 8.0158519744873047e-01 - 5.0079578161239624e-01 - <_> - - 1 0 606 1.0323390364646912e-02 -1 -2 607 - 1.6452240524813533e-03 - - 2.2748200595378876e-01 4.3519461154937744e-01 - 5.8676278591156006e-01 - <_> - - 0 1 608 1.5881149098277092e-02 -1 -2 609 - 1.0586519725620747e-02 - - 4.4650518894195557e-01 4.5444580912590027e-01 - 5.7071107625961304e-01 - <_> - - 0 1 610 -2.1531689912080765e-02 -1 -2 611 - 5.2480469457805157e-03 - - 6.5276437997817993e-01 3.4447279572486877e-01 - 5.3246361017227173e-01 - <_> - 67 - 3.2647129058837891e+01 - - <_> - - 0 1 612 1.8219340126961470e-03 -1 -2 613 - 8.1313941627740860e-03 - - 3.1087881326675415e-01 3.1332370638847351e-01 - 6.6458672285079956e-01 - <_> - - 0 1 614 1.7055979697033763e-03 -1 -2 615 - -7.4483548814896494e-05 - - 2.6401311159133911e-01 5.6472051143646240e-01 - 3.4853729605674744e-01 - <_> - - 1 0 616 3.8342390325851738e-04 -1 -2 617 - 3.1868910882622004e-03 - - 3.1406548619270325e-01 6.4891988039016724e-01 - 3.8877290487289429e-01 - <_> - - 1 0 618 1.6044320166110992e-01 -1 -2 619 - -6.7285560071468353e-03 - - 7.2165298461914062e-01 1.6531379520893097e-01 - 5.1398259401321411e-01 - <_> - - 0 1 620 7.2638481469766703e-06 -1 -2 621 - 5.5551197146996856e-04 - - 3.1406199932098389e-01 5.9936988353729248e-01 - 3.3173981308937073e-01 - <_> - - 0 1 622 -1.0822320356965065e-02 -1 -2 623 - -4.5834020711481571e-03 - - 2.6529380679130554e-01 1.8495689332485199e-01 - 5.3139579296112061e-01 - <_> - - 1 0 624 -3.0205070506781340e-03 -1 -2 625 - 7.7864617109298706e-02 - - 4.0400999784469604e-01 6.1581897735595703e-01 - 1.7864869534969330e-01 - <_> - - 0 1 626 2.6494380086660385e-02 -1 -2 627 - 3.6912109702825546e-02 - - 4.5110899209976196e-01 4.5282199978828430e-01 - 5.9722828865051270e-01 - <_> - - 1 0 628 5.7857790961861610e-03 -1 -2 629 - 9.3849771656095982e-04 - - 2.5338920950889587e-01 3.4104120731353760e-01 - 5.9236437082290649e-01 - <_> - - 0 1 630 -1.1003199964761734e-02 -1 -2 631 - -1.1737640015780926e-03 - - 6.9580441713333130e-01 3.8510841131210327e-01 - 5.4081892967224121e-01 - <_> - - 0 1 632 -3.6596669815480709e-03 -1 -2 633 - -2.4822750128805637e-03 - - 2.0093089342117310e-01 6.2953931093215942e-01 - 4.3950408697128296e-01 - <_> - - 0 1 634 -4.4606071896851063e-03 -1 -2 635 - -3.5969649907201529e-03 - - 2.4052999913692474e-01 5.4501742124557495e-01 - 3.7823578715324402e-01 - <_> - - 0 1 636 -3.6222559865564108e-03 -1 -2 637 - 1.2059339787811041e-03 - - 3.0338969826698303e-01 4.6337789297103882e-01 - 6.3359522819519043e-01 - <_> - - 1 0 638 4.3124938383698463e-03 -1 -2 639 - -4.4961250387132168e-03 - - 6.5988260507583618e-01 6.6216969490051270e-01 - 4.7552469372749329e-01 - <_> - - 0 1 640 -1.3860689941793680e-03 -1 -2 641 - -5.1588460337370634e-04 - - 2.8012010455131531e-01 3.8294890522956848e-01 - 5.6236267089843750e-01 - <_> - - 0 1 642 7.0330002927221358e-05 -1 -2 643 - -2.0976549421902746e-04 - - 4.5363429188728333e-01 5.6081390380859375e-01 - 4.2657798528671265e-01 - <_> - - 1 0 644 1.3642259873449802e-03 -1 -2 645 - 1.5483660390600562e-03 - - 2.6370918750762939e-01 4.1707509756088257e-01 - 5.9329879283905029e-01 - <_> - - 0 1 646 1.9179609417915344e-01 -1 -2 647 - -4.4776909053325653e-03 - - 5.2567642927169800e-01 6.6326218843460083e-01 - 4.8925888538360596e-01 - <_> - - 0 1 648 -1.2649179995059967e-01 -1 -2 649 - 6.5253327193204314e-05 - - 1.4997789263725281e-01 4.2333200573921204e-01 - 5.7560402154922485e-01 - <_> - - 0 1 650 4.1856421157717705e-03 -1 -2 651 - 2.7478230185806751e-04 - - 5.2888268232345581e-01 4.5240178704261780e-01 - 5.6041252613067627e-01 - <_> - - 0 1 652 -2.2906810045242310e-03 -1 -2 653 - 1.6744500026106834e-03 - - 5.5782741308212280e-01 3.3230578899383545e-01 - 5.5587881803512573e-01 - <_> - - 1 0 654 1.2349759927019477e-03 -1 -2 655 - -8.7158754467964172e-03 - - 3.6539471149444580e-01 1.9245339930057526e-01 - 5.3136497735977173e-01 - <_> - - 1 0 656 4.6613621525466442e-03 -1 -2 657 - -8.5815992206335068e-03 - - 2.0277309417724609e-01 7.6360601186752319e-01 - 5.1408261060714722e-01 - <_> - - 0 1 658 1.4352120459079742e-02 -1 -2 659 - -7.7948719263076782e-03 - - 5.2529758214950562e-01 2.6329371333122253e-01 - 5.3286892175674438e-01 - <_> - - 0 1 660 -3.4155680332332850e-03 -1 -2 661 - -4.2639090679585934e-03 - - 2.4160879850387573e-01 3.9365449547767639e-01 - 5.4787421226501465e-01 - <_> - - 0 1 662 8.7177697569131851e-03 -1 -2 663 - -3.2232629600912333e-03 - - 4.7881990671157837e-01 3.6316120624542236e-01 - 5.2883160114288330e-01 - <_> - - 0 1 664 -4.2188368737697601e-02 -1 -2 665 - 1.9875749945640564e-02 - - 6.9311392307281494e-01 4.5201000571250916e-01 - 6.8550550937652588e-01 - <_> - - 1 0 666 -3.1134510412812233e-02 -1 -2 667 - 5.7032387703657150e-03 - - 5.3004240989685059e-01 5.6068921089172363e-01 - 4.2306229472160339e-01 - <_> - - 1 0 668 5.2733682096004486e-03 -1 -2 669 - -3.1231069006025791e-03 - - 3.2472288608551025e-01 1.9856959581375122e-01 - 5.3498727083206177e-01 - <_> - - 0 1 670 4.6453849063254893e-04 -1 -2 671 - 3.0355889350175858e-02 - - 4.2075088620185852e-01 5.1534587144851685e-01 - 3.1181010603904724e-01 - <_> - - 0 1 672 -4.2992769740521908e-03 -1 -2 673 - 1.9509199773892760e-04 - - 3.2745069265365601e-01 5.9530782699584961e-01 - 4.2255210876464844e-01 - <_> - - 0 1 674 -7.7784480527043343e-03 -1 -2 675 - 1.6917599365115166e-02 - - 7.2111797332763672e-01 4.9365919828414917e-01 - 7.0302772521972656e-01 - <_> - - 0 1 676 -5.1948569715023041e-02 -1 -2 677 - -5.4751220159232616e-03 - - 1.4255349338054657e-01 6.0593318939208984e-01 - 4.3939951062202454e-01 - <_> - - 0 1 678 1.5210839592327829e-05 -1 -2 679 - 1.0235579684376717e-03 - - 4.4888499379158020e-01 4.2565500736236572e-01 - 5.7954382896423340e-01 - <_> - - 0 1 680 -1.0427719826111570e-04 -1 -2 681 - 8.7853781878948212e-03 - - 4.2460399866104126e-01 4.9580091238021851e-01 - 6.7594307661056519e-01 - <_> - - 0 1 682 3.4012699034065008e-03 -1 -2 683 - 5.8582378551363945e-04 - - 5.4234808683395386e-01 3.6365428566932678e-01 - 5.4643487930297852e-01 - <_> - - 0 1 684 -2.2973360028117895e-03 -1 -2 685 - -1.4330189675092697e-02 - - 2.5488188862800598e-01 6.5876567363739014e-01 - 4.5328021049499512e-01 - <_> - - 0 1 686 9.8565965890884399e-04 -1 -2 687 - -4.6640761196613312e-02 - - 3.8227710127830505e-01 3.0773219466209412e-01 - 5.2441328763961792e-01 - <_> - - 0 1 688 -1.1907300353050232e-01 -1 -2 689 - 1.9333280622959137e-02 - - 1.0338629782199860e-01 5.5547451972961426e-01 - 3.2213169336318970e-01 - <_> - - 0 1 690 3.1427849084138870e-02 -1 -2 691 - 2.0082130504306406e-04 - - 4.6823790669441223e-01 5.3730702400207520e-01 - 3.8006669282913208e-01 - <_> - - 0 1 692 -6.2584900297224522e-03 -1 -2 693 - 8.2861045375466347e-03 - - 1.7992070317268372e-01 5.0950688123703003e-01 - 7.5446051359176636e-01 - <_> - - 0 1 694 2.0529709290713072e-03 -1 -2 695 - 3.2524869311600924e-03 - - 5.6286448240280151e-01 4.8016890883445740e-01 - 5.8021020889282227e-01 - <_> - - 0 1 696 -3.1884901225566864e-02 -1 -2 697 - 1.8379340181127191e-03 - - 1.7427450418472290e-01 3.4665969014167786e-01 - 5.1071548461914062e-01 - <_> - - 1 0 698 -4.8512680223211646e-04 -1 -2 699 - -2.5407879147678614e-03 - - 5.3260862827301025e-01 6.3427752256393433e-01 - 4.9926930665969849e-01 - <_> - - 0 1 700 -5.1559060811996460e-03 -1 -2 701 - -4.4968750327825546e-02 - - 3.4334290027618408e-01 1.8681369721889496e-01 - 5.2154648303985596e-01 - <_> - - 1 0 702 5.8984281495213509e-03 -1 -2 703 - 3.2763120252639055e-03 - - 6.2293052673339844e-01 4.9357721209526062e-01 - 7.2179448604583740e-01 - <_> - - 1 0 704 -1.0161520185647532e-04 -1 -2 705 - -1.6290300118271261e-04 - - 5.0079762935638428e-01 6.0241490602493286e-01 - 2.3295080661773682e-01 - <_> - - 0 1 706 9.0541364625096321e-03 -1 -2 707 - 3.5398490726947784e-02 - - 4.5104169845581055e-01 5.1419967412948608e-01 - 2.8602918982505798e-01 - <_> - - 0 1 708 5.6469351984560490e-03 -1 -2 709 - -2.4807190056890249e-03 - - 4.7049251198768616e-01 4.1798511147499084e-01 - 6.7266470193862915e-01 - <_> - - 0 1 710 -4.1088787838816643e-03 -1 -2 711 - -2.0714469719678164e-03 - - 5.8098018169403076e-01 6.0747838020324707e-01 - 4.5240598917007446e-01 - <_> - - 0 1 712 -2.8939060866832733e-03 -1 -2 713 - 1.3467279495671391e-03 - - 3.3835199475288391e-01 5.6969100236892700e-01 - 3.9708450436592102e-01 - <_> - - 0 1 714 -9.0779133141040802e-02 -1 -2 715 - -8.3171762526035309e-02 - - 1.5027019381523132e-01 7.5736707448959351e-01 - 4.9364370107650757e-01 - <_> - - 0 1 716 -1.4107000315561891e-03 -1 -2 717 - 5.5668760091066360e-02 - - 3.3909329771995544e-01 5.0250971317291260e-01 - 7.4220830202102661e-01 - <_> - - 0 1 718 5.7701539248228073e-02 -1 -2 719 - -4.2503291368484497e-01 - - 5.1973718404769897e-01 9.7346916794776917e-02 - 5.1857399940490723e-01 - <_> - - 0 1 720 -4.4380719191394746e-04 -1 -2 721 - 1.7924769781529903e-04 - - 3.6493501067161560e-01 5.6192791461944580e-01 - 3.7602970004081726e-01 - <_> - - 1 0 722 5.0382469780743122e-03 -1 -2 723 - 1.5191170386970043e-02 - - 6.3284450769424438e-01 4.9360820651054382e-01 - 7.4265247583389282e-01 - <_> - - 0 1 724 -1.2300389818847179e-02 -1 -2 725 - 1.5168030513450503e-03 - - 1.3893499970436096e-01 5.0919622182846069e-01 - 3.4826481342315674e-01 - <_> - - 1 0 726 9.5754547510296106e-04 -1 -2 727 - -1.8962200731039047e-02 - - 6.0363167524337769e-01 2.3191730678081512e-01 - 5.1166528463363647e-01 - <_> - - 0 1 728 -2.2272260859608650e-02 -1 -2 729 - -2.5145230814814568e-02 - - 6.5550220012664795e-01 1.3260710239410400e-01 - 4.6740341186523438e-01 - <_> - - 0 1 730 1.9533900544047356e-02 -1 -2 731 - -1.1231349781155586e-03 - - 5.1820272207260132e-01 6.3182431459426880e-01 - 4.8255190253257751e-01 - <_> - - 0 1 732 -1.4861139934509993e-03 -1 -2 733 - 3.5002888762392104e-04 - - 2.9186710715293884e-01 5.6213712692260742e-01 - 4.2492130398750305e-01 - <_> - - 1 0 734 -1.1231349781155586e-03 -1 -2 735 - 1.0409739799797535e-02 - - 4.8137450218200684e-01 5.1840060949325562e-01 - 2.0512230694293976e-01 - <_> - - 0 1 736 -8.7832562625408173e-02 -1 -2 737 - 1.6584879485890269e-03 - - 1.1799219995737076e-01 4.9878111481666565e-01 - 6.9737559556961060e-01 - <_> - - 1 0 738 -2.3008750285953283e-03 -1 -2 739 - 3.3026169985532761e-02 - - 5.3398311138153076e-01 5.0332891941070557e-01 - 6.8519067764282227e-01 - <_> - - 0 1 740 -1.3585069682449102e-03 -1 -2 741 - 7.8067491995170712e-04 - - 3.0028221011161804e-01 4.5930838584899902e-01 - 6.4400452375411987e-01 - <_> - - 1 0 742 -1.8025759607553482e-02 -1 -2 743 - 1.2354910140857100e-03 - - 5.3112912178039551e-01 4.7291061282157898e-01 - 5.7214611768722534e-01 - <_> - - 0 1 744 -9.2583027435466647e-04 -1 -2 745 - 8.0123997759073973e-04 - - 3.6623328924179077e-01 5.3619897365570068e-01 - 3.0086329579353333e-01 - <_> - 63 - 3.0672130584716797e+01 - - <_> - - 0 1 746 2.4914839304983616e-03 -1 -2 747 - -5.0488598644733429e-02 - - 3.4223890304565430e-01 7.7034580707550049e-01 - 4.5163908600807190e-01 - <_> - - 1 0 748 -7.7838351717218757e-04 -1 -2 749 - 2.3572890495415777e-04 - - 3.2563421130180359e-01 3.4065559506416321e-01 - 5.8970272541046143e-01 - <_> - - 0 1 750 4.5575071126222610e-03 -1 -2 751 - 8.1241987645626068e-03 - - 4.3065789341926575e-01 7.1495872735977173e-01 - 4.3456849455833435e-01 - <_> - - 0 1 752 -4.4612158671952784e-04 -1 -2 753 - -2.8972938889637589e-04 - - 3.2959741353988647e-01 5.8456200361251831e-01 - 3.5266879200935364e-01 - <_> - - 0 1 754 7.1604831646254752e-06 -1 -2 755 - -3.8497708737850189e-04 - - 4.0819549560546875e-01 4.2031130194664001e-01 - 6.6341269016265869e-01 - <_> - - 0 1 756 1.9489860278554261e-04 -1 -2 757 - -1.7083849757909775e-02 - - 3.9424669742584229e-01 2.2940720617771149e-01 - 5.2389609813690186e-01 - <_> - - 0 1 758 8.3513697609305382e-04 -1 -2 759 - 7.5499608647078276e-04 - - 3.0260318517684937e-01 6.0321962833404541e-01 - 3.4124588966369629e-01 - <_> - - 1 0 760 8.0216713249683380e-03 -1 -2 761 - -3.8930509239435196e-02 - - 7.3062407970428467e-01 3.5993251204490662e-01 - 5.2343809604644775e-01 - <_> - - 1 0 762 -7.0348767621908337e-05 -1 -2 763 - -8.5350573062896729e-03 - - 3.4937581419944763e-01 2.7461090683937073e-01 - 5.6265860795974731e-01 - <_> - - 0 1 764 1.0854450054466724e-02 -1 -2 765 - 4.5329501153901219e-04 - - 5.2822262048721313e-01 4.5220491290092468e-01 - 6.0543018579483032e-01 - <_> - - 0 1 766 1.8117150466423482e-04 -1 -2 767 - 4.6641560038551688e-04 - - 3.3068621158599854e-01 1.4550000429153442e-01 - 5.3849279880523682e-01 - <_> - - 1 0 768 -8.4854792803525925e-03 -1 -2 769 - -1.8934309482574463e-02 - - 4.8141559958457947e-01 3.5637411475181580e-01 - 5.4051452875137329e-01 - <_> - - 1 0 770 4.9814549274742603e-03 -1 -2 771 - 3.4286780282855034e-03 - - 6.9577431678771973e-01 5.0508928298950195e-01 - 2.3169949650764465e-01 - <_> - - 1 0 772 4.4203791185282171e-04 -1 -2 773 - 2.3822550429031253e-04 - - 6.0185819864273071e-01 4.7550821304321289e-01 - 5.5852377414703369e-01 - <_> - - 0 1 774 -6.4261639490723610e-03 -1 -2 775 - 9.9637769162654877e-03 - - 2.2824659943580627e-01 4.0405881404876709e-01 - 5.6501698493957520e-01 - <_> - - 0 1 776 1.3654050417244434e-02 -1 -2 777 - -9.9892877042293549e-03 - - 5.2677392959594727e-01 6.7940497398376465e-01 - 4.7970339655876160e-01 - <_> - - 1 0 778 3.6558631807565689e-02 -1 -2 779 - 4.8999379941960797e-05 - - 8.8425733149051666e-02 4.0207880735397339e-01 - 5.4573321342468262e-01 - <_> - - 0 1 780 1.3654050417244434e-02 -1 -2 781 - 1.8802779959514737e-03 - - 5.2676129341125488e-01 4.8060521483421326e-01 - 6.3943648338317871e-01 - <_> - - 0 1 782 -1.3654050417244434e-02 -1 -2 783 - 1.2778700329363346e-03 - - 1.7248100042343140e-01 4.4798240065574646e-01 - 6.3100087642669678e-01 - <_> - - 1 0 784 9.8843395244330168e-04 -1 -2 785 - 1.4511500012304168e-05 - - 5.9481692314147949e-01 4.8541748523712158e-01 - 5.3093612194061279e-01 - <_> - - 0 1 786 -2.2775429533794522e-04 -1 -2 787 - -1.4753740280866623e-02 - - 3.1836318969726562e-01 3.0849760770797729e-01 - 5.3520262241363525e-01 - <_> - - 0 1 788 -3.4148250706493855e-03 -1 -2 789 - 7.5806681998074055e-03 - - 6.1153268814086914e-01 4.9516460299491882e-01 - 7.0613312721252441e-01 - <_> - - 1 0 790 -5.7734688743948936e-03 -1 -2 791 - 7.4033669079653919e-05 - - 3.7542209029197693e-01 4.1155171394348145e-01 - 5.8894449472427368e-01 - <_> - - 0 1 792 -8.2278084009885788e-03 -1 -2 793 - 5.3380909375846386e-03 - - 9.5610566437244415e-02 5.3005087375640869e-01 - 3.9618980884552002e-01 - <_> - - 0 1 794 -2.7049109339714050e-03 -1 -2 795 - 7.7341338619589806e-03 - - 6.4818692207336426e-01 5.1104402542114258e-01 - 3.1215190887451172e-01 - <_> - - 0 1 796 1.0886609554290771e-02 -1 -2 797 - 1.1038660071790218e-02 - - 4.8014289140701294e-01 5.4297101497650146e-01 - 4.1623631119728088e-01 - <_> - - 0 1 798 -1.0054199956357479e-02 -1 -2 799 - 7.7072880230844021e-03 - - 7.3293352127075195e-01 5.3568720817565918e-01 - 3.4555470943450928e-01 - <_> - - 0 1 800 -5.8278098003938794e-04 -1 -2 801 - -2.5739220436662436e-03 - - 3.6550220847129822e-01 3.7767601013183594e-01 - 5.3917747735977173e-01 - <_> - - 0 1 802 -7.0167761296033859e-03 -1 -2 803 - -1.7727289814502001e-03 - - 4.0393048524856567e-01 6.9504439830780029e-01 - 4.9811169505119324e-01 - <_> - - 1 0 804 -1.6318289563059807e-02 -1 -2 805 - -1.1663000099360943e-02 - - 5.2967327833175659e-01 5.8426398038864136e-01 - 4.7895029187202454e-01 - <_> - - 1 0 806 2.5881489273160696e-03 -1 -2 807 - -3.7328999023884535e-03 - - 6.0921788215637207e-01 6.7217427492141724e-01 - 4.0668940544128418e-01 - <_> - - 0 1 808 -1.4355930034071207e-03 -1 -2 809 - 1.8340899841859937e-03 - - 3.5850879549980164e-01 5.3711581230163574e-01 - 4.0335071086883545e-01 - <_> - - 1 0 810 1.2280289828777313e-01 -1 -2 811 - 5.0228700041770935e-02 - - 1.5475720167160034e-01 5.4338437318801880e-01 - 8.4292672574520111e-02 - <_> - - 1 0 812 -2.1437000483274460e-02 -1 -2 813 - -3.1009620055556297e-02 - - 4.8600539565086365e-01 1.8330100178718567e-01 - 5.2075541019439697e-01 - <_> - - 0 1 814 -1.2973720207810402e-02 -1 -2 815 - 1.5818020328879356e-03 - - 7.0482409000396729e-01 4.1705870628356934e-01 - 5.8651638031005859e-01 - <_> - - 1 0 816 -9.7806248813867569e-03 -1 -2 817 - 1.1735740117728710e-03 - - 5.3079181909561157e-01 5.5224531888961792e-01 - 3.5071650147438049e-01 - <_> - - 1 0 818 1.4651629608124495e-03 -1 -2 819 - 2.3532148916274309e-03 - - 3.0426511168479919e-01 5.3393232822418213e-01 - 2.8062361478805542e-01 - <_> - - 0 1 820 -6.1809681355953217e-03 -1 -2 821 - 6.5688649192452431e-04 - - 6.4101332426071167e-01 5.6208711862564087e-01 - 4.3903189897537231e-01 - <_> - - 1 0 822 2.6228010654449463e-02 -1 -2 823 - -1.7958110198378563e-02 - - 6.4455568790435791e-01 2.0027139782905579e-01 - 4.6246650815010071e-01 - <_> - - 1 0 824 -7.6468721963465214e-03 -1 -2 825 - -2.7482809964567423e-03 - - 5.2632009983062744e-01 5.8739811182022095e-01 - 4.8366001248359680e-01 - <_> - - 1 0 826 1.3851850293576717e-02 -1 -2 827 - 2.6369190309196711e-03 - - 1.5661309659481049e-01 4.2701789736747742e-01 - 5.8066600561141968e-01 - <_> - - 0 1 828 -3.1513599678874016e-03 -1 -2 829 - -1.4788460248382762e-05 - - 6.2158662080764771e-01 5.5766427516937256e-01 - 4.1220021247863770e-01 - <_> - - 0 1 830 -7.3676988482475281e-02 -1 -2 831 - -3.0912780202925205e-03 - - 1.5367099642753601e-01 6.3442689180374146e-01 - 4.5074120163917542e-01 - <_> - - 0 1 832 7.9240966588258743e-03 -1 -2 833 - 8.5778040811419487e-03 - - 5.4579752683639526e-01 5.4016572237014771e-01 - 3.8907998800277710e-01 - <_> - - 1 0 834 5.5403169244527817e-03 -1 -2 835 - -1.1886510037584230e-04 - - 3.5556110739707947e-01 5.8367502689361572e-01 - 4.2743161320686340e-01 - <_> - - 0 1 836 -1.8408369272947311e-02 -1 -2 837 - -2.3490579333156347e-03 - - 5.8604401350021362e-01 4.4989579916000366e-01 - 5.4981988668441772e-01 - <_> - - 1 0 838 -7.6157399453222752e-03 -1 -2 839 - -3.3190969843417406e-03 - - 4.1009929776191711e-01 6.7013788223266602e-01 - 4.3530011177062988e-01 - <_> - - 1 0 840 -9.4642979092895985e-04 -1 -2 841 - 8.7858550250530243e-03 - - 5.3911769390106201e-01 5.5040502548217773e-01 - 3.9909350872039795e-01 - <_> - - 1 0 842 1.6395459533669055e-04 -1 -2 843 - -2.3508940357714891e-03 - - 3.5929331183433533e-01 4.0341728925704956e-01 - 5.8060771226882935e-01 - <_> - - 1 0 844 7.5449963333085179e-05 -1 -2 845 - 2.7018489316105843e-02 - - 5.4123848676681519e-01 4.9449229240417480e-01 - 5.5894362926483154e-01 - <_> - - 1 0 846 8.4561208495870233e-04 -1 -2 847 - -1.1687109945341945e-03 - - 5.8092182874679565e-01 4.7469571232795715e-01 - 2.8458958864212036e-01 - <_> - - 1 0 848 2.2897500544786453e-02 -1 -2 849 - 7.0879262685775757e-01 - - 2.4144110083580017e-01 5.1957648992538452e-01 - 1.0300920158624649e-01 - <_> - - 1 0 850 3.7483830004930496e-02 -1 -2 851 - 1.2827500468119979e-03 - - 1.8146389722824097e-01 4.2460718750953674e-01 - 5.7079732418060303e-01 - <_> - - 0 1 852 -5.1718312315642834e-03 -1 -2 853 - 2.7545939665287733e-03 - - 6.1433231830596924e-01 5.2056711912155151e-01 - 4.2204418778419495e-01 - <_> - - 0 1 854 -3.6072919610887766e-03 -1 -2 855 - -2.5258748792111874e-04 - - 3.1825920939445496e-01 5.7104682922363281e-01 - 4.2260938882827759e-01 - <_> - - 1 0 856 -7.0514748804271221e-03 -1 -2 857 - -5.4323761723935604e-03 - - 5.1628297567367554e-01 2.6662889122962952e-01 - 5.2146798372268677e-01 - <_> - - 1 0 858 -1.4652940080850385e-05 -1 -2 859 - -1.8556920113041997e-03 - - 3.9817610383033752e-01 3.3227631449699402e-01 - 5.7058340311050415e-01 - <_> - - 1 0 860 4.7609540633857250e-03 -1 -2 861 - 1.5676260227337480e-03 - - 6.6365581750869751e-01 5.5055677890777588e-01 - 4.4206619262695312e-01 - <_> - - 1 0 862 5.4239919409155846e-03 -1 -2 863 - -6.4692399464547634e-03 - - 5.9599381685256958e-01 5.3695940971374512e-01 - 3.7443399429321289e-01 - <_> - - 0 1 864 -7.8038539504632354e-04 -1 -2 865 - 4.5086450874805450e-02 - - 4.1035950183868408e-01 5.1775068044662476e-01 - 1.8781000375747681e-01 - <_> - - 0 1 866 -5.1405387930572033e-03 -1 -2 867 - -2.1236129105091095e-02 - - 2.3528920114040375e-01 1.7087510228157043e-01 - 5.4249739646911621e-01 - <_> - - 0 1 868 -2.3763340432196856e-03 -1 -2 869 - 5.4122589528560638e-02 - - 5.8365309238433838e-01 5.1174330711364746e-01 - 1.8659310042858124e-01 - <_> - - 0 1 870 -5.3492980077862740e-04 -1 -2 871 - -5.8454048121348023e-04 - - 5.1086932420730591e-01 4.7754910588264465e-01 - 2.4398539960384369e-01 - <_> - 71 - 3.4677078247070312e+01 - - <_> - - 0 1 872 3.0031939968466759e-03 -1 -2 873 - 6.9161207647994161e-04 - - 3.3496499061584473e-01 4.5183679461479187e-01 - 7.2893542051315308e-01 - <_> - - 0 1 874 1.1212790384888649e-02 -1 -2 875 - -7.6108198845759034e-04 - - 2.9508009552955627e-01 5.6690549850463867e-01 - 2.8308510780334473e-01 - <_> - - 0 1 876 1.1984579759882763e-04 -1 -2 877 - -1.9725349557120353e-04 - - 4.0905779600143433e-01 6.9514942169189453e-01 - 4.6378681063652039e-01 - <_> - - 1 0 878 -5.5180420167744160e-03 -1 -2 879 - 1.2148249661549926e-03 - - 3.1676751375198364e-01 3.3167061209678650e-01 - 5.3963977098464966e-01 - <_> - - 0 1 880 -4.2497441172599792e-03 -1 -2 881 - -9.4915721565485001e-03 - - 2.6005738973617554e-01 7.4842947721481323e-01 - 5.0731921195983887e-01 - <_> - - 1 0 882 6.5378600265830755e-04 -1 -2 883 - -4.9741100519895554e-04 - - 3.9520108699798584e-01 5.8802747726440430e-01 - 3.5521200299263000e-01 - <_> - - 0 1 884 -4.3079249560832977e-02 -1 -2 885 - -5.1999092102050781e-04 - - 2.4348780512809753e-01 3.1955629587173462e-01 - 5.5854547023773193e-01 - <_> - - 1 0 886 -4.5451628975570202e-03 -1 -2 887 - -7.9610403627157211e-03 - - 4.8452898859977722e-01 3.8011810183525085e-01 - 5.3585118055343628e-01 - <_> - - 1 0 888 -3.1919340835884213e-04 -1 -2 889 - -1.9223889335989952e-02 - - 4.3563291430473328e-01 2.6130661368370056e-01 - 6.1554962396621704e-01 - <_> - - 0 1 890 -1.3076990144327283e-03 -1 -2 891 - 1.9825039431452751e-02 - - 5.9420621395111084e-01 4.9454280734062195e-01 - 7.3848551511764526e-01 - <_> - - 0 1 892 -2.2013280540704727e-03 -1 -2 893 - -7.8596705570816994e-03 - - 2.2144819796085358e-01 3.6009770631790161e-01 - 5.2985501289367676e-01 - <_> - - 1 0 894 1.4142199652269483e-03 -1 -2 895 - -1.1232759803533554e-02 - - 5.7765662670135498e-01 6.9344568252563477e-01 - 4.8272070288658142e-01 - <_> - - 1 0 896 2.9746301006525755e-03 -1 -2 897 - 5.3283828310668468e-04 - - 3.2166770100593567e-01 3.9625000953674316e-01 - 5.6803637742996216e-01 - <_> - - 1 0 898 1.0105259716510773e-02 -1 -2 899 - -1.1653699912130833e-02 - - 7.5674182176589966e-01 6.5235567092895508e-01 - 5.0270539522171021e-01 - <_> - - 0 1 900 -7.0609981194138527e-03 -1 -2 901 - 2.2343141026794910e-03 - - 2.5387701392173767e-01 4.3872770667076111e-01 - 6.1776322126388550e-01 - <_> - - 1 0 902 -2.9802279546856880e-02 -1 -2 903 - 1.1611840454861522e-03 - - 5.2011400461196899e-01 4.6479099988937378e-01 - 6.1842548847198486e-01 - <_> - - 1 0 904 9.4824447296559811e-04 -1 -2 905 - 4.1284630424343050e-04 - - 3.0409941077232361e-01 4.5188081264495850e-01 - 6.2457829713821411e-01 - <_> - - 0 1 906 -3.1203540042042732e-02 -1 -2 907 - 2.7652881108224392e-03 - - 2.7889358997344971e-01 4.6985000371932983e-01 - 6.5024542808532715e-01 - <_> - - 1 0 908 2.5644779205322266e-02 -1 -2 909 - -7.5331530533730984e-03 - - 1.8051710724830627e-01 3.2080689072608948e-01 - 5.5220228433609009e-01 - <_> - - 1 0 910 3.2047149725258350e-03 -1 -2 911 - -2.4282479716930538e-04 - - 6.4369338750839233e-01 5.6767052412033081e-01 - 4.5091038942337036e-01 - <_> - - 0 1 912 -6.1979342717677355e-04 -1 -2 913 - -8.0101029016077518e-04 - - 3.1221461296081543e-01 2.9651939868927002e-01 - 5.2304947376251221e-01 - <_> - - 1 0 914 -9.1816839994862676e-04 -1 -2 915 - 1.2239529751241207e-03 - - 5.4647117853164673e-01 4.6185028553009033e-01 - 5.6795489788055420e-01 - <_> - - 0 1 916 -6.8743730662390590e-04 -1 -2 917 - -1.8252469599246979e-03 - - 5.4308801889419556e-01 5.4336231946945190e-01 - 3.3852210640907288e-01 - <_> - - 1 0 918 -7.4570789001882076e-03 -1 -2 919 - 5.3775748237967491e-03 - - 5.2655947208404541e-01 4.8572158813476562e-01 - 6.8151241540908813e-01 - <_> - - 1 0 920 3.7602309603244066e-03 -1 -2 921 - 8.7752222316339612e-04 - - 2.8321608901023865e-01 3.9668309688568115e-01 - 5.5124807357788086e-01 - <_> - - 1 0 922 5.5084479972720146e-03 -1 -2 923 - -7.5949047459289432e-04 - - 6.7846202850341797e-01 3.9065030217170715e-01 - 5.4572027921676636e-01 - <_> - - 1 0 924 1.6352660022675991e-03 -1 -2 925 - -1.2750849418807775e-04 - - 3.6402040719985962e-01 5.8297240734100342e-01 - 4.1949799656867981e-01 - <_> - - 0 1 926 2.2067610174417496e-02 -1 -2 927 - -1.9203789532184601e-02 - - 4.6067029237747192e-01 3.2614830136299133e-01 - 5.2360808849334717e-01 - <_> - - 0 1 928 -1.2998109683394432e-02 -1 -2 929 - -3.1332690268754959e-03 - - 7.0221120119094849e-01 2.8704708814620972e-01 - 5.0764769315719604e-01 - <_> - - 1 0 930 -5.2937557920813560e-03 -1 -2 931 - 2.1857069805264473e-03 - - 4.7095209360122681e-01 4.7082918882369995e-01 - 6.1698418855667114e-01 - <_> - - 0 1 932 -4.5750709250569344e-03 -1 -2 933 - -4.5152138918638229e-02 - - 3.1142529845237732e-01 1.8514350056648254e-01 - 5.5048149824142456e-01 - <_> - - 1 0 934 -2.7783559635281563e-03 -1 -2 935 - -2.5752480141818523e-03 - - 4.9373480677604675e-01 6.1529481410980225e-01 - 4.7354999184608459e-01 - <_> - - 1 0 936 1.1614130344241858e-03 -1 -2 937 - 2.3350189439952374e-03 - - 6.5105718374252319e-01 4.0883418917655945e-01 - 5.6841522455215454e-01 - <_> - - 1 0 938 3.8499289657920599e-03 -1 -2 939 - 2.4529630318284035e-03 - - 3.0258288979530334e-01 5.2325028181076050e-01 - 2.0176209509372711e-01 - <_> - - 1 0 940 3.6731390282511711e-03 -1 -2 941 - 2.1937100682407618e-03 - - 6.4284259080886841e-01 4.3288651108741760e-01 - 6.4205098152160645e-01 - <_> - - 1 0 942 -6.4666871912777424e-03 -1 -2 943 - -5.7186251506209373e-03 - - 5.2540659904479980e-01 2.4909840524196625e-01 - 5.2876192331314087e-01 - <_> - - 1 0 944 9.9941878579556942e-04 -1 -2 945 - -7.8276498243212700e-04 - - 3.3297958970069885e-01 3.5983449220657349e-01 - 5.4983407258987427e-01 - <_> - - 0 1 946 4.3231188319623470e-03 -1 -2 947 - 4.0838290005922318e-03 - - 4.8187050223350525e-01 5.2663302421569824e-01 - 3.1057891249656677e-01 - <_> - - 1 0 948 3.0515898833982646e-04 -1 -2 949 - 1.2640280183404684e-03 - - 3.9952918887138367e-01 3.2284379005432129e-01 - 5.8192151784896851e-01 - <_> - - 0 1 950 -1.0152660310268402e-02 -1 -2 951 - -2.6863690000027418e-03 - - 8.0260711908340454e-01 3.8756170868873596e-01 - 5.4665708541870117e-01 - <_> - - 1 0 952 -9.0515613555908203e-03 -1 -2 953 - -6.3204211182892323e-03 - - 4.3720579147338867e-01 1.1265510320663452e-01 - 6.3954162597656250e-01 - <_> - - 0 1 954 2.6117300149053335e-03 -1 -2 955 - 1.4339019544422626e-02 - - 5.4239892959594727e-01 4.9792730808258057e-01 - 6.0422360897064209e-01 - <_> - - 1 0 956 2.8452780097723007e-03 -1 -2 957 - 1.4783289771003183e-05 - - 3.4910920262336731e-01 4.1950678825378418e-01 - 5.7759660482406616e-01 - <_> - - 0 1 958 8.1814555451273918e-03 -1 -2 959 - 6.6321990452706814e-03 - - 4.8859870433807373e-01 5.4444682598114014e-01 - 4.4209951162338257e-01 - <_> - - 0 1 960 -2.2483461070805788e-03 -1 -2 961 - 1.2374560348689556e-02 - - 6.6997921466827393e-01 4.4786059856414795e-01 - 6.5648937225341797e-01 - <_> - - 1 0 962 -6.6516688093543053e-03 -1 -2 963 - -8.5750613361597061e-03 - - 5.5118787288665771e-01 4.0174451470375061e-01 - 5.4055362939834595e-01 - <_> - - 1 0 964 6.5078441984951496e-03 -1 -2 965 - 2.8675209730863571e-02 - - 2.2943930327892303e-01 5.1779001951217651e-01 - 3.5677561163902283e-01 - <_> - - 0 1 966 7.0673860609531403e-03 -1 -2 967 - 1.2367829913273454e-03 - - 5.5646997690200806e-01 3.6276981234550476e-01 - 5.5724138021469116e-01 - <_> - - 1 0 968 7.4818679131567478e-03 -1 -2 969 - 4.7109839506447315e-03 - - 6.7849111557006836e-01 4.1212528944015503e-01 - 6.0722357034683228e-01 - <_> - - 1 0 970 -6.9405790418386459e-03 -1 -2 971 - 3.3302098512649536e-02 - - 5.4597669839859009e-01 5.2767068147659302e-01 - 2.3749159276485443e-01 - <_> - - 1 0 972 3.6104630678892136e-02 -1 -2 973 - 1.9674649462103844e-02 - - 7.2492793202400208e-02 4.6263459324836731e-01 - 8.2089632749557495e-01 - <_> - - 0 1 974 3.4766150638461113e-03 -1 -2 975 - 1.3987369602546096e-03 - - 5.2087318897247314e-01 5.4844141006469727e-01 - 4.2300349473953247e-01 - <_> - - 1 0 976 4.0974249131977558e-03 -1 -2 977 - 2.6973790954798460e-03 - - 2.7805531024932861e-01 5.4038310050964355e-01 - 3.7909889221191406e-01 - <_> - - 1 0 978 -5.6591699831187725e-03 -1 -2 979 - 3.9460969856008887e-04 - - 4.7983360290527344e-01 3.7669500708580017e-01 - 5.4292291402816772e-01 - <_> - - 1 0 980 2.1750570740550756e-03 -1 -2 981 - 1.4614439569413662e-03 - - 6.2071627378463745e-01 3.3579450845718384e-01 - 5.1426321268081665e-01 - <_> - - 1 0 982 -5.3006567759439349e-04 -1 -2 983 - 1.4869309961795807e-01 - - 5.3446400165557861e-01 5.1596081256866455e-01 - 2.5618231296539307e-01 - <_> - - 1 0 984 -5.8816498494707048e-05 -1 -2 985 - -1.6275369562208652e-03 - - 5.1230919361114502e-01 6.0176461935043335e-01 - 3.1093719601631165e-01 - <_> - - 0 1 986 -1.2881809845566750e-02 -1 -2 987 - 9.4982917653396726e-04 - - 2.7122870087623596e-01 5.4424422979354858e-01 - 4.0288880467414856e-01 - <_> - - 1 0 988 -1.2315999716520309e-02 -1 -2 989 - 9.0286601334810257e-03 - - 4.7360658645629883e-01 7.4514347314834595e-01 - 3.4879919886589050e-01 - <_> - - 0 1 990 -8.6876116693019867e-02 -1 -2 991 - -1.5107560102478601e-05 - - 2.2903330624103546e-01 5.5178898572921753e-01 - 4.3931490182876587e-01 - <_> - - 0 1 992 -1.7457660287618637e-02 -1 -2 993 - -2.5219470262527466e-03 - - 9.0167902410030365e-02 6.2335401773452759e-01 - 4.7894591093063354e-01 - <_> - - 0 1 994 1.0656520025804639e-03 -1 -2 995 - -4.2540300637483597e-03 - - 5.4896962642669678e-01 5.5798089504241943e-01 - 4.3758779764175415e-01 - <_> - - 0 1 996 -9.0349102392792702e-03 -1 -2 997 - -1.5230999561026692e-03 - - 3.5791561007499695e-01 5.6136602163314819e-01 - 3.9390438795089722e-01 - <_> - - 1 0 998 2.8441150207072496e-03 -1 -2 999 - -3.2824429217725992e-03 - - 3.9015549421310425e-01 4.5286190509796143e-01 - 5.4413431882858276e-01 - <_> - - 1 0 1000 3.2161718991119415e-05 -1 -2 1001 - 3.0118400900391862e-05 - - 5.8031117916107178e-01 3.3368501067161560e-01 - 5.5048561096191406e-01 - <_> - - 0 1 1002 -5.6150099262595177e-03 -1 -2 1003 - -1.7389209941029549e-02 - - 6.1247891187667847e-01 8.7271630764007568e-02 - 5.2045881748199463e-01 - <_> - - 0 1 1004 -4.4361080654198304e-05 -1 -2 1005 - 1.0354899859521538e-04 - - 3.9353290200233459e-01 5.9188538789749146e-01 - 4.1196140646934509e-01 - <_> - - 0 1 1006 1.5939630102366209e-03 -1 -2 1007 - 2.5440789759159088e-03 - - 4.8396238684654236e-01 4.7873649001121521e-01 - 6.3606631755828857e-01 - <_> - - 0 1 1008 1.5083180187502876e-05 -1 -2 1009 - -9.9282202427275479e-05 - - 4.2311170697212219e-01 4.2745891213417053e-01 - 6.0940480232238770e-01 - <_> - - 1 0 1010 5.5371708003804088e-04 -1 -2 1011 - 1.9186759600415826e-03 - - 4.2719879746437073e-01 4.4971078634262085e-01 - 5.5491220951080322e-01 - <_> - - 1 0 1012 -5.0764222396537662e-04 -1 -2 1013 - 1.7236480489373207e-03 - - 5.4771959781646729e-01 2.8829228878021240e-01 - 5.6151270866394043e-01 - <_> - 75 - 3.6726501464843750e+01 - - <_> - - 0 1 1014 1.3092169538140297e-02 -1 -2 1015 - 4.1446479735895991e-04 - - 3.3388701081275940e-01 3.0993521213531494e-01 - 6.6774922609329224e-01 - <_> - - 0 1 1016 2.1835729479789734e-02 -1 -2 1017 - 4.8323940485715866e-02 - - 4.3690490722656250e-01 4.3017241358757019e-01 - 6.1538851261138916e-01 - <_> - - 0 1 1018 1.6091950237751007e-03 -1 -2 1019 - 1.3469760306179523e-03 - - 3.3873260021209717e-01 6.2487137317657471e-01 - 3.5941308736801147e-01 - <_> - - 0 1 1020 1.7729059618432075e-04 -1 -2 1021 - 3.6743620876222849e-04 - - 3.8684248924255371e-01 4.4093450903892517e-01 - 5.4764741659164429e-01 - <_> - - 0 1 1022 -1.2352119665592909e-03 -1 -2 1023 - 1.1705530341714621e-03 - - 3.2601711153984070e-01 4.1113489866256714e-01 - 6.0881638526916504e-01 - <_> - - 1 0 1024 -2.9695429475395940e-05 -1 -2 1025 - 2.7050738572143018e-04 - - 4.2694228887557983e-01 4.3064668774604797e-01 - 5.8105140924453735e-01 - <_> - - 1 0 1026 -7.9626210208516568e-05 -1 -2 1027 - 3.3152441028505564e-04 - - 3.6691430211067200e-01 4.6106639504432678e-01 - 6.2905901670455933e-01 - <_> - - 1 0 1028 -5.2305828779935837e-02 -1 -2 1029 - 2.6880469173192978e-02 - - 5.3286898136138916e-01 5.2132612466812134e-01 - 3.2312199473381042e-01 - <_> - - 1 0 1030 -2.4203000066336244e-04 -1 -2 1031 - -1.6424639616161585e-03 - - 3.5685700178146362e-01 3.4406611323356628e-01 - 5.6256049871444702e-01 - <_> - - 1 0 1032 -2.6830288697965443e-04 -1 -2 1033 - -2.2649629972875118e-03 - - 4.5611730217933655e-01 5.3213518857955933e-01 - 3.6741548776626587e-01 - <_> - - 1 0 1034 1.5627209097146988e-02 -1 -2 1035 - 1.6211320459842682e-01 - - 2.0293539762496948e-01 5.5630332231521606e-01 - 2.6188498735427856e-01 - <_> - - 0 1 1036 -3.7391691002994776e-03 -1 -2 1037 - -2.0878419745713472e-03 - - 6.0621947050094604e-01 5.9507638216018677e-01 - 4.5451170206069946e-01 - <_> - - 1 0 1038 2.3334210272878408e-03 -1 -2 1039 - 6.5116386394947767e-05 - - 6.4355242252349854e-01 3.5207340121269226e-01 - 5.1797789335250854e-01 - <_> - - 0 1 1040 7.4625718407332897e-03 -1 -2 1041 - -2.2032689303159714e-02 - - 5.3266882896423340e-01 3.4919810295104980e-01 - 5.4292368888854980e-01 - <_> - - 0 1 1042 -8.3081610500812531e-03 -1 -2 1043 - -4.3259368976578116e-04 - - 2.0840230584144592e-01 3.9652720093727112e-01 - 5.4254537820816040e-01 - <_> - - 1 0 1044 -3.2209228724241257e-02 -1 -2 1045 - -9.0424838708713651e-04 - - 5.3064119815826416e-01 5.4503858089447021e-01 - 4.2566969990730286e-01 - <_> - - 1 0 1046 2.2727500181645155e-03 -1 -2 1047 - 5.9820008464157581e-03 - - 5.9686112403869629e-01 4.7581401467323303e-01 - 3.1509441137313843e-01 - <_> - - 1 0 1048 -5.8856618124991655e-04 -1 -2 1049 - -8.8227191008627415e-04 - - 4.8477488756179810e-01 5.4263162612915039e-01 - 4.3383410573005676e-01 - <_> - - 1 0 1050 -7.4473457061685622e-05 -1 -2 1051 - 3.9148979703895748e-04 - - 4.2875099182128906e-01 6.3451850414276123e-01 - 4.1018518805503845e-01 - <_> - - 1 0 1052 -3.6939629353582859e-03 -1 -2 1053 - -1.1207849718630314e-02 - - 4.8491048812866211e-01 4.1463369131088257e-01 - 5.4712641239166260e-01 - <_> - - 0 1 1054 -1.0337409563362598e-02 -1 -2 1055 - 3.6883640568703413e-03 - - 2.8771838545799255e-01 5.1019018888473511e-01 - 7.2169512510299683e-01 - <_> - - 1 0 1056 -3.8984280545264482e-03 -1 -2 1057 - -5.9986729174852371e-03 - - 5.2761822938919067e-01 6.6184598207473755e-01 - 4.8416310548782349e-01 - <_> - - 1 0 1058 4.5043681748211384e-03 -1 -2 1059 - 1.7799530178308487e-02 - - 1.8741579353809357e-01 4.6169349551200867e-01 - 7.0889657735824585e-01 - <_> - - 0 1 1060 -1.8462570384144783e-02 -1 -2 1061 - 1.4931300029275008e-05 - - 3.0019798874855042e-01 4.5618081092834473e-01 - 5.6107878684997559e-01 - <_> - - 0 1 1062 -8.6021229624748230e-02 -1 -2 1063 - -6.0818758356617764e-05 - - 2.3417009413242340e-01 5.6722861528396606e-01 - 4.1999641060829163e-01 - <_> - - 1 0 1064 1.2670679716393352e-03 -1 -2 1065 - 1.3699879636988044e-03 - - 6.2074822187423706e-01 5.3949588537216187e-01 - 3.8238629698753357e-01 - <_> - - 1 0 1066 3.3162781037390232e-03 -1 -2 1067 - -1.4532039640471339e-03 - - 7.0616811513900757e-01 3.0655130743980408e-01 - 4.8273730278015137e-01 - <_> - - 1 0 1068 -7.1492061018943787e-02 -1 -2 1069 - 1.9857978913933039e-03 - - 5.1931220293045044e-01 4.6424350142478943e-01 - 5.8076947927474976e-01 - <_> - - 1 0 1070 6.2516499310731888e-03 -1 -2 1071 - 2.7005500160157681e-03 - - 2.9498139023780823e-01 4.5858868956565857e-01 - 6.0223537683486938e-01 - <_> - - 0 1 1072 1.1130389757454395e-02 -1 -2 1073 - 1.5092849731445312e-02 - - 4.3578410148620605e-01 4.5615398883819580e-01 - 6.1190617084503174e-01 - <_> - - 0 1 1074 -2.7943300083279610e-02 -1 -2 1075 - 4.4036991312168539e-05 - - 6.5371441841125488e-01 3.4747231006622314e-01 - 5.3369677066802979e-01 - <_> - - 0 1 1076 -1.2232770211994648e-02 -1 -2 1077 - -6.8591412855312228e-04 - - 3.7316760420799255e-01 5.7172292470932007e-01 - 4.7933790087699890e-01 - <_> - - 0 1 1078 -3.8992990739643574e-03 -1 -2 1079 - 4.9113907152786851e-04 - - 4.0564361214637756e-01 6.1740481853485107e-01 - 4.4717541337013245e-01 - <_> - - 1 0 1080 8.2117747515439987e-03 -1 -2 1081 - -4.5564480125904083e-02 - - 6.1796981096267700e-01 2.2854949533939362e-01 - 5.2495658397674561e-01 - <_> - - 0 1 1082 -5.3631910122931004e-03 -1 -2 1083 - -1.2274970300495625e-02 - - 1.7849500477313995e-01 7.2619527578353882e-01 - 4.5503988862037659e-01 - <_> - - 0 1 1084 5.4185991175472736e-03 -1 -2 1085 - 8.1846961984410882e-04 - - 5.2529907226562500e-01 5.4452222585678101e-01 - 3.2722181081771851e-01 - <_> - - 1 0 1086 4.1358140297234058e-03 -1 -2 1087 - 3.9578010910190642e-04 - - 7.0138317346572876e-01 4.9659439921379089e-01 - 3.2955980300903320e-01 - <_> - - 0 1 1088 4.6887691132724285e-03 -1 -2 1089 - -1.8255440518260002e-02 - - 5.3626418113708496e-01 6.4961087703704834e-01 - 4.7571370005607605e-01 - <_> - - 0 1 1090 -6.2736468389630318e-03 -1 -2 1091 - 2.4320168886333704e-03 - - 2.3437410593032837e-01 4.6201181411743164e-01 - 6.8984192609786987e-01 - <_> - - 0 1 1092 -4.9617629498243332e-02 -1 -2 1093 - 1.1701210169121623e-03 - - 2.1007199585437775e-01 4.6215289831161499e-01 - 5.7971358299255371e-01 - <_> - - 0 1 1094 -4.5237291604280472e-02 -1 -2 1095 - 4.7563421539962292e-03 - - 2.1182620525360107e-01 4.8846149444580078e-01 - 6.8724989891052246e-01 - <_> - - 1 0 1096 -1.4835969544947147e-02 -1 -2 1097 - 7.7436608262360096e-04 - - 5.2751058340072632e-01 4.1723209619522095e-01 - 5.4911398887634277e-01 - <_> - - 1 0 1098 1.4835969544947147e-02 -1 -2 1099 - -8.0892542609944940e-04 - - 2.1248769760131836e-01 5.4952150583267212e-01 - 4.2077958583831787e-01 - <_> - - 0 1 1100 7.7517668250948191e-04 -1 -2 1101 - -6.7618978209793568e-03 - - 3.3219420909881592e-01 2.2129580378532410e-01 - 5.2326530218124390e-01 - <_> - - 0 1 1102 -4.0135860443115234e-02 -1 -2 1103 - -3.3651469275355339e-03 - - 1.1017960309982300e-01 3.8101008534431458e-01 - 5.6172919273376465e-01 - <_> - - 1 0 1104 7.4713007779791951e-04 -1 -2 1105 - -4.2727389372885227e-03 - - 5.7950568199157715e-01 6.3922691345214844e-01 - 4.7114381194114685e-01 - <_> - - 1 0 1106 3.6202510818839073e-03 -1 -2 1107 - 4.7307618660852313e-04 - - 3.4098839759826660e-01 3.6593028903007507e-01 - 5.3881710767745972e-01 - <_> - - 1 0 1108 3.3094909042119980e-02 -1 -2 1109 - -1.1544119566679001e-02 - - 7.1703857183456421e-01 6.3868182897567749e-01 - 4.6813040971755981e-01 - <_> - - 0 1 1110 -7.4234469793736935e-03 -1 -2 1111 - -4.2252950370311737e-03 - - 3.2637009024620056e-01 5.7678192853927612e-01 - 4.3464180827140808e-01 - <_> - - 0 1 1112 1.8133109435439110e-02 -1 -2 1113 - 7.0903049781918526e-03 - - 4.6978279948234558e-01 4.4373890757560730e-01 - 6.0616689920425415e-01 - <_> - - 0 1 1114 -1.3272940181195736e-02 -1 -2 1115 - 1.4632199599873275e-04 - - 6.5585112571716309e-01 3.3763539791107178e-01 - 5.0916552543640137e-01 - <_> - - 0 1 1116 -3.5790191031992435e-03 -1 -2 1117 - -4.6997101162560284e-04 - - 2.9478839039802551e-01 5.5569821596145630e-01 - 4.6654561161994934e-01 - <_> - - 0 1 1118 -4.8179440200328827e-02 -1 -2 1119 - -9.2581362696364522e-04 - - 7.3383557796478271e-01 3.5438719391822815e-01 - 5.2851498126983643e-01 - <_> - - 0 1 1120 -1.4780730009078979e-02 -1 -2 1121 - -1.0027450323104858e-01 - - 1.9444419443607330e-01 9.9049292504787445e-02 - 5.1398539543151855e-01 - <_> - - 0 1 1122 -9.3848101096227765e-04 -1 -2 1123 - -2.8861360624432564e-03 - - 5.8271098136901855e-01 3.4414279460906982e-01 - 5.1488387584686279e-01 - <_> - - 1 0 1124 -4.3682761490345001e-02 -1 -2 1125 - 2.6115700602531433e-03 - - 5.2079981565475464e-01 4.8355031013488770e-01 - 6.3222199678421021e-01 - <_> - - 1 0 1126 4.3682761490345001e-02 -1 -2 1127 - 1.7179530113935471e-03 - - 1.3645380735397339e-01 4.5373201370239258e-01 - 6.0667508840560913e-01 - <_> - - 1 0 1128 -3.3964909613132477e-02 -1 -2 1129 - -1.0993590112775564e-03 - - 4.9683749675750732e-01 5.8316808938980103e-01 - 4.6882399916648865e-01 - <_> - - 1 0 1130 5.4301079362630844e-02 -1 -2 1131 - 1.0993590112775564e-03 - - 7.5682890415191650e-01 4.3301481008529663e-01 - 5.7684689760208130e-01 - <_> - - 1 0 1132 -1.4954120160837192e-05 -1 -2 1133 - 3.1415868550539017e-02 - - 4.4432818889617920e-01 5.2744728326797485e-01 - 3.0378559231758118e-01 - <_> - - 1 0 1134 1.0831849649548531e-02 -1 -2 1135 - 8.6545711383223534e-04 - - 3.5817208886146545e-01 5.9375840425491333e-01 - 4.2946299910545349e-01 - <_> - - 1 0 1136 2.2743160370737314e-03 -1 -2 1137 - 3.9340821094810963e-03 - - 5.9545767307281494e-01 4.7922229766845703e-01 - 5.8561331033706665e-01 - <_> - - 1 0 1138 8.1451907753944397e-03 -1 -2 1139 - -5.2763288840651512e-03 - - 3.5734778642654419e-01 4.0260228514671326e-01 - 5.7647430896759033e-01 - <_> - - 1 0 1140 -8.3787851035594940e-03 -1 -2 1141 - 1.5621910570189357e-03 - - 4.9813330173492432e-01 4.7365880012512207e-01 - 5.5836081504821777e-01 - <_> - - 1 0 1142 3.2318739686161280e-03 -1 -2 1143 - 6.6804019734263420e-03 - - 6.1674368381500244e-01 4.1314241290092468e-01 - 6.2806951999664307e-01 - <_> - - 0 1 1144 -3.3396480139344931e-03 -1 -2 1145 - -2.0933480560779572e-01 - - 3.4463581442832947e-01 1.0386580228805542e-01 - 5.2044892311096191e-01 - <_> - - 1 0 1146 6.3805822283029556e-03 -1 -2 1147 - -6.0137799009680748e-03 - - 2.1674020588397980e-01 6.7383992671966553e-01 - 4.8966509103775024e-01 - <_> - - 1 0 1148 -8.1756077706813812e-03 -1 -2 1149 - 6.3951779156923294e-04 - - 5.1779150962829590e-01 4.8196458816528320e-01 - 5.4644381999969482e-01 - <_> - - 1 0 1150 1.0127760469913483e-03 -1 -2 1151 - 4.9784599104896188e-04 - - 3.4235960245132446e-01 4.4884610176086426e-01 - 5.9126710891723633e-01 - <_> - - 1 0 1152 1.3596490316558629e-04 -1 -2 1153 - 1.3571660034358501e-02 - - 5.5688631534576416e-01 5.1610678434371948e-01 - 1.7130009829998016e-01 - <_> - - 1 0 1154 3.0259079721872695e-05 -1 -2 1155 - -3.2625840976834297e-03 - - 4.9162039160728455e-01 6.4046627283096313e-01 - 2.8590849041938782e-01 - <_> - - 1 0 1156 -1.9217010412830859e-04 -1 -2 1157 - 2.1993879228830338e-02 - - 5.4592829942703247e-01 4.7157138586044312e-01 - 5.6900751590728760e-01 - <_> - - 1 0 1158 7.8907777788117528e-04 -1 -2 1159 - 5.0893891602754593e-04 - - 3.2798269391059875e-01 4.3020078539848328e-01 - 5.6960451602935791e-01 - <_> - - 1 0 1160 1.1662710312521085e-04 -1 -2 1161 - 8.0604078248143196e-03 - - 5.3872352838516235e-01 5.0214231014251709e-01 - 5.9653222560882568e-01 - <_> - - 1 0 1162 9.5925969071686268e-04 -1 -2 1163 - -1.9526129588484764e-02 - - 3.4734940528869629e-01 6.4755451679229736e-01 - 4.6437820792198181e-01 - <_> - 78 - 3.8236038208007812e+01 - - <_> - - 0 1 1164 4.1242439299821854e-02 -1 -2 1165 - 1.5626709908246994e-02 - - 3.3933150768280029e-01 5.1041001081466675e-01 - 7.7728152275085449e-01 - <_> - - 0 1 1166 2.9947189614176750e-04 -1 -2 1167 - -1.0037609608843923e-03 - - 3.6646738648414612e-01 5.4056507349014282e-01 - 3.9262050390243530e-01 - <_> - - 0 1 1168 6.8128242855891585e-04 -1 -2 1169 - 1.3098999625071883e-04 - - 4.2515191435813904e-01 4.1351449489593506e-01 - 6.9257462024688721e-01 - <_> - - 1 0 1170 3.1696720980107784e-03 -1 -2 1171 - -2.0587369799613953e-03 - - 3.4558731317520142e-01 2.2341939806938171e-01 - 5.2861189842224121e-01 - <_> - - 1 0 1172 -4.6395038953050971e-04 -1 -2 1173 - 3.5089480224996805e-03 - - 4.2065200209617615e-01 6.5029817819595337e-01 - 4.1175979375839233e-01 - <_> - - 1 0 1174 -2.3975980002433062e-03 -1 -2 1175 - 1.0901279747486115e-03 - - 3.6733010411262512e-01 2.9062381386756897e-01 - 5.4451119899749756e-01 - <_> - - 0 1 1176 -1.6524370585102588e-04 -1 -2 1177 - -4.1602319106459618e-04 - - 4.2335158586502075e-01 3.8863611221313477e-01 - 6.2691658735275269e-01 - <_> - - 0 1 1178 -2.3739910102449358e-04 -1 -2 1179 - 2.4739760905504227e-02 - - 5.5244511365890503e-01 4.9600958824157715e-01 - 5.3734910488128662e-01 - <_> - - 0 1 1180 -1.5342839993536472e-02 -1 -2 1181 - 1.1540469713509083e-02 - - 6.8494051694869995e-01 4.0372350811958313e-01 - 6.7869400978088379e-01 - <_> - - 1 0 1182 6.4230621792376041e-03 -1 -2 1183 - 1.2977809645235538e-02 - - 3.8146761059761047e-01 5.5270588397979736e-01 - 3.7449559569358826e-01 - <_> - - 0 1 1184 1.1063399724662304e-03 -1 -2 1185 - 1.3743690215051174e-03 - - 3.5209289193153381e-01 5.6419032812118530e-01 - 3.0750259757041931e-01 - <_> - - 0 1 1186 1.6233779489994049e-02 -1 -2 1187 - -8.1519351806491613e-04 - - 4.8888280987739563e-01 5.4563212394714355e-01 - 4.7435501217842102e-01 - <_> - - 0 1 1188 -9.0782493352890015e-02 -1 -2 1189 - 1.1665210127830505e-02 - - 2.9252481460571289e-01 4.6884548664093018e-01 - 6.2303477525711060e-01 - <_> - - 0 1 1190 -2.3286409676074982e-02 -1 -2 1191 - 2.1559339947998524e-03 - - 6.8958431482315063e-01 5.3558021783828735e-01 - 3.4234660863876343e-01 - <_> - - 0 1 1192 -4.3167220428586006e-03 -1 -2 1193 - 1.5610599657520652e-03 - - 5.9370762109756470e-01 4.7086599469184875e-01 - 2.7369970083236694e-01 - <_> - - 0 1 1194 1.4076639898121357e-02 -1 -2 1195 - 7.1018589660525322e-03 - - 5.2871561050415039e-01 5.3361928462982178e-01 - 3.2248139381408691e-01 - <_> - - 0 1 1196 -4.8221647739410400e-03 -1 -2 1197 - -5.3852899000048637e-03 - - 2.9839101433753967e-01 5.6239992380142212e-01 - 4.2959120869636536e-01 - <_> - - 1 0 1198 7.3483278974890709e-03 -1 -2 1199 - -3.5707519855350256e-03 - - 6.8139612674713135e-01 5.8579689264297485e-01 - 4.6034291386604309e-01 - <_> - - 1 0 1200 2.3340100888162851e-03 -1 -2 1201 - 4.7432780265808105e-03 - - 2.7448511123657227e-01 5.0475269556045532e-01 - 2.3627419769763947e-01 - <_> - - 0 1 1202 6.5055489540100098e-03 -1 -2 1203 - 1.2589249759912491e-02 - - 5.2422481775283813e-01 4.8236909508705139e-01 - 6.7525368928909302e-01 - <_> - - 0 1 1204 -6.3358368352055550e-03 -1 -2 1205 - -5.7639651931822300e-03 - - 1.7346349358558655e-01 6.3543808460235596e-01 - 4.5874750614166260e-01 - <_> - - 0 1 1206 1.3599749654531479e-03 -1 -2 1207 - 2.8404260054230690e-02 - - 4.5803809165954590e-01 5.1763808727264404e-01 - 1.2043850123882294e-01 - <_> - - 0 1 1208 -9.2958156019449234e-03 -1 -2 1209 - -1.1800320353358984e-03 - - 2.3379570245742798e-01 3.9028140902519226e-01 - 5.6529301404953003e-01 - <_> - - 0 1 1210 -2.0948140881955624e-03 -1 -2 1211 - 4.1679958812892437e-03 - - 5.5120289325714111e-01 5.4559761285781860e-01 - 4.7989490628242493e-01 - <_> - - 1 0 1212 5.4458891972899437e-03 -1 -2 1213 - -1.2766510481014848e-03 - - 6.1270868778228760e-01 5.3171318769454956e-01 - 3.8509321212768555e-01 - <_> - - 0 1 1214 5.9404270723462105e-04 -1 -2 1215 - 4.2309608310461044e-02 - - 5.4464370012283325e-01 5.2346438169479370e-01 - 2.2130440175533295e-01 - <_> - - 0 1 1216 5.6189671158790588e-03 -1 -2 1217 - 7.2401198558509350e-03 - - 4.9161979556083679e-01 1.4714759588241577e-01 - 4.8528939485549927e-01 - <_> - - 0 1 1218 -4.5610670931637287e-03 -1 -2 1219 - 4.5506159949582070e-05 - - 2.7737739682197571e-01 4.6264618635177612e-01 - 5.7680791616439819e-01 - <_> - - 0 1 1220 -6.1903791502118111e-03 -1 -2 1221 - 8.1186462193727493e-04 - - 1.6442899405956268e-01 4.7785910964012146e-01 - 6.2618649005889893e-01 - <_> - - 0 1 1222 1.3779809698462486e-02 -1 -2 1223 - 1.1290319962427020e-03 - - 5.2573078870773315e-01 5.4980480670928955e-01 - 3.9831069111824036e-01 - <_> - - 0 1 1224 -1.0610350000206381e-04 -1 -2 1225 - 1.6695790691301227e-04 - - 4.0335190296173096e-01 4.1493400931358337e-01 - 5.7953411340713501e-01 - <_> - - 1 0 1226 1.1290319962427020e-03 -1 -2 1227 - -1.2019349634647369e-01 - - 3.9341148734092712e-01 7.3400482535362244e-02 - 5.2025860548019409e-01 - <_> - - 0 1 1228 -1.5230740420520306e-02 -1 -2 1229 - 3.5759829916059971e-03 - - 3.7495058774948120e-01 5.0781500339508057e-01 - 6.6060662269592285e-01 - <_> - - 0 1 1230 1.3479460030794144e-02 -1 -2 1231 - -2.1162950433790684e-03 - - 4.5477110147476196e-01 3.3110061287879944e-01 - 5.3842592239379883e-01 - <_> - - 0 1 1232 -1.7877709120512009e-02 -1 -2 1233 - 1.0931970318779349e-03 - - 6.5132528543472290e-01 5.2647650241851807e-01 - 3.4569910168647766e-01 - <_> - - 0 1 1234 -3.0553159303963184e-03 -1 -2 1235 - 3.6365049891173840e-03 - - 6.2686139345169067e-01 5.3992128372192383e-01 - 4.3453970551490784e-01 - <_> - - 0 1 1236 9.7896481747739017e-05 -1 -2 1237 - -3.2714448752813041e-04 - - 3.8356059789657593e-01 3.3376678824424744e-01 - 5.5391657352447510e-01 - <_> - - 1 0 1238 4.3425030889920890e-04 -1 -2 1239 - 1.4005579985678196e-02 - - 5.7882702350616455e-01 5.2750778198242188e-01 - 2.7011251449584961e-01 - <_> - - 0 1 1240 -9.2654931358993053e-04 -1 -2 1241 - 3.9504268206655979e-03 - - 5.8522802591323853e-01 4.7283369302749634e-01 - 3.3139181137084961e-01 - <_> - - 1 0 1242 -5.8086868375539780e-04 -1 -2 1243 - -1.2018020264804363e-02 - - 4.2588108777999878e-01 5.6097871065139771e-01 - 4.8951920866966248e-01 - <_> - - 0 1 1244 -1.4521540701389313e-01 -1 -2 1245 - -6.6049019806087017e-03 - - 4.3894480913877487e-02 4.2291709780693054e-01 - 5.6162929534912109e-01 - <_> - - 1 0 1246 -3.4909751266241074e-02 -1 -2 1247 - 3.7478420417755842e-03 - - 4.7881281375885010e-01 4.8002821207046509e-01 - 5.8013892173767090e-01 - <_> - - 1 0 1248 3.3038031309843063e-02 -1 -2 1249 - 3.6872599739581347e-03 - - 7.0781761407852173e-01 4.4496241211891174e-01 - 5.9577310085296631e-01 - <_> - - 0 1 1250 -4.5311939902603626e-03 -1 -2 1251 - 4.1058510541915894e-03 - - 4.1770470142364502e-01 5.3729480504989624e-01 - 3.7369269132614136e-01 - <_> - - 0 1 1252 -8.7599847465753555e-03 -1 -2 1253 - -2.3003309965133667e-02 - - 6.6588079929351807e-01 2.6479220390319824e-01 - 5.1018178462982178e-01 - <_> - - 0 1 1254 5.3664818406105042e-03 -1 -2 1255 - 3.8971770554780960e-02 - - 4.5486348867416382e-01 5.1570618152618408e-01 - 3.4364390373229980e-01 - <_> - - 0 1 1256 -2.7767190709710121e-02 -1 -2 1257 - -9.8894089460372925e-03 - - 2.3543910682201385e-01 6.8877410888671875e-01 - 5.1110517978668213e-01 - <_> - - 0 1 1258 -3.2073140610009432e-03 -1 -2 1259 - -6.7484978353604674e-04 - - 5.4388678073883057e-01 5.4511487483978271e-01 - 4.8313531279563904e-01 - <_> - - 0 1 1260 -5.1947520114481449e-03 -1 -2 1261 - -2.6169899501837790e-04 - - 2.1134190261363983e-01 5.2736818790435791e-01 - 3.9925870299339294e-01 - <_> - - 0 1 1262 2.2421479225158691e-03 -1 -2 1263 - -1.2139769969508052e-03 - - 4.6882608532905579e-01 5.5042350292205811e-01 - 4.3848711252212524e-01 - <_> - - 0 1 1264 -2.9469770379364491e-03 -1 -2 1265 - -3.9291830034926534e-04 - - 3.8928470015525818e-01 6.0017228126525879e-01 - 4.5616629719734192e-01 - <_> - - 1 0 1266 6.2550729513168335e-01 -1 -2 1267 - 9.7744520753622055e-03 - - 6.8125613033771515e-02 4.8130258917808533e-01 - 5.6206572055816650e-01 - <_> - - 1 0 1268 9.4378247857093811e-02 -1 -2 1269 - -1.9560910295695066e-03 - - 6.6632293164730072e-02 3.5882329940795898e-01 - 5.2954071760177612e-01 - <_> - - 0 1 1270 9.0652769431471825e-03 -1 -2 1271 - 4.2138071148656309e-04 - - 4.8226881027221680e-01 4.6703329682350159e-01 - 5.6831127405166626e-01 - <_> - - 1 0 1272 -4.4220191193744540e-04 -1 -2 1273 - -4.7313501127064228e-03 - - 5.3607952594757080e-01 6.1372458934783936e-01 - 3.1880891323089600e-01 - <_> - - 0 1 1274 1.5395509544759989e-03 -1 -2 1275 - 2.4315000046044588e-03 - - 4.4877201318740845e-01 4.8941668868064880e-01 - 6.7166537046432495e-01 - <_> - - 0 1 1276 -1.5581619925796986e-02 -1 -2 1277 - 1.0816920548677444e-03 - - 3.3367419242858887e-01 4.7182199358940125e-01 - 5.9606271982192993e-01 - <_> - - 0 1 1278 -2.2197659127414227e-03 -1 -2 1279 - -9.3048671260476112e-04 - - 3.5885548591613770e-01 6.2187129259109497e-01 - 4.8173001408576965e-01 - <_> - - 0 1 1280 -4.7418707981705666e-03 -1 -2 1281 - -6.2950369901955128e-03 - - 2.5500270724296570e-01 6.7280787229537964e-01 - 5.0510638952255249e-01 - <_> - - 0 1 1282 3.5216049291193485e-03 -1 -2 1283 - -2.4289379362016916e-03 - - 5.4019099473953247e-01 5.4194617271423340e-01 - 4.3471428751945496e-01 - <_> - - 0 1 1284 -2.5261470582336187e-03 -1 -2 1285 - -1.4817339833825827e-03 - - 6.9706249237060547e-01 3.2634168863296509e-01 - 4.9178731441497803e-01 - <_> - - 0 1 1286 -2.2474530339241028e-01 -1 -2 1287 - 2.8342509176582098e-03 - - 7.2937291115522385e-03 4.5792299509048462e-01 - 5.3798812627792358e-01 - <_> - - 0 1 1288 -2.0821610465645790e-02 -1 -2 1289 - 1.4896340144332498e-04 - - 6.0240888595581055e-01 3.3361440896987915e-01 - 4.9628159403800964e-01 - <_> - - 0 1 1290 -3.3524499740451574e-03 -1 -2 1291 - -3.7279881536960602e-02 - - 3.5587510466575623e-01 1.6985629498958588e-01 - 5.2089858055114746e-01 - <_> - - 1 0 1292 1.3896770542487502e-04 -1 -2 1293 - -3.1912620761431754e-04 - - 5.5906862020492554e-01 5.8487337827682495e-01 - 3.7958368659019470e-01 - <_> - - 1 0 1294 5.4003461264073849e-04 -1 -2 1295 - 3.8956850767135620e-03 - - 5.6702882051467896e-01 5.1826947927474976e-01 - 3.3277091383934021e-01 - <_> - - 1 0 1296 1.6084529925137758e-03 -1 -2 1297 - -5.7474587811157107e-04 - - 5.4104858636856079e-01 6.0226422548294067e-01 - 3.6446440219879150e-01 - <_> - - 1 0 1298 1.3435039669275284e-02 -1 -2 1299 - 2.1368139423429966e-03 - - 3.4412819147109985e-01 5.2924340963363647e-01 - 2.7470758557319641e-01 - <_> - - 1 0 1300 1.4157629571855068e-02 -1 -2 1301 - 5.3884391672909260e-03 - - 8.0278682708740234e-01 5.2223151922225952e-01 - 3.5867279767990112e-01 - <_> - - 0 1 1302 8.8013410568237305e-03 -1 -2 1303 - 3.8858849438838661e-04 - - 4.9003869295120239e-01 4.6810561418533325e-01 - 5.7219529151916504e-01 - <_> - - 0 1 1304 -2.2143588867038488e-03 -1 -2 1305 - -8.4642972797155380e-03 - - 5.3888058662414551e-01 6.6755378246307373e-01 - 3.4484419226646423e-01 - <_> - - 1 0 1306 1.5044390223920345e-02 -1 -2 1307 - 7.6346402056515217e-03 - - 9.2396140098571777e-01 4.8848968744277954e-01 - 6.3060528039932251e-01 - <_> - - 1 0 1308 3.3895121305249631e-04 -1 -2 1309 - 2.1157610171940178e-04 - - 3.9974310994148254e-01 5.6639820337295532e-01 - 3.9729809761047363e-01 - <_> - - 1 0 1310 -2.7514949440956116e-02 -1 -2 1311 - 5.1603060215711594e-02 - - 5.2010637521743774e-01 5.1407301425933838e-01 - 1.2451309710741043e-01 - <_> - - 1 0 1312 3.7510651163756847e-03 -1 -2 1313 - -2.1457639522850513e-03 - - 3.8020950555801392e-01 3.3094480633735657e-01 - 5.4745388031005859e-01 - <_> - - 1 0 1314 -5.8178009930998087e-04 -1 -2 1315 - -9.3638541875407100e-04 - - 4.8926019668579102e-01 5.9373992681503296e-01 - 4.6646690368652344e-01 - <_> - - 1 0 1316 4.1667491197586060e-02 -1 -2 1317 - -6.7763780243694782e-03 - - 7.0213532447814941e-01 3.2227510213851929e-01 - 5.0683951377868652e-01 - <_> - - 1 0 1318 -2.9170580673962831e-03 -1 -2 1319 - 3.2789530814625323e-04 - - 4.7177010774612427e-01 4.5093831419944763e-01 - 5.6511628627777100e-01 - <_> - 91 - 4.4682968139648438e+01 - - <_> - - 0 1 1320 1.1729800142347813e-02 -1 -2 1321 - 1.1712179984897375e-03 - - 3.8052248954772949e-01 3.1400179862976074e-01 - 6.8581461906433105e-01 - <_> - - 1 0 1322 9.3555096536874771e-03 -1 -2 1323 - 1.6570610459893942e-03 - - 6.8346732854843140e-01 2.9924729466438293e-01 - 5.4756778478622437e-01 - <_> - - 1 0 1324 -1.3387809740379453e-03 -1 -2 1325 - 1.7580550047568977e-04 - - 2.9414069652557373e-01 3.8969779014587402e-01 - 5.8729708194732666e-01 - <_> - - 0 1 1326 -2.9473248869180679e-03 -1 -2 1327 - 8.3220899105072021e-03 - - 3.5765719413757324e-01 5.2324008941650391e-01 - 3.2310879230499268e-01 - <_> - - 1 0 1328 7.4366689659655094e-03 -1 -2 1329 - -2.1322889369912446e-04 - - 6.7156732082366943e-01 5.4705417156219482e-01 - 3.8633960485458374e-01 - <_> - - 0 1 1330 -7.8024631366133690e-03 -1 -2 1331 - 5.6611228501424193e-04 - - 2.7714601159095764e-01 4.6891361474990845e-01 - 5.8519637584686279e-01 - <_> - - 0 1 1332 -9.2346500605344772e-03 -1 -2 1333 - -1.4676499631605111e-05 - - 2.7043971419334412e-01 5.6225502490997314e-01 - 3.5793170332908630e-01 - <_> - - 0 1 1334 9.7007937729358673e-03 -1 -2 1335 - -3.5320650786161423e-03 - - 4.1738718748092651e-01 4.1950130462646484e-01 - 5.5494689941406250e-01 - <_> - - 1 0 1336 2.1616410464048386e-02 -1 -2 1337 - 3.4567608963698149e-03 - - 2.8573909401893616e-01 6.0245329141616821e-01 - 4.3775078654289246e-01 - <_> - - 0 1 1338 2.2914320230484009e-02 -1 -2 1339 - 3.4328910987824202e-03 - - 4.6893501281738281e-01 4.6646049618721008e-01 - 5.7625621557235718e-01 - <_> - - 0 1 1340 -8.6510833352804184e-03 -1 -2 1341 - 1.4510039472952485e-03 - - 6.3817399740219116e-01 3.7114879488945007e-01 - 5.5307507514953613e-01 - <_> - - 0 1 1342 7.8191719949245453e-03 -1 -2 1343 - 2.0798550394829363e-04 - - 5.2643620967864990e-01 3.7305128574371338e-01 - 5.4457312822341919e-01 - <_> - - 0 1 1344 -3.9962218143045902e-03 -1 -2 1345 - -1.5010139577498194e-05 - - 2.4381700158119202e-01 5.3246712684631348e-01 - 3.6829888820648193e-01 - <_> - - 0 1 1346 -4.2428788729012012e-03 -1 -2 1347 - 9.1374982148408890e-03 - - 6.4814740419387817e-01 4.8961588740348816e-01 - 6.5588432550430298e-01 - <_> - - 1 0 1348 8.8254585862159729e-03 -1 -2 1349 - 9.4092212384566665e-04 - - 3.6138701438903809e-01 5.5028957128524780e-01 - 3.6325180530548096e-01 - <_> - - 0 1 1350 -1.2503350153565407e-02 -1 -2 1351 - 8.6759645491838455e-03 - - 2.2611320018768311e-01 4.9878901243209839e-01 - 6.8471962213516235e-01 - <_> - - 0 1 1352 -1.0416760109364986e-02 -1 -2 1353 - 2.7432460337877274e-03 - - 2.4462990462779999e-01 3.5115250945091248e-01 - 5.3998267650604248e-01 - <_> - - 0 1 1354 -4.2385691776871681e-03 -1 -2 1355 - 1.8325870856642723e-02 - - 6.8236732482910156e-01 4.8915800452232361e-01 - 7.1356189250946045e-01 - <_> - - 0 1 1356 -2.4334540590643883e-02 -1 -2 1357 - 4.6469361404888332e-04 - - 3.5225218534469604e-01 4.0498688817024231e-01 - 5.5158257484436035e-01 - <_> - - 1 0 1358 3.4260009415447712e-03 -1 -2 1359 - -2.5827318895608187e-03 - - 4.1267699003219604e-01 2.8994289040565491e-01 - 5.3864318132400513e-01 - <_> - - 1 0 1360 1.0545699624344707e-03 -1 -2 1361 - -9.1257691383361816e-04 - - 3.7713441252708435e-01 5.8273869752883911e-01 - 4.2675569653511047e-01 - <_> - - 0 1 1362 2.6589010376483202e-03 -1 -2 1363 - 4.8598358407616615e-03 - - 4.6881249547004700e-01 4.8539221286773682e-01 - 6.1636447906494141e-01 - <_> - - 1 0 1364 8.0638676881790161e-03 -1 -2 1365 - -7.5898370705544949e-03 - - 1.7491950094699860e-01 6.8261897563934326e-01 - 4.8940700292587280e-01 - <_> - - 0 1 1366 3.6368070868775249e-04 -1 -2 1367 - 6.2594950199127197e-02 - - 4.6145960688591003e-01 5.1830172538757324e-01 - 2.6866960525512695e-01 - <_> - - 0 1 1368 -4.9753207713365555e-03 -1 -2 1369 - -2.0880119409412146e-03 - - 1.7584669589996338e-01 6.3693821430206299e-01 - 4.9300441145896912e-01 - <_> - - 1 0 1370 9.5644511748105288e-04 -1 -2 1371 - -3.1721461564302444e-02 - - 4.1393989324569702e-01 6.0455572605133057e-01 - 4.8163640499114990e-01 - <_> - - 0 1 1372 1.2898689601570368e-03 -1 -2 1373 - 9.8405163735151291e-03 - - 5.4508107900619507e-01 2.9240009188652039e-01 - 6.6996061801910400e-01 - <_> - - 1 0 1374 1.2237089686095715e-03 -1 -2 1375 - -8.4232585504651070e-03 - - 6.2828367948532104e-01 5.9865701198577881e-01 - 4.8525801301002502e-01 - <_> - - 0 1 1376 -7.2726322105154395e-04 -1 -2 1377 - 4.6842931769788265e-03 - - 3.3400490880012512e-01 5.1689237356185913e-01 - 2.6794800162315369e-01 - <_> - - 0 1 1378 -1.0379579616710544e-03 -1 -2 1379 - 9.1342730447649956e-03 - - 5.9257918596267700e-01 5.4377281665802002e-01 - 4.3468001484870911e-01 - <_> - - 0 1 1380 1.4971119817346334e-03 -1 -2 1381 - 1.5762320253998041e-03 - - 4.1295009851455688e-01 4.5228740572929382e-01 - 6.5562921762466431e-01 - <_> - - 0 1 1382 8.7496247142553329e-03 -1 -2 1383 - -8.5103599121794105e-04 - - 4.5320340991020203e-01 3.7859839200973511e-01 - 5.4169750213623047e-01 - <_> - - 0 1 1384 -1.7325570806860924e-02 -1 -2 1385 - -8.3266440778970718e-03 - - 6.8842482566833496e-01 3.0913260579109192e-01 - 5.2436548471450806e-01 - <_> - - 0 1 1386 1.5157909729168750e-05 -1 -2 1387 - 1.8041470320895314e-03 - - 4.7657939791679382e-01 4.7253859043121338e-01 - 5.7165551185607910e-01 - <_> - - 1 0 1388 3.0691560823470354e-03 -1 -2 1389 - -5.2225510444259271e-05 - - 2.1433599293231964e-01 5.6532102823257446e-01 - 4.3851110339164734e-01 - <_> - - 1 0 1390 1.0072169970953837e-04 -1 -2 1391 - 1.3573700562119484e-04 - - 5.9247761964797974e-01 4.5734488964080811e-01 - 5.7693827152252197e-01 - <_> - - 1 0 1392 9.2137878527864814e-04 -1 -2 1393 - 3.0316581251099706e-04 - - 5.9926092624664307e-01 3.6100810766220093e-01 - 5.0493258237838745e-01 - <_> - - 1 0 1394 3.9582479745149612e-02 -1 -2 1395 - 4.7519680112600327e-02 - - 1.5384890139102936e-01 5.2161407470703125e-01 - 1.4283910393714905e-01 - <_> - - 1 0 1396 1.8871759995818138e-02 -1 -2 1397 - -3.9876459049992263e-04 - - 2.8255069255828857e-01 4.0350168943405151e-01 - 5.4377931356430054e-01 - <_> - - 0 1 1398 4.6556600136682391e-04 -1 -2 1399 - 6.7090610973536968e-03 - - 4.6689969301223755e-01 5.3313547372817993e-01 - 4.1365718841552734e-01 - <_> - - 0 1 1400 -1.8931160448119044e-03 -1 -2 1401 - -1.3056949712336063e-02 - - 7.1551632881164551e-01 3.1178998947143555e-01 - 5.2084398269653320e-01 - <_> - - 1 0 1402 -1.9484119547996670e-04 -1 -2 1403 - 1.5093220099515747e-05 - - 4.6376588940620422e-01 4.5616531372070312e-01 - 5.4452341794967651e-01 - <_> - - 1 0 1404 -7.1617960202274844e-06 -1 -2 1405 - 3.0164679628796875e-04 - - 4.1931080818176270e-01 5.9662377834320068e-01 - 4.1005000472068787e-01 - <_> - - 0 1 1406 4.4195181690156460e-03 -1 -2 1407 - -7.3984181508421898e-03 - - 4.8450559377670288e-01 6.2068462371826172e-01 - 4.9312090873718262e-01 - <_> - - 1 0 1408 -7.8031201846897602e-03 -1 -2 1409 - -1.0731429792940617e-02 - - 5.2824628353118896e-01 9.1048341989517212e-01 - 3.4559220075607300e-01 - <_> - - 0 1 1410 1.4246780192479491e-03 -1 -2 1411 - -8.2717568147927523e-05 - - 4.7085541486740112e-01 5.6516230106353760e-01 - 4.7310239076614380e-01 - <_> - - 1 0 1412 4.4803409837186337e-03 -1 -2 1413 - 3.0789140146225691e-03 - - 6.1758869886398315e-01 5.1395332813262939e-01 - 3.4230878949165344e-01 - <_> - - 1 0 1414 -1.1310289846733212e-03 -1 -2 1415 - -1.0410690447315574e-03 - - 4.9182820320129395e-01 5.9420871734619141e-01 - 4.9230429530143738e-01 - <_> - - 1 0 1416 1.1648540385067463e-03 -1 -2 1417 - 9.0057362103834748e-04 - - 6.4052718877792358e-01 4.5043969154357910e-01 - 6.1920768022537231e-01 - <_> - - 0 1 1418 6.8781538866460323e-03 -1 -2 1419 - -3.5283900797367096e-02 - - 5.3748130798339844e-01 2.2471010684967041e-01 - 5.2171707153320312e-01 - <_> - - 0 1 1420 -1.3320200378075242e-03 -1 -2 1421 - -2.3177571129053831e-03 - - 2.5547030568122864e-01 3.7925159931182861e-01 - 5.2432268857955933e-01 - <_> - - 0 1 1422 2.1332940377760679e-04 -1 -2 1423 - 1.3467900454998016e-02 - - 3.8603371381759644e-01 5.3806877136230469e-01 - 4.1783639788627625e-01 - <_> - - 0 1 1424 -1.2829169863834977e-03 -1 -2 1425 - 5.1571638323366642e-04 - - 6.1336231231689453e-01 4.0285378694534302e-01 - 5.5368518829345703e-01 - <_> - - 0 1 1426 3.9254198782145977e-03 -1 -2 1427 - -3.3780589699745178e-02 - - 5.2799212932586670e-01 2.3346750438213348e-01 - 5.1759117841720581e-01 - <_> - - 0 1 1428 -3.7853721529245377e-02 -1 -2 1429 - -4.0752900531515479e-04 - - 1.0748530179262161e-01 5.3459298610687256e-01 - 4.1989380121231079e-01 - <_> - - 0 1 1430 -3.1193809118121862e-03 -1 -2 1431 - -1.5714969485998154e-02 - - 3.8558250665664673e-01 3.3351901173591614e-01 - 5.2632021903991699e-01 - <_> - - 0 1 1432 -7.8525702701881528e-04 -1 -2 1433 - -2.8750501223839819e-04 - - 5.8603972196578979e-01 5.4377847909927368e-01 - 3.7161049246788025e-01 - <_> - - 1 0 1434 2.8016859665513039e-02 -1 -2 1435 - -1.9018839811906219e-03 - - 3.3307549357414246e-01 5.3665977716445923e-01 - 4.6937939524650574e-01 - <_> - - 1 0 1436 2.0647559314966202e-02 -1 -2 1437 - 4.3002571910619736e-03 - - 1.0069560259580612e-01 4.8160359263420105e-01 - 6.2156772613525391e-01 - <_> - - 0 1 1438 1.3459140434861183e-02 -1 -2 1439 - -1.0320040397346020e-02 - - 5.4619538784027100e-01 4.5784530043601990e-01 - 5.4193097352981567e-01 - <_> - - 1 0 1440 3.1990748643875122e-01 -1 -2 1441 - 9.2198798665776849e-04 - - 2.0080469548702240e-01 5.1932811737060547e-01 - 3.9121940732002258e-01 - <_> - - 0 1 1442 4.1852539288811386e-04 -1 -2 1443 - 3.5891108564101160e-04 - - 4.2997440695762634e-01 4.3445029854774475e-01 - 5.5319738388061523e-01 - <_> - - 0 1 1444 -2.0992439985275269e-01 -1 -2 1445 - -4.9328152090311050e-03 - - 1.0757210105657578e-01 5.7627969980239868e-01 - 4.5746439695358276e-01 - <_> - - 1 0 1446 2.3409130517393351e-03 -1 -2 1447 - 4.7120270319283009e-03 - - 7.4768078327178955e-01 5.2617651224136353e-01 - 4.5055508613586426e-01 - <_> - - 0 1 1448 2.8713190928101540e-02 -1 -2 1449 - -2.6156550738960505e-03 - - 4.4071030616760254e-01 4.2442709207534790e-01 - 6.8929767608642578e-01 - <_> - - 0 1 1450 -1.3558969832956791e-02 -1 -2 1451 - -3.0331799644045532e-04 - - 1.2522679567337036e-01 4.0777918696403503e-01 - 5.4428178071975708e-01 - <_> - - 0 1 1452 -5.5601762142032385e-04 -1 -2 1453 - 2.4025330785661936e-03 - - 5.3780037164688110e-01 3.1665799021720886e-01 - 5.2857381105422974e-01 - <_> - - 1 0 1454 -3.4089901018887758e-03 -1 -2 1455 - 8.0019602319225669e-04 - - 4.9052149057388306e-01 4.5227360725402832e-01 - 5.5806142091751099e-01 - <_> - - 1 0 1456 2.1901070140302181e-03 -1 -2 1457 - 3.3745369873940945e-03 - - 6.6126817464828491e-01 5.1077651977539062e-01 - 3.3869299292564392e-01 - <_> - - 1 0 1458 8.0019602319225669e-04 -1 -2 1459 - 1.7346069216728210e-02 - - 5.7075601816177368e-01 5.0160211324691772e-01 - 6.3064599037170410e-01 - <_> - - 0 1 1460 -1.9568449351936579e-03 -1 -2 1461 - -1.1229019612073898e-02 - - 3.0178061127662659e-01 6.2938511371612549e-01 - 4.5204889774322510e-01 - <_> - - 0 1 1462 -2.6608388870954514e-03 -1 -2 1463 - -1.1615100316703320e-02 - - 3.3440071344375610e-01 2.8253790736198425e-01 - 5.1509708166122437e-01 - <_> - - 0 1 1464 -9.5248602330684662e-02 -1 -2 1465 - 7.3701781220734119e-03 - - 1.3982650637626648e-01 5.2939987182617188e-01 - 2.3317280411720276e-01 - <_> - - 1 0 1466 -1.4953900128602982e-02 -1 -2 1467 - 5.7038792874664068e-04 - - 4.9404659867286682e-01 5.4665708541870117e-01 - 4.6267679333686829e-01 - <_> - - 1 0 1468 5.8516198769211769e-03 -1 -2 1469 - 2.1150549582671374e-04 - - 6.2700408697128296e-01 5.5081409215927124e-01 - 4.0618729591369629e-01 - <_> - - 1 0 1470 -6.9679190346505493e-06 -1 -2 1471 - -7.9677387839183211e-04 - - 4.0965679287910461e-01 5.6155568361282349e-01 - 4.6668860316276550e-01 - <_> - - 1 0 1472 1.9459480419754982e-02 -1 -2 1473 - -1.1160830035805702e-02 - - 2.3114809393882751e-01 3.0870118737220764e-01 - 5.5146622657775879e-01 - <_> - - 1 0 1474 1.4056149870157242e-02 -1 -2 1475 - -3.2958350493572652e-04 - - 7.0050561428070068e-01 5.7974857091903687e-01 - 4.6916508674621582e-01 - <_> - - 0 1 1476 -5.4636420682072639e-03 -1 -2 1477 - 5.8881669247057289e-05 - - 5.9285950660705566e-01 3.7413978576660156e-01 - 5.1701688766479492e-01 - <_> - - 0 1 1478 6.6343429498374462e-03 -1 -2 1479 - 4.5263409614562988e-02 - - 5.4149878025054932e-01 5.1803272962570190e-01 - 1.5296840667724609e-01 - <_> - - 0 1 1480 -8.0646127462387085e-03 -1 -2 1481 - 4.7389548853971064e-04 - - 2.5154680013656616e-01 5.1219987869262695e-01 - 3.7259489297866821e-01 - <_> - - 1 0 1482 1.4877359717502259e-05 -1 -2 1483 - 2.4321159347891808e-02 - - 5.5324357748031616e-01 4.9607661366462708e-01 - 5.9833151102066040e-01 - <_> - - 0 1 1484 6.9931396865285933e-05 -1 -2 1485 - 2.6287760119885206e-03 - - 4.1639530658721924e-01 5.8801448345184326e-01 - 3.3996629714965820e-01 - <_> - - 1 0 1486 3.8190539926290512e-03 -1 -2 1487 - -2.5989150628447533e-02 - - 7.8466212749481201e-01 3.2881140708923340e-01 - 5.1550877094268799e-01 - <_> - - 0 1 1488 1.2062400346621871e-03 -1 -2 1489 - -1.5557400183752179e-03 - - 4.5960599184036255e-01 3.1269869208335876e-01 - 7.1833992004394531e-01 - <_> - - 1 0 1490 -2.2691930644214153e-03 -1 -2 1491 - 2.3287249496206641e-04 - - 5.2740061283111572e-01 4.8786661028862000e-01 - 5.6151527166366577e-01 - <_> - - 1 0 1492 -5.5999699980020523e-03 -1 -2 1493 - -1.0496189817786217e-02 - - 5.1608121395111084e-01 5.7016140222549438e-01 - 3.2048508524894714e-01 - <_> - - 0 1 1494 -1.4814930182183161e-05 -1 -2 1495 - -6.4287078566849232e-04 - - 5.5388379096984863e-01 5.3494292497634888e-01 - 4.4721511006355286e-01 - <_> - - 0 1 1496 -1.8891949730459601e-04 -1 -2 1497 - -9.0413521975278854e-03 - - 5.0128370523452759e-01 2.5629359483718872e-01 - 4.5033830404281616e-01 - <_> - - 1 0 1498 7.9534705728292465e-03 -1 -2 1499 - -2.7908999472856522e-03 - - 2.6304998993873596e-01 5.7565087080001831e-01 - 4.8548638820648193e-01 - <_> - - 1 0 1500 3.2857100013643503e-03 -1 -2 1501 - 7.7063008211553097e-04 - - 4.0847519040107727e-01 4.0733560919761658e-01 - 5.9202408790588379e-01 - <_> - 97 - 4.7763450622558594e+01 - - <_> - - 0 1 1502 6.3021942973136902e-02 -1 -2 1503 - -2.8374609537422657e-03 - - 3.4193828701972961e-01 6.8295639753341675e-01 - 4.4045230746269226e-01 - <_> - - 0 1 1504 4.6461950987577438e-02 -1 -2 1505 - 2.9152540490031242e-02 - - 4.3917450308799744e-01 4.6010631322860718e-01 - 6.3579368591308594e-01 - <_> - - 1 0 1506 -1.4000290320836939e-05 -1 -2 1507 - -1.2757079675793648e-03 - - 3.7300100922584534e-01 3.0938240885734558e-01 - 5.9013700485229492e-01 - <_> - - 0 1 1508 1.3596529606729746e-03 -1 -2 1509 - 1.7991929780691862e-04 - - 4.3375650048255920e-01 4.2175039649009705e-01 - 5.8468478918075562e-01 - <_> - - 1 0 1510 -1.4166639630275313e-05 -1 -2 1511 - 6.0252390539972112e-05 - - 4.0846911072731018e-01 5.0872868299484253e-01 - 7.2771841287612915e-01 - <_> - - 1 0 1512 6.4320368692278862e-03 -1 -2 1513 - 4.6682319953106344e-04 - - 2.9679030179977417e-01 4.1104629635810852e-01 - 5.5812197923660278e-01 - <_> - - 0 1 1514 5.7436279021203518e-03 -1 -2 1515 - 3.2019240316003561e-03 - - 4.2873099446296692e-01 4.2661958932876587e-01 - 6.4440459012985229e-01 - <_> - - 1 0 1516 -5.7637941790744662e-04 -1 -2 1517 - -3.7901920732110739e-03 - - 4.0848249197006226e-01 3.1819209456443787e-01 - 5.2306932210922241e-01 - <_> - - 1 0 1518 4.8914109356701374e-03 -1 -2 1519 - 4.6459292061626911e-03 - - 3.5483568906784058e-01 5.6105977296829224e-01 - 2.6938489079475403e-01 - <_> - - 0 1 1520 -6.8799369037151337e-03 -1 -2 1521 - -1.8147470429539680e-02 - - 6.2354081869125366e-01 2.8619819879531860e-01 - 5.2268481254577637e-01 - <_> - - 1 0 1522 1.1409220314817503e-04 -1 -2 1523 - -5.4334272863343358e-04 - - 3.2578331232070923e-01 3.8829690217971802e-01 - 5.3411662578582764e-01 - <_> - - 0 1 1524 -2.7602489572018385e-03 -1 -2 1525 - -1.9730569329112768e-03 - - 6.3539659976959229e-01 5.8807611465454102e-01 - 4.5930901169776917e-01 - <_> - - 1 0 1526 2.4565239436924458e-03 -1 -2 1527 - 1.9392010290175676e-04 - - 3.1340101361274719e-01 5.2771317958831787e-01 - 3.6041069030761719e-01 - <_> - - 0 1 1528 7.8643016517162323e-02 -1 -2 1529 - 6.5276869572699070e-03 - - 5.2903419733047485e-01 4.6544799208641052e-01 - 6.0449051856994629e-01 - <_> - - 0 1 1530 -7.8716799616813660e-02 -1 -2 1531 - 5.7298499159514904e-03 - - 2.5411269068717957e-01 4.3669191002845764e-01 - 5.8228862285614014e-01 - <_> - - 1 0 1532 6.2386557692661881e-04 -1 -2 1533 - -8.5267230868339539e-02 - - 5.4726922512054443e-01 1.4616079628467560e-01 - 5.1818108558654785e-01 - <_> - - 1 0 1534 4.0981110185384750e-02 -1 -2 1535 - 7.7135749161243439e-03 - - 1.2701350450515747e-01 4.8326849937438965e-01 - 2.2235789895057678e-01 - <_> - - 0 1 1536 -6.8663940764963627e-03 -1 -2 1537 - 1.4559639617800713e-02 - - 5.9189289808273315e-01 4.7615069150924683e-01 - 5.7272237539291382e-01 - <_> - - 0 1 1538 -1.0064310394227505e-02 -1 -2 1539 - 3.6274080630391836e-03 - - 3.6367309093475342e-01 5.2717310190200806e-01 - 2.7405250072479248e-01 - <_> - - 0 1 1540 -2.3421540390700102e-03 -1 -2 1541 - -2.4686409160494804e-02 - - 5.4977840185165405e-01 6.0598951578140259e-01 - 4.9603140354156494e-01 - <_> - - 1 0 1542 1.9456120207905769e-04 -1 -2 1543 - 3.1714211218059063e-04 - - 3.7694650888442993e-01 4.0623620152473450e-01 - 5.6682151556015015e-01 - <_> - - 0 1 1544 2.0793990697711706e-03 -1 -2 1545 - 1.7982709687203169e-03 - - 4.6186569333076477e-01 4.8675051331520081e-01 - 6.5184497833251953e-01 - <_> - - 0 1 1546 -2.2287059982772917e-04 -1 -2 1547 - 3.2623921288177371e-04 - - 5.6775957345962524e-01 3.7107339501380920e-01 - 5.6766051054000854e-01 - <_> - - 0 1 1548 -6.6792681813240051e-02 -1 -2 1549 - -1.4869889710098505e-03 - - 2.5115218758583069e-01 3.8867509365081787e-01 - 5.2622538805007935e-01 - <_> - - 0 1 1550 -5.0454870797693729e-03 -1 -2 1551 - -4.8297587782144547e-03 - - 6.5574729442596436e-01 5.9341061115264893e-01 - 4.2859220504760742e-01 - <_> - - 1 0 1552 -1.0722599690780044e-03 -1 -2 1553 - 8.7901195511221886e-03 - - 5.4260587692260742e-01 5.3513032197952271e-01 - 4.8342779278755188e-01 - <_> - - 0 1 1554 -7.1750381030142307e-03 -1 -2 1555 - 1.1251230025663972e-03 - - 2.0671689510345459e-01 5.1122522354125977e-01 - 3.4687140583992004e-01 - <_> - - 0 1 1556 1.0634710080921650e-02 -1 -2 1557 - -1.1763219721615314e-02 - - 4.4790080189704895e-01 6.2539017200469971e-01 - 4.9689871072769165e-01 - <_> - - 1 0 1558 9.2324063181877136e-02 -1 -2 1559 - 1.8991080578416586e-03 - - 2.0313039422035217e-01 5.6187218427658081e-01 - 4.0465721487998962e-01 - <_> - - 1 0 1560 -1.0510340332984924e-02 -1 -2 1561 - -7.4531312566250563e-04 - - 4.9432641267776489e-01 5.6134277582168579e-01 - 3.8453319668769836e-01 - <_> - - 1 0 1562 8.0041000619530678e-03 -1 -2 1563 - 5.8110528625547886e-03 - - 7.7598422765731812e-01 4.6247330307960510e-01 - 6.2862771749496460e-01 - <_> - - 0 1 1564 -2.7918580919504166e-02 -1 -2 1565 - 2.1739399526268244e-03 - - 2.4093140661716461e-01 5.3455048799514771e-01 - 3.5079580545425415e-01 - <_> - - 0 1 1566 -4.0639587678015232e-03 -1 -2 1567 - 6.0017139185220003e-04 - - 6.6471010446548462e-01 4.9985098838806152e-01 - 3.0221650004386902e-01 - <_> - - 1 0 1568 1.9214770291000605e-03 -1 -2 1569 - -1.3860830105841160e-02 - - 5.9191507101058960e-01 6.3517677783966064e-01 - 4.9933108687400818e-01 - <_> - - 1 0 1570 2.3006850853562355e-02 -1 -2 1571 - -1.3857929734513164e-03 - - 1.9023360311985016e-01 5.2533692121505737e-01 - 3.9858600497245789e-01 - <_> - - 0 1 1572 1.2637410545721650e-03 -1 -2 1573 - -1.4675210230052471e-02 - - 4.6661040186882019e-01 3.8231649994850159e-01 - 5.3266328573226929e-01 - <_> - - 0 1 1574 -2.9535070061683655e-03 -1 -2 1575 - -1.7189770005643368e-03 - - 7.0636558532714844e-01 3.8134628534317017e-01 - 5.2467352151870728e-01 - <_> - - 1 0 1576 -4.2484089499339461e-04 -1 -2 1577 - -8.5248658433556557e-04 - - 4.7916388511657715e-01 4.4912180304527283e-01 - 5.3709012269973755e-01 - <_> - - 1 0 1578 8.9034568518400192e-03 -1 -2 1579 - 1.4895649655954912e-05 - - 2.0764739811420441e-01 4.4476351141929626e-01 - 5.6671631336212158e-01 - <_> - - 0 1 1580 -4.7091601300053298e-04 -1 -2 1581 - 4.3084810022264719e-04 - - 5.4650712013244629e-01 5.4932618141174316e-01 - 4.5807081460952759e-01 - <_> - - 0 1 1582 -6.3893961487337947e-04 -1 -2 1583 - -7.3733746830839664e-05 - - 5.5015718936920166e-01 5.0857907533645630e-01 - 3.3056980371475220e-01 - <_> - - 0 1 1584 -8.8991485536098480e-03 -1 -2 1585 - -1.0253350250422955e-02 - - 4.2764690518379211e-01 1.1232180148363113e-01 - 5.1527231931686401e-01 - <_> - - 0 1 1586 -5.9637490659952164e-02 -1 -2 1587 - 2.1707199513912201e-02 - - 7.3867720365524292e-01 4.9962919950485229e-01 - 1.3394139707088470e-01 - <_> - - 0 1 1588 9.9107045680284500e-03 -1 -2 1589 - -1.0998300276696682e-02 - - 4.6790120005607605e-01 6.9286561012268066e-01 - 5.0120681524276733e-01 - <_> - - 1 0 1590 7.4608891736716032e-04 -1 -2 1591 - 2.9539171373471618e-04 - - 5.8335822820663452e-01 3.8263911008834839e-01 - 5.5663508176803589e-01 - <_> - - 1 0 1592 5.0054129213094711e-02 -1 -2 1593 - -7.2330660186707973e-03 - - 3.0027210712432861e-01 5.9080427885055542e-01 - 5.0008708238601685e-01 - <_> - - 0 1 1594 -2.6863380335271358e-03 -1 -2 1595 - -1.0195849463343620e-03 - - 3.9750349521636963e-01 3.6976858973503113e-01 - 5.7561928033828735e-01 - <_> - - 0 1 1596 -2.0204920321702957e-02 -1 -2 1597 - 2.1340379025787115e-03 - - 6.3752681016921997e-01 5.3632658720016479e-01 - 4.4331708550453186e-01 - <_> - - 0 1 1598 -1.8348889425396919e-03 -1 -2 1599 - -5.9489468112587929e-03 - - 5.8289992809295654e-01 2.6806709170341492e-01 - 4.6428859233856201e-01 - <_> - - 0 1 1600 -2.3030120064504445e-04 -1 -2 1601 - 5.0581009127199650e-03 - - 5.4753202199935913e-01 5.3208339214324951e-01 - 4.6464928984642029e-01 - <_> - - 0 1 1602 -5.1950011402368546e-04 -1 -2 1603 - -6.8620947422459722e-04 - - 5.2327448129653931e-01 4.9350860714912415e-01 - 3.1031179428100586e-01 - <_> - - 0 1 1604 -7.4936267919838428e-03 -1 -2 1605 - -1.5682930126786232e-02 - - 2.8830468654632568e-01 3.6403131484985352e-01 - 5.3687548637390137e-01 - <_> - - 0 1 1606 -3.2649750355631113e-03 -1 -2 1607 - 3.8463930832222104e-04 - - 6.4686310291290283e-01 5.2596598863601685e-01 - 3.8314279913902283e-01 - <_> - - 1 0 1608 4.4492390006780624e-03 -1 -2 1609 - 2.3118320852518082e-02 - - 2.0868189632892609e-01 4.9785330891609192e-01 - 5.9612572193145752e-01 - <_> - - 1 0 1610 2.0835159812122583e-03 -1 -2 1611 - 1.1513150529935956e-03 - - 5.7464218139648438e-01 3.5868450999259949e-01 - 5.3634738922119141e-01 - <_> - - 1 0 1612 3.6104708909988403e-02 -1 -2 1613 - 3.6256198654882610e-04 - - 2.8331369161605835e-01 5.4777222871780396e-01 - 4.1105321049690247e-01 - <_> - - 0 1 1614 -3.4635469783097506e-03 -1 -2 1615 - -2.8796829283237457e-03 - - 5.9903860092163086e-01 5.7252532243728638e-01 - 4.1495120525360107e-01 - <_> - - 1 0 1616 -8.1119500100612640e-03 -1 -2 1617 - 4.5932079665362835e-03 - - 5.3963518142700195e-01 5.3797042369842529e-01 - 3.8913029432296753e-01 - <_> - - 1 0 1618 7.0014740340411663e-03 -1 -2 1619 - 8.0169539432972670e-04 - - 3.7146711349487305e-01 5.5295670032501221e-01 - 3.7558048963546753e-01 - <_> - - 1 0 1620 -8.6652329191565514e-03 -1 -2 1621 - -2.7315050829201937e-03 - - 5.0257730484008789e-01 5.8503222465515137e-01 - 4.6175739169120789e-01 - <_> - - 1 0 1622 1.3301590224727988e-03 -1 -2 1623 - -4.2648240923881531e-03 - - 5.9377008676528931e-01 5.6453680992126465e-01 - 3.9376249909400940e-01 - <_> - - 0 1 1624 6.3251499086618423e-03 -1 -2 1625 - -3.0753740575164557e-03 - - 5.1821058988571167e-01 3.0074161291122437e-01 - 5.1964038610458374e-01 - <_> - - 0 1 1626 -7.3622138006612659e-04 -1 -2 1627 - 3.0082479497650638e-05 - - 3.6975800991058350e-01 4.3275931477546692e-01 - 5.7158088684082031e-01 - <_> - - 0 1 1628 -3.8722730241715908e-03 -1 -2 1629 - 6.2879058532416821e-04 - - 3.4737130999565125e-01 5.4382592439651489e-01 - 4.4539061188697815e-01 - <_> - - 1 0 1630 1.3411579420790076e-03 -1 -2 1631 - -8.3681922405958176e-03 - - 6.5117138624191284e-01 1.4432950317859650e-01 - 4.8881998658180237e-01 - <_> - - 1 0 1632 9.3305751215666533e-04 -1 -2 1633 - -1.0746510233730078e-03 - - 3.9511090517044067e-01 3.9102658629417419e-01 - 5.3495037555694580e-01 - <_> - - 0 1 1634 -1.8610050901770592e-02 -1 -2 1635 - 1.3651419430971146e-03 - - 1.2757439911365509e-01 5.0382888317108154e-01 - 6.9513040781021118e-01 - <_> - - 0 1 1636 7.3744421824812889e-03 -1 -2 1637 - 8.4163323044776917e-03 - - 5.2534431219100952e-01 5.0112438201904297e-01 - 7.3113328218460083e-01 - <_> - - 0 1 1638 5.1413988694548607e-03 -1 -2 1639 - 4.5847031287848949e-03 - - 4.9535360932350159e-01 2.5355559587478638e-01 - 6.4624428749084473e-01 - <_> - - 1 0 1640 2.8565239161252975e-02 -1 -2 1641 - 4.3958800961263478e-04 - - 2.3307220637798309e-01 4.7022441029548645e-01 - 5.5445492267608643e-01 - <_> - - 1 0 1642 3.1459458172321320e-02 -1 -2 1643 - 5.6011630222201347e-03 - - 3.3689688891172409e-02 4.7871211171150208e-01 - 6.3383519649505615e-01 - <_> - - 0 1 1644 7.1835669223219156e-04 -1 -2 1645 - -5.5303089320659637e-03 - - 5.4314869642257690e-01 4.1058328747749329e-01 - 5.4039907455444336e-01 - <_> - - 1 0 1646 1.4129279879853129e-03 -1 -2 1647 - 2.5530709535814822e-04 - - 3.1055399775505066e-01 4.2544719576835632e-01 - 5.4471540451049805e-01 - <_> - - 1 0 1648 3.1966410460881889e-04 -1 -2 1649 - 5.0411392003297806e-03 - - 6.1183619499206543e-01 5.2900421619415283e-01 - 4.2247870564460754e-01 - <_> - - 0 1 1650 7.7617880888283253e-03 -1 -2 1651 - 2.9374631121754646e-03 - - 4.3153458833694458e-01 6.6292631626129150e-01 - 3.0289649963378906e-01 - <_> - - 1 0 1652 -1.6497720498591661e-03 -1 -2 1653 - -5.8834417723119259e-03 - - 5.4918527603149414e-01 3.1885540485382080e-01 - 5.1842892169952393e-01 - <_> - - 1 0 1654 8.7459187489002943e-04 -1 -2 1655 - -1.5308779664337635e-02 - - 3.3288308978080750e-01 3.9236080646514893e-01 - 5.2351391315460205e-01 - <_> - - 1 0 1656 3.2292451709508896e-02 -1 -2 1657 - -4.3842519517056644e-04 - - 5.9776467084884644e-01 4.5416879653930664e-01 - 5.3694289922714233e-01 - <_> - - 1 0 1658 1.5429529594257474e-03 -1 -2 1659 - -2.4733028840273619e-03 - - 6.3181412220001221e-01 3.4906330704689026e-01 - 4.7590249776840210e-01 - <_> - - 1 0 1660 2.0994939841330051e-03 -1 -2 1661 - -5.7541108690202236e-03 - - 5.8871978521347046e-01 5.9613317251205444e-01 - 4.8419830203056335e-01 - <_> - - 0 1 1662 -1.0233130306005478e-02 -1 -2 1663 - 2.2554509341716766e-01 - - 1.7054040729999542e-01 4.7793799638748169e-01 - 9.7879663109779358e-02 - <_> - - 1 0 1664 2.9666559770703316e-02 -1 -2 1665 - -2.8518449980765581e-03 - - 5.8222240209579468e-01 5.4596269130706787e-01 - 4.6100661158561707e-01 - <_> - - 1 0 1666 9.7465328872203827e-04 -1 -2 1667 - 1.4044740055396687e-05 - - 3.6703228950500488e-01 4.3023860454559326e-01 - 5.6917107105255127e-01 - <_> - - 0 1 1668 -1.7579430714249611e-02 -1 -2 1669 - -5.2381679415702820e-02 - - 6.9173210859298706e-01 7.1100401878356934e-01 - 5.0601547956466675e-01 - <_> - - 0 1 1670 -1.1242110282182693e-02 -1 -2 1671 - -3.6728400737047195e-03 - - 8.7691891193389893e-01 6.5191918611526489e-01 - 4.5460689067840576e-01 - <_> - - 0 1 1672 3.5082760732620955e-03 -1 -2 1673 - 6.1679710634052753e-03 - - 5.3298658132553101e-01 5.2204591035842896e-01 - 2.9535189270973206e-01 - <_> - - 1 0 1674 -9.7009900491684675e-04 -1 -2 1675 - -1.0957010090351105e-02 - - 5.0486332178115845e-01 5.8373582363128662e-01 - 3.0200859904289246e-01 - <_> - - 0 1 1676 -8.3272513002157211e-03 -1 -2 1677 - 2.9798380637657829e-05 - - 3.1580638885498047e-01 4.3863898515701294e-01 - 5.4432111978530884e-01 - <_> - - 1 0 1678 2.8244039276614785e-04 -1 -2 1679 - -8.1364117795601487e-04 - - 5.6253957748413086e-01 5.2811980247497559e-01 - 3.4014078974723816e-01 - <_> - - 1 0 1680 1.8008040497079492e-03 -1 -2 1681 - -6.9944779388606548e-03 - - 3.4716591238975525e-01 4.4816970825195312e-01 - 5.3857702016830444e-01 - <_> - - 0 1 1682 4.5625398342963308e-05 -1 -2 1683 - -7.3189922841265798e-04 - - 4.4925129413604736e-01 4.1673120856285095e-01 - 6.0211020708084106e-01 - <_> - - 0 1 1684 -2.9980219551362097e-04 -1 -2 1685 - -2.9060940505587496e-05 - - 4.1484281420707703e-01 5.5920898914337158e-01 - 4.0732109546661377e-01 - <_> - - 0 1 1686 -5.9742690064013004e-04 -1 -2 1687 - 1.4831830048933625e-04 - - 6.0889142751693726e-01 5.2983051538467407e-01 - 3.7619501352310181e-01 - <_> - - 1 0 1688 -2.9441029764711857e-03 -1 -2 1689 - 1.3741210103034973e-01 - - 4.7160848975181580e-01 5.1013368368148804e-01 - 4.6746801584959030e-02 - <_> - - 0 1 1690 -8.8414177298545837e-02 -1 -2 1691 - 7.0610277354717255e-02 - - 1.1818689852952957e-01 5.1190632581710815e-01 - 7.7784419059753418e-01 - <_> - - 0 1 1692 -7.7188978902995586e-03 -1 -2 1693 - 1.5115399844944477e-02 - - 1.8741349875926971e-01 4.9800279736518860e-01 - 7.0058178901672363e-01 - <_> - - 0 1 1694 1.0671879863366485e-03 -1 -2 1695 - 7.0487911580130458e-04 - - 4.4822388887405396e-01 6.2657529115676880e-01 - 4.4026550650596619e-01 - <_> - 90 - 4.4251281738281250e+01 - - <_> - - 1 0 1696 -9.8690733313560486e-02 -1 -2 1697 - 6.2373418360948563e-02 - - 3.9994749426841736e-01 5.2477848529815674e-01 - 8.1935757398605347e-01 - <_> - - 0 1 1698 1.9496519817039371e-03 -1 -2 1699 - -8.9139147894456983e-04 - - 3.5298168659210205e-01 5.8527278900146484e-01 - 3.2459780573844910e-01 - <_> - - 0 1 1700 -5.5150408297777176e-04 -1 -2 1701 - -1.1721949558705091e-03 - - 3.8928169012069702e-01 4.3350520730018616e-01 - 6.5206241607666016e-01 - <_> - - 1 0 1702 -7.4480642797425389e-04 -1 -2 1703 - -2.6264840271323919e-03 - - 4.0411350131034851e-01 5.6249821186065674e-01 - 3.9675250649452209e-01 - <_> - - 0 1 1704 -3.9712688885629177e-04 -1 -2 1705 - 3.5984949208796024e-03 - - 3.8561120629310608e-01 5.9978890419006348e-01 - 4.2416140437126160e-01 - <_> - - 1 0 1706 5.3080618381500244e-03 -1 -2 1707 - 9.6319877775385976e-04 - - 6.6601687669754028e-01 4.4813790917396545e-01 - 5.5834877490997314e-01 - <_> - - 0 1 1708 5.0776469288393855e-04 -1 -2 1709 - 3.6223160568624735e-03 - - 3.5354590415954590e-01 3.4098070859909058e-01 - 5.4206877946853638e-01 - <_> - - 0 1 1710 -6.2061410397291183e-02 -1 -2 1711 - 6.4387189922854304e-04 - - 1.9340839982032776e-01 4.0836268663406372e-01 - 5.4902219772338867e-01 - <_> - - 1 0 1712 2.6239909231662750e-02 -1 -2 1713 - 8.1940297968685627e-04 - - 2.2857080399990082e-01 4.6486678719520569e-01 - 6.0173559188842773e-01 - <_> - - 1 0 1714 2.3833119485061616e-04 -1 -2 1715 - -1.5869759954512119e-03 - - 3.5980388522148132e-01 4.2596510052680969e-01 - 5.4764348268508911e-01 - <_> - - 0 1 1716 -6.7263417877256870e-03 -1 -2 1717 - 1.1006110347807407e-02 - - 6.5072381496429443e-01 5.1494097709655762e-01 - 3.3629849553108215e-01 - <_> - - 1 0 1718 7.1445819921791553e-03 -1 -2 1719 - -4.7233798541128635e-03 - - 2.6729300618171692e-01 5.6521821022033691e-01 - 4.2981448769569397e-01 - <_> - - 1 0 1720 9.8437406122684479e-03 -1 -2 1721 - 1.5124640412977897e-05 - - 1.1518859863281250e-01 4.3735980987548828e-01 - 5.6121289730072021e-01 - <_> - - 0 1 1722 3.9908871054649353e-02 -1 -2 1723 - 5.3903679363429546e-03 - - 5.2046489715576172e-01 4.8134678602218628e-01 - 6.3612091541290283e-01 - <_> - - 0 1 1724 -3.9908871054649353e-02 -1 -2 1725 - 5.3903679363429546e-03 - - 1.5068709850311279e-01 4.5816949009895325e-01 - 6.2002408504486084e-01 - <_> - - 1 0 1726 6.7005190066993237e-03 -1 -2 1727 - -1.2623789720237255e-02 - - 3.4322351217269897e-01 3.0882269144058228e-01 - 5.2267378568649292e-01 - <_> - - 1 0 1728 1.1806610040366650e-02 -1 -2 1729 - -3.4257229417562485e-03 - - 7.1879392862319946e-01 3.1208148598670959e-01 - 5.0658440589904785e-01 - <_> - - 0 1 1730 3.9385299896821380e-04 -1 -2 1731 - 3.4388188272714615e-02 - - 4.7545841336250305e-01 5.2616578340530396e-01 - 3.3501741290092468e-01 - <_> - - 0 1 1732 -7.5009986758232117e-02 -1 -2 1733 - 4.9022492021322250e-04 - - 1.7134809494018555e-01 4.7258019447326660e-01 - 5.9564691781997681e-01 - <_> - - 0 1 1734 -8.5525289177894592e-03 -1 -2 1735 - 1.3135520566720515e-04 - - 6.5582227706909180e-01 4.8354008793830872e-01 - 5.5869138240814209e-01 - <_> - - 1 0 1736 4.7948658466339111e-03 -1 -2 1737 - 2.0124691072851419e-03 - - 2.6457059383392334e-01 3.6579450964927673e-01 - 5.1247721910476685e-01 - <_> - - 0 1 1738 -1.1785479635000229e-01 -1 -2 1739 - 1.5575019642710686e-03 - - 2.3856540024280548e-01 5.4904741048812866e-01 - 4.2747479677200317e-01 - <_> - - 0 1 1740 -1.5573759563267231e-02 -1 -2 1741 - -2.1854790393263102e-03 - - 6.9389009475708008e-01 3.6459881067276001e-01 - 5.0925260782241821e-01 - <_> - - 0 1 1742 2.9272339306771755e-03 -1 -2 1743 - 6.4663668163120747e-03 - - 4.6858081221580505e-01 4.9734100699424744e-01 - 7.7260971069335938e-01 - <_> - - 0 1 1744 -7.6140360906720161e-03 -1 -2 1745 - 4.1512572206556797e-03 - - 6.8774658441543579e-01 4.7885251045227051e-01 - 6.9216579198837280e-01 - <_> - - 0 1 1746 2.7711640577763319e-03 -1 -2 1747 - -1.2836109846830368e-02 - - 5.4818397760391235e-01 3.8001629710197449e-01 - 5.2044928073883057e-01 - <_> - - 0 1 1748 -2.4380050599575043e-03 -1 -2 1749 - 2.1713329479098320e-03 - - 2.5824350118637085e-01 4.9611631035804749e-01 - 3.2152029871940613e-01 - <_> - - 1 0 1750 6.2800728483125567e-04 -1 -2 1751 - -9.7982389852404594e-03 - - 5.4604238271713257e-01 6.0465437173843384e-01 - 4.9399220943450928e-01 - <_> - - 1 0 1752 7.3543828912079334e-03 -1 -2 1753 - -1.4665040187537670e-02 - - 5.2910941839218140e-01 5.4461228847503662e-01 - 3.5673621296882629e-01 - <_> - - 0 1 1754 3.0244510620832443e-02 -1 -2 1755 - -5.6660208851099014e-02 - - 5.5183291435241699e-01 6.9309788942337036e-01 - 5.0933879613876343e-01 - <_> - - 0 1 1756 -5.6967479176819324e-03 -1 -2 1757 - 3.0806770548224449e-02 - - 3.2015261054039001e-01 4.9892461299896240e-01 - 2.2770540416240692e-01 - <_> - - 0 1 1758 2.2748769260942936e-03 -1 -2 1759 - 2.0436900667846203e-03 - - 4.8109310865402222e-01 5.2838671207427979e-01 - 3.2559248805046082e-01 - <_> - - 0 1 1760 -8.6277956143021584e-03 -1 -2 1761 - 6.5113382879644632e-04 - - 6.2665361166000366e-01 5.0971370935440063e-01 - 3.1919100880622864e-01 - <_> - - 0 1 1762 8.8188261725008488e-04 -1 -2 1763 - -1.4594909735023975e-02 - - 4.5495858788490295e-01 2.6450389623641968e-01 - 5.1538681983947754e-01 - <_> - - 0 1 1764 -1.2304580304771662e-03 -1 -2 1765 - -2.1867299801670015e-04 - - 6.1975848674774170e-01 5.4691988229751587e-01 - 4.2068558931350708e-01 - <_> - - 0 1 1766 -1.0909959673881531e-03 -1 -2 1767 - 3.5210378700867295e-04 - - 4.1407600045204163e-01 5.4766088724136353e-01 - 4.1550210118293762e-01 - <_> - - 0 1 1768 -7.2563779540359974e-03 -1 -2 1769 - 1.4701850013807416e-03 - - 7.1604692935943604e-01 5.2408081293106079e-01 - 3.7296628952026367e-01 - <_> - - 0 1 1770 1.1472719779703766e-04 -1 -2 1771 - 3.0506469774991274e-03 - - 4.0337988734245300e-01 5.2639859914779663e-01 - 3.5600930452346802e-01 - <_> - - 0 1 1772 2.6269949739798903e-04 -1 -2 1773 - -3.6365550477057695e-03 - - 4.5697999000549316e-01 3.0425709486007690e-01 - 5.8682537078857422e-01 - <_> - - 1 0 1774 -8.4893293678760529e-03 -1 -2 1775 - 5.8107408694922924e-03 - - 4.9141570925712585e-01 4.9185299873352051e-01 - 6.2669628858566284e-01 - <_> - - 1 0 1776 7.5583951547741890e-04 -1 -2 1777 - -2.2017690353095531e-03 - - 5.6332361698150635e-01 5.5539160966873169e-01 - 3.8276460766792297e-01 - <_> - - 0 1 1778 2.7908938936889172e-03 -1 -2 1779 - -1.8228569533675909e-03 - - 5.4986977577209473e-01 4.3822830915451050e-01 - 5.4240328073501587e-01 - <_> - - 0 1 1780 -7.2495508939027786e-03 -1 -2 1781 - -6.8744522286579013e-04 - - 2.8881219029426575e-01 3.4726551175117493e-01 - 5.0763708353042603e-01 - <_> - - 0 1 1782 2.5174440816044807e-03 -1 -2 1783 - -1.0151379741728306e-02 - - 4.6612051129341125e-01 3.7447750568389893e-01 - 5.2940011024475098e-01 - <_> - - 1 0 1784 -4.1399952024221420e-03 -1 -2 1785 - -4.7078551724553108e-03 - - 4.6604850888252258e-01 4.1750618815422058e-01 - 6.9163060188293457e-01 - <_> - - 1 0 1786 4.1981041431427002e-02 -1 -2 1787 - -1.4272999949753284e-02 - - 2.0182150602340698e-01 7.5111979246139526e-01 - 5.0320839881896973e-01 - <_> - - 1 0 1788 4.0869521908462048e-03 -1 -2 1789 - 1.7606799956411123e-03 - - 2.5045138597488403e-01 3.3014011383056641e-01 - 5.2183371782302856e-01 - <_> - - 0 1 1790 1.2550549581646919e-04 -1 -2 1791 - -2.9503209516406059e-03 - - 4.6144428849220276e-01 4.6199500560760498e-01 - 5.2470302581787109e-01 - <_> - - 0 1 1792 -1.1312420247122645e-03 -1 -2 1793 - -1.6983180539682508e-03 - - 6.3143682479858398e-01 3.4013068675994873e-01 - 5.0555270910263062e-01 - <_> - - 1 0 1794 -1.1457820422947407e-02 -1 -2 1795 - -8.4962565451860428e-03 - - 4.9399960041046143e-01 2.9654508829116821e-01 - 5.1943677663803101e-01 - <_> - - 1 0 1796 1.1919089592993259e-02 -1 -2 1797 - 6.4416420646011829e-03 - - 7.8869980573654175e-01 5.1069867610931396e-01 - 2.9671460390090942e-01 - <_> - - 0 1 1798 -8.7857811013236642e-04 -1 -2 1799 - -2.0312711130827665e-03 - - 5.7143712043762207e-01 4.4812008738517761e-01 - 5.3849118947982788e-01 - <_> - - 0 1 1800 -1.5262430533766747e-03 -1 -2 1801 - 4.2860880494117737e-03 - - 6.1935687065124512e-01 4.3398851156234741e-01 - 7.6972991228103638e-01 - <_> - - 1 0 1802 3.5010920837521553e-03 -1 -2 1803 - 1.2587670236825943e-02 - - 3.1713891029357910e-01 5.2466988563537598e-01 - 4.2412081360816956e-01 - <_> - - 0 1 1804 2.6207490009255707e-04 -1 -2 1805 - 4.4701730075757951e-05 - - 4.2318999767303467e-01 4.1741389036178589e-01 - 5.9196037054061890e-01 - <_> - - 0 1 1806 7.8084698179736733e-04 -1 -2 1807 - 8.8851212058216333e-04 - - 4.2773890495300293e-01 3.7201610207557678e-01 - 5.2268189191818237e-01 - <_> - - 0 1 1808 2.3369069676846266e-03 -1 -2 1809 - 1.6688359901309013e-03 - - 5.4780668020248413e-01 3.6286789178848267e-01 - 6.1500048637390137e-01 - <_> - - 0 1 1810 3.0844469438306987e-04 -1 -2 1811 - 3.4617560449987650e-03 - - 4.7470751404762268e-01 4.5801380276679993e-01 - 5.5856817960739136e-01 - <_> - - 0 1 1812 1.8961310386657715e-02 -1 -2 1813 - 1.7347310483455658e-01 - - 5.2988010644912720e-01 3.6983850598335266e-01 - 8.4986197948455811e-01 - <_> - - 1 0 1814 2.0020549709443003e-04 -1 -2 1815 - 1.0967060225084424e-03 - - 5.5656617879867554e-01 4.7957131266593933e-01 - 6.2862598896026611e-01 - <_> - - 0 1 1816 1.5107099898159504e-04 -1 -2 1817 - -3.4463501069694757e-03 - - 4.0524059534072876e-01 6.1730152368545532e-01 - 4.4142639636993408e-01 - <_> - - 1 0 1818 8.5176620632410049e-03 -1 -2 1819 - -3.5812109708786011e-02 - - 3.5705709457397461e-01 3.1513288617134094e-01 - 5.2527028322219849e-01 - <_> - - 0 1 1820 -2.1155400201678276e-02 -1 -2 1821 - 8.9890940580517054e-04 - - 6.1247211694717407e-01 5.1699757575988770e-01 - 3.5962718725204468e-01 - <_> - - 1 0 1822 -1.5613760333508253e-03 -1 -2 1823 - 6.7120860330760479e-04 - - 4.9149879813194275e-01 4.5462110638618469e-01 - 5.3958117961883545e-01 - <_> - - 0 1 1824 -2.1597029641270638e-02 -1 -2 1825 - -2.4947229772806168e-02 - - 1.9031339883804321e-01 6.9740772247314453e-01 - 4.9677160382270813e-01 - <_> - - 0 1 1826 1.8725979607552290e-03 -1 -2 1827 - 6.3912719488143921e-03 - - 4.7489479184150696e-01 5.1801782846450806e-01 - 2.9243218898773193e-01 - <_> - - 0 1 1828 -9.1552399098873138e-03 -1 -2 1829 - 2.1715660113841295e-03 - - 7.6658701896667480e-01 5.2155512571334839e-01 - 3.3657190203666687e-01 - <_> - - 1 0 1830 1.2330369791015983e-03 -1 -2 1831 - -4.0785901364870369e-04 - - 6.2609577178955078e-01 4.5335099101066589e-01 - 5.3864890336990356e-01 - <_> - - 0 1 1832 4.6437609125860035e-04 -1 -2 1833 - -1.1600199650274590e-04 - - 4.1034960746765137e-01 5.8303910493850708e-01 - 4.3041059374809265e-01 - <_> - - 0 1 1834 -1.2718720361590385e-02 -1 -2 1835 - 8.9431880041956902e-05 - - 2.1325829625129700e-01 4.8728910088539124e-01 - 5.4589152336120605e-01 - <_> - - 0 1 1836 -3.3913689549081028e-04 -1 -2 1837 - -1.8026340752840042e-02 - - 3.9743649959564209e-01 7.5685507059097290e-01 - 5.0456118583679199e-01 - <_> - - 1 0 1838 6.9179181009531021e-03 -1 -2 1839 - -1.1839679791592062e-04 - - 3.9662998914718628e-01 4.1980829834938049e-01 - 5.4358041286468506e-01 - <_> - - 0 1 1840 -3.9474181830883026e-03 -1 -2 1841 - 6.0050919273635373e-05 - - 6.3694578409194946e-01 5.2695667743682861e-01 - 3.8122430443763733e-01 - <_> - - 1 0 1842 9.1423643752932549e-03 -1 -2 1843 - 2.1305440168362111e-04 - - 4.1567629575729370e-01 3.5235330462455750e-01 - 5.3494542837142944e-01 - <_> - - 1 0 1844 -2.0855850016232580e-04 -1 -2 1845 - 1.3130389852449298e-03 - - 4.4033220410346985e-01 6.0581612586975098e-01 - 4.4682189822196960e-01 - <_> - - 1 0 1846 -2.9134768992662430e-03 -1 -2 1847 - 2.9645769391208887e-03 - - 4.8257058858871460e-01 4.8359981179237366e-01 - 6.0392779111862183e-01 - <_> - - 1 0 1848 1.7772549763321877e-03 -1 -2 1849 - -7.7136349864304066e-03 - - 6.8718272447586060e-01 2.8422209620475769e-01 - 5.1454281806945801e-01 - <_> - - 1 0 1850 5.1027478184551001e-04 -1 -2 1851 - 1.7460630042478442e-03 - - 6.0244262218475342e-01 4.7566100955009460e-01 - 5.7211542129516602e-01 - <_> - - 1 0 1852 3.8068278809078038e-04 -1 -2 1853 - 2.8228890150785446e-03 - - 4.9310690164566040e-01 3.3116981387138367e-01 - 6.2275981903076172e-01 - <_> - - 1 0 1854 -5.3000478073954582e-03 -1 -2 1855 - 4.4951299059903249e-05 - - 5.2320927381515503e-01 3.9952319860458374e-01 - 5.3147977590560913e-01 - <_> - - 0 1 1856 3.2752458937466145e-03 -1 -2 1857 - -2.8162579983472824e-03 - - 4.4816198945045471e-01 3.9079719781875610e-01 - 6.6716408729553223e-01 - <_> - - 0 1 1858 1.4112279750406742e-03 -1 -2 1859 - 8.3062034100294113e-03 - - 5.3570109605789185e-01 4.7709658741950989e-01 - 5.5700999498367310e-01 - <_> - - 0 1 1860 2.2164839319884777e-03 -1 -2 1861 - -4.9868631176650524e-03 - - 4.9471241235733032e-01 5.2413070201873779e-01 - 2.5126549601554871e-01 - <_> - - 1 0 1862 -3.6664260551333427e-03 -1 -2 1863 - -1.0581229813396931e-02 - - 4.6195539832115173e-01 6.3017189502716064e-01 - 4.9730318784713745e-01 - <_> - - 1 0 1864 7.3366491124033928e-03 -1 -2 1865 - -3.9318940252996981e-04 - - 2.8709700703620911e-01 4.2528051137924194e-01 - 5.5792468786239624e-01 - <_> - - 0 1 1866 -8.1375334411859512e-03 -1 -2 1867 - 2.4809150490909815e-03 - - 5.7473158836364746e-01 5.2033740282058716e-01 - 3.9035668969154358e-01 - <_> - - 1 0 1868 8.8749779388308525e-04 -1 -2 1869 - -4.2194919660687447e-04 - - 5.5343210697174072e-01 5.3380441665649414e-01 - 3.9258408546447754e-01 - <_> - - 0 1 1870 -7.9790111631155014e-03 -1 -2 1871 - 1.1439629597589374e-03 - - 4.1443160176277161e-01 4.7013729810714722e-01 - 5.2817362546920776e-01 - <_> - - 1 0 1872 7.5542130507528782e-03 -1 -2 1873 - 1.0288399644196033e-03 - - 2.5272560119628906e-01 5.6051462888717651e-01 - 4.2978560924530029e-01 - <_> - - 1 0 1874 -1.7234670231118798e-03 -1 -2 1875 - 5.7586699724197388e-01 - - 4.8396828770637512e-01 5.1105028390884399e-01 - 8.0489329993724823e-02 - <_> - 109 - 5.3755569458007812e+01 - - <_> - - 0 1 1876 6.6640521399676800e-03 -1 -2 1877 - 8.9905522763729095e-03 - - 3.8289201259613037e-01 4.8584291338920593e-01 - 7.3549592494964600e-01 - <_> - - 1 0 1878 5.7154200039803982e-03 -1 -2 1879 - 1.1257929727435112e-03 - - 6.7232239246368408e-01 4.4295778870582581e-01 - 6.0707777738571167e-01 - <_> - - 1 0 1880 -9.1789010912179947e-04 -1 -2 1881 - -1.0492859873920679e-03 - - 3.0763450264930725e-01 5.5936437845230103e-01 - 3.6510229110717773e-01 - <_> - - 0 1 1882 3.5453929740469903e-05 -1 -2 1883 - 2.9015709878876805e-04 - - 4.2779681086540222e-01 4.5835450291633606e-01 - 5.2846831083297729e-01 - <_> - - 1 0 1884 1.6071660502348095e-04 -1 -2 1885 - -5.2961107576265931e-04 - - 3.7981921434402466e-01 3.8504371047019958e-01 - 5.9396880865097046e-01 - <_> - - 0 1 1886 2.6682569296099246e-04 -1 -2 1887 - -1.3492540165316314e-04 - - 4.1230249404907227e-01 5.7605999708175659e-01 - 4.2376458644866943e-01 - <_> - - 0 1 1888 -1.0841679759323597e-02 -1 -2 1889 - 1.2077829800546169e-02 - - 3.9299210906028748e-01 5.7619231939315796e-01 - 2.7804449200630188e-01 - <_> - - 0 1 1890 2.2128869313746691e-03 -1 -2 1891 - -1.5266190283000469e-02 - - 4.7945070266723633e-01 7.4055880308151245e-02 - 5.1535779237747192e-01 - <_> - - 1 0 1892 6.7929533543065190e-05 -1 -2 1893 - 1.7633590323384851e-04 - - 5.8587378263473511e-01 3.5676109790802002e-01 - 5.5989629030227661e-01 - <_> - - 1 0 1894 8.1311381654813886e-04 -1 -2 1895 - 3.2630451023578644e-03 - - 5.3468507528305054e-01 4.7825369238853455e-01 - 5.4567539691925049e-01 - <_> - - 0 1 1896 -3.9503918960690498e-03 -1 -2 1897 - -3.9864578866399825e-04 - - 2.8318119049072266e-01 5.4852157831192017e-01 - 4.1596978902816772e-01 - <_> - - 0 1 1898 -1.1432520113885403e-02 -1 -2 1899 - 5.3339172154664993e-03 - - 5.6391012668609619e-01 4.5969840884208679e-01 - 5.9312427043914795e-01 - <_> - - 1 0 1900 8.3193257451057434e-03 -1 -2 1901 - -4.2479918920435011e-04 - - 3.2306200265884399e-01 3.7952938675880432e-01 - 5.4086112976074219e-01 - <_> - - 0 1 1902 -1.1189430207014084e-01 -1 -2 1903 - -7.5553781352937222e-03 - - 1.1322979629039764e-01 6.3393700122833252e-01 - 4.8387709259986877e-01 - <_> - - 0 1 1904 -7.0337029173970222e-03 -1 -2 1905 - -1.4833680354058743e-02 - - 5.6652551889419556e-01 6.7514181137084961e-01 - 4.1409450769424438e-01 - <_> - - 1 0 1906 8.7506724521517754e-03 -1 -2 1907 - 1.6645010327920318e-03 - - 3.5612589120864868e-01 5.3472799062728882e-01 - 3.6497798562049866e-01 - <_> - - 1 0 1908 9.4900820404291153e-03 -1 -2 1909 - 1.1133110383525491e-03 - - 2.7546560764312744e-01 4.2259928584098816e-01 - 5.6291788816452026e-01 - <_> - - 0 1 1910 9.4940755516290665e-03 -1 -2 1911 - -1.5396620146930218e-03 - - 4.9060368537902832e-01 4.0070518851280212e-01 - 5.3807091712951660e-01 - <_> - - 1 0 1912 1.3434959948062897e-01 -1 -2 1913 - -9.4940755516290665e-03 - - 2.2146719694137573e-01 7.3531562089920044e-01 - 5.0050330162048340e-01 - <_> - - 1 0 1914 2.0011790096759796e-02 -1 -2 1915 - -1.8875009845942259e-03 - - 3.3279061317443848e-01 3.9152890443801880e-01 - 5.4018497467041016e-01 - <_> - - 1 0 1916 7.1842782199382782e-03 -1 -2 1917 - 1.6976969782263041e-03 - - 7.1766048669815063e-01 4.5269781351089478e-01 - 6.0769128799438477e-01 - <_> - - 1 0 1918 4.9219978973269463e-03 -1 -2 1919 - 1.1803199537098408e-02 - - 2.5698339939117432e-01 4.9996379017829895e-01 - 5.9582281112670898e-01 - <_> - - 0 1 1920 -9.7703449428081512e-03 -1 -2 1921 - 2.1174899302423000e-03 - - 3.4590938687324524e-01 4.5151269435882568e-01 - 5.8297157287597656e-01 - <_> - - 0 1 1922 9.4801411032676697e-03 -1 -2 1923 - -2.6078789960592985e-03 - - 4.8073920607566833e-01 3.4622168540954590e-01 - 5.2015948295593262e-01 - <_> - - 0 1 1924 -5.7252747938036919e-03 -1 -2 1925 - -8.2325618714094162e-03 - - 6.5998530387878418e-01 2.8218281269073486e-01 - 5.1252847909927368e-01 - <_> - - 0 1 1926 8.9571950957179070e-04 -1 -2 1927 - -1.5021569561213255e-04 - - 4.8838189244270325e-01 4.8299181461334229e-01 - 5.4287171363830566e-01 - <_> - - 0 1 1928 4.8489659093320370e-04 -1 -2 1929 - -9.6192650496959686e-02 - - 4.4345989823341370e-01 2.2566360235214233e-01 - 5.9562277793884277e-01 - <_> - - 0 1 1930 -1.1053519556298852e-03 -1 -2 1931 - -1.0215040296316147e-01 - - 4.5272240042686462e-01 2.8443491458892822e-01 - 5.1864528656005859e-01 - <_> - - 1 0 1932 3.0147889629006386e-03 -1 -2 1933 - 7.6131648384034634e-03 - - 3.8089990615844727e-01 5.7186990976333618e-01 - 4.2625638842582703e-01 - <_> - - 1 0 1934 1.5197630273178220e-03 -1 -2 1935 - -1.4197279699146748e-02 - - 5.9427189826965332e-01 7.7311038970947266e-01 - 4.9976539611816406e-01 - <_> - - 0 1 1936 -1.3818879611790180e-02 -1 -2 1937 - -5.0701329018920660e-04 - - 6.6811382770538330e-01 3.3056080341339111e-01 - 4.7499749064445496e-01 - <_> - - 0 1 1938 -9.3537531793117523e-03 -1 -2 1939 - -9.4771059229969978e-03 - - 2.8609329462051392e-01 6.1888831853866577e-01 - 4.8421001434326172e-01 - <_> - - 1 0 1940 1.6923650400713086e-03 -1 -2 1941 - 5.8652542065829039e-04 - - 6.0702490806579590e-01 3.7826898694038391e-01 - 5.3681969642639160e-01 - <_> - - 0 1 1942 -2.5826620403677225e-03 -1 -2 1943 - -2.7307639829814434e-03 - - 3.6902099847793579e-01 3.8571149110794067e-01 - 5.3181087970733643e-01 - <_> - - 1 0 1944 2.1871570497751236e-02 -1 -2 1945 - -1.5010299648565706e-05 - - 2.3270089924335480e-01 5.5607229471206665e-01 - 4.3014100193977356e-01 - <_> - - 1 0 1946 5.3583700209856033e-03 -1 -2 1947 - 5.0057549960911274e-03 - - 6.7676377296447754e-01 5.1949042081832886e-01 - 3.6128538846969604e-01 - <_> - - 0 1 1948 -1.9030070398002863e-03 -1 -2 1949 - -7.8506693243980408e-03 - - 3.2378450036048889e-01 1.1948519945144653e-01 - 4.9917238950729370e-01 - <_> - - 1 0 1950 -2.7093670796602964e-03 -1 -2 1951 - 1.4138079714030027e-03 - - 4.8549601435661316e-01 4.8723229765892029e-01 - 5.9035778045654297e-01 - <_> - - 1 0 1952 9.0300198644399643e-03 -1 -2 1953 - -9.7925681620836258e-04 - - 6.5473157167434692e-01 5.8492732048034668e-01 - 4.5542308688163757e-01 - <_> - - 1 0 1954 1.3984439428895712e-03 -1 -2 1955 - 8.3372107474133372e-04 - - 4.0646260976791382e-01 5.3995430469512939e-01 - 4.1528099775314331e-01 - <_> - - 1 0 1956 1.0551059618592262e-02 -1 -2 1957 - 8.8344102550763637e-05 - - 1.7966809868812561e-01 4.2518630623817444e-01 - 5.4135227203369141e-01 - <_> - - 1 0 1958 -4.1022308170795441e-02 -1 -2 1959 - 7.5065628625452518e-03 - - 5.2281248569488525e-01 4.8537430167198181e-01 - 6.0934442281723022e-01 - <_> - - 1 0 1960 4.1022308170795441e-02 -1 -2 1961 - -5.3961377125233412e-04 - - 2.2050240635871887e-01 5.6927317380905151e-01 - 4.4687569141387939e-01 - <_> - - 0 1 1962 -6.8696036934852600e-02 -1 -2 1963 - -1.8447940237820148e-03 - - 1.4833140373229980e-01 6.2112838029861450e-01 - 4.9666011333465576e-01 - <_> - - 0 1 1964 -6.0959919355809689e-03 -1 -2 1965 - -4.2068301700055599e-03 - - 2.2946719825267792e-01 6.4070910215377808e-01 - 4.7485628724098206e-01 - <_> - - 1 0 1966 -7.1332789957523346e-04 -1 -2 1967 - 1.1756779998540878e-01 - - 5.3549361228942871e-01 5.1369780302047729e-01 - 1.0595739819109440e-02 - <_> - - 0 1 1968 5.9354289987822995e-05 -1 -2 1969 - -6.3173691742122173e-03 - - 3.7118038535118103e-01 1.7120739817619324e-01 - 5.0617581605911255e-01 - <_> - - 1 0 1970 1.4941499568521976e-02 -1 -2 1971 - -2.0789399277418852e-03 - - 6.7291188240051270e-01 4.4106459617614746e-01 - 5.4440277814865112e-01 - <_> - - 0 1 1972 -7.0736219640821218e-04 -1 -2 1973 - -3.1247111037373543e-03 - - 5.5689108371734619e-01 5.0238692760467529e-01 - 3.5624051094055176e-01 - <_> - - 1 0 1974 -7.8919378574937582e-04 -1 -2 1975 - 1.0179580189287663e-02 - - 5.4567861557006836e-01 5.5451387166976929e-01 - 4.6223109960556030e-01 - <_> - - 1 0 1976 -2.7506109327077866e-03 -1 -2 1977 - 1.0601329617202282e-02 - - 4.9425360560417175e-01 2.9612338542938232e-01 - 5.9643387794494629e-01 - <_> - - 0 1 1978 5.1466780714690685e-03 -1 -2 1979 - 7.6321147382259369e-02 - - 5.4952287673950195e-01 5.1739591360092163e-01 - 2.9402169585227966e-01 - <_> - - 0 1 1980 -1.5027689514681697e-03 -1 -2 1981 - 1.2266670353710651e-02 - - 3.1062999367713928e-01 4.6511501073837280e-01 - 6.8466138839721680e-01 - <_> - - 1 0 1982 -3.1118579208850861e-02 -1 -2 1983 - 2.8905589133501053e-02 - - 5.2260571718215942e-01 5.1822441816329956e-01 - 2.7054280042648315e-01 - <_> - - 1 0 1984 4.7598380595445633e-02 -1 -2 1985 - 3.0808549374341965e-02 - - 1.1095120012760162e-01 4.9386250972747803e-01 - 1.4041109383106232e-01 - <_> - - 1 0 1986 -2.1277810446918011e-04 -1 -2 1987 - 7.8969962894916534e-02 - - 4.3923568725585938e-01 5.2165520191192627e-01 - 2.2941139340400696e-01 - <_> - - 0 1 1988 -1.0257950052618980e-02 -1 -2 1989 - 1.2604889925569296e-03 - - 6.1766529083251953e-01 5.2362227439880371e-01 - 3.3289659023284912e-01 - <_> - - 1 0 1990 -3.3490460366010666e-02 -1 -2 1991 - -5.9202767442911863e-04 - - 4.8661869764328003e-01 4.1164070367813110e-01 - 5.3956401348114014e-01 - <_> - - 1 0 1992 3.0320750738610514e-05 -1 -2 1993 - -5.4369680583477020e-04 - - 5.6107360124588013e-01 5.6213891506195068e-01 - 3.4612038731575012e-01 - <_> - - 1 0 1994 -3.3490460366010666e-02 -1 -2 1995 - -5.9202767442911863e-04 - - 4.8967620730400085e-01 4.3054041266441345e-01 - 5.3407138586044312e-01 - <_> - - 0 1 1996 2.0550889894366264e-03 -1 -2 1997 - -4.4353571720421314e-03 - - 5.5449998378753662e-01 6.0385400056838989e-01 - 3.7465929985046387e-01 - <_> - - 1 0 1998 -8.4170423448085785e-02 -1 -2 1999 - 6.7419027909636497e-03 - - 5.0073480606079102e-01 5.2980971336364746e-01 - 4.7161450982093811e-01 - <_> - - 1 0 2000 1.0278150439262390e-02 -1 -2 2001 - 5.8800862170755863e-03 - - 6.2693750858306885e-01 5.1548278331756592e-01 - 3.8130408525466919e-01 - <_> - - 1 0 2002 -6.9679190346505493e-06 -1 -2 2003 - 8.2419527461752295e-04 - - 4.4402399659156799e-01 4.6975341439247131e-01 - 5.4855042695999146e-01 - <_> - - 0 1 2004 -5.5268318392336369e-03 -1 -2 2005 - 9.6128671430051327e-04 - - 5.5136048793792725e-01 3.6186391115188599e-01 - 5.8384567499160767e-01 - <_> - - 1 0 2006 2.4810510221868753e-03 -1 -2 2007 - -1.0480589699000120e-03 - - 2.5232228636741638e-01 4.1172578930854797e-01 - 5.3929960727691650e-01 - <_> - - 0 1 2008 -6.1287907883524895e-03 -1 -2 2009 - 1.1682329932227731e-04 - - 6.7263299226760864e-01 5.0411927700042725e-01 - 3.6077290773391724e-01 - <_> - - 0 1 2010 -3.9909478276968002e-02 -1 -2 2011 - 1.5859459526836872e-03 - - 1.5637390315532684e-01 4.8919808864593506e-01 - 5.7798451185226440e-01 - <_> - - 0 1 2012 -2.2690229117870331e-02 -1 -2 2013 - 2.0916070789098740e-03 - - 2.1868790686130524e-01 4.7715771198272705e-01 - 6.0992312431335449e-01 - <_> - - 0 1 2014 -2.4715419858694077e-02 -1 -2 2015 - -1.3419450260698795e-02 - - 3.4639969468116760e-01 3.6306929588317871e-01 - 5.2521961927413940e-01 - <_> - - 0 1 2016 -6.0629472136497498e-03 -1 -2 2017 - -2.0921030081808567e-03 - - 6.6663217544555664e-01 3.3995470404624939e-01 - 5.0356978178024292e-01 - <_> - - 0 1 2018 2.5961859151721001e-02 -1 -2 2019 - 1.7908669542521238e-04 - - 5.0368028879165649e-01 5.4185307025909424e-01 - 4.3189769983291626e-01 - <_> - - 0 1 2020 -3.1546850223094225e-03 -1 -2 2021 - -1.1397759662941098e-03 - - 7.2210252285003662e-01 3.3209729194641113e-01 - 5.0244337320327759e-01 - <_> - - 0 1 2022 -4.7840211540460587e-02 -1 -2 2023 - 4.1577088995836675e-04 - - 1.9387650489807129e-01 4.8021888732910156e-01 - 5.7307147979736328e-01 - <_> - - 0 1 2024 -4.4247039477340877e-04 -1 -2 2025 - 1.4479350065812469e-03 - - 4.2625150084495544e-01 5.7191711664199829e-01 - 4.0641531348228455e-01 - <_> - - 0 1 2026 1.5701510012149811e-02 -1 -2 2027 - 2.7805729769170284e-04 - - 4.9957260489463806e-01 5.2892869710922241e-01 - 4.5817288756370544e-01 - <_> - - 0 1 2028 -2.9010509606450796e-03 -1 -2 2029 - 2.0830519497394562e-04 - - 6.0121482610702515e-01 5.0579768419265747e-01 - 3.5994321107864380e-01 - <_> - - 1 0 2030 -5.1530029624700546e-02 -1 -2 2031 - 1.7163449956569821e-04 - - 4.9917969107627869e-01 4.6754699945449829e-01 - 5.3747731447219849e-01 - <_> - - 1 0 2032 2.3614279925823212e-02 -1 -2 2033 - -5.6427798699587584e-04 - - 6.5864789485931396e-01 3.8532960414886475e-01 - 5.1960402727127075e-01 - <_> - - 1 0 2034 6.6903959959745407e-03 -1 -2 2035 - -4.8789530992507935e-03 - - 6.0042357444763184e-01 3.2932278513908386e-01 - 5.2452367544174194e-01 - <_> - - 0 1 2036 -6.8537332117557526e-03 -1 -2 2037 - 9.9893810693174601e-04 - - 2.5659140944480896e-01 4.6154940128326416e-01 - 5.9424322843551636e-01 - <_> - - 0 1 2038 -1.3354700058698654e-04 -1 -2 2039 - 1.0165109997615218e-03 - - 5.4873758554458618e-01 4.5783591270446777e-01 - 5.4269278049468994e-01 - <_> - - 1 0 2040 9.1216771397739649e-04 -1 -2 2041 - 1.0080259526148438e-03 - - 3.9394611120223999e-01 4.0497899055480957e-01 - 5.5207037925720215e-01 - <_> - - 1 0 2042 -1.3102490629535168e-04 -1 -2 2043 - 5.5228749988600612e-04 - - 4.8790889978408813e-01 4.8449438810348511e-01 - 5.5128258466720581e-01 - <_> - - 1 0 2044 -1.2130969844292849e-04 -1 -2 2045 - -1.5112989785848185e-05 - - 4.3679711222648621e-01 6.4259552955627441e-01 - 4.8818269371986389e-01 - <_> - - 1 0 2046 -4.0125829400494695e-04 -1 -2 2047 - -6.5766851184889674e-04 - - 5.3720992803573608e-01 5.8345532417297363e-01 - 4.8690780997276306e-01 - <_> - - 1 0 2048 6.2220421386882663e-04 -1 -2 2049 - 1.4663359615951777e-03 - - 3.8246369361877441e-01 4.8134881258010864e-01 - 6.9667392969131470e-01 - <_> - - 0 1 2050 -4.9547709524631500e-02 -1 -2 2051 - 1.3017569435760379e-03 - - 5.3927659988403320e-02 5.3374558687210083e-01 - 4.1607481241226196e-01 - <_> - - 0 1 2052 -4.4914530590176582e-03 -1 -2 2053 - 1.6592369647696614e-03 - - 5.9974372386932373e-01 3.7271851301193237e-01 - 5.1156342029571533e-01 - <_> - - 0 1 2054 6.4695458859205246e-03 -1 -2 2055 - 4.9810269847512245e-03 - - 5.2520352602005005e-01 5.2567178010940552e-01 - 3.9344060420989990e-01 - <_> - - 0 1 2056 -3.8536980748176575e-02 -1 -2 2057 - -2.8275650739669800e-01 - - 2.0619249343872070e-01 6.1883211135864258e-02 - 4.9250578880310059e-01 - <_> - - 0 1 2058 -9.0301828458905220e-03 -1 -2 2059 - -4.3866269290447235e-02 - - 3.1575900316238403e-01 2.0336820185184479e-01 - 5.1647698879241943e-01 - <_> - - 0 1 2060 -4.5701069757342339e-03 -1 -2 2061 - -2.3362410720437765e-03 - - 6.6111832857131958e-01 2.8077891469001770e-01 - 4.9628761410713196e-01 - <_> - - 0 1 2062 5.3960331715643406e-03 -1 -2 2063 - -2.6297608856111765e-03 - - 5.1463878154754639e-01 6.2844878435134888e-01 - 4.9555888772010803e-01 - <_> - - 0 1 2064 -3.8577478844672441e-03 -1 -2 2065 - 1.3963800156489015e-03 - - 1.4867480099201202e-01 4.7013381123542786e-01 - 6.3209718465805054e-01 - <_> - - 1 0 2066 -8.8699469342827797e-03 -1 -2 2067 - -7.0626288652420044e-04 - - 5.2868181467056274e-01 4.6483701467514038e-01 - 5.3332102298736572e-01 - <_> - - 0 1 2068 4.2645810171961784e-03 -1 -2 2069 - 6.1572100967168808e-02 - - 5.0848782062530518e-01 3.6296251416206360e-01 - 8.7571567296981812e-01 - <_> - - 1 0 2070 -4.5381980016827583e-03 -1 -2 2071 - -4.0877899155020714e-03 - - 4.8566961288452148e-01 4.5841160416603088e-01 - 5.4202407598495483e-01 - <_> - - 1 0 2072 6.4308601431548595e-03 -1 -2 2073 - 7.0455260574817657e-03 - - 2.7073028683662415e-01 5.0574868917465210e-01 - 7.0265239477157593e-01 - <_> - - 1 0 2074 -2.3246440105140209e-03 -1 -2 2075 - 6.0276601288933307e-05 - - 4.8272788524627686e-01 4.2472490668296814e-01 - 5.5087631940841675e-01 - <_> - - 1 0 2076 1.8084559589624405e-02 -1 -2 2077 - 8.4693520329892635e-04 - - 8.1048011779785156e-01 5.1546192169189453e-01 - 3.5143798589706421e-01 - <_> - - 1 0 2078 -2.6931039988994598e-02 -1 -2 2079 - -4.2346641421318054e-03 - - 4.8868888616561890e-01 4.6223780512809753e-01 - 5.3824782371520996e-01 - <_> - - 1 0 2080 2.6947110891342163e-02 -1 -2 2081 - 4.6446882188320160e-03 - - 6.3665962219238281e-01 5.3685069084167480e-01 - 3.7654298543930054e-01 - <_> - - 0 1 2082 -6.9577661342918873e-03 -1 -2 2083 - 8.7609712500125170e-04 - - 4.2346870899200439e-01 4.6724060177803040e-01 - 5.3506839275360107e-01 - <_> - - 1 0 2084 1.6103329835459590e-03 -1 -2 2085 - -1.2848590267822146e-03 - - 5.7327628135681152e-01 5.4817992448806763e-01 - 3.7845930457115173e-01 - <_> - - 0 1 2086 1.0243539698421955e-02 -1 -2 2087 - 2.6889349101111293e-04 - - 5.1559072732925415e-01 5.3531897068023682e-01 - 4.3871539831161499e-01 - <_> - - 0 1 2088 3.7903659977018833e-03 -1 -2 2089 - -2.9369680210947990e-02 - - 5.0320029258728027e-01 5.8735388517379761e-01 - 2.2154450416564941e-01 - <_> - - 1 0 2090 6.0743088833987713e-03 -1 -2 2091 - -1.2710720300674438e-02 - - 5.4170298576354980e-01 6.0565119981765747e-01 - 4.9851819872856140e-01 - <_> - - 0 1 2092 -5.9445449151098728e-03 -1 -2 2093 - -2.8927479870617390e-03 - - 3.3520698547363281e-01 6.9292408227920532e-01 - 4.7782200574874878e-01 - - <_> - - <_> - 2 7 16 4 -1. - <_> - 2 9 16 2 2. - <_> - - <_> - 8 4 3 14 -1. - <_> - 8 11 3 7 2. - <_> - - <_> - 13 6 1 6 -1. - <_> - 13 9 1 3 2. - <_> - - <_> - 4 2 12 8 -1. - <_> - 8 2 4 8 3. - <_> - - <_> - 6 3 1 9 -1. - <_> - 6 6 1 3 3. - <_> - - <_> - 3 7 14 9 -1. - <_> - 3 10 14 3 3. - <_> - - <_> - 4 7 4 4 -1. - <_> - 4 9 4 2 2. - <_> - - <_> - 9 4 2 16 -1. - <_> - 9 12 2 8 2. - <_> - - <_> - 1 1 18 5 -1. - <_> - 7 1 6 5 3. - <_> - - <_> - 4 5 13 8 -1. - <_> - 4 9 13 4 2. - <_> - - <_> - 1 7 16 9 -1. - <_> - 1 10 16 3 3. - <_> - - <_> - 2 0 15 4 -1. - <_> - 2 2 15 2 2. - <_> - - <_> - 7 5 6 4 -1. - <_> - 9 5 2 4 3. - <_> - - <_> - 6 3 8 9 -1. - <_> - 6 6 8 3 3. - <_> - - <_> - 8 12 3 8 -1. - <_> - 8 16 3 4 2. - <_> - - <_> - 3 16 2 2 -1. - <_> - 3 17 2 1 2. - <_> - - <_> - 14 1 6 12 -1. - <_> - 14 1 3 12 2. - <_> - - <_> - 4 4 12 6 -1. - <_> - 8 4 4 6 3. - <_> - - <_> - 0 2 6 15 -1. - <_> - 3 2 3 15 2. - <_> - - <_> - 5 4 9 6 -1. - <_> - 5 6 9 2 3. - <_> - - <_> - 13 11 6 3 -1. - <_> - 13 12 6 1 3. - <_> - - <_> - 12 12 6 4 -1. - <_> - 12 14 6 2 2. - <_> - - <_> - 1 11 6 3 -1. - <_> - 1 12 6 1 3. - <_> - - <_> - 2 5 5 8 -1. - <_> - 2 9 5 4 2. - <_> - - <_> - 5 4 10 4 -1. - <_> - 5 6 10 2 2. - <_> - - <_> - 2 4 16 12 -1. - <_> - 2 8 16 4 3. - <_> - - <_> - 4 5 12 6 -1. - <_> - 8 5 4 6 3. - <_> - - <_> - 13 7 2 9 -1. - <_> - 13 10 2 3 3. - <_> - - <_> - 5 7 2 9 -1. - <_> - 5 10 2 3 3. - <_> - - <_> - 7 1 6 8 -1. - <_> - 9 1 2 8 3. - <_> - - <_> - 12 0 4 12 -1. - <_> - 14 0 2 6 2. - <_> - 12 6 2 6 2. - <_> - - <_> - 5 8 10 2 -1. - <_> - 5 9 10 1 2. - <_> - - <_> - 5 1 6 4 -1. - <_> - 7 1 2 4 3. - <_> - - <_> - 0 3 9 12 -1. - <_> - 3 3 3 12 3. - <_> - - <_> - 9 8 3 12 -1. - <_> - 9 12 3 4 3. - <_> - - <_> - 0 5 20 15 -1. - <_> - 0 10 20 5 3. - <_> - - <_> - 2 2 6 8 -1. - <_> - 2 2 3 4 2. - <_> - 5 6 3 4 2. - <_> - - <_> - 2 1 6 2 -1. - <_> - 2 2 6 1 2. - <_> - - <_> - 10 15 6 4 -1. - <_> - 13 15 3 2 2. - <_> - 10 17 3 2 2. - <_> - - <_> - 12 14 2 6 -1. - <_> - 12 16 2 2 3. - <_> - - <_> - 5 15 4 4 -1. - <_> - 5 15 2 2 2. - <_> - 7 17 2 2 2. - <_> - - <_> - 7 18 1 2 -1. - <_> - 7 19 1 1 2. - <_> - - <_> - 4 5 12 10 -1. - <_> - 10 5 6 5 2. - <_> - 4 10 6 5 2. - <_> - - <_> - 7 4 8 12 -1. - <_> - 11 4 4 6 2. - <_> - 7 10 4 6 2. - <_> - - <_> - 9 11 2 3 -1. - <_> - 9 12 2 1 3. - <_> - - <_> - 3 3 12 12 -1. - <_> - 3 3 6 6 2. - <_> - 9 9 6 6 2. - <_> - - <_> - 15 11 5 3 -1. - <_> - 15 12 5 1 3. - <_> - - <_> - 10 18 3 2 -1. - <_> - 11 18 1 2 3. - <_> - - <_> - 0 11 5 3 -1. - <_> - 0 12 5 1 3. - <_> - - <_> - 7 18 3 2 -1. - <_> - 8 18 1 2 3. - <_> - - <_> - 2 8 16 2 -1. - <_> - 2 9 16 1 2. - <_> - - <_> - 9 6 5 12 -1. - <_> - 9 12 5 6 2. - <_> - - <_> - 6 3 8 6 -1. - <_> - 6 6 8 3 2. - <_> - - <_> - 4 7 12 2 -1. - <_> - 8 7 4 2 3. - <_> - - <_> - 10 9 6 8 -1. - <_> - 10 13 6 4 2. - <_> - - <_> - 12 5 3 10 -1. - <_> - 12 10 3 5 2. - <_> - - <_> - 4 6 3 9 -1. - <_> - 4 9 3 3 3. - <_> - - <_> - 7 4 6 4 -1. - <_> - 9 4 2 4 3. - <_> - - <_> - 12 3 8 3 -1. - <_> - 12 3 4 3 2. - <_> - - <_> - 15 0 3 6 -1. - <_> - 15 3 3 3 2. - <_> - - <_> - 2 12 10 8 -1. - <_> - 2 12 5 4 2. - <_> - 7 16 5 4 2. - <_> - - <_> - 5 5 6 8 -1. - <_> - 5 9 6 4 2. - <_> - - <_> - 12 3 8 3 -1. - <_> - 12 3 4 3 2. - <_> - - <_> - 15 0 3 6 -1. - <_> - 15 3 3 3 2. - <_> - - <_> - 0 3 8 3 -1. - <_> - 4 3 4 3 2. - <_> - - <_> - 2 1 4 4 -1. - <_> - 2 3 4 2 2. - <_> - - <_> - 10 2 3 2 -1. - <_> - 11 2 1 2 3. - <_> - - <_> - 10 3 3 1 -1. - <_> - 11 3 1 1 3. - <_> - - <_> - 7 15 3 4 -1. - <_> - 7 17 3 2 2. - <_> - - <_> - 4 13 3 6 -1. - <_> - 4 15 3 2 3. - <_> - - <_> - 10 5 1 14 -1. - <_> - 10 12 1 7 2. - <_> - - <_> - 5 4 10 6 -1. - <_> - 5 6 10 2 3. - <_> - - <_> - 5 0 6 3 -1. - <_> - 7 0 2 3 3. - <_> - - <_> - 6 0 3 5 -1. - <_> - 7 0 1 5 3. - <_> - - <_> - 7 15 6 5 -1. - <_> - 9 15 2 5 3. - <_> - - <_> - 9 10 2 6 -1. - <_> - 9 12 2 2 3. - <_> - - <_> - 8 17 3 2 -1. - <_> - 9 17 1 2 3. - <_> - - <_> - 1 12 7 6 -1. - <_> - 1 14 7 2 3. - <_> - - <_> - 9 6 3 7 -1. - <_> - 10 6 1 7 3. - <_> - - <_> - 16 3 4 9 -1. - <_> - 16 6 4 3 3. - <_> - - <_> - 8 6 3 7 -1. - <_> - 9 6 1 7 3. - <_> - - <_> - 0 5 18 8 -1. - <_> - 0 5 9 4 2. - <_> - 9 9 9 4 2. - <_> - - <_> - 13 5 2 10 -1. - <_> - 13 10 2 5 2. - <_> - - <_> - 12 10 2 6 -1. - <_> - 12 13 2 3 2. - <_> - - <_> - 7 0 3 5 -1. - <_> - 8 0 1 5 3. - <_> - - <_> - 6 5 8 6 -1. - <_> - 6 7 8 2 3. - <_> - - <_> - 10 3 6 14 -1. - <_> - 13 3 3 7 2. - <_> - 10 10 3 7 2. - <_> - - <_> - 13 5 1 8 -1. - <_> - 13 9 1 4 2. - <_> - - <_> - 4 3 6 14 -1. - <_> - 4 3 3 7 2. - <_> - 7 10 3 7 2. - <_> - - <_> - 6 5 1 8 -1. - <_> - 6 9 1 4 2. - <_> - - <_> - 8 1 1 6 -1. - <_> - 8 3 1 2 3. - <_> - - <_> - 2 0 15 2 -1. - <_> - 2 1 15 1 2. - <_> - - <_> - 0 7 20 6 -1. - <_> - 0 9 20 2 3. - <_> - - <_> - 10 10 6 8 -1. - <_> - 10 14 6 4 2. - <_> - - <_> - 7 1 3 2 -1. - <_> - 8 1 1 2 3. - <_> - - <_> - 8 1 2 2 -1. - <_> - 9 1 1 2 2. - <_> - - <_> - 4 3 12 9 -1. - <_> - 4 6 12 3 3. - <_> - - <_> - 6 5 9 5 -1. - <_> - 9 5 3 5 3. - <_> - - <_> - 5 5 9 5 -1. - <_> - 8 5 3 5 3. - <_> - - <_> - 4 6 6 12 -1. - <_> - 4 10 6 4 3. - <_> - - <_> - 13 0 6 18 -1. - <_> - 13 0 3 18 2. - <_> - - <_> - 10 8 1 12 -1. - <_> - 10 12 1 4 3. - <_> - - <_> - 3 2 6 10 -1. - <_> - 3 2 3 5 2. - <_> - 6 7 3 5 2. - <_> - - <_> - 1 2 4 6 -1. - <_> - 3 2 2 6 2. - <_> - - <_> - 9 18 3 2 -1. - <_> - 10 18 1 2 3. - <_> - - <_> - 10 18 3 2 -1. - <_> - 11 18 1 2 3. - <_> - - <_> - 2 8 2 6 -1. - <_> - 2 10 2 2 3. - <_> - - <_> - 7 5 6 6 -1. - <_> - 7 7 6 2 3. - <_> - - <_> - 7 19 6 1 -1. - <_> - 9 19 2 1 3. - <_> - - <_> - 10 18 3 2 -1. - <_> - 11 18 1 2 3. - <_> - - <_> - 8 3 3 1 -1. - <_> - 9 3 1 1 3. - <_> - - <_> - 2 2 16 2 -1. - <_> - 2 2 8 1 2. - <_> - 10 3 8 1 2. - <_> - - <_> - 8 11 5 3 -1. - <_> - 8 12 5 1 3. - <_> - - <_> - 7 13 6 3 -1. - <_> - 7 14 6 1 3. - <_> - - <_> - 0 1 6 15 -1. - <_> - 2 1 2 15 3. - <_> - - <_> - 2 12 2 3 -1. - <_> - 2 13 2 1 3. - <_> - - <_> - 16 13 1 3 -1. - <_> - 16 14 1 1 3. - <_> - - <_> - 13 7 6 4 -1. - <_> - 16 7 3 2 2. - <_> - 13 9 3 2 2. - <_> - - <_> - 7 13 3 6 -1. - <_> - 7 16 3 3 2. - <_> - - <_> - 7 5 1 14 -1. - <_> - 7 12 1 7 2. - <_> - - <_> - 15 12 2 3 -1. - <_> - 15 13 2 1 3. - <_> - - <_> - 10 5 3 14 -1. - <_> - 10 12 3 7 2. - <_> - - <_> - 6 10 2 6 -1. - <_> - 6 13 2 3 2. - <_> - - <_> - 6 5 1 8 -1. - <_> - 6 9 1 4 2. - <_> - - <_> - 13 11 2 1 -1. - <_> - 13 11 1 1 2. - <_> - - <_> - 12 1 6 10 -1. - <_> - 15 1 3 5 2. - <_> - 12 6 3 5 2. - <_> - - <_> - 3 12 2 3 -1. - <_> - 3 13 2 1 3. - <_> - - <_> - 9 18 2 1 -1. - <_> - 10 18 1 1 2. - <_> - - <_> - 1 0 17 9 -1. - <_> - 1 3 17 3 3. - <_> - - <_> - 1 2 8 8 -1. - <_> - 1 2 4 4 2. - <_> - 5 6 4 4 2. - <_> - - <_> - 9 5 6 4 -1. - <_> - 9 5 3 4 2. - <_> - - <_> - 10 9 7 10 -1. - <_> - 10 14 7 5 2. - <_> - - <_> - 5 5 6 4 -1. - <_> - 8 5 3 4 2. - <_> - - <_> - 0 7 20 6 -1. - <_> - 0 9 20 2 3. - <_> - - <_> - 6 5 9 10 -1. - <_> - 6 10 9 5 2. - <_> - - <_> - 8 4 4 12 -1. - <_> - 8 10 4 6 2. - <_> - - <_> - 6 6 8 3 -1. - <_> - 6 7 8 1 3. - <_> - - <_> - 3 13 10 6 -1. - <_> - 3 13 5 3 2. - <_> - 8 16 5 3 2. - <_> - - <_> - 15 1 4 11 -1. - <_> - 15 1 2 11 2. - <_> - - <_> - 5 7 10 10 -1. - <_> - 10 7 5 5 2. - <_> - 5 12 5 5 2. - <_> - - <_> - 1 1 4 11 -1. - <_> - 3 1 2 11 2. - <_> - - <_> - 1 5 8 12 -1. - <_> - 1 11 8 6 2. - <_> - - <_> - 13 7 6 4 -1. - <_> - 16 7 3 2 2. - <_> - 13 9 3 2 2. - <_> - - <_> - 11 10 7 4 -1. - <_> - 11 12 7 2 2. - <_> - - <_> - 0 4 20 12 -1. - <_> - 0 4 10 6 2. - <_> - 10 10 10 6 2. - <_> - - <_> - 1 5 6 15 -1. - <_> - 1 10 6 5 3. - <_> - - <_> - 11 10 3 8 -1. - <_> - 11 14 3 4 2. - <_> - - <_> - 11 12 7 6 -1. - <_> - 11 14 7 2 3. - <_> - - <_> - 9 11 2 3 -1. - <_> - 9 12 2 1 3. - <_> - - <_> - 8 13 4 3 -1. - <_> - 8 14 4 1 3. - <_> - - <_> - 3 14 14 4 -1. - <_> - 10 14 7 2 2. - <_> - 3 16 7 2 2. - <_> - - <_> - 18 7 2 4 -1. - <_> - 18 9 2 2 2. - <_> - - <_> - 3 12 6 6 -1. - <_> - 3 14 6 2 3. - <_> - - <_> - 0 4 3 6 -1. - <_> - 0 6 3 2 3. - <_> - - <_> - 9 14 3 3 -1. - <_> - 9 15 3 1 3. - <_> - - <_> - 10 7 10 4 -1. - <_> - 15 7 5 2 2. - <_> - 10 9 5 2 2. - <_> - - <_> - 7 2 6 8 -1. - <_> - 7 6 6 4 2. - <_> - - <_> - 6 3 6 2 -1. - <_> - 8 3 2 2 3. - <_> - - <_> - 10 6 3 5 -1. - <_> - 11 6 1 5 3. - <_> - - <_> - 9 0 6 19 -1. - <_> - 11 0 2 19 3. - <_> - - <_> - 3 12 1 2 -1. - <_> - 3 13 1 1 2. - <_> - - <_> - 7 14 5 3 -1. - <_> - 7 15 5 1 3. - <_> - - <_> - 2 1 18 4 -1. - <_> - 11 1 9 2 2. - <_> - 2 3 9 2 2. - <_> - - <_> - 10 5 3 8 -1. - <_> - 11 5 1 8 3. - <_> - - <_> - 0 1 18 4 -1. - <_> - 0 1 9 2 2. - <_> - 9 3 9 2 2. - <_> - - <_> - 7 5 3 8 -1. - <_> - 8 5 1 8 3. - <_> - - <_> - 9 5 2 6 -1. - <_> - 9 7 2 2 3. - <_> - - <_> - 10 8 5 2 -1. - <_> - 10 9 5 1 2. - <_> - - <_> - 2 10 15 1 -1. - <_> - 7 10 5 1 3. - <_> - - <_> - 2 7 2 6 -1. - <_> - 2 9 2 2 3. - <_> - - <_> - 9 14 3 3 -1. - <_> - 9 15 3 1 3. - <_> - - <_> - 9 7 4 10 -1. - <_> - 9 12 4 5 2. - <_> - - <_> - 0 8 8 2 -1. - <_> - 0 8 4 1 2. - <_> - 4 9 4 1 2. - <_> - - <_> - 5 9 10 8 -1. - <_> - 5 9 5 4 2. - <_> - 10 13 5 4 2. - <_> - - <_> - 9 7 2 4 -1. - <_> - 9 7 1 4 2. - <_> - - <_> - 9 6 3 4 -1. - <_> - 10 6 1 4 3. - <_> - - <_> - 8 3 2 1 -1. - <_> - 9 3 1 1 2. - <_> - - <_> - 8 6 3 4 -1. - <_> - 9 6 1 4 3. - <_> - - <_> - 12 0 4 14 -1. - <_> - 14 0 2 7 2. - <_> - 12 7 2 7 2. - <_> - - <_> - 12 5 6 9 -1. - <_> - 12 5 3 9 2. - <_> - - <_> - 0 2 6 16 -1. - <_> - 3 2 3 16 2. - <_> - - <_> - 1 12 4 2 -1. - <_> - 1 13 4 1 2. - <_> - - <_> - 7 7 6 1 -1. - <_> - 9 7 2 1 3. - <_> - - <_> - 8 3 4 9 -1. - <_> - 8 6 4 3 3. - <_> - - <_> - 12 10 4 6 -1. - <_> - 12 13 4 3 2. - <_> - - <_> - 8 1 8 16 -1. - <_> - 12 1 4 8 2. - <_> - 8 9 4 8 2. - <_> - - <_> - 4 6 3 6 -1. - <_> - 4 9 3 3 2. - <_> - - <_> - 1 3 6 2 -1. - <_> - 4 3 3 2 2. - <_> - - <_> - 9 8 3 12 -1. - <_> - 9 12 3 4 3. - <_> - - <_> - 10 9 7 10 -1. - <_> - 10 14 7 5 2. - <_> - - <_> - 3 9 7 10 -1. - <_> - 3 14 7 5 2. - <_> - - <_> - 7 5 1 14 -1. - <_> - 7 12 1 7 2. - <_> - - <_> - 13 14 1 6 -1. - <_> - 13 16 1 2 3. - <_> - - <_> - 14 12 3 6 -1. - <_> - 14 14 3 2 3. - <_> - - <_> - 6 14 1 6 -1. - <_> - 6 16 1 2 3. - <_> - - <_> - 3 12 3 6 -1. - <_> - 3 14 3 2 3. - <_> - - <_> - 8 13 5 3 -1. - <_> - 8 14 5 1 3. - <_> - - <_> - 9 14 2 3 -1. - <_> - 9 15 2 1 3. - <_> - - <_> - 5 1 10 8 -1. - <_> - 5 1 5 4 2. - <_> - 10 5 5 4 2. - <_> - - <_> - 6 4 5 4 -1. - <_> - 6 6 5 2 2. - <_> - - <_> - 1 10 18 1 -1. - <_> - 7 10 6 1 3. - <_> - - <_> - 11 10 4 3 -1. - <_> - 11 10 2 3 2. - <_> - - <_> - 5 11 6 1 -1. - <_> - 7 11 2 1 3. - <_> - - <_> - 3 13 2 3 -1. - <_> - 3 14 2 1 3. - <_> - - <_> - 12 12 3 4 -1. - <_> - 12 14 3 2 2. - <_> - - <_> - 11 10 5 6 -1. - <_> - 11 12 5 2 3. - <_> - - <_> - 0 8 16 2 -1. - <_> - 0 9 16 1 2. - <_> - - <_> - 2 1 3 4 -1. - <_> - 2 3 3 2 2. - <_> - - <_> - 9 7 3 3 -1. - <_> - 10 7 1 3 3. - <_> - - <_> - 5 6 12 6 -1. - <_> - 9 6 4 6 3. - <_> - - <_> - 8 7 3 3 -1. - <_> - 9 7 1 3 3. - <_> - - <_> - 3 6 12 6 -1. - <_> - 7 6 4 6 3. - <_> - - <_> - 10 5 6 5 -1. - <_> - 12 5 2 5 3. - <_> - - <_> - 5 7 10 2 -1. - <_> - 5 7 5 2 2. - <_> - - <_> - 4 5 6 5 -1. - <_> - 6 5 2 5 3. - <_> - - <_> - 9 3 2 10 -1. - <_> - 9 8 2 5 2. - <_> - - <_> - 3 1 16 2 -1. - <_> - 11 1 8 1 2. - <_> - 3 2 8 1 2. - <_> - - <_> - 9 9 3 2 -1. - <_> - 9 10 3 1 2. - <_> - - <_> - 1 1 16 2 -1. - <_> - 1 1 8 1 2. - <_> - 9 2 8 1 2. - <_> - - <_> - 8 14 1 3 -1. - <_> - 8 15 1 1 3. - <_> - - <_> - 4 5 12 10 -1. - <_> - 10 5 6 5 2. - <_> - 4 10 6 5 2. - <_> - - <_> - 7 13 6 6 -1. - <_> - 10 13 3 3 2. - <_> - 7 16 3 3 2. - <_> - - <_> - 8 9 3 2 -1. - <_> - 8 10 3 1 2. - <_> - - <_> - 7 2 6 4 -1. - <_> - 9 2 2 4 3. - <_> - - <_> - 6 6 9 3 -1. - <_> - 6 7 9 1 3. - <_> - - <_> - 10 7 6 1 -1. - <_> - 12 7 2 1 3. - <_> - - <_> - 0 0 18 6 -1. - <_> - 6 0 6 6 3. - <_> - - <_> - 6 10 2 6 -1. - <_> - 6 13 2 3 2. - <_> - - <_> - 11 12 3 6 -1. - <_> - 11 15 3 3 2. - <_> - - <_> - 4 4 12 12 -1. - <_> - 10 4 6 6 2. - <_> - 4 10 6 6 2. - <_> - - <_> - 1 2 3 6 -1. - <_> - 2 2 1 6 3. - <_> - - <_> - 1 5 3 7 -1. - <_> - 2 5 1 7 3. - <_> - - <_> - 4 13 12 4 -1. - <_> - 10 13 6 2 2. - <_> - 4 15 6 2 2. - <_> - - <_> - 3 3 17 12 -1. - <_> - 3 9 17 6 2. - <_> - - <_> - 3 3 14 12 -1. - <_> - 3 3 7 6 2. - <_> - 10 9 7 6 2. - <_> - - <_> - 2 11 16 9 -1. - <_> - 2 14 16 3 3. - <_> - - <_> - 9 14 3 6 -1. - <_> - 9 17 3 3 2. - <_> - - <_> - 8 14 4 6 -1. - <_> - 10 14 2 3 2. - <_> - 8 17 2 3 2. - <_> - - <_> - 6 2 6 1 -1. - <_> - 8 2 2 1 3. - <_> - - <_> - 9 5 2 5 -1. - <_> - 10 5 1 5 2. - <_> - - <_> - 9 8 3 5 -1. - <_> - 10 8 1 5 3. - <_> - - <_> - 9 12 6 1 -1. - <_> - 9 12 3 1 2. - <_> - - <_> - 8 8 3 5 -1. - <_> - 9 8 1 5 3. - <_> - - <_> - 6 10 4 3 -1. - <_> - 8 10 2 3 2. - <_> - - <_> - 0 4 20 6 -1. - <_> - 0 6 20 2 3. - <_> - - <_> - 1 3 8 6 -1. - <_> - 1 3 4 3 2. - <_> - 5 6 4 3 2. - <_> - - <_> - 7 15 6 4 -1. - <_> - 7 17 6 2 2. - <_> - - <_> - 3 10 14 10 -1. - <_> - 3 15 14 5 2. - <_> - - <_> - 6 4 4 4 -1. - <_> - 8 4 2 4 2. - <_> - - <_> - 0 4 20 10 -1. - <_> - 0 9 20 5 2. - <_> - - <_> - 9 4 2 14 -1. - <_> - 9 11 2 7 2. - <_> - - <_> - 2 0 16 4 -1. - <_> - 2 2 16 2 2. - <_> - - <_> - 4 12 6 8 -1. - <_> - 4 12 3 4 2. - <_> - 7 16 3 4 2. - <_> - - <_> - 0 5 6 7 -1. - <_> - 3 5 3 7 2. - <_> - - <_> - 10 7 10 4 -1. - <_> - 15 7 5 2 2. - <_> - 10 9 5 2 2. - <_> - - <_> - 5 8 12 1 -1. - <_> - 9 8 4 1 3. - <_> - - <_> - 9 9 2 2 -1. - <_> - 9 10 2 1 2. - <_> - - <_> - 9 4 2 4 -1. - <_> - 9 6 2 2 2. - <_> - - <_> - 9 6 3 6 -1. - <_> - 10 6 1 6 3. - <_> - - <_> - 12 7 6 4 -1. - <_> - 15 7 3 2 2. - <_> - 12 9 3 2 2. - <_> - - <_> - 8 6 3 6 -1. - <_> - 9 6 1 6 3. - <_> - - <_> - 1 6 18 6 -1. - <_> - 1 6 9 3 2. - <_> - 10 9 9 3 2. - <_> - - <_> - 9 1 3 3 -1. - <_> - 10 1 1 3 3. - <_> - - <_> - 10 8 5 2 -1. - <_> - 10 9 5 1 2. - <_> - - <_> - 8 1 3 3 -1. - <_> - 9 1 1 3 3. - <_> - - <_> - 5 8 5 2 -1. - <_> - 5 9 5 1 2. - <_> - - <_> - 8 6 8 8 -1. - <_> - 12 6 4 4 2. - <_> - 8 10 4 4 2. - <_> - - <_> - 5 7 10 2 -1. - <_> - 5 7 5 2 2. - <_> - - <_> - 4 5 12 10 -1. - <_> - 4 5 6 5 2. - <_> - 10 10 6 5 2. - <_> - - <_> - 5 5 2 3 -1. - <_> - 5 6 2 1 3. - <_> - - <_> - 7 14 6 3 -1. - <_> - 7 15 6 1 3. - <_> - - <_> - 9 14 3 3 -1. - <_> - 9 15 3 1 3. - <_> - - <_> - 8 14 3 3 -1. - <_> - 8 15 3 1 3. - <_> - - <_> - 1 10 8 9 -1. - <_> - 1 13 8 3 3. - <_> - - <_> - 9 7 2 3 -1. - <_> - 9 8 2 1 3. - <_> - - <_> - 12 3 3 3 -1. - <_> - 13 3 1 3 3. - <_> - - <_> - 5 3 3 3 -1. - <_> - 6 3 1 3 3. - <_> - - <_> - 5 6 2 12 -1. - <_> - 5 10 2 4 3. - <_> - - <_> - 1 11 18 4 -1. - <_> - 10 11 9 2 2. - <_> - 1 13 9 2 2. - <_> - - <_> - 7 12 6 2 -1. - <_> - 7 13 6 1 2. - <_> - - <_> - 6 0 3 6 -1. - <_> - 7 0 1 6 3. - <_> - - <_> - 0 11 18 4 -1. - <_> - 0 11 9 2 2. - <_> - 9 13 9 2 2. - <_> - - <_> - 7 12 6 2 -1. - <_> - 7 13 6 1 2. - <_> - - <_> - 9 12 3 3 -1. - <_> - 9 13 3 1 3. - <_> - - <_> - 9 12 2 3 -1. - <_> - 9 13 2 1 3. - <_> - - <_> - 8 11 4 3 -1. - <_> - 8 12 4 1 3. - <_> - - <_> - 13 3 4 2 -1. - <_> - 13 4 4 1 2. - <_> - - <_> - 4 0 12 2 -1. - <_> - 4 1 12 1 2. - <_> - - <_> - 6 9 8 8 -1. - <_> - 6 9 4 4 2. - <_> - 10 13 4 4 2. - <_> - - <_> - 1 11 6 2 -1. - <_> - 1 12 6 1 2. - <_> - - <_> - 2 5 18 8 -1. - <_> - 11 5 9 4 2. - <_> - 2 9 9 4 2. - <_> - - <_> - 7 1 6 10 -1. - <_> - 7 6 6 5 2. - <_> - - <_> - 0 3 3 6 -1. - <_> - 0 5 3 2 3. - <_> - - <_> - 4 5 4 3 -1. - <_> - 4 6 4 1 3. - <_> - - <_> - 19 3 1 6 -1. - <_> - 19 5 1 2 3. - <_> - - <_> - 6 15 8 2 -1. - <_> - 6 16 8 1 2. - <_> - - <_> - 0 3 1 6 -1. - <_> - 0 5 1 2 3. - <_> - - <_> - 5 5 3 3 -1. - <_> - 5 6 3 1 3. - <_> - - <_> - 8 8 4 3 -1. - <_> - 8 9 4 1 3. - <_> - - <_> - 10 6 6 3 -1. - <_> - 12 6 2 3 3. - <_> - - <_> - 8 13 2 6 -1. - <_> - 8 16 2 3 2. - <_> - - <_> - 9 11 2 8 -1. - <_> - 9 15 2 4 2. - <_> - - <_> - 10 6 6 3 -1. - <_> - 12 6 2 3 3. - <_> - - <_> - 5 15 15 5 -1. - <_> - 10 15 5 5 3. - <_> - - <_> - 2 14 2 2 -1. - <_> - 2 15 2 1 2. - <_> - - <_> - 4 7 6 2 -1. - <_> - 6 7 2 2 3. - <_> - - <_> - 8 3 6 1 -1. - <_> - 10 3 2 1 3. - <_> - - <_> - 1 0 18 12 -1. - <_> - 7 0 6 12 3. - <_> - - <_> - 0 14 8 6 -1. - <_> - 4 14 4 6 2. - <_> - - <_> - 0 15 15 5 -1. - <_> - 5 15 5 5 3. - <_> - - <_> - 8 3 6 1 -1. - <_> - 10 3 2 1 3. - <_> - - <_> - 11 11 3 6 -1. - <_> - 11 14 3 3 2. - <_> - - <_> - 6 3 6 1 -1. - <_> - 8 3 2 1 3. - <_> - - <_> - 6 11 3 6 -1. - <_> - 6 14 3 3 2. - <_> - - <_> - 9 6 3 4 -1. - <_> - 10 6 1 4 3. - <_> - - <_> - 12 10 4 7 -1. - <_> - 12 10 2 7 2. - <_> - - <_> - 8 6 3 4 -1. - <_> - 9 6 1 4 3. - <_> - - <_> - 4 6 4 7 -1. - <_> - 6 6 2 7 2. - <_> - - <_> - 10 3 4 12 -1. - <_> - 10 3 2 12 2. - <_> - - <_> - 10 8 3 4 -1. - <_> - 11 8 1 4 3. - <_> - - <_> - 1 0 18 14 -1. - <_> - 7 0 6 14 3. - <_> - - <_> - 2 8 6 11 -1. - <_> - 5 8 3 11 2. - <_> - - <_> - 1 4 15 4 -1. - <_> - 1 6 15 2 2. - <_> - - <_> - 5 5 10 8 -1. - <_> - 5 9 10 4 2. - <_> - - <_> - 14 2 6 8 -1. - <_> - 14 2 3 8 2. - <_> - - <_> - 11 6 6 14 -1. - <_> - 14 6 3 7 2. - <_> - 11 13 3 7 2. - <_> - - <_> - 9 5 2 12 -1. - <_> - 9 11 2 6 2. - <_> - - <_> - 3 7 4 6 -1. - <_> - 3 9 4 2 3. - <_> - - <_> - 14 3 6 6 -1. - <_> - 14 3 3 6 2. - <_> - - <_> - 15 2 4 4 -1. - <_> - 15 4 4 2 2. - <_> - - <_> - 0 2 6 7 -1. - <_> - 3 2 3 7 2. - <_> - - <_> - 3 6 6 14 -1. - <_> - 3 6 3 7 2. - <_> - 6 13 3 7 2. - <_> - - <_> - 4 6 16 8 -1. - <_> - 4 10 16 4 2. - <_> - - <_> - 10 12 2 8 -1. - <_> - 10 16 2 4 2. - <_> - - <_> - 7 0 6 20 -1. - <_> - 9 0 2 20 3. - <_> - - <_> - 1 7 16 12 -1. - <_> - 1 7 8 6 2. - <_> - 9 13 8 6 2. - <_> - - <_> - 9 11 3 3 -1. - <_> - 9 12 3 1 3. - <_> - - <_> - 11 9 4 5 -1. - <_> - 11 9 2 5 2. - <_> - - <_> - 3 3 1 2 -1. - <_> - 3 4 1 1 2. - <_> - - <_> - 7 17 5 3 -1. - <_> - 7 18 5 1 3. - <_> - - <_> - 8 12 4 8 -1. - <_> - 10 12 2 4 2. - <_> - 8 16 2 4 2. - <_> - - <_> - 7 4 10 12 -1. - <_> - 12 4 5 6 2. - <_> - 7 10 5 6 2. - <_> - - <_> - 8 14 4 3 -1. - <_> - 8 15 4 1 3. - <_> - - <_> - 5 9 4 5 -1. - <_> - 7 9 2 5 2. - <_> - - <_> - 9 9 8 2 -1. - <_> - 9 9 4 2 2. - <_> - - <_> - 14 15 5 2 -1. - <_> - 14 16 5 1 2. - <_> - - <_> - 9 14 2 3 -1. - <_> - 9 15 2 1 3. - <_> - - <_> - 1 7 8 4 -1. - <_> - 1 7 4 2 2. - <_> - 5 9 4 2 2. - <_> - - <_> - 19 3 1 2 -1. - <_> - 19 4 1 1 2. - <_> - - <_> - 9 12 2 3 -1. - <_> - 9 13 2 1 3. - <_> - - <_> - 3 14 14 4 -1. - <_> - 3 14 7 2 2. - <_> - 10 16 7 2 2. - <_> - - <_> - 5 0 10 2 -1. - <_> - 5 1 10 1 2. - <_> - - <_> - 11 14 4 6 -1. - <_> - 11 16 4 2 3. - <_> - - <_> - 7 14 6 3 -1. - <_> - 7 15 6 1 3. - <_> - - <_> - 7 13 6 6 -1. - <_> - 7 13 3 3 2. - <_> - 10 16 3 3 2. - <_> - - <_> - 0 2 1 6 -1. - <_> - 0 4 1 2 3. - <_> - - <_> - 6 7 8 2 -1. - <_> - 6 8 8 1 2. - <_> - - <_> - 9 7 6 1 -1. - <_> - 9 7 3 1 2. - <_> - - <_> - 7 1 6 10 -1. - <_> - 7 6 6 5 2. - <_> - - <_> - 0 2 6 2 -1. - <_> - 0 3 6 1 2. - <_> - - <_> - 11 4 2 4 -1. - <_> - 11 4 1 4 2. - <_> - - <_> - 11 10 3 6 -1. - <_> - 11 13 3 3 2. - <_> - - <_> - 3 9 8 2 -1. - <_> - 7 9 4 2 2. - <_> - - <_> - 0 0 4 6 -1. - <_> - 2 0 2 6 2. - <_> - - <_> - 7 0 6 2 -1. - <_> - 9 0 2 2 3. - <_> - - <_> - 9 15 2 3 -1. - <_> - 9 16 2 1 3. - <_> - - <_> - 3 12 1 2 -1. - <_> - 3 13 1 1 2. - <_> - - <_> - 4 5 11 3 -1. - <_> - 4 6 11 1 3. - <_> - - <_> - 11 4 2 4 -1. - <_> - 11 4 1 4 2. - <_> - - <_> - 8 3 6 3 -1. - <_> - 10 3 2 3 3. - <_> - - <_> - 7 4 2 4 -1. - <_> - 8 4 1 4 2. - <_> - - <_> - 6 3 6 3 -1. - <_> - 8 3 2 3 3. - <_> - - <_> - 11 4 4 3 -1. - <_> - 11 5 4 1 3. - <_> - - <_> - 11 8 2 8 -1. - <_> - 11 12 2 4 2. - <_> - - <_> - 8 7 3 5 -1. - <_> - 9 7 1 5 3. - <_> - - <_> - 9 7 2 5 -1. - <_> - 10 7 1 5 2. - <_> - - <_> - 14 11 1 6 -1. - <_> - 14 13 1 2 3. - <_> - - <_> - 8 8 4 3 -1. - <_> - 8 9 4 1 3. - <_> - - <_> - 0 3 2 2 -1. - <_> - 0 4 2 1 2. - <_> - - <_> - 4 14 5 6 -1. - <_> - 4 16 5 2 3. - <_> - - <_> - 11 4 4 3 -1. - <_> - 11 5 4 1 3. - <_> - - <_> - 12 4 3 3 -1. - <_> - 12 5 3 1 3. - <_> - - <_> - 5 4 4 3 -1. - <_> - 5 5 4 1 3. - <_> - - <_> - 5 15 4 2 -1. - <_> - 7 15 2 2 2. - <_> - - <_> - 15 1 5 9 -1. - <_> - 15 4 5 3 3. - <_> - - <_> - 9 10 3 3 -1. - <_> - 9 11 3 1 3. - <_> - - <_> - 1 6 2 6 -1. - <_> - 1 8 2 2 3. - <_> - - <_> - 2 4 8 15 -1. - <_> - 2 9 8 5 3. - <_> - - <_> - 9 12 3 2 -1. - <_> - 9 13 3 1 2. - <_> - - <_> - 9 12 3 3 -1. - <_> - 9 13 3 1 3. - <_> - - <_> - 7 6 3 5 -1. - <_> - 8 6 1 5 3. - <_> - - <_> - 5 3 6 2 -1. - <_> - 7 3 2 2 3. - <_> - - <_> - 6 1 8 10 -1. - <_> - 10 1 4 5 2. - <_> - 6 6 4 5 2. - <_> - - <_> - 0 0 20 10 -1. - <_> - 10 0 10 5 2. - <_> - 0 5 10 5 2. - <_> - - <_> - 6 3 3 1 -1. - <_> - 7 3 1 1 3. - <_> - - <_> - 0 2 6 8 -1. - <_> - 2 2 2 8 3. - <_> - - <_> - 11 10 3 4 -1. - <_> - 11 12 3 2 2. - <_> - - <_> - 12 6 3 8 -1. - <_> - 12 10 3 4 2. - <_> - - <_> - 6 10 3 4 -1. - <_> - 6 12 3 2 2. - <_> - - <_> - 5 6 3 8 -1. - <_> - 5 10 3 4 2. - <_> - - <_> - 2 6 18 6 -1. - <_> - 11 6 9 3 2. - <_> - 2 9 9 3 2. - <_> - - <_> - 7 14 7 3 -1. - <_> - 7 15 7 1 3. - <_> - - <_> - 0 0 2 12 -1. - <_> - 1 0 1 12 2. - <_> - - <_> - 1 2 18 16 -1. - <_> - 1 10 18 8 2. - <_> - - <_> - 9 13 5 3 -1. - <_> - 9 14 5 1 3. - <_> - - <_> - 8 13 4 3 -1. - <_> - 8 14 4 1 3. - <_> - - <_> - 0 6 18 6 -1. - <_> - 0 6 9 3 2. - <_> - 9 9 9 3 2. - <_> - - <_> - 7 13 6 3 -1. - <_> - 7 14 6 1 3. - <_> - - <_> - 17 4 1 3 -1. - <_> - 17 5 1 1 3. - <_> - - <_> - 12 11 1 9 -1. - <_> - 12 14 1 3 3. - <_> - - <_> - 2 4 1 3 -1. - <_> - 2 5 1 1 3. - <_> - - <_> - 5 4 2 3 -1. - <_> - 5 5 2 1 3. - <_> - - <_> - 1 2 18 3 -1. - <_> - 7 2 6 3 3. - <_> - - <_> - 0 1 20 6 -1. - <_> - 0 3 20 2 3. - <_> - - <_> - 7 5 6 3 -1. - <_> - 9 5 2 3 3. - <_> - - <_> - 13 7 6 4 -1. - <_> - 16 7 3 2 2. - <_> - 13 9 3 2 2. - <_> - - <_> - 3 1 4 10 -1. - <_> - 3 1 2 5 2. - <_> - 5 6 2 5 2. - <_> - - <_> - 0 4 19 10 -1. - <_> - 0 9 19 5 2. - <_> - - <_> - 9 8 3 12 -1. - <_> - 9 12 3 4 3. - <_> - - <_> - 11 18 5 2 -1. - <_> - 11 19 5 1 2. - <_> - - <_> - 5 16 6 4 -1. - <_> - 5 16 3 2 2. - <_> - 8 18 3 2 2. - <_> - - <_> - 5 18 3 2 -1. - <_> - 5 19 3 1 2. - <_> - - <_> - 13 11 3 2 -1. - <_> - 13 12 3 1 2. - <_> - - <_> - 8 5 8 4 -1. - <_> - 8 5 4 4 2. - <_> - - <_> - 1 2 18 6 -1. - <_> - 1 2 9 3 2. - <_> - 10 5 9 3 2. - <_> - - <_> - 3 5 14 6 -1. - <_> - 3 7 14 2 3. - <_> - - <_> - 18 1 2 6 -1. - <_> - 18 3 2 2 3. - <_> - - <_> - 9 11 6 1 -1. - <_> - 11 11 2 1 3. - <_> - - <_> - 0 2 6 11 -1. - <_> - 3 2 3 11 2. - <_> - - <_> - 4 12 2 3 -1. - <_> - 4 13 2 1 3. - <_> - - <_> - 6 12 9 2 -1. - <_> - 9 12 3 2 3. - <_> - - <_> - 9 4 6 15 -1. - <_> - 9 4 3 15 2. - <_> - - <_> - 5 11 6 1 -1. - <_> - 7 11 2 1 3. - <_> - - <_> - 5 4 6 15 -1. - <_> - 8 4 3 15 2. - <_> - - <_> - 14 12 6 7 -1. - <_> - 14 12 3 7 2. - <_> - - <_> - 18 3 2 9 -1. - <_> - 18 6 2 3 3. - <_> - - <_> - 8 1 3 1 -1. - <_> - 9 1 1 1 3. - <_> - - <_> - 0 12 6 7 -1. - <_> - 3 12 3 7 2. - <_> - - <_> - 13 7 6 4 -1. - <_> - 16 7 3 2 2. - <_> - 13 9 3 2 2. - <_> - - <_> - 8 0 10 2 -1. - <_> - 8 1 10 1 2. - <_> - - <_> - 1 7 6 4 -1. - <_> - 1 7 3 2 2. - <_> - 4 9 3 2 2. - <_> - - <_> - 1 2 3 3 -1. - <_> - 1 3 3 1 3. - <_> - - <_> - 9 13 4 3 -1. - <_> - 9 14 4 1 3. - <_> - - <_> - 12 13 7 2 -1. - <_> - 12 14 7 1 2. - <_> - - <_> - 5 12 9 2 -1. - <_> - 8 12 3 2 3. - <_> - - <_> - 6 10 4 8 -1. - <_> - 6 14 4 4 2. - <_> - - <_> - 1 0 18 4 -1. - <_> - 7 0 6 4 3. - <_> - - <_> - 12 0 5 2 -1. - <_> - 12 1 5 1 2. - <_> - - <_> - 7 7 1 12 -1. - <_> - 7 13 1 6 2. - <_> - - <_> - 6 2 3 4 -1. - <_> - 7 2 1 4 3. - <_> - - <_> - 0 13 20 6 -1. - <_> - 0 15 20 2 3. - <_> - - <_> - 8 5 12 2 -1. - <_> - 14 5 6 1 2. - <_> - 8 6 6 1 2. - <_> - - <_> - 8 14 2 3 -1. - <_> - 8 15 2 1 3. - <_> - - <_> - 8 14 4 3 -1. - <_> - 8 15 4 1 3. - <_> - - <_> - 12 13 7 6 -1. - <_> - 12 15 7 2 3. - <_> - - <_> - 6 0 8 12 -1. - <_> - 10 0 4 6 2. - <_> - 6 6 4 6 2. - <_> - - <_> - 0 15 9 4 -1. - <_> - 0 17 9 2 2. - <_> - - <_> - 9 0 2 5 -1. - <_> - 10 0 1 5 2. - <_> - - <_> - 9 5 2 6 -1. - <_> - 9 5 1 6 2. - <_> - - <_> - 17 2 3 6 -1. - <_> - 17 4 3 2 3. - <_> - - <_> - 3 11 2 3 -1. - <_> - 3 12 2 1 3. - <_> - - <_> - 7 13 3 3 -1. - <_> - 7 14 3 1 3. - <_> - - <_> - 14 12 5 3 -1. - <_> - 14 13 5 1 3. - <_> - - <_> - 4 8 14 3 -1. - <_> - 4 9 14 1 3. - <_> - - <_> - 1 12 5 3 -1. - <_> - 1 13 5 1 3. - <_> - - <_> - 1 15 12 2 -1. - <_> - 1 15 6 1 2. - <_> - 7 16 6 1 2. - <_> - - <_> - 12 11 4 2 -1. - <_> - 12 12 4 1 2. - <_> - - <_> - 9 8 3 5 -1. - <_> - 10 8 1 5 3. - <_> - - <_> - 9 5 2 6 -1. - <_> - 10 5 1 6 2. - <_> - - <_> - 0 2 3 6 -1. - <_> - 0 4 3 2 3. - <_> - - <_> - 12 11 4 2 -1. - <_> - 12 12 4 1 2. - <_> - - <_> - 9 7 3 5 -1. - <_> - 10 7 1 5 3. - <_> - - <_> - 4 11 4 2 -1. - <_> - 4 12 4 1 2. - <_> - - <_> - 8 8 3 5 -1. - <_> - 9 8 1 5 3. - <_> - - <_> - 9 3 3 1 -1. - <_> - 10 3 1 1 3. - <_> - - <_> - 16 5 3 8 -1. - <_> - 17 5 1 8 3. - <_> - - <_> - 8 3 3 1 -1. - <_> - 9 3 1 1 3. - <_> - - <_> - 1 5 3 8 -1. - <_> - 2 5 1 8 3. - <_> - - <_> - 10 1 3 3 -1. - <_> - 11 1 1 3 3. - <_> - - <_> - 17 5 2 4 -1. - <_> - 17 5 1 4 2. - <_> - - <_> - 2 8 14 3 -1. - <_> - 2 9 14 1 3. - <_> - - <_> - 9 7 1 3 -1. - <_> - 9 8 1 1 3. - <_> - - <_> - 6 1 8 10 -1. - <_> - 6 6 8 5 2. - <_> - - <_> - 13 0 6 8 -1. - <_> - 16 0 3 4 2. - <_> - 13 4 3 4 2. - <_> - - <_> - 1 5 2 4 -1. - <_> - 2 5 1 4 2. - <_> - - <_> - 4 2 12 2 -1. - <_> - 4 3 12 1 2. - <_> - - <_> - 8 8 4 4 -1. - <_> - 8 10 4 2 2. - <_> - - <_> - 5 6 12 4 -1. - <_> - 9 6 4 4 3. - <_> - - <_> - 1 2 8 1 -1. - <_> - 5 2 4 1 2. - <_> - - <_> - 1 1 6 10 -1. - <_> - 3 1 2 10 3. - <_> - - <_> - 8 6 8 2 -1. - <_> - 8 6 4 2 2. - <_> - - <_> - 10 7 6 6 -1. - <_> - 12 7 2 6 3. - <_> - - <_> - 4 6 8 2 -1. - <_> - 8 6 4 2 2. - <_> - - <_> - 4 7 6 6 -1. - <_> - 6 7 2 6 3. - <_> - - <_> - 3 14 16 4 -1. - <_> - 3 16 16 2 2. - <_> - - <_> - 8 12 4 2 -1. - <_> - 8 13 4 1 2. - <_> - - <_> - 8 12 3 3 -1. - <_> - 8 13 3 1 3. - <_> - - <_> - 5 12 6 1 -1. - <_> - 8 12 3 1 2. - <_> - - <_> - 18 10 2 3 -1. - <_> - 18 11 2 1 3. - <_> - - <_> - 16 8 4 6 -1. - <_> - 16 10 4 2 3. - <_> - - <_> - 8 3 2 1 -1. - <_> - 9 3 1 1 2. - <_> - - <_> - 7 1 3 9 -1. - <_> - 8 1 1 9 3. - <_> - - <_> - 5 11 11 6 -1. - <_> - 5 14 11 3 2. - <_> - - <_> - 12 2 3 14 -1. - <_> - 12 9 3 7 2. - <_> - - <_> - 8 7 3 3 -1. - <_> - 9 7 1 3 3. - <_> - - <_> - 3 5 12 5 -1. - <_> - 7 5 4 5 3. - <_> - - <_> - 1 2 6 3 -1. - <_> - 4 2 3 3 2. - <_> - - <_> - 5 5 6 10 -1. - <_> - 5 5 3 5 2. - <_> - 8 10 3 5 2. - <_> - - <_> - 16 18 2 2 -1. - <_> - 16 18 1 2 2. - <_> - - <_> - 16 18 2 2 -1. - <_> - 16 18 1 2 2. - <_> - - <_> - 8 4 2 5 -1. - <_> - 9 4 1 5 2. - <_> - - <_> - 8 4 1 4 -1. - <_> - 8 6 1 2 2. - <_> - - <_> - 7 15 12 4 -1. - <_> - 13 15 6 2 2. - <_> - 7 17 6 2 2. - <_> - - <_> - 11 18 6 2 -1. - <_> - 11 19 6 1 2. - <_> - - <_> - 7 7 4 10 -1. - <_> - 7 12 4 5 2. - <_> - - <_> - 5 6 10 8 -1. - <_> - 5 10 10 4 2. - <_> - - <_> - 11 1 6 12 -1. - <_> - 14 1 3 6 2. - <_> - 11 7 3 6 2. - <_> - - <_> - 5 8 12 1 -1. - <_> - 9 8 4 1 3. - <_> - - <_> - 4 7 3 6 -1. - <_> - 4 9 3 2 3. - <_> - - <_> - 4 11 3 4 -1. - <_> - 4 13 3 2 2. - <_> - - <_> - 14 16 2 2 -1. - <_> - 14 17 2 1 2. - <_> - - <_> - 15 15 2 2 -1. - <_> - 15 16 2 1 2. - <_> - - <_> - 7 12 6 2 -1. - <_> - 7 13 6 1 2. - <_> - - <_> - 8 13 4 2 -1. - <_> - 8 14 4 1 2. - <_> - - <_> - 11 1 6 12 -1. - <_> - 14 1 3 6 2. - <_> - 11 7 3 6 2. - <_> - - <_> - 12 2 4 2 -1. - <_> - 12 3 4 1 2. - <_> - - <_> - 3 10 12 6 -1. - <_> - 3 10 6 3 2. - <_> - 9 13 6 3 2. - <_> - - <_> - 3 1 6 12 -1. - <_> - 3 1 3 6 2. - <_> - 6 7 3 6 2. - <_> - - <_> - 16 6 4 14 -1. - <_> - 18 6 2 7 2. - <_> - 16 13 2 7 2. - <_> - - <_> - 5 1 10 8 -1. - <_> - 10 1 5 4 2. - <_> - 5 5 5 4 2. - <_> - - <_> - 0 6 4 14 -1. - <_> - 0 6 2 7 2. - <_> - 2 13 2 7 2. - <_> - - <_> - 1 15 12 4 -1. - <_> - 1 15 6 2 2. - <_> - 7 17 6 2 2. - <_> - - <_> - 10 17 3 3 -1. - <_> - 11 17 1 3 3. - <_> - - <_> - 11 2 2 6 -1. - <_> - 12 2 1 3 2. - <_> - 11 5 1 3 2. - <_> - - <_> - 7 17 3 3 -1. - <_> - 8 17 1 3 3. - <_> - - <_> - 8 15 4 3 -1. - <_> - 8 16 4 1 3. - <_> - - <_> - 10 15 4 2 -1. - <_> - 12 15 2 1 2. - <_> - 10 16 2 1 2. - <_> - - <_> - 13 13 4 3 -1. - <_> - 13 14 4 1 3. - <_> - - <_> - 3 13 4 3 -1. - <_> - 3 14 4 1 3. - <_> - - <_> - 7 2 2 6 -1. - <_> - 7 2 1 3 2. - <_> - 8 5 1 3 2. - <_> - - <_> - 2 1 16 3 -1. - <_> - 2 2 16 1 3. - <_> - - <_> - 10 15 4 2 -1. - <_> - 12 15 2 1 2. - <_> - 10 16 2 1 2. - <_> - - <_> - 6 15 4 2 -1. - <_> - 6 15 2 1 2. - <_> - 8 16 2 1 2. - <_> - - <_> - 3 0 13 3 -1. - <_> - 3 1 13 1 3. - <_> - - <_> - 0 9 20 3 -1. - <_> - 0 10 20 1 3. - <_> - - <_> - 6 7 9 2 -1. - <_> - 6 8 9 1 2. - <_> - - <_> - 8 14 3 6 -1. - <_> - 9 14 1 6 3. - <_> - - <_> - 9 10 2 2 -1. - <_> - 9 11 2 1 2. - <_> - - <_> - 9 7 2 5 -1. - <_> - 9 7 1 5 2. - <_> - - <_> - 5 6 10 3 -1. - <_> - 5 6 5 3 2. - <_> - - <_> - 9 7 2 5 -1. - <_> - 10 7 1 5 2. - <_> - - <_> - 5 6 10 3 -1. - <_> - 10 6 5 3 2. - <_> - - <_> - 13 9 2 2 -1. - <_> - 13 9 1 2 2. - <_> - - <_> - 4 3 12 11 -1. - <_> - 8 3 4 11 3. - <_> - - <_> - 7 1 2 7 -1. - <_> - 8 1 1 7 2. - <_> - - <_> - 7 4 3 8 -1. - <_> - 8 4 1 8 3. - <_> - - <_> - 13 9 2 2 -1. - <_> - 13 9 1 2 2. - <_> - - <_> - 11 6 2 2 -1. - <_> - 12 6 1 1 2. - <_> - 11 7 1 1 2. - <_> - - <_> - 5 4 2 3 -1. - <_> - 5 5 2 1 3. - <_> - - <_> - 6 5 1 3 -1. - <_> - 6 6 1 1 3. - <_> - - <_> - 13 9 2 2 -1. - <_> - 13 9 1 2 2. - <_> - - <_> - 16 14 3 3 -1. - <_> - 16 15 3 1 3. - <_> - - <_> - 5 9 2 2 -1. - <_> - 6 9 1 2 2. - <_> - - <_> - 1 14 3 3 -1. - <_> - 1 15 3 1 3. - <_> - - <_> - 13 1 1 6 -1. - <_> - 13 3 1 2 3. - <_> - - <_> - 13 3 7 2 -1. - <_> - 13 4 7 1 2. - <_> - - <_> - 0 6 20 14 -1. - <_> - 0 13 20 7 2. - <_> - - <_> - 0 4 3 6 -1. - <_> - 0 6 3 2 3. - <_> - - <_> - 10 1 9 6 -1. - <_> - 10 3 9 2 3. - <_> - - <_> - 8 0 12 5 -1. - <_> - 8 0 6 5 2. - <_> - - <_> - 0 0 18 5 -1. - <_> - 6 0 6 5 3. - <_> - - <_> - 1 1 9 6 -1. - <_> - 1 3 9 2 3. - <_> - - <_> - 15 15 2 2 -1. - <_> - 15 16 2 1 2. - <_> - - <_> - 13 16 3 4 -1. - <_> - 13 18 3 2 2. - <_> - - <_> - 3 15 2 2 -1. - <_> - 3 16 2 1 2. - <_> - - <_> - 4 16 3 4 -1. - <_> - 4 18 3 2 2. - <_> - - <_> - 11 14 1 3 -1. - <_> - 11 15 1 1 3. - <_> - - <_> - 9 13 5 3 -1. - <_> - 9 14 5 1 3. - <_> - - <_> - 0 0 3 6 -1. - <_> - 0 2 3 2 3. - <_> - - <_> - 4 1 6 3 -1. - <_> - 6 1 2 3 3. - <_> - - <_> - 9 13 4 3 -1. - <_> - 9 14 4 1 3. - <_> - - <_> - 8 15 5 3 -1. - <_> - 8 16 5 1 3. - <_> - - <_> - 8 3 3 2 -1. - <_> - 9 3 1 2 3. - <_> - - <_> - 1 8 18 2 -1. - <_> - 1 9 18 1 2. - <_> - - <_> - 11 14 1 3 -1. - <_> - 11 15 1 1 3. - <_> - - <_> - 8 13 6 3 -1. - <_> - 8 14 6 1 3. - <_> - - <_> - 8 14 1 3 -1. - <_> - 8 15 1 1 3. - <_> - - <_> - 4 13 12 4 -1. - <_> - 4 13 6 2 2. - <_> - 10 15 6 2 2. - <_> - - <_> - 10 7 2 2 -1. - <_> - 10 7 1 2 2. - <_> - - <_> - 13 4 2 8 -1. - <_> - 14 4 1 4 2. - <_> - 13 8 1 4 2. - <_> - - <_> - 0 5 4 6 -1. - <_> - 0 7 4 2 3. - <_> - - <_> - 8 7 2 2 -1. - <_> - 9 7 1 2 2. - <_> - - <_> - 13 0 3 7 -1. - <_> - 14 0 1 7 3. - <_> - - <_> - 11 2 2 14 -1. - <_> - 11 2 1 14 2. - <_> - - <_> - 4 0 3 7 -1. - <_> - 5 0 1 7 3. - <_> - - <_> - 5 5 8 12 -1. - <_> - 5 5 4 6 2. - <_> - 9 11 4 6 2. - <_> - - <_> - 11 4 6 3 -1. - <_> - 11 5 6 1 3. - <_> - - <_> - 12 3 4 3 -1. - <_> - 12 4 4 1 3. - <_> - - <_> - 5 5 10 12 -1. - <_> - 5 5 5 6 2. - <_> - 10 11 5 6 2. - <_> - - <_> - 3 6 12 3 -1. - <_> - 9 6 6 3 2. - <_> - - <_> - 9 6 2 7 -1. - <_> - 9 6 1 7 2. - <_> - - <_> - 9 5 2 4 -1. - <_> - 9 5 1 4 2. - <_> - - <_> - 8 7 3 3 -1. - <_> - 9 7 1 3 3. - <_> - - <_> - 5 1 6 4 -1. - <_> - 7 1 2 4 3. - <_> - - <_> - 13 16 7 3 -1. - <_> - 13 17 7 1 3. - <_> - - <_> - 12 4 3 3 -1. - <_> - 12 5 3 1 3. - <_> - - <_> - 0 16 7 3 -1. - <_> - 0 17 7 1 3. - <_> - - <_> - 5 4 3 3 -1. - <_> - 5 5 3 1 3. - <_> - - <_> - 12 9 8 10 -1. - <_> - 12 9 4 10 2. - <_> - - <_> - 8 10 12 5 -1. - <_> - 12 10 4 5 3. - <_> - - <_> - 0 9 8 10 -1. - <_> - 4 9 4 10 2. - <_> - - <_> - 0 10 12 5 -1. - <_> - 4 10 4 5 3. - <_> - - <_> - 2 3 6 2 -1. - <_> - 5 3 3 2 2. - <_> - - <_> - 0 0 17 9 -1. - <_> - 0 3 17 3 3. - <_> - - <_> - 4 7 12 2 -1. - <_> - 8 7 4 2 3. - <_> - - <_> - 10 4 6 4 -1. - <_> - 12 4 2 4 3. - <_> - - <_> - 0 10 20 4 -1. - <_> - 0 12 20 2 2. - <_> - - <_> - 4 3 6 5 -1. - <_> - 6 3 2 5 3. - <_> - - <_> - 1 1 18 4 -1. - <_> - 7 1 6 4 3. - <_> - - <_> - 13 9 2 3 -1. - <_> - 13 9 1 3 2. - <_> - - <_> - 6 15 7 4 -1. - <_> - 6 17 7 2 2. - <_> - - <_> - 3 17 4 2 -1. - <_> - 3 18 4 1 2. - <_> - - <_> - 9 4 8 10 -1. - <_> - 9 9 8 5 2. - <_> - - <_> - 9 17 3 2 -1. - <_> - 10 17 1 2 3. - <_> - - <_> - 8 2 4 8 -1. - <_> - 8 6 4 4 2. - <_> - - <_> - 3 4 14 12 -1. - <_> - 3 4 7 6 2. - <_> - 10 10 7 6 2. - <_> - - <_> - 7 7 6 4 -1. - <_> - 9 7 2 4 3. - <_> - - <_> - 6 7 9 4 -1. - <_> - 6 9 9 2 2. - <_> - - <_> - 2 10 3 3 -1. - <_> - 2 11 3 1 3. - <_> - - <_> - 4 6 2 9 -1. - <_> - 4 9 2 3 3. - <_> - - <_> - 9 11 3 3 -1. - <_> - 9 12 3 1 3. - <_> - - <_> - 3 1 15 2 -1. - <_> - 3 2 15 1 2. - <_> - - <_> - 9 8 2 3 -1. - <_> - 9 9 2 1 3. - <_> - - <_> - 9 6 2 5 -1. - <_> - 10 6 1 5 2. - <_> - - <_> - 9 7 2 3 -1. - <_> - 9 8 2 1 3. - <_> - - <_> - 4 10 12 10 -1. - <_> - 4 15 12 5 2. - <_> - - <_> - 0 10 4 2 -1. - <_> - 0 11 4 1 2. - <_> - - <_> - 5 15 9 2 -1. - <_> - 5 16 9 1 2. - <_> - - <_> - 8 14 6 3 -1. - <_> - 8 15 6 1 3. - <_> - - <_> - 8 16 4 3 -1. - <_> - 8 17 4 1 3. - <_> - - <_> - 8 9 4 2 -1. - <_> - 8 10 4 1 2. - <_> - - <_> - 3 3 14 2 -1. - <_> - 3 4 14 1 2. - <_> - - <_> - 11 12 1 2 -1. - <_> - 11 13 1 1 2. - <_> - - <_> - 4 12 12 1 -1. - <_> - 8 12 4 1 3. - <_> - - <_> - 0 2 1 2 -1. - <_> - 0 3 1 1 2. - <_> - - <_> - 7 4 4 6 -1. - <_> - 9 4 2 6 2. - <_> - - <_> - 0 2 20 14 -1. - <_> - 10 2 10 7 2. - <_> - 0 9 10 7 2. - <_> - - <_> - 14 6 1 3 -1. - <_> - 14 7 1 1 3. - <_> - - <_> - 0 4 20 12 -1. - <_> - 0 4 10 6 2. - <_> - 10 10 10 6 2. - <_> - - <_> - 8 12 1 2 -1. - <_> - 8 13 1 1 2. - <_> - - <_> - 9 18 3 2 -1. - <_> - 10 18 1 2 3. - <_> - - <_> - 9 17 6 2 -1. - <_> - 11 17 2 2 3. - <_> - - <_> - 5 6 2 3 -1. - <_> - 5 7 2 1 3. - <_> - - <_> - 5 4 3 3 -1. - <_> - 5 5 3 1 3. - <_> - - <_> - 14 15 3 2 -1. - <_> - 14 16 3 1 2. - <_> - - <_> - 11 3 3 4 -1. - <_> - 12 3 1 4 3. - <_> - - <_> - 3 15 3 2 -1. - <_> - 3 16 3 1 2. - <_> - - <_> - 9 12 2 3 -1. - <_> - 9 13 2 1 3. - <_> - - <_> - 9 13 3 7 -1. - <_> - 10 13 1 7 3. - <_> - - <_> - 12 12 5 3 -1. - <_> - 12 13 5 1 3. - <_> - - <_> - 8 18 3 2 -1. - <_> - 9 18 1 2 3. - <_> - - <_> - 4 7 12 4 -1. - <_> - 4 7 6 2 2. - <_> - 10 9 6 2 2. - <_> - - <_> - 6 19 14 1 -1. - <_> - 6 19 7 1 2. - <_> - - <_> - 16 14 3 2 -1. - <_> - 16 15 3 1 2. - <_> - - <_> - 1 0 6 10 -1. - <_> - 1 0 3 5 2. - <_> - 4 5 3 5 2. - <_> - - <_> - 1 0 4 10 -1. - <_> - 1 0 2 5 2. - <_> - 3 5 2 5 2. - <_> - - <_> - 15 3 5 6 -1. - <_> - 15 5 5 2 3. - <_> - - <_> - 9 5 2 15 -1. - <_> - 9 10 2 5 3. - <_> - - <_> - 0 3 5 6 -1. - <_> - 0 5 5 2 3. - <_> - - <_> - 6 0 3 2 -1. - <_> - 7 0 1 2 3. - <_> - - <_> - 12 8 8 2 -1. - <_> - 16 8 4 1 2. - <_> - 12 9 4 1 2. - <_> - - <_> - 5 8 12 1 -1. - <_> - 9 8 4 1 3. - <_> - - <_> - 3 13 3 3 -1. - <_> - 3 14 3 1 3. - <_> - - <_> - 5 13 3 2 -1. - <_> - 5 14 3 1 2. - <_> - - <_> - 9 15 3 3 -1. - <_> - 9 16 3 1 3. - <_> - - <_> - 7 15 7 3 -1. - <_> - 7 16 7 1 3. - <_> - - <_> - 3 14 11 6 -1. - <_> - 3 16 11 2 3. - <_> - - <_> - 0 19 14 1 -1. - <_> - 7 19 7 1 2. - <_> - - <_> - 9 17 6 2 -1. - <_> - 11 17 2 2 3. - <_> - - <_> - 12 11 6 2 -1. - <_> - 14 11 2 2 3. - <_> - - <_> - 5 17 6 2 -1. - <_> - 7 17 2 2 3. - <_> - - <_> - 0 1 9 10 -1. - <_> - 3 1 3 10 3. - <_> - - <_> - 10 1 3 3 -1. - <_> - 11 1 1 3 3. - <_> - - <_> - 9 5 6 4 -1. - <_> - 9 5 3 4 2. - <_> - - <_> - 7 1 3 3 -1. - <_> - 8 1 1 3 3. - <_> - - <_> - 0 4 4 11 -1. - <_> - 2 4 2 11 2. - <_> - - <_> - 9 5 6 4 -1. - <_> - 9 5 3 4 2. - <_> - - <_> - 6 0 8 10 -1. - <_> - 10 0 4 5 2. - <_> - 6 5 4 5 2. - <_> - - <_> - 6 6 5 14 -1. - <_> - 6 13 5 7 2. - <_> - - <_> - 8 5 4 14 -1. - <_> - 8 12 4 7 2. - <_> - - <_> - 7 7 6 5 -1. - <_> - 9 7 2 5 3. - <_> - - <_> - 9 3 3 9 -1. - <_> - 9 6 3 3 3. - <_> - - <_> - 8 1 3 3 -1. - <_> - 9 1 1 3 3. - <_> - - <_> - 9 6 2 4 -1. - <_> - 10 6 1 4 2. - <_> - - <_> - 10 8 6 9 -1. - <_> - 10 8 3 9 2. - <_> - - <_> - 16 4 3 8 -1. - <_> - 17 4 1 8 3. - <_> - - <_> - 5 9 10 6 -1. - <_> - 5 9 5 3 2. - <_> - 10 12 5 3 2. - <_> - - <_> - 5 5 6 4 -1. - <_> - 8 5 3 4 2. - <_> - - <_> - 9 8 4 2 -1. - <_> - 9 9 4 1 2. - <_> - - <_> - 11 7 2 2 -1. - <_> - 11 7 1 2 2. - <_> - - <_> - 8 12 4 8 -1. - <_> - 8 12 2 4 2. - <_> - 10 16 2 4 2. - <_> - - <_> - 0 1 4 9 -1. - <_> - 0 4 4 3 3. - <_> - - <_> - 9 10 3 3 -1. - <_> - 9 11 3 1 3. - <_> - - <_> - 8 11 4 2 -1. - <_> - 8 12 4 1 2. - <_> - - <_> - 7 8 4 2 -1. - <_> - 7 9 4 1 2. - <_> - - <_> - 7 8 6 1 -1. - <_> - 9 8 2 1 3. - <_> - - <_> - 16 0 4 9 -1. - <_> - 16 0 2 9 2. - <_> - - <_> - 16 0 3 6 -1. - <_> - 16 3 3 3 2. - <_> - - <_> - 0 0 4 9 -1. - <_> - 2 0 2 9 2. - <_> - - <_> - 1 0 3 6 -1. - <_> - 1 3 3 3 2. - <_> - - <_> - 9 7 6 9 -1. - <_> - 11 7 2 9 3. - <_> - - <_> - 10 6 3 6 -1. - <_> - 11 6 1 6 3. - <_> - - <_> - 1 2 18 2 -1. - <_> - 1 2 9 1 2. - <_> - 10 3 9 1 2. - <_> - - <_> - 5 8 6 8 -1. - <_> - 7 8 2 8 3. - <_> - - <_> - 9 0 6 16 -1. - <_> - 11 0 2 16 3. - <_> - - <_> - 14 1 6 18 -1. - <_> - 17 1 3 9 2. - <_> - 14 10 3 9 2. - <_> - - <_> - 2 9 2 3 -1. - <_> - 2 10 2 1 3. - <_> - - <_> - 0 1 6 18 -1. - <_> - 0 1 3 9 2. - <_> - 3 10 3 9 2. - <_> - - <_> - 11 8 4 12 -1. - <_> - 11 8 2 12 2. - <_> - - <_> - 2 1 18 18 -1. - <_> - 2 10 18 9 2. - <_> - - <_> - 6 3 3 1 -1. - <_> - 7 3 1 1 3. - <_> - - <_> - 4 12 2 2 -1. - <_> - 4 13 2 1 2. - <_> - - <_> - 8 13 5 3 -1. - <_> - 8 14 5 1 3. - <_> - - <_> - 8 14 4 3 -1. - <_> - 8 15 4 1 3. - <_> - - <_> - 3 12 5 3 -1. - <_> - 3 13 5 1 3. - <_> - - <_> - 6 3 3 4 -1. - <_> - 7 3 1 4 3. - <_> - - <_> - 11 10 2 2 -1. - <_> - 12 10 1 1 2. - <_> - 11 11 1 1 2. - <_> - - <_> - 5 8 12 1 -1. - <_> - 9 8 4 1 3. - <_> - - <_> - 8 4 4 8 -1. - <_> - 10 4 2 8 2. - <_> - - <_> - 6 6 8 5 -1. - <_> - 10 6 4 5 2. - <_> - - <_> - 10 4 6 4 -1. - <_> - 12 4 2 4 3. - <_> - - <_> - 12 7 2 2 -1. - <_> - 13 7 1 1 2. - <_> - 12 8 1 1 2. - <_> - - <_> - 3 5 10 8 -1. - <_> - 3 9 10 4 2. - <_> - - <_> - 7 1 2 12 -1. - <_> - 7 7 2 6 2. - <_> - - <_> - 12 7 2 2 -1. - <_> - 13 7 1 1 2. - <_> - 12 8 1 1 2. - <_> - - <_> - 11 13 1 6 -1. - <_> - 11 16 1 3 2. - <_> - - <_> - 5 1 6 15 -1. - <_> - 7 1 2 15 3. - <_> - - <_> - 6 7 2 2 -1. - <_> - 6 7 1 1 2. - <_> - 7 8 1 1 2. - <_> - - <_> - 17 5 2 2 -1. - <_> - 17 6 2 1 2. - <_> - - <_> - 10 3 4 10 -1. - <_> - 12 3 2 5 2. - <_> - 10 8 2 5 2. - <_> - - <_> - 1 5 2 2 -1. - <_> - 1 6 2 1 2. - <_> - - <_> - 7 10 2 2 -1. - <_> - 7 10 1 1 2. - <_> - 8 11 1 1 2. - <_> - - <_> - 3 12 14 4 -1. - <_> - 10 12 7 2 2. - <_> - 3 14 7 2 2. - <_> - - <_> - 9 15 3 2 -1. - <_> - 9 16 3 1 2. - <_> - - <_> - 1 13 3 3 -1. - <_> - 1 14 3 1 3. - <_> - - <_> - 0 3 1 2 -1. - <_> - 0 4 1 1 2. - <_> - - <_> - 7 7 6 1 -1. - <_> - 9 7 2 1 3. - <_> - - <_> - 0 4 16 6 -1. - <_> - 0 6 16 2 3. - <_> - - <_> - 9 3 2 14 -1. - <_> - 9 10 2 7 2. - <_> - - <_> - 12 0 4 3 -1. - <_> - 12 0 2 3 2. - <_> - - <_> - 4 18 12 2 -1. - <_> - 8 18 4 2 3. - <_> - - <_> - 4 10 12 4 -1. - <_> - 8 10 4 4 3. - <_> - - <_> - 9 9 2 2 -1. - <_> - 9 10 2 1 2. - <_> - - <_> - 14 1 2 8 -1. - <_> - 15 1 1 4 2. - <_> - 14 5 1 4 2. - <_> - - <_> - 3 4 9 1 -1. - <_> - 6 4 3 1 3. - <_> - - <_> - 3 3 4 2 -1. - <_> - 3 4 4 1 2. - <_> - - <_> - 11 15 2 4 -1. - <_> - 11 17 2 2 2. - <_> - - <_> - 14 13 2 6 -1. - <_> - 14 15 2 2 3. - <_> - - <_> - 6 6 1 6 -1. - <_> - 6 9 1 3 2. - <_> - - <_> - 6 10 8 8 -1. - <_> - 6 14 8 4 2. - <_> - - <_> - 8 13 4 3 -1. - <_> - 8 14 4 1 3. - <_> - - <_> - 10 11 4 8 -1. - <_> - 10 15 4 4 2. - <_> - - <_> - 5 11 6 1 -1. - <_> - 7 11 2 1 3. - <_> - - <_> - 5 4 6 10 -1. - <_> - 8 4 3 10 2. - <_> - - <_> - 14 2 6 3 -1. - <_> - 14 3 6 1 3. - <_> - - <_> - 9 12 3 2 -1. - <_> - 9 13 3 1 2. - <_> - - <_> - 8 1 4 6 -1. - <_> - 8 3 4 2 3. - <_> - - <_> - 3 5 13 8 -1. - <_> - 3 9 13 4 2. - <_> - - <_> - 12 5 5 3 -1. - <_> - 12 6 5 1 3. - <_> - - <_> - 5 14 15 6 -1. - <_> - 5 16 15 2 3. - <_> - - <_> - 3 5 5 3 -1. - <_> - 3 6 5 1 3. - <_> - - <_> - 9 14 2 6 -1. - <_> - 9 14 1 3 2. - <_> - 10 17 1 3 2. - <_> - - <_> - 9 12 3 2 -1. - <_> - 9 13 3 1 2. - <_> - - <_> - 9 13 3 2 -1. - <_> - 9 14 3 1 2. - <_> - - <_> - 0 2 6 3 -1. - <_> - 0 3 6 1 3. - <_> - - <_> - 0 1 9 11 -1. - <_> - 3 1 3 11 3. - <_> - - <_> - 8 13 4 6 -1. - <_> - 10 13 2 3 2. - <_> - 8 16 2 3 2. - <_> - - <_> - 7 13 6 3 -1. - <_> - 7 14 6 1 3. - <_> - - <_> - 3 12 14 4 -1. - <_> - 3 12 7 2 2. - <_> - 10 14 7 2 2. - <_> - - <_> - 7 14 1 4 -1. - <_> - 7 16 1 2 2. - <_> - - <_> - 8 13 4 6 -1. - <_> - 10 13 2 3 2. - <_> - 8 16 2 3 2. - <_> - - <_> - 10 14 1 3 -1. - <_> - 10 15 1 1 3. - <_> - - <_> - 8 13 4 6 -1. - <_> - 8 13 2 3 2. - <_> - 10 16 2 3 2. - <_> - - <_> - 9 14 1 3 -1. - <_> - 9 15 1 1 3. - <_> - - <_> - 10 15 2 3 -1. - <_> - 10 16 2 1 3. - <_> - - <_> - 11 16 1 2 -1. - <_> - 11 17 1 1 2. - <_> - - <_> - 9 0 2 2 -1. - <_> - 9 1 2 1 2. - <_> - - <_> - 0 1 5 8 -1. - <_> - 0 5 5 4 2. - <_> - - <_> - 10 14 2 3 -1. - <_> - 10 15 2 1 3. - <_> - - <_> - 10 13 2 3 -1. - <_> - 10 14 2 1 3. - <_> - - <_> - 0 3 16 6 -1. - <_> - 0 6 16 3 2. - <_> - - <_> - 4 1 2 2 -1. - <_> - 5 1 1 2 2. - <_> - - <_> - 9 7 2 3 -1. - <_> - 9 8 2 1 3. - <_> - - <_> - 10 8 2 12 -1. - <_> - 10 12 2 4 3. - <_> - - <_> - 9 7 2 2 -1. - <_> - 10 7 1 2 2. - <_> - - <_> - 5 0 6 8 -1. - <_> - 7 0 2 8 3. - <_> - - <_> - 9 7 3 6 -1. - <_> - 10 7 1 6 3. - <_> - - <_> - 8 12 10 8 -1. - <_> - 8 16 10 4 2. - <_> - - <_> - 8 7 3 6 -1. - <_> - 9 7 1 6 3. - <_> - - <_> - 4 7 12 2 -1. - <_> - 10 7 6 2 2. - <_> - - <_> - 8 6 8 3 -1. - <_> - 8 6 4 3 2. - <_> - - <_> - 16 15 3 3 -1. - <_> - 16 16 3 1 3. - <_> - - <_> - 4 6 12 3 -1. - <_> - 10 6 6 3 2. - <_> - - <_> - 7 8 3 5 -1. - <_> - 8 8 1 5 3. - <_> - - <_> - 0 10 20 2 -1. - <_> - 10 10 10 1 2. - <_> - 0 11 10 1 2. - <_> - - <_> - 11 16 9 4 -1. - <_> - 14 16 3 4 3. - <_> - - <_> - 0 5 3 4 -1. - <_> - 1 5 1 4 3. - <_> - - <_> - 8 15 4 2 -1. - <_> - 8 15 2 1 2. - <_> - 10 16 2 1 2. - <_> - - <_> - 1 8 19 3 -1. - <_> - 1 9 19 1 3. - <_> - - <_> - 15 16 3 3 -1. - <_> - 15 17 3 1 3. - <_> - - <_> - 0 4 20 10 -1. - <_> - 0 4 10 5 2. - <_> - 10 9 10 5 2. - <_> - - <_> - 2 14 7 6 -1. - <_> - 2 16 7 2 3. - <_> - - <_> - 8 6 6 6 -1. - <_> - 10 6 2 6 3. - <_> - - <_> - 16 4 4 6 -1. - <_> - 16 6 4 2 3. - <_> - - <_> - 7 13 6 3 -1. - <_> - 7 14 6 1 3. - <_> - - <_> - 7 13 4 3 -1. - <_> - 7 14 4 1 3. - <_> - - <_> - 13 13 6 2 -1. - <_> - 13 14 6 1 2. - <_> - - <_> - 14 12 2 3 -1. - <_> - 14 13 2 1 3. - <_> - - <_> - 1 13 6 2 -1. - <_> - 1 14 6 1 2. - <_> - - <_> - 4 12 2 3 -1. - <_> - 4 13 2 1 3. - <_> - - <_> - 17 4 3 5 -1. - <_> - 18 4 1 5 3. - <_> - - <_> - 5 5 14 8 -1. - <_> - 12 5 7 4 2. - <_> - 5 9 7 4 2. - <_> - - <_> - 6 8 6 5 -1. - <_> - 8 8 2 5 3. - <_> - - <_> - 0 4 4 6 -1. - <_> - 0 6 4 2 3. - <_> - - <_> - 9 1 3 6 -1. - <_> - 10 1 1 6 3. - <_> - - <_> - 10 4 6 3 -1. - <_> - 10 5 6 1 3. - <_> - - <_> - 8 1 3 6 -1. - <_> - 9 1 1 6 3. - <_> - - <_> - 4 4 6 3 -1. - <_> - 4 5 6 1 3. - <_> - - <_> - 12 4 3 3 -1. - <_> - 12 5 3 1 3. - <_> - - <_> - 12 11 4 2 -1. - <_> - 12 12 4 1 2. - <_> - - <_> - 0 2 20 6 -1. - <_> - 0 2 10 3 2. - <_> - 10 5 10 3 2. - <_> - - <_> - 5 4 3 3 -1. - <_> - 5 5 3 1 3. - <_> - - <_> - 2 10 16 4 -1. - <_> - 10 10 8 2 2. - <_> - 2 12 8 2 2. - <_> - - <_> - 3 10 16 6 -1. - <_> - 11 10 8 3 2. - <_> - 3 13 8 3 2. - <_> - - <_> - 1 10 16 6 -1. - <_> - 1 10 8 3 2. - <_> - 9 13 8 3 2. - <_> - - <_> - 4 7 2 4 -1. - <_> - 5 7 1 4 2. - <_> - - <_> - 11 16 9 4 -1. - <_> - 14 16 3 4 3. - <_> - - <_> - 3 16 14 4 -1. - <_> - 10 16 7 2 2. - <_> - 3 18 7 2 2. - <_> - - <_> - 0 16 9 4 -1. - <_> - 3 16 3 4 3. - <_> - - <_> - 1 14 6 6 -1. - <_> - 1 14 3 3 2. - <_> - 4 17 3 3 2. - <_> - - <_> - 9 0 2 1 -1. - <_> - 9 0 1 1 2. - <_> - - <_> - 6 7 8 10 -1. - <_> - 10 7 4 5 2. - <_> - 6 12 4 5 2. - <_> - - <_> - 2 15 1 2 -1. - <_> - 2 16 1 1 2. - <_> - - <_> - 0 14 7 6 -1. - <_> - 0 16 7 2 3. - <_> - - <_> - 7 8 6 2 -1. - <_> - 7 9 6 1 2. - <_> - - <_> - 9 2 2 15 -1. - <_> - 9 7 2 5 3. - <_> - - <_> - 5 6 2 2 -1. - <_> - 5 7 2 1 2. - <_> - - <_> - 6 6 8 3 -1. - <_> - 6 7 8 1 3. - <_> - - <_> - 12 13 5 6 -1. - <_> - 12 15 5 2 3. - <_> - - <_> - 0 0 20 18 -1. - <_> - 0 9 20 9 2. - <_> - - <_> - 5 1 6 6 -1. - <_> - 7 1 2 6 3. - <_> - - <_> - 5 1 4 9 -1. - <_> - 7 1 2 9 2. - <_> - - <_> - 1 19 18 1 -1. - <_> - 7 19 6 1 3. - <_> - - <_> - 14 16 5 2 -1. - <_> - 14 17 5 1 2. - <_> - - <_> - 0 5 15 10 -1. - <_> - 0 10 15 5 2. - <_> - - <_> - 7 15 4 2 -1. - <_> - 7 15 2 1 2. - <_> - 9 16 2 1 2. - <_> - - <_> - 14 11 2 2 -1. - <_> - 14 12 2 1 2. - <_> - - <_> - 9 8 3 3 -1. - <_> - 9 9 3 1 3. - <_> - - <_> - 4 11 2 2 -1. - <_> - 4 12 2 1 2. - <_> - - <_> - 8 8 3 3 -1. - <_> - 8 9 3 1 3. - <_> - - <_> - 9 10 2 3 -1. - <_> - 9 11 2 1 3. - <_> - - <_> - 8 8 4 3 -1. - <_> - 8 9 4 1 3. - <_> - - <_> - 1 9 4 10 -1. - <_> - 1 9 2 5 2. - <_> - 3 14 2 5 2. - <_> - - <_> - 0 12 6 8 -1. - <_> - 2 12 2 8 3. - <_> - - <_> - 9 1 4 2 -1. - <_> - 11 1 2 1 2. - <_> - 9 2 2 1 2. - <_> - - <_> - 12 13 7 6 -1. - <_> - 12 15 7 2 3. - <_> - - <_> - 7 0 2 3 -1. - <_> - 7 1 2 1 3. - <_> - - <_> - 7 14 6 3 -1. - <_> - 9 14 2 3 3. - <_> - - <_> - 9 6 6 4 -1. - <_> - 11 6 2 4 3. - <_> - - <_> - 8 10 8 3 -1. - <_> - 8 10 4 3 2. - <_> - - <_> - 6 10 4 3 -1. - <_> - 8 10 2 3 2. - <_> - - <_> - 6 8 3 5 -1. - <_> - 7 8 1 5 3. - <_> - - <_> - 0 4 8 1 -1. - <_> - 4 4 4 1 2. - <_> - - <_> - 8 2 2 6 -1. - <_> - 8 2 1 3 2. - <_> - 9 5 1 3 2. - <_> - - <_> - 0 7 20 6 -1. - <_> - 0 9 20 2 3. - <_> - - <_> - 12 10 3 6 -1. - <_> - 12 13 3 3 2. - <_> - - <_> - 8 15 1 4 -1. - <_> - 8 17 1 2 2. - <_> - - <_> - 5 16 2 4 -1. - <_> - 5 18 2 2 2. - <_> - - <_> - 6 2 8 12 -1. - <_> - 6 6 8 4 3. - <_> - - <_> - 4 7 12 2 -1. - <_> - 8 7 4 2 3. - <_> - - <_> - 7 0 6 1 -1. - <_> - 9 0 2 1 3. - <_> - - <_> - 8 11 3 3 -1. - <_> - 8 12 3 1 3. - <_> - - <_> - 12 11 3 6 -1. - <_> - 12 14 3 3 2. - <_> - - <_> - 11 2 6 10 -1. - <_> - 14 2 3 5 2. - <_> - 11 7 3 5 2. - <_> - - <_> - 5 7 10 12 -1. - <_> - 5 7 5 6 2. - <_> - 10 13 5 6 2. - <_> - - <_> - 4 4 2 10 -1. - <_> - 4 9 2 5 2. - <_> - - <_> - 9 7 2 3 -1. - <_> - 9 7 1 3 2. - <_> - - <_> - 11 9 6 2 -1. - <_> - 11 9 3 2 2. - <_> - - <_> - 4 7 2 2 -1. - <_> - 5 7 1 2 2. - <_> - - <_> - 0 2 4 6 -1. - <_> - 0 4 4 2 3. - <_> - - <_> - 10 7 3 4 -1. - <_> - 11 7 1 4 3. - <_> - - <_> - 9 7 3 5 -1. - <_> - 10 7 1 5 3. - <_> - - <_> - 9 1 1 3 -1. - <_> - 9 2 1 1 3. - <_> - - <_> - 0 6 16 6 -1. - <_> - 0 6 8 3 2. - <_> - 8 9 8 3 2. - <_> - - <_> - 10 15 3 3 -1. - <_> - 10 16 3 1 3. - <_> - - <_> - 9 14 4 3 -1. - <_> - 9 15 4 1 3. - <_> - - <_> - 3 2 6 10 -1. - <_> - 3 2 3 5 2. - <_> - 6 7 3 5 2. - <_> - - <_> - 3 0 14 2 -1. - <_> - 3 1 14 1 2. - <_> - - <_> - 9 14 3 3 -1. - <_> - 9 15 3 1 3. - <_> - - <_> - 10 15 3 3 -1. - <_> - 10 16 3 1 3. - <_> - - <_> - 9 13 2 6 -1. - <_> - 9 16 2 3 2. - <_> - - <_> - 7 13 6 3 -1. - <_> - 7 14 6 1 3. - <_> - - <_> - 12 11 3 6 -1. - <_> - 12 14 3 3 2. - <_> - - <_> - 8 12 5 2 -1. - <_> - 8 13 5 1 2. - <_> - - <_> - 5 11 3 6 -1. - <_> - 5 14 3 3 2. - <_> - - <_> - 8 12 3 2 -1. - <_> - 8 13 3 1 2. - <_> - - <_> - 11 13 7 6 -1. - <_> - 11 15 7 2 3. - <_> - - <_> - 7 14 6 3 -1. - <_> - 7 15 6 1 3. - <_> - - <_> - 3 13 14 4 -1. - <_> - 3 13 7 2 2. - <_> - 10 15 7 2 2. - <_> - - <_> - 8 14 4 6 -1. - <_> - 8 14 2 3 2. - <_> - 10 17 2 3 2. - <_> - - <_> - 8 15 4 3 -1. - <_> - 8 16 4 1 3. - <_> - - <_> - 7 16 6 2 -1. - <_> - 9 16 2 2 3. - <_> - - <_> - 7 7 6 2 -1. - <_> - 7 8 6 1 2. - <_> - - <_> - 3 9 13 3 -1. - <_> - 3 10 13 1 3. - <_> - - <_> - 9 8 3 4 -1. - <_> - 9 10 3 2 2. - <_> - - <_> - 8 10 4 3 -1. - <_> - 8 11 4 1 3. - <_> - - <_> - 7 7 3 4 -1. - <_> - 8 7 1 4 3. - <_> - - <_> - 8 7 3 5 -1. - <_> - 9 7 1 5 3. - <_> - - <_> - 12 3 3 4 -1. - <_> - 13 3 1 4 3. - <_> - - <_> - 9 7 2 3 -1. - <_> - 9 7 1 3 2. - <_> - - <_> - 5 3 3 4 -1. - <_> - 6 3 1 4 3. - <_> - - <_> - 3 7 12 1 -1. - <_> - 7 7 4 1 3. - <_> - - <_> - 12 5 3 3 -1. - <_> - 12 6 3 1 3. - <_> - - <_> - 11 2 6 2 -1. - <_> - 11 3 6 1 2. - <_> - - <_> - 3 2 14 2 -1. - <_> - 3 2 7 1 2. - <_> - 10 3 7 1 2. - <_> - - <_> - 6 1 7 14 -1. - <_> - 6 8 7 7 2. - <_> - - <_> - 8 0 12 5 -1. - <_> - 8 0 6 5 2. - <_> - - <_> - 1 9 18 1 -1. - <_> - 7 9 6 1 3. - <_> - - <_> - 0 0 10 5 -1. - <_> - 5 0 5 5 2. - <_> - - <_> - 2 5 8 15 -1. - <_> - 2 10 8 5 3. - <_> - - <_> - 12 5 3 3 -1. - <_> - 12 6 3 1 3. - <_> - - <_> - 13 4 2 3 -1. - <_> - 13 5 2 1 3. - <_> - - <_> - 2 15 4 3 -1. - <_> - 2 16 4 1 3. - <_> - - <_> - 5 6 10 3 -1. - <_> - 10 6 5 3 2. - <_> - - <_> - 11 6 2 2 -1. - <_> - 12 6 1 1 2. - <_> - 11 7 1 1 2. - <_> - - <_> - 12 4 4 3 -1. - <_> - 12 5 4 1 3. - <_> - - <_> - 7 6 2 2 -1. - <_> - 7 6 1 1 2. - <_> - 8 7 1 1 2. - <_> - - <_> - 4 4 4 3 -1. - <_> - 4 5 4 1 3. - <_> - - <_> - 11 4 3 3 -1. - <_> - 12 4 1 3 3. - <_> - - <_> - 9 3 2 1 -1. - <_> - 9 3 1 1 2. - <_> - - <_> - 4 5 5 3 -1. - <_> - 4 6 5 1 3. - <_> - - <_> - 4 6 4 3 -1. - <_> - 4 7 4 1 3. - <_> - - <_> - 11 4 3 3 -1. - <_> - 12 4 1 3 3. - <_> - - <_> - 8 8 4 3 -1. - <_> - 8 9 4 1 3. - <_> - - <_> - 6 4 3 3 -1. - <_> - 7 4 1 3 3. - <_> - - <_> - 4 14 1 3 -1. - <_> - 4 15 1 1 3. - <_> - - <_> - 9 7 2 3 -1. - <_> - 9 7 1 3 2. - <_> - - <_> - 17 0 3 2 -1. - <_> - 17 1 3 1 2. - <_> - - <_> - 8 10 2 9 -1. - <_> - 8 13 2 3 3. - <_> - - <_> - 0 8 18 2 -1. - <_> - 0 9 18 1 2. - <_> - - <_> - 9 15 2 3 -1. - <_> - 9 16 2 1 3. - <_> - - <_> - 8 7 4 3 -1. - <_> - 8 8 4 1 3. - <_> - - <_> - 1 14 6 6 -1. - <_> - 1 14 3 3 2. - <_> - 4 17 3 3 2. - <_> - - <_> - 0 18 6 2 -1. - <_> - 0 19 6 1 2. - <_> - - <_> - 12 9 4 3 -1. - <_> - 12 9 2 3 2. - <_> - - <_> - 9 8 3 8 -1. - <_> - 10 8 1 8 3. - <_> - - <_> - 4 9 4 3 -1. - <_> - 6 9 2 3 2. - <_> - - <_> - 4 18 6 1 -1. - <_> - 6 18 2 1 3. - <_> - - <_> - 9 7 3 2 -1. - <_> - 10 7 1 2 3. - <_> - - <_> - 6 7 8 12 -1. - <_> - 10 7 4 6 2. - <_> - 6 13 4 6 2. - <_> - - <_> - 8 7 3 2 -1. - <_> - 9 7 1 2 3. - <_> - - <_> - 8 7 3 6 -1. - <_> - 9 7 1 6 3. - <_> - - <_> - 3 16 14 4 -1. - <_> - 10 16 7 2 2. - <_> - 3 18 7 2 2. - <_> - - <_> - 1 14 18 4 -1. - <_> - 10 14 9 2 2. - <_> - 1 16 9 2 2. - <_> - - <_> - 8 7 3 3 -1. - <_> - 8 8 3 1 3. - <_> - - <_> - 0 4 20 12 -1. - <_> - 0 4 10 6 2. - <_> - 10 10 10 6 2. - <_> - - <_> - 5 5 10 12 -1. - <_> - 10 5 5 6 2. - <_> - 5 11 5 6 2. - <_> - - <_> - 10 2 4 7 -1. - <_> - 10 2 2 7 2. - <_> - - <_> - 8 11 4 3 -1. - <_> - 8 12 4 1 3. - <_> - - <_> - 8 12 3 3 -1. - <_> - 8 13 3 1 3. - <_> - - <_> - 13 13 5 6 -1. - <_> - 13 15 5 2 3. - <_> - - <_> - 7 0 6 6 -1. - <_> - 9 0 2 6 3. - <_> - - <_> - 2 13 5 6 -1. - <_> - 2 15 5 2 3. - <_> - - <_> - 0 4 2 12 -1. - <_> - 0 4 1 6 2. - <_> - 1 10 1 6 2. - <_> - - <_> - 9 19 3 1 -1. - <_> - 10 19 1 1 3. - <_> - - <_> - 18 0 2 6 -1. - <_> - 18 2 2 2 3. - <_> - - <_> - 0 3 1 6 -1. - <_> - 0 5 1 2 3. - <_> - - <_> - 0 0 3 6 -1. - <_> - 0 2 3 2 3. - <_> - - <_> - 17 2 3 7 -1. - <_> - 18 2 1 7 3. - <_> - - <_> - 10 3 4 7 -1. - <_> - 10 3 2 7 2. - <_> - - <_> - 0 2 3 7 -1. - <_> - 1 2 1 7 3. - <_> - - <_> - 6 2 4 8 -1. - <_> - 8 2 2 8 2. - <_> - - <_> - 13 0 1 4 -1. - <_> - 13 2 1 2 2. - <_> - - <_> - 5 1 12 5 -1. - <_> - 9 1 4 5 3. - <_> - - <_> - 6 0 1 4 -1. - <_> - 6 2 1 2 2. - <_> - - <_> - 3 1 12 5 -1. - <_> - 7 1 4 5 3. - <_> - - <_> - 9 12 3 8 -1. - <_> - 10 12 1 8 3. - <_> - - <_> - 7 13 6 1 -1. - <_> - 9 13 2 1 3. - <_> - - <_> - 7 14 6 3 -1. - <_> - 7 15 6 1 3. - <_> - - <_> - 5 16 7 3 -1. - <_> - 5 17 7 1 3. - <_> - - <_> - 0 12 20 6 -1. - <_> - 0 14 20 2 3. - <_> - - <_> - 4 18 14 2 -1. - <_> - 4 19 14 1 2. - <_> - - <_> - 8 12 3 8 -1. - <_> - 9 12 1 8 3. - <_> - - <_> - 7 13 3 3 -1. - <_> - 7 14 3 1 3. - <_> - - <_> - 5 5 12 10 -1. - <_> - 11 5 6 5 2. - <_> - 5 10 6 5 2. - <_> - - <_> - 8 1 5 10 -1. - <_> - 8 6 5 5 2. - <_> - - <_> - 5 4 9 12 -1. - <_> - 5 10 9 6 2. - <_> - - <_> - 7 13 6 6 -1. - <_> - 7 15 6 2 3. - <_> - - <_> - 8 4 5 16 -1. - <_> - 8 12 5 8 2. - <_> - - <_> - 8 12 4 6 -1. - <_> - 8 15 4 3 2. - <_> - - <_> - 7 13 2 2 -1. - <_> - 7 13 1 1 2. - <_> - 8 14 1 1 2. - <_> - - <_> - 7 12 2 2 -1. - <_> - 7 12 1 1 2. - <_> - 8 13 1 1 2. - <_> - - <_> - 18 0 2 14 -1. - <_> - 18 0 1 14 2. - <_> - - <_> - 12 11 7 2 -1. - <_> - 12 12 7 1 2. - <_> - - <_> - 1 18 1 2 -1. - <_> - 1 19 1 1 2. - <_> - - <_> - 2 18 1 2 -1. - <_> - 2 19 1 1 2. - <_> - - <_> - 9 7 2 1 -1. - <_> - 9 7 1 1 2. - <_> - - <_> - 9 6 2 3 -1. - <_> - 9 6 1 3 2. - <_> - - <_> - 3 1 2 2 -1. - <_> - 4 1 1 2 2. - <_> - - <_> - 3 0 3 2 -1. - <_> - 3 1 3 1 2. - <_> - - <_> - 12 10 3 4 -1. - <_> - 12 12 3 2 2. - <_> - - <_> - 7 7 8 2 -1. - <_> - 7 8 8 1 2. - <_> - - <_> - 8 8 3 4 -1. - <_> - 8 10 3 2 2. - <_> - - <_> - 7 12 6 3 -1. - <_> - 7 13 6 1 3. - <_> - - <_> - 0 2 10 3 -1. - <_> - 5 2 5 3 2. - <_> - - <_> - 0 1 20 6 -1. - <_> - 0 3 20 2 3. - <_> - - <_> - 7 6 6 3 -1. - <_> - 9 6 2 3 3. - <_> - - <_> - 3 7 14 4 -1. - <_> - 3 9 14 2 2. - <_> - - <_> - 5 7 3 6 -1. - <_> - 5 9 3 2 3. - <_> - - <_> - 8 8 3 12 -1. - <_> - 8 12 3 4 3. - <_> - - <_> - 9 17 6 2 -1. - <_> - 12 17 3 1 2. - <_> - 9 18 3 1 2. - <_> - - <_> - 10 17 4 3 -1. - <_> - 10 18 4 1 3. - <_> - - <_> - 4 2 4 2 -1. - <_> - 4 3 4 1 2. - <_> - - <_> - 7 3 6 14 -1. - <_> - 9 3 2 14 3. - <_> - - <_> - 15 13 1 6 -1. - <_> - 15 16 1 3 2. - <_> - - <_> - 13 14 2 6 -1. - <_> - 13 16 2 2 3. - <_> - - <_> - 4 11 5 6 -1. - <_> - 4 14 5 3 2. - <_> - - <_> - 4 17 4 2 -1. - <_> - 6 17 2 2 2. - <_> - - <_> - 0 6 20 2 -1. - <_> - 0 6 10 2 2. - <_> - - <_> - 6 5 10 12 -1. - <_> - 11 5 5 6 2. - <_> - 6 11 5 6 2. - <_> - - <_> - 4 0 2 12 -1. - <_> - 4 0 1 6 2. - <_> - 5 6 1 6 2. - <_> - - <_> - 4 1 6 2 -1. - <_> - 6 1 2 2 3. - <_> - - <_> - 13 7 2 1 -1. - <_> - 13 7 1 1 2. - <_> - - <_> - 5 5 15 6 -1. - <_> - 5 7 15 2 3. - <_> - - <_> - 1 10 18 2 -1. - <_> - 1 10 9 1 2. - <_> - 10 11 9 1 2. - <_> - - <_> - 1 6 15 7 -1. - <_> - 6 6 5 7 3. - <_> - - <_> - 8 14 4 3 -1. - <_> - 8 15 4 1 3. - <_> - - <_> - 9 14 3 3 -1. - <_> - 9 15 3 1 3. - <_> - - <_> - 8 14 4 3 -1. - <_> - 8 15 4 1 3. - <_> - - <_> - 8 13 3 2 -1. - <_> - 8 14 3 1 2. - <_> - - <_> - 15 14 5 3 -1. - <_> - 15 15 5 1 3. - <_> - - <_> - 0 14 20 1 -1. - <_> - 0 14 10 1 2. - <_> - - <_> - 0 14 6 3 -1. - <_> - 0 15 6 1 3. - <_> - - <_> - 5 3 4 2 -1. - <_> - 5 4 4 1 2. - <_> - - <_> - 0 6 20 1 -1. - <_> - 0 6 10 1 2. - <_> - - <_> - 6 3 10 14 -1. - <_> - 11 3 5 7 2. - <_> - 6 10 5 7 2. - <_> - - <_> - 8 12 4 2 -1. - <_> - 8 13 4 1 2. - <_> - - <_> - 6 3 8 6 -1. - <_> - 6 3 4 3 2. - <_> - 10 6 4 3 2. - <_> - - <_> - 13 7 2 1 -1. - <_> - 13 7 1 1 2. - <_> - - <_> - 6 3 10 14 -1. - <_> - 11 3 5 7 2. - <_> - 6 10 5 7 2. - <_> - - <_> - 5 7 2 1 -1. - <_> - 6 7 1 1 2. - <_> - - <_> - 4 3 10 14 -1. - <_> - 4 3 5 7 2. - <_> - 9 10 5 7 2. - <_> - - <_> - 9 7 2 2 -1. - <_> - 9 7 1 2 2. - <_> - - <_> - 0 3 20 1 -1. - <_> - 0 3 10 1 2. - <_> - - <_> - 2 1 10 3 -1. - <_> - 2 2 10 1 3. - <_> - - <_> - 9 7 2 2 -1. - <_> - 10 7 1 2 2. - <_> - - <_> - 9 17 3 2 -1. - <_> - 10 17 1 2 3. - <_> - - <_> - 9 7 3 6 -1. - <_> - 10 7 1 6 3. - <_> - - <_> - 8 17 3 2 -1. - <_> - 9 17 1 2 3. - <_> - - <_> - 8 7 3 6 -1. - <_> - 9 7 1 6 3. - <_> - - <_> - 16 3 4 6 -1. - <_> - 16 5 4 2 3. - <_> - - <_> - 15 6 2 12 -1. - <_> - 16 6 1 6 2. - <_> - 15 12 1 6 2. - <_> - - <_> - 1 4 18 10 -1. - <_> - 1 4 9 5 2. - <_> - 10 9 9 5 2. - <_> - - <_> - 9 4 2 4 -1. - <_> - 9 6 2 2 2. - <_> - - <_> - 12 5 3 2 -1. - <_> - 12 6 3 1 2. - <_> - - <_> - 5 12 10 4 -1. - <_> - 5 14 10 2 2. - <_> - - <_> - 5 5 3 2 -1. - <_> - 5 6 3 1 2. - <_> - - <_> - 4 6 12 6 -1. - <_> - 8 6 4 6 3. - <_> - - <_> - 14 4 6 6 -1. - <_> - 14 6 6 2 3. - <_> - - <_> - 16 0 4 6 -1. - <_> - 18 0 2 3 2. - <_> - 16 3 2 3 2. - <_> - - <_> - 0 4 6 6 -1. - <_> - 0 6 6 2 3. - <_> - - <_> - 0 0 4 6 -1. - <_> - 0 0 2 3 2. - <_> - 2 3 2 3 2. - <_> - - <_> - 12 0 8 5 -1. - <_> - 12 0 4 5 2. - <_> - - <_> - 16 0 4 17 -1. - <_> - 16 0 2 17 2. - <_> - - <_> - 1 0 18 20 -1. - <_> - 7 0 6 20 3. - <_> - - <_> - 6 0 2 5 -1. - <_> - 7 0 1 5 2. - <_> - - <_> - 0 6 20 1 -1. - <_> - 0 6 10 1 2. - <_> - - <_> - 8 7 6 4 -1. - <_> - 10 7 2 4 3. - <_> - - <_> - 1 1 16 4 -1. - <_> - 1 1 8 2 2. - <_> - 9 3 8 2 2. - <_> - - <_> - 7 2 4 2 -1. - <_> - 7 2 2 1 2. - <_> - 9 3 2 1 2. - <_> - - <_> - 7 4 9 3 -1. - <_> - 7 5 9 1 3. - <_> - - <_> - 10 4 5 12 -1. - <_> - 10 10 5 6 2. - <_> - - <_> - 3 12 2 3 -1. - <_> - 3 13 2 1 3. - <_> - - <_> - 8 8 3 5 -1. - <_> - 9 8 1 5 3. - <_> - - <_> - 13 9 2 3 -1. - <_> - 13 9 1 3 2. - <_> - - <_> - 15 11 2 2 -1. - <_> - 15 12 2 1 2. - <_> - - <_> - 5 6 2 3 -1. - <_> - 5 7 2 1 3. - <_> - - <_> - 2 11 6 2 -1. - <_> - 2 12 6 1 2. - <_> - - <_> - 15 11 4 3 -1. - <_> - 15 12 4 1 3. - <_> - - <_> - 16 0 4 17 -1. - <_> - 16 0 2 17 2. - <_> - - <_> - 1 11 4 3 -1. - <_> - 1 12 4 1 3. - <_> - - <_> - 9 11 1 3 -1. - <_> - 9 12 1 1 3. - <_> - - <_> - 10 9 6 7 -1. - <_> - 10 9 3 7 2. - <_> - - <_> - 8 15 4 2 -1. - <_> - 8 16 4 1 2. - <_> - - <_> - 4 9 6 7 -1. - <_> - 7 9 3 7 2. - <_> - - <_> - 9 14 2 3 -1. - <_> - 9 15 2 1 3. - <_> - - <_> - 0 2 20 2 -1. - <_> - 10 2 10 1 2. - <_> - 0 3 10 1 2. - <_> - - <_> - 6 7 8 2 -1. - <_> - 6 8 8 1 2. - <_> - - <_> - 0 2 20 2 -1. - <_> - 0 2 10 1 2. - <_> - 10 3 10 1 2. - <_> - - <_> - 3 1 2 10 -1. - <_> - 3 1 1 5 2. - <_> - 4 6 1 5 2. - <_> - - <_> - 13 4 1 10 -1. - <_> - 13 9 1 5 2. - <_> - - <_> - 9 8 4 3 -1. - <_> - 9 9 4 1 3. - <_> - - <_> - 2 11 16 4 -1. - <_> - 2 11 8 2 2. - <_> - 10 13 8 2 2. - <_> - - <_> - 5 1 3 5 -1. - <_> - 6 1 1 5 3. - <_> - - <_> - 9 10 2 3 -1. - <_> - 9 11 2 1 3. - <_> - - <_> - 9 11 2 2 -1. - <_> - 9 12 2 1 2. - <_> - - <_> - 0 10 20 2 -1. - <_> - 0 11 20 1 2. - <_> - - <_> - 1 7 6 4 -1. - <_> - 1 7 3 2 2. - <_> - 4 9 3 2 2. - <_> - - <_> - 12 0 8 8 -1. - <_> - 16 0 4 4 2. - <_> - 12 4 4 4 2. - <_> - - <_> - 14 1 6 4 -1. - <_> - 16 1 2 4 3. - <_> - - <_> - 6 3 2 14 -1. - <_> - 6 10 2 7 2. - <_> - - <_> - 6 1 7 12 -1. - <_> - 6 7 7 6 2. - <_> - - <_> - 5 0 15 5 -1. - <_> - 10 0 5 5 3. - <_> - - <_> - 15 0 4 10 -1. - <_> - 15 0 2 10 2. - <_> - - <_> - 1 0 18 3 -1. - <_> - 7 0 6 3 3. - <_> - - <_> - 0 0 17 2 -1. - <_> - 0 1 17 1 2. - <_> - - <_> - 10 0 3 3 -1. - <_> - 11 0 1 3 3. - <_> - - <_> - 10 0 3 12 -1. - <_> - 11 0 1 12 3. - <_> - - <_> - 1 3 4 16 -1. - <_> - 1 3 2 8 2. - <_> - 3 11 2 8 2. - <_> - - <_> - 7 0 3 3 -1. - <_> - 8 0 1 3 3. - <_> - - <_> - 9 13 2 6 -1. - <_> - 9 16 2 3 2. - <_> - - <_> - 9 0 6 13 -1. - <_> - 11 0 2 13 3. - <_> - - <_> - 7 7 3 2 -1. - <_> - 8 7 1 2 3. - <_> - - <_> - 8 2 1 12 -1. - <_> - 8 6 1 4 3. - <_> - - <_> - 4 10 12 6 -1. - <_> - 10 10 6 3 2. - <_> - 4 13 6 3 2. - <_> - - <_> - 13 5 2 3 -1. - <_> - 13 6 2 1 3. - <_> - - <_> - 4 10 12 6 -1. - <_> - 4 10 6 3 2. - <_> - 10 13 6 3 2. - <_> - - <_> - 5 5 2 3 -1. - <_> - 5 6 2 1 3. - <_> - - <_> - 8 6 6 7 -1. - <_> - 10 6 2 7 3. - <_> - - <_> - 9 6 2 4 -1. - <_> - 9 6 1 4 2. - <_> - - <_> - 6 6 6 7 -1. - <_> - 8 6 2 7 3. - <_> - - <_> - 9 6 2 4 -1. - <_> - 10 6 1 4 2. - <_> - - <_> - 12 9 2 3 -1. - <_> - 12 9 1 3 2. - <_> - - <_> - 0 6 20 1 -1. - <_> - 0 6 10 1 2. - <_> - - <_> - 5 7 10 2 -1. - <_> - 10 7 5 2 2. - <_> - - <_> - 1 16 4 3 -1. - <_> - 1 17 4 1 3. - <_> - - <_> - 12 4 3 3 -1. - <_> - 12 5 3 1 3. - <_> - - <_> - 10 3 5 3 -1. - <_> - 10 4 5 1 3. - <_> - - <_> - 3 9 14 8 -1. - <_> - 3 9 7 4 2. - <_> - 10 13 7 4 2. - <_> - - <_> - 6 8 8 10 -1. - <_> - 6 8 4 5 2. - <_> - 10 13 4 5 2. - <_> - - <_> - 12 4 3 3 -1. - <_> - 12 5 3 1 3. - <_> - - <_> - 10 3 5 3 -1. - <_> - 10 4 5 1 3. - <_> - - <_> - 5 4 3 3 -1. - <_> - 5 5 3 1 3. - <_> - - <_> - 5 3 5 3 -1. - <_> - 5 4 5 1 3. - <_> - - <_> - 13 16 2 3 -1. - <_> - 13 17 2 1 3. - <_> - - <_> - 0 5 20 6 -1. - <_> - 0 7 20 2 3. - <_> - - <_> - 3 14 3 3 -1. - <_> - 3 15 3 1 3. - <_> - - <_> - 7 15 5 3 -1. - <_> - 7 16 5 1 3. - <_> - - <_> - 12 9 2 3 -1. - <_> - 12 9 1 3 2. - <_> - - <_> - 15 13 2 6 -1. - <_> - 15 13 1 6 2. - <_> - - <_> - 6 9 2 3 -1. - <_> - 7 9 1 3 2. - <_> - - <_> - 3 13 2 6 -1. - <_> - 4 13 1 6 2. - <_> - - <_> - 11 4 2 4 -1. - <_> - 11 4 1 4 2. - <_> - - <_> - 13 4 2 5 -1. - <_> - 13 4 1 5 2. - <_> - - <_> - 7 4 2 4 -1. - <_> - 8 4 1 4 2. - <_> - - <_> - 5 4 2 5 -1. - <_> - 6 4 1 5 2. - <_> - - <_> - 19 6 1 2 -1. - <_> - 19 7 1 1 2. - <_> - - <_> - 12 7 8 13 -1. - <_> - 12 7 4 13 2. - <_> - - <_> - 0 6 1 2 -1. - <_> - 0 7 1 1 2. - <_> - - <_> - 6 15 4 3 -1. - <_> - 6 16 4 1 3. - <_> - - <_> - 11 8 2 2 -1. - <_> - 11 9 2 1 2. - <_> - - <_> - 11 7 2 4 -1. - <_> - 11 7 1 4 2. - <_> - - <_> - 4 13 2 3 -1. - <_> - 4 14 2 1 3. - <_> - - <_> - 0 17 18 3 -1. - <_> - 6 17 6 3 3. - <_> - - <_> - 1 0 18 5 -1. - <_> - 7 0 6 5 3. - <_> - - <_> - 5 7 3 4 -1. - <_> - 5 9 3 2 2. - <_> - - <_> - 10 6 2 2 -1. - <_> - 10 6 1 2 2. - <_> - - <_> - 6 4 14 4 -1. - <_> - 13 4 7 2 2. - <_> - 6 6 7 2 2. - <_> - - <_> - 5 16 6 4 -1. - <_> - 5 16 3 2 2. - <_> - 8 18 3 2 2. - <_> - - <_> - 7 15 2 4 -1. - <_> - 7 17 2 2 2. - <_> - - <_> - 8 5 5 14 -1. - <_> - 8 12 5 7 2. - <_> - - <_> - 9 9 2 2 -1. - <_> - 9 10 2 1 2. - <_> - - <_> - 7 5 3 7 -1. - <_> - 8 5 1 7 3. - <_> - - <_> - 0 0 3 9 -1. - <_> - 0 3 3 3 3. - <_> - - <_> - 8 6 8 8 -1. - <_> - 12 6 4 4 2. - <_> - 8 10 4 4 2. - <_> - - <_> - 4 8 13 2 -1. - <_> - 4 9 13 1 2. - <_> - - <_> - 4 3 6 1 -1. - <_> - 6 3 2 1 3. - <_> - - <_> - 9 1 2 6 -1. - <_> - 9 3 2 2 3. - <_> - - <_> - 10 5 6 4 -1. - <_> - 12 5 2 4 3. - <_> - - <_> - 9 5 2 12 -1. - <_> - 9 9 2 4 3. - <_> - - <_> - 8 14 4 3 -1. - <_> - 8 15 4 1 3. - <_> - - <_> - 8 12 4 3 -1. - <_> - 8 13 4 1 3. - <_> - - <_> - 10 3 6 7 -1. - <_> - 12 3 2 7 3. - <_> - - <_> - 3 10 16 6 -1. - <_> - 3 12 16 2 3. - <_> - - <_> - 5 5 3 10 -1. - <_> - 5 10 3 5 2. - <_> - - <_> - 6 10 3 6 -1. - <_> - 6 13 3 3 2. - <_> - - <_> - 17 2 2 12 -1. - <_> - 17 2 1 12 2. - <_> - - <_> - 16 6 2 14 -1. - <_> - 16 13 2 7 2. - <_> - - <_> - 3 11 12 9 -1. - <_> - 3 14 12 3 3. - <_> - - <_> - 0 2 4 12 -1. - <_> - 2 2 2 12 2. - <_> - - <_> - 18 0 2 18 -1. - <_> - 18 0 1 18 2. - <_> - - <_> - 16 12 3 2 -1. - <_> - 16 13 3 1 2. - <_> - - <_> - 0 2 2 15 -1. - <_> - 1 2 1 15 2. - <_> - - <_> - 1 10 2 4 -1. - <_> - 1 12 2 2 2. - <_> - - <_> - 11 1 2 18 -1. - <_> - 11 1 1 18 2. - <_> - - <_> - 3 2 14 2 -1. - <_> - 10 2 7 1 2. - <_> - 3 3 7 1 2. - <_> - - <_> - 7 1 2 18 -1. - <_> - 8 1 1 18 2. - <_> - - <_> - 6 1 8 12 -1. - <_> - 6 7 8 6 2. - <_> - - <_> - 8 14 4 3 -1. - <_> - 8 15 4 1 3. - <_> - - <_> - 7 14 6 3 -1. - <_> - 7 15 6 1 3. - <_> - - <_> - 0 13 5 2 -1. - <_> - 0 14 5 1 2. - <_> - - <_> - 9 0 2 6 -1. - <_> - 9 0 1 3 2. - <_> - 10 3 1 3 2. - <_> - - <_> - 9 0 2 6 -1. - <_> - 10 0 1 3 2. - <_> - 9 3 1 3 2. - <_> - - <_> - 9 7 3 6 -1. - <_> - 10 7 1 6 3. - <_> - - <_> - 9 0 2 6 -1. - <_> - 9 0 1 3 2. - <_> - 10 3 1 3 2. - <_> - - <_> - 8 7 3 6 -1. - <_> - 9 7 1 6 3. - <_> - - <_> - 9 6 2 6 -1. - <_> - 9 6 1 6 2. - <_> - - <_> - 9 4 4 3 -1. - <_> - 9 4 2 3 2. - <_> - - <_> - 0 4 4 3 -1. - <_> - 0 5 4 1 3. - <_> - - <_> - 8 7 4 2 -1. - <_> - 8 8 4 1 2. - <_> - - <_> - 10 6 6 3 -1. - <_> - 12 6 2 3 3. - <_> - - <_> - 9 6 3 12 -1. - <_> - 9 10 3 4 3. - <_> - - <_> - 5 4 2 3 -1. - <_> - 5 5 2 1 3. - <_> - - <_> - 5 6 1 3 -1. - <_> - 5 7 1 1 3. - <_> - - <_> - 9 17 3 2 -1. - <_> - 10 17 1 2 3. - <_> - - <_> - 0 7 20 2 -1. - <_> - 0 8 20 1 2. - <_> - - <_> - 4 3 6 7 -1. - <_> - 6 3 2 7 3. - <_> - - <_> - 5 10 6 10 -1. - <_> - 5 10 3 5 2. - <_> - 8 15 3 5 2. - <_> - - <_> - 9 17 3 2 -1. - <_> - 10 17 1 2 3. - <_> - - <_> - 9 10 2 2 -1. - <_> - 9 11 2 1 2. - <_> - - <_> - 8 17 3 2 -1. - <_> - 9 17 1 2 3. - <_> - - <_> - 5 6 1 3 -1. - <_> - 5 7 1 1 3. - <_> - - <_> - 0 1 20 2 -1. - <_> - 10 1 10 1 2. - <_> - 0 2 10 1 2. - <_> - - <_> - 14 2 6 9 -1. - <_> - 14 5 6 3 3. - <_> - - <_> - 5 3 3 2 -1. - <_> - 5 4 3 1 2. - <_> - - <_> - 5 4 4 2 -1. - <_> - 7 4 2 2 2. - <_> - - <_> - 14 2 6 9 -1. - <_> - 14 5 6 3 3. - <_> - - <_> - 0 12 20 6 -1. - <_> - 0 14 20 2 3. - <_> - - <_> - 2 2 16 4 -1. - <_> - 2 2 8 2 2. - <_> - 10 4 8 2 2. - <_> - - <_> - 7 12 5 3 -1. - <_> - 7 13 5 1 3. - <_> - - <_> - 14 9 6 10 -1. - <_> - 14 9 3 10 2. - <_> - - <_> - 16 6 3 2 -1. - <_> - 16 7 3 1 2. - <_> - - <_> - 0 9 6 10 -1. - <_> - 3 9 3 10 2. - <_> - - <_> - 0 16 5 2 -1. - <_> - 0 17 5 1 2. - <_> - - <_> - 9 12 2 3 -1. - <_> - 9 13 2 1 3. - <_> - - <_> - 9 7 2 12 -1. - <_> - 9 11 2 4 3. - <_> - - <_> - 3 2 6 2 -1. - <_> - 5 2 2 2 3. - <_> - - <_> - 4 1 1 2 -1. - <_> - 4 2 1 1 2. - <_> - - <_> - 11 15 1 2 -1. - <_> - 11 16 1 1 2. - <_> - - <_> - 3 1 16 2 -1. - <_> - 11 1 8 1 2. - <_> - 3 2 8 1 2. - <_> - - <_> - 3 6 2 2 -1. - <_> - 3 6 1 1 2. - <_> - 4 7 1 1 2. - <_> - - <_> - 5 11 10 6 -1. - <_> - 5 11 5 3 2. - <_> - 10 14 5 3 2. - <_> - - <_> - 10 11 4 6 -1. - <_> - 10 14 4 3 2. - <_> - - <_> - 14 9 6 11 -1. - <_> - 16 9 2 11 3. - <_> - - <_> - 0 9 6 11 -1. - <_> - 2 9 2 11 3. - <_> - - <_> - 2 11 16 6 -1. - <_> - 2 11 8 3 2. - <_> - 10 14 8 3 2. - <_> - - <_> - 12 0 8 10 -1. - <_> - 16 0 4 5 2. - <_> - 12 5 4 5 2. - <_> - - <_> - 14 2 6 4 -1. - <_> - 16 2 2 4 3. - <_> - - <_> - 0 0 8 10 -1. - <_> - 0 0 4 5 2. - <_> - 4 5 4 5 2. - <_> - - <_> - 0 2 6 4 -1. - <_> - 2 2 2 4 3. - <_> - - <_> - 4 9 15 2 -1. - <_> - 9 9 5 2 3. - <_> - - <_> - 12 3 4 8 -1. - <_> - 14 3 2 4 2. - <_> - 12 7 2 4 2. - <_> - - <_> - 9 2 2 9 -1. - <_> - 10 2 1 9 2. - <_> - - <_> - 0 2 20 1 -1. - <_> - 10 2 10 1 2. - <_> - - <_> - 16 1 4 5 -1. - <_> - 16 1 2 5 2. - <_> - - <_> - 16 0 4 6 -1. - <_> - 16 3 4 3 2. - <_> - - <_> - 4 3 6 4 -1. - <_> - 6 3 2 4 3. - <_> - - <_> - 0 0 18 5 -1. - <_> - 6 0 6 5 3. - <_> - - <_> - 6 2 12 14 -1. - <_> - 12 2 6 7 2. - <_> - 6 9 6 7 2. - <_> - - <_> - 11 8 3 5 -1. - <_> - 12 8 1 5 3. - <_> - - <_> - 5 12 2 2 -1. - <_> - 5 13 2 1 2. - <_> - - <_> - 5 10 4 3 -1. - <_> - 7 10 2 3 2. - <_> - - <_> - 4 9 15 2 -1. - <_> - 9 9 5 2 3. - <_> - - <_> - 10 7 6 2 -1. - <_> - 12 7 2 2 3. - <_> - - <_> - 1 9 15 2 -1. - <_> - 6 9 5 2 3. - <_> - - <_> - 5 0 2 10 -1. - <_> - 5 0 1 5 2. - <_> - 6 5 1 5 2. - <_> - - <_> - 0 0 20 14 -1. - <_> - 0 7 20 7 2. - <_> - - <_> - 12 7 8 4 -1. - <_> - 12 7 4 4 2. - <_> - - <_> - 0 7 8 4 -1. - <_> - 4 7 4 4 2. - <_> - - <_> - 8 1 3 3 -1. - <_> - 9 1 1 3 3. - <_> - - <_> - 9 7 3 4 -1. - <_> - 10 7 1 4 3. - <_> - - <_> - 9 9 3 1 -1. - <_> - 10 9 1 1 3. - <_> - - <_> - 8 9 3 2 -1. - <_> - 8 10 3 1 2. - <_> - - <_> - 8 4 2 8 -1. - <_> - 8 4 1 4 2. - <_> - 9 8 1 4 2. - <_> - - <_> - 5 8 12 3 -1. - <_> - 5 9 12 1 3. - <_> - - <_> - 11 14 1 3 -1. - <_> - 11 15 1 1 3. - <_> - - <_> - 6 10 3 6 -1. - <_> - 6 12 3 2 3. - <_> - - <_> - 4 17 8 3 -1. - <_> - 4 18 8 1 3. - <_> - - <_> - 17 6 2 3 -1. - <_> - 17 7 2 1 3. - <_> - - <_> - 9 12 2 2 -1. - <_> - 10 12 1 1 2. - <_> - 9 13 1 1 2. - <_> - - <_> - 9 13 2 4 -1. - <_> - 9 13 1 2 2. - <_> - 10 15 1 2 2. - <_> - - <_> - 9 11 2 3 -1. - <_> - 9 12 2 1 3. - <_> - - <_> - 5 5 12 10 -1. - <_> - 11 5 6 5 2. - <_> - 5 10 6 5 2. - <_> - - <_> - 6 3 12 12 -1. - <_> - 12 3 6 6 2. - <_> - 6 9 6 6 2. - <_> - - <_> - 5 7 2 2 -1. - <_> - 5 7 1 1 2. - <_> - 6 8 1 1 2. - <_> - - <_> - 4 3 3 2 -1. - <_> - 5 3 1 2 3. - <_> - - <_> - 6 2 12 14 -1. - <_> - 12 2 6 7 2. - <_> - 6 9 6 7 2. - <_> - - <_> - 5 2 12 3 -1. - <_> - 9 2 4 3 3. - <_> - - <_> - 1 1 18 17 -1. - <_> - 7 1 6 17 3. - <_> - - <_> - 0 9 10 1 -1. - <_> - 5 9 5 1 2. - <_> - - <_> - 16 8 4 3 -1. - <_> - 16 9 4 1 3. - <_> - - <_> - 7 13 6 6 -1. - <_> - 7 16 6 3 2. - <_> - - <_> - 6 14 1 6 -1. - <_> - 6 16 1 2 3. - <_> - - <_> - 6 17 4 2 -1. - <_> - 6 18 4 1 2. - <_> - - <_> - 10 18 6 2 -1. - <_> - 13 18 3 1 2. - <_> - 10 19 3 1 2. - <_> - - <_> - 16 8 1 3 -1. - <_> - 16 9 1 1 3. - <_> - - <_> - 8 13 4 3 -1. - <_> - 8 14 4 1 3. - <_> - - <_> - 9 15 1 2 -1. - <_> - 9 16 1 1 2. - <_> - - <_> - 13 0 3 12 -1. - <_> - 14 0 1 12 3. - <_> - - <_> - 15 11 1 3 -1. - <_> - 15 12 1 1 3. - <_> - - <_> - 8 15 3 3 -1. - <_> - 8 16 3 1 3. - <_> - - <_> - 4 0 3 12 -1. - <_> - 5 0 1 12 3. - <_> - - <_> - 9 7 3 3 -1. - <_> - 10 7 1 3 3. - <_> - - <_> - 9 9 3 1 -1. - <_> - 10 9 1 1 3. - <_> - - <_> - 2 2 12 14 -1. - <_> - 2 2 6 7 2. - <_> - 8 9 6 7 2. - <_> - - <_> - 4 2 12 3 -1. - <_> - 8 2 4 3 3. - <_> - - <_> - 18 18 2 2 -1. - <_> - 18 18 1 2 2. - <_> - - <_> - 17 2 3 8 -1. - <_> - 18 2 1 8 3. - <_> - - <_> - 0 18 2 2 -1. - <_> - 1 18 1 2 2. - <_> - - <_> - 6 11 2 6 -1. - <_> - 6 14 2 3 2. - <_> - - <_> - 13 10 5 6 -1. - <_> - 13 12 5 2 3. - <_> - - <_> - 5 8 15 3 -1. - <_> - 5 9 15 1 3. - <_> - - <_> - 2 10 5 6 -1. - <_> - 2 12 5 2 3. - <_> - - <_> - 0 8 15 3 -1. - <_> - 0 9 15 1 3. - <_> - - <_> - 16 2 3 1 -1. - <_> - 17 2 1 1 3. - <_> - - <_> - 17 4 3 2 -1. - <_> - 18 4 1 2 3. - <_> - - <_> - 0 8 8 12 -1. - <_> - 0 8 4 6 2. - <_> - 4 14 4 6 2. - <_> - - <_> - 1 7 8 6 -1. - <_> - 1 7 4 3 2. - <_> - 5 10 4 3 2. - <_> - - <_> - 14 1 6 2 -1. - <_> - 16 1 2 2 3. - <_> - - <_> - 15 0 4 4 -1. - <_> - 17 0 2 2 2. - <_> - 15 2 2 2 2. - <_> - - <_> - 1 1 4 11 -1. - <_> - 3 1 2 11 2. - <_> - - <_> - 5 5 1 8 -1. - <_> - 5 9 1 4 2. - <_> - - <_> - 7 7 6 1 -1. - <_> - 9 7 2 1 3. - <_> - - <_> - 4 7 12 2 -1. - <_> - 8 7 4 2 3. - <_> - - <_> - 8 4 4 4 -1. - <_> - 8 6 4 2 2. - <_> - - <_> - 2 4 9 1 -1. - <_> - 5 4 3 1 3. - <_> - - <_> - 9 12 2 8 -1. - <_> - 9 16 2 4 2. - <_> - - <_> - 3 8 14 12 -1. - <_> - 3 14 14 6 2. - <_> - - <_> - 6 13 7 3 -1. - <_> - 6 14 7 1 3. - <_> - - <_> - 5 9 6 3 -1. - <_> - 7 9 2 3 3. - <_> - - <_> - 12 1 6 3 -1. - <_> - 12 2 6 1 3. - <_> - - <_> - 8 12 6 2 -1. - <_> - 8 13 6 1 2. - <_> - - <_> - 0 2 18 2 -1. - <_> - 0 2 9 1 2. - <_> - 9 3 9 1 2. - <_> - - <_> - 6 10 3 6 -1. - <_> - 6 13 3 3 2. - <_> - - <_> - 14 0 6 6 -1. - <_> - 14 0 3 6 2. - <_> - - <_> - 15 0 5 8 -1. - <_> - 15 4 5 4 2. - <_> - - <_> - 7 16 6 4 -1. - <_> - 9 16 2 4 3. - <_> - - <_> - 2 11 14 4 -1. - <_> - 2 11 7 2 2. - <_> - 9 13 7 2 2. - <_> - - <_> - 14 10 6 10 -1. - <_> - 14 10 3 10 2. - <_> - - <_> - 9 8 10 12 -1. - <_> - 14 8 5 6 2. - <_> - 9 14 5 6 2. - <_> - - <_> - 0 10 6 10 -1. - <_> - 3 10 3 10 2. - <_> - - <_> - 1 8 10 12 -1. - <_> - 1 8 5 6 2. - <_> - 6 14 5 6 2. - <_> - - <_> - 9 3 6 1 -1. - <_> - 11 3 2 1 3. - <_> - - <_> - 7 4 6 3 -1. - <_> - 9 4 2 3 3. - <_> - - <_> - 5 3 6 1 -1. - <_> - 7 3 2 1 3. - <_> - - <_> - 4 5 6 3 -1. - <_> - 6 5 2 3 3. - <_> - - <_> - 9 16 3 3 -1. - <_> - 9 17 3 1 3. - <_> - - <_> - 8 14 6 3 -1. - <_> - 8 15 6 1 3. - <_> - - <_> - 6 0 8 12 -1. - <_> - 6 0 4 6 2. - <_> - 10 6 4 6 2. - <_> - - <_> - 4 12 2 3 -1. - <_> - 4 13 2 1 3. - <_> - - <_> - 12 16 6 3 -1. - <_> - 12 17 6 1 3. - <_> - - <_> - 7 12 7 2 -1. - <_> - 7 13 7 1 2. - <_> - - <_> - 2 16 6 3 -1. - <_> - 2 17 6 1 3. - <_> - - <_> - 0 7 16 6 -1. - <_> - 0 10 16 3 2. - <_> - - <_> - 9 7 3 3 -1. - <_> - 10 7 1 3 3. - <_> - - <_> - 9 7 3 5 -1. - <_> - 10 7 1 5 3. - <_> - - <_> - 0 5 20 10 -1. - <_> - 0 5 10 5 2. - <_> - 10 10 10 5 2. - <_> - - <_> - 3 1 4 2 -1. - <_> - 5 1 2 2 2. - <_> - - <_> - 7 6 8 10 -1. - <_> - 11 6 4 5 2. - <_> - 7 11 4 5 2. - <_> - - <_> - 17 6 3 2 -1. - <_> - 17 7 3 1 2. - <_> - - <_> - 5 6 8 10 -1. - <_> - 5 6 4 5 2. - <_> - 9 11 4 5 2. - <_> - - <_> - 5 12 10 6 -1. - <_> - 5 14 10 2 3. - <_> - - <_> - 9 7 3 3 -1. - <_> - 10 7 1 3 3. - <_> - - <_> - 10 3 2 6 -1. - <_> - 11 3 1 3 2. - <_> - 10 6 1 3 2. - <_> - - <_> - 0 4 3 3 -1. - <_> - 0 5 3 1 3. - <_> - - <_> - 3 16 8 4 -1. - <_> - 3 16 4 2 2. - <_> - 7 18 4 2 2. - <_> - - <_> - 8 13 5 2 -1. - <_> - 8 14 5 1 2. - <_> - - <_> - 8 7 4 12 -1. - <_> - 8 11 4 4 3. - <_> - - <_> - 5 9 2 2 -1. - <_> - 6 9 1 2 2. - <_> - - <_> - 9 15 2 3 -1. - <_> - 9 16 2 1 3. - <_> - - <_> - 13 9 2 3 -1. - <_> - 13 9 1 3 2. - <_> - - <_> - 14 0 6 17 -1. - <_> - 16 0 2 17 3. - <_> - - <_> - 5 10 2 2 -1. - <_> - 6 10 1 2 2. - <_> - - <_> - 2 9 9 1 -1. - <_> - 5 9 3 1 3. - <_> - - <_> - 9 11 2 3 -1. - <_> - 9 12 2 1 3. - <_> - - <_> - 7 11 6 3 -1. - <_> - 7 12 6 1 3. - <_> - - <_> - 0 6 3 2 -1. - <_> - 0 7 3 1 2. - <_> - - <_> - 7 0 6 1 -1. - <_> - 9 0 2 1 3. - <_> - - <_> - 9 16 3 3 -1. - <_> - 9 17 3 1 3. - <_> - - <_> - 2 13 17 6 -1. - <_> - 2 16 17 3 2. - <_> - - <_> - 1 3 3 7 -1. - <_> - 2 3 1 7 3. - <_> - - <_> - 1 1 6 4 -1. - <_> - 3 1 2 4 3. - <_> - - <_> - 14 1 6 5 -1. - <_> - 14 1 3 5 2. - <_> - - <_> - 13 2 3 2 -1. - <_> - 13 3 3 1 2. - <_> - - <_> - 0 1 6 5 -1. - <_> - 3 1 3 5 2. - <_> - - <_> - 2 3 2 6 -1. - <_> - 2 5 2 2 3. - <_> - - <_> - 9 10 3 2 -1. - <_> - 9 11 3 1 2. - <_> - - <_> - 8 13 4 3 -1. - <_> - 8 14 4 1 3. - <_> - - <_> - 6 3 3 1 -1. - <_> - 7 3 1 1 3. - <_> - - <_> - 8 2 3 12 -1. - <_> - 8 6 3 4 3. - <_> - - <_> - 11 12 1 2 -1. - <_> - 11 13 1 1 2. - <_> - - <_> - 11 12 2 2 -1. - <_> - 12 12 1 1 2. - <_> - 11 13 1 1 2. - <_> - - <_> - 5 5 2 2 -1. - <_> - 5 6 2 1 2. - <_> - - <_> - 5 4 1 3 -1. - <_> - 5 5 1 1 3. - <_> - - <_> - 3 11 16 4 -1. - <_> - 11 11 8 2 2. - <_> - 3 13 8 2 2. - <_> - - <_> - 0 10 20 3 -1. - <_> - 0 11 20 1 3. - <_> - - <_> - 1 11 16 4 -1. - <_> - 1 11 8 2 2. - <_> - 9 13 8 2 2. - <_> - - <_> - 4 2 4 2 -1. - <_> - 4 3 4 1 2. - <_> - - <_> - 12 6 2 2 -1. - <_> - 13 6 1 1 2. - <_> - 12 7 1 1 2. - <_> - - <_> - 12 11 6 6 -1. - <_> - 12 13 6 2 3. - <_> - - <_> - 6 6 2 2 -1. - <_> - 6 6 1 1 2. - <_> - 7 7 1 1 2. - <_> - - <_> - 6 4 4 16 -1. - <_> - 8 4 2 16 2. - <_> - - <_> - 11 18 3 2 -1. - <_> - 11 19 3 1 2. - <_> - - <_> - 9 17 6 2 -1. - <_> - 12 17 3 1 2. - <_> - 9 18 3 1 2. - <_> - - <_> - 2 13 5 2 -1. - <_> - 2 14 5 1 2. - <_> - - <_> - 3 15 2 2 -1. - <_> - 3 16 2 1 2. - <_> - - <_> - 9 7 3 3 -1. - <_> - 10 7 1 3 3. - <_> - - <_> - 9 6 2 6 -1. - <_> - 9 6 1 6 2. - <_> - - <_> - 1 14 7 6 -1. - <_> - 1 16 7 2 3. - <_> - - <_> - 8 1 2 11 -1. - <_> - 9 1 1 11 2. - <_> - - <_> - 9 7 2 4 -1. - <_> - 9 7 1 4 2. - <_> - - <_> - 11 10 2 1 -1. - <_> - 11 10 1 1 2. - <_> - - <_> - 0 3 3 9 -1. - <_> - 1 3 1 9 3. - <_> - - <_> - 0 3 3 6 -1. - <_> - 0 5 3 2 3. - <_> - - <_> - 11 15 2 2 -1. - <_> - 12 15 1 1 2. - <_> - 11 16 1 1 2. - <_> - - <_> - 11 14 2 2 -1. - <_> - 12 14 1 1 2. - <_> - 11 15 1 1 2. - <_> - - <_> - 7 15 2 2 -1. - <_> - 7 15 1 1 2. - <_> - 8 16 1 1 2. - <_> - - <_> - 7 14 2 2 -1. - <_> - 7 14 1 1 2. - <_> - 8 15 1 1 2. - <_> - - <_> - 8 13 4 6 -1. - <_> - 10 13 2 3 2. - <_> - 8 16 2 3 2. - <_> - - <_> - 2 14 16 4 -1. - <_> - 10 14 8 2 2. - <_> - 2 16 8 2 2. - <_> - - <_> - 9 8 2 2 -1. - <_> - 9 9 2 1 2. - <_> - - <_> - 7 7 5 3 -1. - <_> - 7 8 5 1 3. - <_> - - <_> - 7 5 6 2 -1. - <_> - 9 5 2 2 3. - <_> - - <_> - 9 1 6 18 -1. - <_> - 11 1 2 18 3. - <_> - - <_> - 8 6 3 4 -1. - <_> - 9 6 1 4 3. - <_> - - <_> - 8 5 2 4 -1. - <_> - 8 5 1 2 2. - <_> - 9 7 1 2 2. - <_> - - <_> - 9 13 2 6 -1. - <_> - 10 13 1 3 2. - <_> - 9 16 1 3 2. - <_> - - <_> - 11 0 3 18 -1. - <_> - 12 0 1 18 3. - <_> - - <_> - 6 0 3 18 -1. - <_> - 7 0 1 18 3. - <_> - - <_> - 5 15 4 2 -1. - <_> - 7 15 2 2 2. - <_> - - <_> - 1 9 18 1 -1. - <_> - 7 9 6 1 3. - <_> - - <_> - 0 0 20 3 -1. - <_> - 0 1 20 1 3. - <_> - - <_> - 9 6 2 4 -1. - <_> - 10 6 1 4 2. - <_> - - <_> - 6 10 6 2 -1. - <_> - 8 10 2 2 3. - <_> - - <_> - 0 7 20 1 -1. - <_> - 0 7 10 1 2. - <_> - - <_> - 11 3 5 4 -1. - <_> - 11 5 5 2 2. - <_> - - <_> - 5 7 10 1 -1. - <_> - 10 7 5 1 2. - <_> - - <_> - 8 10 3 3 -1. - <_> - 8 11 3 1 3. - <_> - - <_> - 2 0 16 8 -1. - <_> - 10 0 8 4 2. - <_> - 2 4 8 4 2. - <_> - - <_> - 11 0 9 10 -1. - <_> - 11 5 9 5 2. - <_> - - <_> - 0 2 8 18 -1. - <_> - 4 2 4 18 2. - <_> - - <_> - 0 0 2 6 -1. - <_> - 0 2 2 2 3. - <_> - - <_> - 6 0 9 2 -1. - <_> - 6 1 9 1 2. - <_> - - <_> - 4 1 12 2 -1. - <_> - 4 2 12 1 2. - <_> - - <_> - 2 1 16 14 -1. - <_> - 2 8 16 7 2. - <_> - - <_> - 5 1 8 12 -1. - <_> - 5 7 8 6 2. - <_> - - <_> - 9 11 2 2 -1. - <_> - 9 12 2 1 2. - <_> - - <_> - 9 10 5 6 -1. - <_> - 9 12 5 2 3. - <_> - - <_> - 3 0 13 8 -1. - <_> - 3 4 13 4 2. - <_> - - <_> - 6 7 5 8 -1. - <_> - 6 11 5 4 2. - <_> - - <_> - 9 5 2 3 -1. - <_> - 9 6 2 1 3. - <_> - - <_> - 6 8 8 3 -1. - <_> - 6 9 8 1 3. - <_> - - <_> - 2 2 7 6 -1. - <_> - 2 5 7 3 2. - <_> - - <_> - 2 1 14 4 -1. - <_> - 2 1 7 2 2. - <_> - 9 3 7 2 2. - <_> - - <_> - 11 14 1 3 -1. - <_> - 11 15 1 1 3. - <_> - - <_> - 6 15 8 2 -1. - <_> - 6 16 8 1 2. - <_> - - <_> - 8 14 1 3 -1. - <_> - 8 15 1 1 3. - <_> - - <_> - 8 11 2 8 -1. - <_> - 8 15 2 4 2. - <_> - - <_> - 6 15 8 2 -1. - <_> - 6 16 8 1 2. - <_> - - <_> - 7 16 8 3 -1. - <_> - 7 17 8 1 3. - <_> - - <_> - 0 16 2 2 -1. - <_> - 0 17 2 1 2. - <_> - - <_> - 1 16 8 4 -1. - <_> - 1 16 4 2 2. - <_> - 5 18 4 2 2. - <_> - - <_> - 2 9 16 3 -1. - <_> - 2 10 16 1 3. - <_> - - <_> - 13 11 2 4 -1. - <_> - 13 11 1 4 2. - <_> - - <_> - 0 13 16 6 -1. - <_> - 0 15 16 2 3. - <_> - - <_> - 5 11 2 4 -1. - <_> - 6 11 1 4 2. - <_> - - <_> - 18 2 2 18 -1. - <_> - 19 2 1 9 2. - <_> - 18 11 1 9 2. - <_> - - <_> - 19 7 1 9 -1. - <_> - 19 10 1 3 3. - <_> - - <_> - 0 2 2 18 -1. - <_> - 0 2 1 9 2. - <_> - 1 11 1 9 2. - <_> - - <_> - 0 7 1 9 -1. - <_> - 0 10 1 3 3. - <_> - - <_> - 14 12 2 2 -1. - <_> - 14 13 2 1 2. - <_> - - <_> - 11 14 2 3 -1. - <_> - 11 15 2 1 3. - <_> - - <_> - 7 8 6 2 -1. - <_> - 7 9 6 1 2. - <_> - - <_> - 7 12 4 6 -1. - <_> - 7 12 2 3 2. - <_> - 9 15 2 3 2. - <_> - - <_> - 8 13 5 3 -1. - <_> - 8 14 5 1 3. - <_> - - <_> - 12 14 2 2 -1. - <_> - 13 14 1 1 2. - <_> - 12 15 1 1 2. - <_> - - <_> - 7 13 6 3 -1. - <_> - 7 14 6 1 3. - <_> - - <_> - 7 13 5 2 -1. - <_> - 7 14 5 1 2. - <_> - - <_> - 2 10 16 4 -1. - <_> - 10 10 8 2 2. - <_> - 2 12 8 2 2. - <_> - - <_> - 7 0 6 6 -1. - <_> - 9 0 2 6 3. - <_> - - <_> - 7 1 6 3 -1. - <_> - 7 2 6 1 3. - <_> - - <_> - 0 12 6 2 -1. - <_> - 0 13 6 1 2. - <_> - - <_> - 6 3 11 2 -1. - <_> - 6 4 11 1 2. - <_> - - <_> - 12 0 8 6 -1. - <_> - 16 0 4 3 2. - <_> - 12 3 4 3 2. - <_> - - <_> - 8 12 1 2 -1. - <_> - 8 13 1 1 2. - <_> - - <_> - 8 8 1 12 -1. - <_> - 8 12 1 4 3. - <_> - - <_> - 11 11 2 2 -1. - <_> - 12 11 1 1 2. - <_> - 11 12 1 1 2. - <_> - - <_> - 12 7 3 13 -1. - <_> - 13 7 1 13 3. - <_> - - <_> - 7 11 2 2 -1. - <_> - 7 11 1 1 2. - <_> - 8 12 1 1 2. - <_> - - <_> - 3 13 1 3 -1. - <_> - 3 14 1 1 3. - <_> - - <_> - 10 18 3 2 -1. - <_> - 11 18 1 2 3. - <_> - - <_> - 11 11 2 1 -1. - <_> - 11 11 1 1 2. - <_> - - <_> - 1 10 5 9 -1. - <_> - 1 13 5 3 3. - <_> - - <_> - 4 8 6 4 -1. - <_> - 6 8 2 4 3. - <_> - - <_> - 13 12 1 4 -1. - <_> - 13 14 1 2 2. - <_> - - <_> - 11 3 4 14 -1. - <_> - 13 3 2 7 2. - <_> - 11 10 2 7 2. - <_> - - <_> - 6 12 1 4 -1. - <_> - 6 14 1 2 2. - <_> - - <_> - 5 3 4 14 -1. - <_> - 5 3 2 7 2. - <_> - 7 10 2 7 2. - <_> - - <_> - 10 18 3 2 -1. - <_> - 11 18 1 2 3. - <_> - - <_> - 9 12 3 3 -1. - <_> - 9 13 3 1 3. - <_> - - <_> - 2 2 12 6 -1. - <_> - 2 2 6 3 2. - <_> - 8 5 6 3 2. - <_> - - <_> - 6 6 6 2 -1. - <_> - 9 6 3 2 2. - <_> - - <_> - 1 0 18 12 -1. - <_> - 7 0 6 12 3. - <_> - - <_> - 5 7 6 4 -1. - <_> - 5 7 3 2 2. - <_> - 8 9 3 2 2. - <_> - - <_> - 5 7 10 4 -1. - <_> - 5 9 10 2 2. - <_> - - <_> - 7 7 6 4 -1. - <_> - 9 7 2 4 3. - <_> - - <_> - 9 5 2 2 -1. - <_> - 9 6 2 1 2. - <_> - - <_> - 9 9 2 2 -1. - <_> - 9 10 2 1 2. - <_> - - <_> - 6 17 8 3 -1. - <_> - 6 18 8 1 3. - <_> - - <_> - 9 17 6 2 -1. - <_> - 12 17 3 1 2. - <_> - 9 18 3 1 2. - <_> - - <_> - 4 12 2 2 -1. - <_> - 4 13 2 1 2. - <_> - - <_> - 3 12 9 2 -1. - <_> - 3 13 9 1 2. - <_> - - <_> - 8 3 6 1 -1. - <_> - 10 3 2 1 3. - <_> - - <_> - 9 3 4 6 -1. - <_> - 11 3 2 3 2. - <_> - 9 6 2 3 2. - <_> - - <_> - 0 3 6 5 -1. - <_> - 3 3 3 5 2. - <_> - - <_> - 2 0 2 18 -1. - <_> - 2 6 2 6 3. - <_> - - <_> - 14 2 4 9 -1. - <_> - 14 5 4 3 3. - <_> - - <_> - 10 18 3 2 -1. - <_> - 11 18 1 2 3. - <_> - - <_> - 2 2 4 9 -1. - <_> - 2 5 4 3 3. - <_> - - <_> - 7 18 3 2 -1. - <_> - 8 18 1 2 3. - <_> - - <_> - 10 14 3 3 -1. - <_> - 10 15 3 1 3. - <_> - - <_> - 10 12 2 6 -1. - <_> - 10 15 2 3 2. - <_> - - <_> - 7 5 3 6 -1. - <_> - 7 7 3 2 3. - <_> - - <_> - 3 3 6 2 -1. - <_> - 3 4 6 1 2. - <_> - - <_> - 8 4 7 3 -1. - <_> - 8 5 7 1 3. - <_> - - <_> - 13 6 2 3 -1. - <_> - 13 7 2 1 3. - <_> - - <_> - 8 8 2 12 -1. - <_> - 8 12 2 4 3. - <_> - - <_> - 5 4 8 14 -1. - <_> - 5 4 4 7 2. - <_> - 9 11 4 7 2. - <_> - - <_> - 0 1 20 8 -1. - <_> - 10 1 10 4 2. - <_> - 0 5 10 4 2. - <_> - - <_> - 4 0 12 2 -1. - <_> - 4 1 12 1 2. - <_> - - <_> - 0 1 20 8 -1. - <_> - 0 1 10 4 2. - <_> - 10 5 10 4 2. - <_> - - <_> - 4 0 12 2 -1. - <_> - 4 1 12 1 2. - <_> - - <_> - 9 5 6 3 -1. - <_> - 9 5 3 3 2. - <_> - - <_> - 8 13 10 6 -1. - <_> - 8 15 10 2 3. - <_> - - <_> - 5 5 6 3 -1. - <_> - 8 5 3 3 2. - <_> - - <_> - 6 3 6 1 -1. - <_> - 8 3 2 1 3. - <_> - - <_> - 11 18 9 2 -1. - <_> - 14 18 3 2 3. - <_> - - <_> - 13 11 6 7 -1. - <_> - 13 11 3 7 2. - <_> - - <_> - 4 6 12 10 -1. - <_> - 4 6 6 5 2. - <_> - 10 11 6 5 2. - <_> - - <_> - 8 17 3 3 -1. - <_> - 9 17 1 3 3. - <_> - - <_> - 11 18 9 2 -1. - <_> - 14 18 3 2 3. - <_> - - <_> - 13 11 6 8 -1. - <_> - 13 11 3 8 2. - <_> - - <_> - 4 16 2 2 -1. - <_> - 4 17 2 1 2. - <_> - - <_> - 7 15 4 4 -1. - <_> - 7 17 4 2 2. - <_> - - <_> - 12 4 3 3 -1. - <_> - 12 5 3 1 3. - <_> - - <_> - 13 6 2 3 -1. - <_> - 13 7 2 1 3. - <_> - - <_> - 5 11 6 1 -1. - <_> - 7 11 2 1 3. - <_> - - <_> - 7 10 3 1 -1. - <_> - 8 10 1 1 3. - <_> - - <_> - 0 12 20 4 -1. - <_> - 0 14 20 2 2. - <_> - - <_> - 10 2 3 2 -1. - <_> - 10 3 3 1 2. - <_> - - <_> - 5 4 3 3 -1. - <_> - 5 5 3 1 3. - <_> - - <_> - 5 5 4 3 -1. - <_> - 5 6 4 1 3. - <_> - - <_> - 8 8 4 3 -1. - <_> - 8 9 4 1 3. - <_> - - <_> - 10 4 2 12 -1. - <_> - 10 8 2 4 3. - <_> - - <_> - 0 3 4 3 -1. - <_> - 0 4 4 1 3. - <_> - - <_> - 1 3 2 3 -1. - <_> - 1 4 2 1 3. - <_> - - <_> - 16 1 4 11 -1. - <_> - 16 1 2 11 2. - <_> - - <_> - 18 2 2 16 -1. - <_> - 19 2 1 8 2. - <_> - 18 10 1 8 2. - <_> - - <_> - 1 8 6 12 -1. - <_> - 3 8 2 12 3. - <_> - - <_> - 7 2 6 2 -1. - <_> - 7 2 3 1 2. - <_> - 10 3 3 1 2. - <_> - - <_> - 12 4 8 2 -1. - <_> - 16 4 4 1 2. - <_> - 12 5 4 1 2. - <_> - - <_> - 10 6 6 2 -1. - <_> - 12 6 2 2 3. - <_> - - <_> - 0 4 8 2 -1. - <_> - 0 4 4 1 2. - <_> - 4 5 4 1 2. - <_> - - <_> - 1 3 3 5 -1. - <_> - 2 3 1 5 3. - <_> - - <_> - 16 3 4 6 -1. - <_> - 16 5 4 2 3. - <_> - - <_> - 8 6 4 3 -1. - <_> - 8 7 4 1 3. - <_> - - <_> - 8 14 1 3 -1. - <_> - 8 15 1 1 3. - <_> - - <_> - 4 11 1 2 -1. - <_> - 4 12 1 1 2. - <_> - - <_> - 8 14 6 3 -1. - <_> - 8 15 6 1 3. - <_> - - <_> - 7 15 7 3 -1. - <_> - 7 16 7 1 3. - <_> - - <_> - 9 12 2 8 -1. - <_> - 9 16 2 4 2. - <_> - - <_> - 4 6 6 2 -1. - <_> - 6 6 2 2 3. - <_> - - <_> - 12 7 4 2 -1. - <_> - 12 8 4 1 2. - <_> - - <_> - 5 3 13 10 -1. - <_> - 5 8 13 5 2. - <_> - - <_> - 4 7 4 2 -1. - <_> - 4 8 4 1 2. - <_> - - <_> - 0 8 16 2 -1. - <_> - 0 8 8 1 2. - <_> - 8 9 8 1 2. - <_> - - <_> - 11 8 2 5 -1. - <_> - 11 8 1 5 2. - <_> - - <_> - 10 0 6 13 -1. - <_> - 10 0 3 13 2. - <_> - - <_> - 1 6 4 2 -1. - <_> - 1 7 4 1 2. - <_> - - <_> - 4 3 2 1 -1. - <_> - 5 3 1 1 2. - <_> - - <_> - 11 8 2 5 -1. - <_> - 11 8 1 5 2. - <_> - - <_> - 12 10 4 8 -1. - <_> - 12 10 2 8 2. - <_> - - <_> - 7 8 2 5 -1. - <_> - 8 8 1 5 2. - <_> - - <_> - 4 10 4 8 -1. - <_> - 6 10 2 8 2. - <_> - - <_> - 6 7 9 12 -1. - <_> - 9 7 3 12 3. - <_> - - <_> - 11 13 2 3 -1. - <_> - 11 13 1 3 2. - <_> - - <_> - 7 10 6 10 -1. - <_> - 10 10 3 10 2. - <_> - - <_> - 8 11 4 8 -1. - <_> - 8 11 2 4 2. - <_> - 10 15 2 4 2. - <_> - - <_> - 16 1 4 11 -1. - <_> - 16 1 2 11 2. - <_> - - <_> - 18 2 2 4 -1. - <_> - 18 2 1 4 2. - <_> - - <_> - 5 6 6 2 -1. - <_> - 5 6 3 1 2. - <_> - 8 7 3 1 2. - <_> - - <_> - 5 4 1 3 -1. - <_> - 5 5 1 1 3. - <_> - - <_> - 11 1 4 14 -1. - <_> - 11 1 2 14 2. - <_> - - <_> - 4 2 12 3 -1. - <_> - 8 2 4 3 3. - <_> - - <_> - 5 1 4 14 -1. - <_> - 7 1 2 14 2. - <_> - - <_> - 7 3 6 2 -1. - <_> - 9 3 2 2 3. - <_> - - <_> - 2 0 18 4 -1. - <_> - 8 0 6 4 3. - <_> - - <_> - 9 5 2 10 -1. - <_> - 9 10 2 5 2. - <_> - - <_> - 8 6 3 4 -1. - <_> - 9 6 1 4 3. - <_> - - <_> - 5 5 9 11 -1. - <_> - 8 5 3 11 3. - <_> - - <_> - 10 6 3 5 -1. - <_> - 11 6 1 5 3. - <_> - - <_> - 8 9 6 5 -1. - <_> - 8 9 3 5 2. - <_> - - <_> - 7 6 3 5 -1. - <_> - 8 6 1 5 3. - <_> - - <_> - 6 10 6 3 -1. - <_> - 9 10 3 3 2. - <_> - - <_> - 10 0 3 7 -1. - <_> - 11 0 1 7 3. - <_> - - <_> - 0 3 20 12 -1. - <_> - 0 9 20 6 2. - <_> - - <_> - 9 7 2 2 -1. - <_> - 10 7 1 2 2. - <_> - - <_> - 5 9 4 1 -1. - <_> - 7 9 2 1 2. - <_> - - <_> - 13 13 3 2 -1. - <_> - 13 14 3 1 2. - <_> - - <_> - 16 9 4 6 -1. - <_> - 16 9 2 6 2. - <_> - - <_> - 7 15 6 3 -1. - <_> - 7 16 6 1 3. - <_> - - <_> - 6 16 7 3 -1. - <_> - 6 17 7 1 3. - <_> - - <_> - 11 14 9 6 -1. - <_> - 11 16 9 2 3. - <_> - - <_> - 19 14 1 3 -1. - <_> - 19 15 1 1 3. - <_> - - <_> - 0 9 6 6 -1. - <_> - 3 9 3 6 2. - <_> - - <_> - 0 19 9 1 -1. - <_> - 3 19 3 1 3. - <_> - - <_> - 11 14 9 6 -1. - <_> - 11 16 9 2 3. - <_> - - <_> - 12 12 6 6 -1. - <_> - 12 14 6 2 3. - <_> - - <_> - 1 14 8 6 -1. - <_> - 1 16 8 2 3. - <_> - - <_> - 8 1 3 2 -1. - <_> - 9 1 1 2 3. - <_> - - <_> - 18 2 2 4 -1. - <_> - 18 2 1 4 2. - <_> - - <_> - 14 0 6 3 -1. - <_> - 16 0 2 3 3. - <_> - - <_> - 0 2 2 4 -1. - <_> - 1 2 1 4 2. - <_> - - <_> - 0 0 6 3 -1. - <_> - 2 0 2 3 3. - <_> - - <_> - 9 0 3 2 -1. - <_> - 10 0 1 2 3. - <_> - - <_> - 12 1 2 2 -1. - <_> - 12 1 1 2 2. - <_> - - <_> - 8 0 3 2 -1. - <_> - 9 0 1 2 3. - <_> - - <_> - 6 1 2 2 -1. - <_> - 7 1 1 2 2. - <_> - - <_> - 10 8 2 3 -1. - <_> - 10 9 2 1 3. - <_> - - <_> - 13 15 6 2 -1. - <_> - 13 16 6 1 2. - <_> - - <_> - 8 12 2 2 -1. - <_> - 8 12 1 1 2. - <_> - 9 13 1 1 2. - <_> - - <_> - 8 15 3 5 -1. - <_> - 9 15 1 5 3. - <_> - - <_> - 8 6 4 12 -1. - <_> - 8 12 4 6 2. - <_> - - <_> - 7 6 7 8 -1. - <_> - 7 10 7 4 2. - <_> - - <_> - 0 11 8 2 -1. - <_> - 0 12 8 1 2. - <_> - - <_> - 8 11 2 2 -1. - <_> - 8 11 1 1 2. - <_> - 9 12 1 1 2. - <_> - - <_> - 7 7 12 1 -1. - <_> - 11 7 4 1 3. - <_> - - <_> - 10 8 3 2 -1. - <_> - 11 8 1 2 3. - <_> - - <_> - 1 7 12 1 -1. - <_> - 5 7 4 1 3. - <_> - - <_> - 6 5 8 2 -1. - <_> - 6 5 4 1 2. - <_> - 10 6 4 1 2. - <_> - - <_> - 9 10 3 10 -1. - <_> - 10 10 1 10 3. - <_> - - <_> - 16 0 2 4 -1. - <_> - 16 0 1 4 2. - <_> - - <_> - 8 10 3 10 -1. - <_> - 9 10 1 10 3. - <_> - - <_> - 9 10 2 3 -1. - <_> - 9 11 2 1 3. - <_> - - <_> - 8 9 4 2 -1. - <_> - 10 9 2 1 2. - <_> - 8 10 2 1 2. - <_> - - <_> - 12 14 7 6 -1. - <_> - 12 16 7 2 3. - <_> - - <_> - 6 1 3 1 -1. - <_> - 7 1 1 1 3. - <_> - - <_> - 2 0 2 4 -1. - <_> - 3 0 1 4 2. - <_> - - <_> - 11 11 2 2 -1. - <_> - 12 11 1 1 2. - <_> - 11 12 1 1 2. - <_> - - <_> - 12 12 6 6 -1. - <_> - 12 14 6 2 3. - <_> - - <_> - 1 0 6 10 -1. - <_> - 1 0 3 5 2. - <_> - 4 5 3 5 2. - <_> - - <_> - 3 0 2 9 -1. - <_> - 3 3 2 3 3. - <_> - - <_> - 14 13 3 2 -1. - <_> - 14 14 3 1 2. - <_> - - <_> - 15 2 3 2 -1. - <_> - 15 3 3 1 2. - <_> - - <_> - 2 13 5 2 -1. - <_> - 2 14 5 1 2. - <_> - - <_> - 3 4 12 10 -1. - <_> - 3 4 6 5 2. - <_> - 9 9 6 5 2. - <_> - - <_> - 5 1 14 6 -1. - <_> - 5 3 14 2 3. - <_> - - <_> - 15 3 3 2 -1. - <_> - 15 4 3 1 2. - <_> - - <_> - 7 11 2 2 -1. - <_> - 7 11 1 1 2. - <_> - 8 12 1 1 2. - <_> - - <_> - 2 14 6 6 -1. - <_> - 2 16 6 2 3. - <_> - - <_> - 6 13 8 3 -1. - <_> - 6 14 8 1 3. - <_> - - <_> - 1 19 18 1 -1. - <_> - 7 19 6 1 3. - <_> - - <_> - 8 12 1 6 -1. - <_> - 8 15 1 3 2. - <_> - - <_> - 0 0 14 15 -1. - <_> - 0 5 14 5 3. - <_> - - <_> - 3 0 16 8 -1. - <_> - 3 4 16 4 2. - <_> - - <_> - 6 1 8 12 -1. - <_> - 6 7 8 6 2. - <_> - - <_> - 5 3 3 3 -1. - <_> - 6 3 1 3 3. - <_> - - <_> - 5 1 3 4 -1. - <_> - 6 1 1 4 3. - <_> - - <_> - 15 14 4 6 -1. - <_> - 17 14 2 3 2. - <_> - 15 17 2 3 2. - <_> - - <_> - 12 11 6 8 -1. - <_> - 15 11 3 4 2. - <_> - 12 15 3 4 2. - <_> - - <_> - 8 7 2 4 -1. - <_> - 9 7 1 4 2. - <_> - - <_> - 6 11 3 1 -1. - <_> - 7 11 1 1 3. - <_> - - <_> - 12 3 2 14 -1. - <_> - 12 3 1 14 2. - <_> - - <_> - 12 11 6 2 -1. - <_> - 15 11 3 1 2. - <_> - 12 12 3 1 2. - <_> - - <_> - 0 2 5 2 -1. - <_> - 0 3 5 1 2. - <_> - - <_> - 0 0 15 1 -1. - <_> - 5 0 5 1 3. - <_> - - <_> - 12 11 6 2 -1. - <_> - 15 11 3 1 2. - <_> - 12 12 3 1 2. - <_> - - <_> - 10 5 2 2 -1. - <_> - 10 5 1 2 2. - <_> - - <_> - 9 7 2 2 -1. - <_> - 10 7 1 2 2. - <_> - - <_> - 9 0 2 10 -1. - <_> - 9 0 1 5 2. - <_> - 10 5 1 5 2. - <_> - - <_> - 18 14 2 2 -1. - <_> - 18 15 2 1 2. - <_> - - <_> - 13 11 4 9 -1. - <_> - 13 14 4 3 3. - <_> - - <_> - 8 13 2 2 -1. - <_> - 8 13 1 1 2. - <_> - 9 14 1 1 2. - <_> - - <_> - 7 8 4 3 -1. - <_> - 7 9 4 1 3. - <_> - - <_> - 8 9 4 2 -1. - <_> - 8 10 4 1 2. - <_> - - <_> - 13 12 4 2 -1. - <_> - 13 13 4 1 2. - <_> - - <_> - 6 14 2 2 -1. - <_> - 6 14 1 1 2. - <_> - 7 15 1 1 2. - <_> - - <_> - 0 14 2 2 -1. - <_> - 0 15 2 1 2. - <_> - - <_> - 7 13 6 3 -1. - <_> - 7 14 6 1 3. - <_> - - <_> - 7 9 10 6 -1. - <_> - 7 11 10 2 3. - <_> - - <_> - 2 9 12 4 -1. - <_> - 6 9 4 4 3. - <_> - - <_> - 7 9 6 11 -1. - <_> - 10 9 3 11 2. - <_> - - <_> - 9 7 2 3 -1. - <_> - 9 8 2 1 3. - <_> - - <_> - 9 14 4 3 -1. - <_> - 9 15 4 1 3. - <_> - - <_> - 2 3 3 17 -1. - <_> - 3 3 1 17 3. - <_> - - <_> - 0 11 6 3 -1. - <_> - 0 12 6 1 3. - <_> - - <_> - 4 3 11 9 -1. - <_> - 4 6 11 3 3. - <_> - - <_> - 0 2 6 11 -1. - <_> - 3 2 3 11 2. - <_> - - <_> - 13 0 4 5 -1. - <_> - 13 0 2 5 2. - <_> - - <_> - 9 7 6 4 -1. - <_> - 12 7 3 2 2. - <_> - 9 9 3 2 2. - <_> - - <_> - 5 7 8 2 -1. - <_> - 9 7 4 2 2. - <_> - - <_> - 1 8 15 1 -1. - <_> - 6 8 5 1 3. - <_> - - <_> - 4 12 12 2 -1. - <_> - 8 12 4 2 3. - <_> - - <_> - 13 0 4 10 -1. - <_> - 15 0 2 5 2. - <_> - 13 5 2 5 2. - <_> - - <_> - 9 9 2 2 -1. - <_> - 9 10 2 1 2. - <_> - - <_> - 3 9 6 2 -1. - <_> - 6 9 3 2 2. - <_> - - <_> - 8 17 4 3 -1. - <_> - 8 18 4 1 3. - <_> - - <_> - 8 3 9 2 -1. - <_> - 11 3 3 2 3. - <_> - - <_> - 3 3 9 2 -1. - <_> - 6 3 3 2 3. - <_> - - <_> - 5 0 9 14 -1. - <_> - 8 0 3 14 3. - <_> - - <_> - 7 3 7 10 -1. - <_> - 7 8 7 5 2. - <_> - - <_> - 4 8 13 3 -1. - <_> - 4 9 13 1 3. - <_> - - <_> - 3 12 14 4 -1. - <_> - 3 12 7 2 2. - <_> - 10 14 7 2 2. - <_> - - <_> - 8 12 4 2 -1. - <_> - 8 13 4 1 2. - <_> - - <_> - 6 10 9 8 -1. - <_> - 6 14 9 4 2. - <_> - - <_> - 9 12 2 8 -1. - <_> - 9 16 2 4 2. - <_> - - <_> - 8 12 3 3 -1. - <_> - 8 13 3 1 3. - <_> - - <_> - 5 5 4 10 -1. - <_> - 7 5 2 10 2. - <_> - - <_> - 14 15 3 3 -1. - <_> - 14 16 3 1 3. - <_> - - <_> - 4 6 13 3 -1. - <_> - 4 7 13 1 3. - <_> - - <_> - 3 15 3 3 -1. - <_> - 3 16 3 1 3. - <_> - - <_> - 3 9 4 2 -1. - <_> - 3 9 2 1 2. - <_> - 5 10 2 1 2. - <_> - - <_> - 0 11 20 4 -1. - <_> - 10 11 10 2 2. - <_> - 0 13 10 2 2. - <_> - - <_> - 8 15 4 3 -1. - <_> - 8 16 4 1 3. - <_> - - <_> - 0 11 20 4 -1. - <_> - 0 11 10 2 2. - <_> - 10 13 10 2 2. - <_> - - <_> - 8 15 4 3 -1. - <_> - 8 16 4 1 3. - <_> - - <_> - 10 13 1 6 -1. - <_> - 10 16 1 3 2. - <_> - - <_> - 2 1 18 2 -1. - <_> - 11 1 9 1 2. - <_> - 2 2 9 1 2. - <_> - - <_> - 8 14 3 3 -1. - <_> - 8 15 3 1 3. - <_> - - <_> - 4 1 6 1 -1. - <_> - 6 1 2 1 3. - <_> - - <_> - 11 13 1 3 -1. - <_> - 11 14 1 1 3. - <_> - - <_> - 13 5 2 12 -1. - <_> - 13 11 2 6 2. - <_> - - <_> - 1 14 18 6 -1. - <_> - 1 16 18 2 3. - <_> - - <_> - 8 13 1 3 -1. - <_> - 8 14 1 1 3. - <_> - - <_> - 7 13 6 3 -1. - <_> - 7 14 6 1 3. - <_> - - <_> - 9 10 3 2 -1. - <_> - 9 11 3 1 2. - <_> - - <_> - 5 1 3 3 -1. - <_> - 6 1 1 3 3. - <_> - - <_> - 5 5 6 5 -1. - <_> - 8 5 3 5 2. - <_> - - <_> - 7 5 6 14 -1. - <_> - 7 12 6 7 2. - <_> - - <_> - 7 16 6 2 -1. - <_> - 9 16 2 2 3. - <_> - - <_> - 0 2 2 12 -1. - <_> - 1 2 1 12 2. - <_> - - <_> - 1 0 5 3 -1. - <_> - 1 1 5 1 3. - <_> - - <_> - 12 4 3 3 -1. - <_> - 12 5 3 1 3. - <_> - - <_> - 12 6 3 3 -1. - <_> - 12 7 3 1 3. - <_> - - <_> - 5 4 3 3 -1. - <_> - 5 5 3 1 3. - <_> - - <_> - 5 6 3 3 -1. - <_> - 5 7 3 1 3. - <_> - - <_> - 8 12 4 8 -1. - <_> - 10 12 2 4 2. - <_> - 8 16 2 4 2. - <_> - - <_> - 2 17 18 2 -1. - <_> - 11 17 9 1 2. - <_> - 2 18 9 1 2. - <_> - - <_> - 9 3 2 2 -1. - <_> - 9 4 2 1 2. - <_> - - <_> - 8 5 4 6 -1. - <_> - 8 7 4 2 3. - <_> - - <_> - 9 0 8 6 -1. - <_> - 9 2 8 2 3. - <_> - - <_> - 1 0 18 4 -1. - <_> - 7 0 6 4 3. - <_> - - <_> - 0 0 4 8 -1. - <_> - 2 0 2 8 2. - <_> - - <_> - 0 4 6 9 -1. - <_> - 2 4 2 9 3. - <_> - - <_> - 1 4 18 2 -1. - <_> - 7 4 6 2 3. - <_> - - <_> - 8 16 12 4 -1. - <_> - 14 16 6 2 2. - <_> - 8 18 6 2 2. - <_> - - <_> - 0 0 18 2 -1. - <_> - 0 0 9 1 2. - <_> - 9 1 9 1 2. - <_> - - <_> - 3 0 3 18 -1. - <_> - 4 0 1 18 3. - <_> - - <_> - 14 9 4 7 -1. - <_> - 14 9 2 7 2. - <_> - - <_> - 15 14 2 2 -1. - <_> - 15 15 2 1 2. - <_> - - <_> - 2 9 4 7 -1. - <_> - 4 9 2 7 2. - <_> - - <_> - 3 14 2 2 -1. - <_> - 3 15 2 1 2. - <_> - - <_> - 11 0 6 6 -1. - <_> - 11 2 6 2 3. - <_> - - <_> - 14 0 2 6 -1. - <_> - 15 0 1 3 2. - <_> - 14 3 1 3 2. - <_> - - <_> - 7 11 2 2 -1. - <_> - 7 11 1 1 2. - <_> - 8 12 1 1 2. - <_> - - <_> - 7 10 2 2 -1. - <_> - 8 10 1 2 2. - <_> - - <_> - 9 14 2 6 -1. - <_> - 9 17 2 3 2. - <_> - - <_> - 12 18 4 2 -1. - <_> - 12 19 4 1 2. - <_> - - <_> - 8 17 4 3 -1. - <_> - 8 18 4 1 3. - <_> - - <_> - 2 18 8 2 -1. - <_> - 2 19 8 1 2. - <_> - - <_> - 2 9 16 3 -1. - <_> - 2 10 16 1 3. - <_> - - <_> - 9 9 2 2 -1. - <_> - 9 10 2 1 2. - <_> - - <_> - 5 14 2 4 -1. - <_> - 5 14 1 2 2. - <_> - 6 16 1 2 2. - <_> - - <_> - 8 9 4 2 -1. - <_> - 8 9 2 1 2. - <_> - 10 10 2 1 2. - <_> - - <_> - 9 5 2 5 -1. - <_> - 9 5 1 5 2. - <_> - - <_> - 9 9 3 2 -1. - <_> - 10 9 1 2 3. - <_> - - <_> - 8 9 3 2 -1. - <_> - 9 9 1 2 3. - <_> - - <_> - 8 8 3 6 -1. - <_> - 9 8 1 6 3. - <_> - - <_> - 8 12 4 8 -1. - <_> - 10 12 2 4 2. - <_> - 8 16 2 4 2. - <_> - - <_> - 2 17 16 2 -1. - <_> - 10 17 8 1 2. - <_> - 2 18 8 1 2. - <_> - - <_> - 8 12 3 8 -1. - <_> - 9 12 1 8 3. - <_> - - <_> - 3 10 1 3 -1. - <_> - 3 11 1 1 3. - <_> - - <_> - 9 14 10 6 -1. - <_> - 14 14 5 3 2. - <_> - 9 17 5 3 2. - <_> - - <_> - 14 13 3 6 -1. - <_> - 14 15 3 2 3. - <_> - - <_> - 1 19 18 1 -1. - <_> - 7 19 6 1 3. - <_> - - <_> - 2 10 15 2 -1. - <_> - 7 10 5 2 3. - <_> - - <_> - 4 17 16 3 -1. - <_> - 4 18 16 1 3. - <_> - - <_> - 8 6 4 9 -1. - <_> - 8 9 4 3 3. - <_> - - <_> - 9 16 2 4 -1. - <_> - 9 16 1 2 2. - <_> - 10 18 1 2 2. - <_> - - <_> - 5 5 10 8 -1. - <_> - 5 9 10 4 2. - <_> - - <_> - 13 1 4 2 -1. - <_> - 13 1 2 2 2. - <_> - - <_> - 14 0 3 6 -1. - <_> - 14 2 3 2 3. - <_> - - <_> - 6 7 2 2 -1. - <_> - 6 7 1 1 2. - <_> - 7 8 1 1 2. - <_> - - <_> - 7 1 6 1 -1. - <_> - 9 1 2 1 3. - <_> - - <_> - 9 11 3 3 -1. - <_> - 9 12 3 1 3. - <_> - - <_> - 12 9 3 3 -1. - <_> - 13 9 1 3 3. - <_> - - <_> - 8 11 3 3 -1. - <_> - 8 12 3 1 3. - <_> - - <_> - 5 9 3 3 -1. - <_> - 6 9 1 3 3. - <_> - - <_> - 10 11 1 3 -1. - <_> - 10 12 1 1 3. - <_> - - <_> - 7 9 6 4 -1. - <_> - 10 9 3 2 2. - <_> - 7 11 3 2 2. - <_> - - <_> - 4 7 2 2 -1. - <_> - 4 7 1 1 2. - <_> - 5 8 1 1 2. - <_> - - <_> - 5 7 3 1 -1. - <_> - 6 7 1 1 3. - <_> - - <_> - 18 3 2 3 -1. - <_> - 18 4 2 1 3. - <_> - - <_> - 13 1 4 2 -1. - <_> - 13 1 2 2 2. - <_> - - <_> - 3 1 4 2 -1. - <_> - 5 1 2 2 2. - <_> - - <_> - 3 0 5 2 -1. - <_> - 3 1 5 1 2. - <_> - - <_> - 14 7 6 4 -1. - <_> - 17 7 3 2 2. - <_> - 14 9 3 2 2. - <_> - - <_> - 4 8 16 2 -1. - <_> - 4 9 16 1 2. - <_> - - <_> - 2 11 5 6 -1. - <_> - 2 13 5 2 3. - <_> - - <_> - 5 16 2 4 -1. - <_> - 5 16 1 2 2. - <_> - 6 18 1 2 2. - <_> - - <_> - 15 6 2 12 -1. - <_> - 16 6 1 6 2. - <_> - 15 12 1 6 2. - <_> - - <_> - 13 3 6 16 -1. - <_> - 15 3 2 16 3. - <_> - - <_> - 4 5 12 12 -1. - <_> - 4 5 6 6 2. - <_> - 10 11 6 6 2. - <_> - - <_> - 5 1 10 13 -1. - <_> - 10 1 5 13 2. - <_> - - <_> - 11 5 2 2 -1. - <_> - 12 5 1 1 2. - <_> - 11 6 1 1 2. - <_> - - <_> - 13 5 1 3 -1. - <_> - 13 6 1 1 3. - <_> - - <_> - 7 4 2 4 -1. - <_> - 7 4 1 2 2. - <_> - 8 6 1 2 2. - <_> - - <_> - 7 5 6 4 -1. - <_> - 10 5 3 4 2. - <_> - - <_> - 12 4 4 6 -1. - <_> - 14 4 2 3 2. - <_> - 12 7 2 3 2. - <_> - - <_> - 12 11 7 6 -1. - <_> - 12 13 7 2 3. - <_> - - <_> - 5 6 6 6 -1. - <_> - 7 6 2 6 3. - <_> - - <_> - 9 8 2 2 -1. - <_> - 9 9 2 1 2. - <_> - - <_> - 15 6 2 2 -1. - <_> - 16 6 1 1 2. - <_> - 15 7 1 1 2. - <_> - - <_> - 14 7 4 4 -1. - <_> - 16 7 2 2 2. - <_> - 14 9 2 2 2. - <_> - - <_> - 5 5 6 2 -1. - <_> - 7 5 2 2 3. - <_> - - <_> - 1 19 18 1 -1. - <_> - 7 19 6 1 3. - <_> - - <_> - 12 3 3 3 -1. - <_> - 12 4 3 1 3. - <_> - - <_> - 16 0 2 3 -1. - <_> - 16 1 2 1 3. - <_> - - <_> - 5 3 3 3 -1. - <_> - 5 4 3 1 3. - <_> - - <_> - 2 0 2 3 -1. - <_> - 2 1 2 1 3. - <_> - - <_> - 15 6 2 2 -1. - <_> - 16 6 1 1 2. - <_> - 15 7 1 1 2. - <_> - - <_> - 10 13 1 6 -1. - <_> - 10 16 1 3 2. - <_> - - <_> - 0 7 10 2 -1. - <_> - 0 7 5 1 2. - <_> - 5 8 5 1 2. - <_> - - <_> - 3 10 6 2 -1. - <_> - 3 11 6 1 2. - <_> - - <_> - 12 18 4 2 -1. - <_> - 12 19 4 1 2. - <_> - - <_> - 12 18 2 2 -1. - <_> - 13 18 1 1 2. - <_> - 12 19 1 1 2. - <_> - - <_> - 6 19 2 1 -1. - <_> - 7 19 1 1 2. - <_> - - <_> - 0 4 2 16 -1. - <_> - 0 4 1 8 2. - <_> - 1 12 1 8 2. - <_> - - <_> - 16 1 4 9 -1. - <_> - 16 4 4 3 3. - <_> - - <_> - 10 2 1 2 -1. - <_> - 10 3 1 1 2. - <_> - - <_> - 4 14 4 6 -1. - <_> - 4 14 2 3 2. - <_> - 6 17 2 3 2. - <_> - - <_> - 4 15 1 4 -1. - <_> - 4 17 1 2 2. - <_> - - <_> - 0 2 20 4 -1. - <_> - 10 2 10 2 2. - <_> - 0 4 10 2 2. - <_> - - <_> - 14 5 2 8 -1. - <_> - 14 9 2 4 2. - <_> - - <_> - 5 12 4 5 -1. - <_> - 7 12 2 5 2. - <_> - - <_> - 0 13 9 6 -1. - <_> - 0 15 9 2 3. - <_> - - <_> - 9 14 11 3 -1. - <_> - 9 15 11 1 3. - <_> - - <_> - 7 14 7 3 -1. - <_> - 7 15 7 1 3. - <_> - - <_> - 3 6 2 2 -1. - <_> - 3 6 1 1 2. - <_> - 4 7 1 1 2. - <_> - - <_> - 6 7 2 7 -1. - <_> - 7 7 1 7 2. - <_> - - <_> - 14 5 1 3 -1. - <_> - 14 6 1 1 3. - <_> - - <_> - 13 4 4 3 -1. - <_> - 13 5 4 1 3. - <_> - - <_> - 2 7 4 4 -1. - <_> - 2 7 2 2 2. - <_> - 4 9 2 2 2. - <_> - - <_> - 2 9 13 6 -1. - <_> - 2 12 13 3 2. - <_> - - <_> - 10 1 3 4 -1. - <_> - 11 1 1 4 3. - <_> - - <_> - 9 8 5 2 -1. - <_> - 9 9 5 1 2. - <_> - - <_> - 0 14 11 3 -1. - <_> - 0 15 11 1 3. - <_> - - <_> - 8 11 2 8 -1. - <_> - 8 15 2 4 2. - <_> - - <_> - 5 11 10 6 -1. - <_> - 5 14 10 3 2. - <_> - - <_> - 5 13 15 5 -1. - <_> - 10 13 5 5 3. - <_> - - <_> - 8 10 1 10 -1. - <_> - 8 15 1 5 2. - <_> - - <_> - 4 14 6 2 -1. - <_> - 6 14 2 2 3. - <_> - - <_> - 7 14 7 3 -1. - <_> - 7 15 7 1 3. - <_> - - <_> - 7 16 9 3 -1. - <_> - 7 17 9 1 3. - <_> - - <_> - 8 7 3 3 -1. - <_> - 8 8 3 1 3. - <_> - - <_> - 3 5 1 6 -1. - <_> - 3 8 1 3 2. - <_> - - <_> - 6 5 11 2 -1. - <_> - 6 6 11 1 2. - <_> - - <_> - 9 0 3 2 -1. - <_> - 10 0 1 2 3. - <_> - - <_> - 5 5 1 3 -1. - <_> - 5 6 1 1 3. - <_> - - <_> - 8 7 3 2 -1. - <_> - 9 7 1 2 3. - <_> - - <_> - 5 2 10 6 -1. - <_> - 10 2 5 3 2. - <_> - 5 5 5 3 2. - <_> - - <_> - 8 4 6 4 -1. - <_> - 8 4 3 4 2. - <_> - - <_> - 8 16 3 4 -1. - <_> - 9 16 1 4 3. - <_> - - <_> - 9 13 2 6 -1. - <_> - 9 13 1 3 2. - <_> - 10 16 1 3 2. - <_> - - <_> - 9 8 3 1 -1. - <_> - 10 8 1 1 3. - <_> - - <_> - 2 5 18 15 -1. - <_> - 2 10 18 5 3. - <_> - - <_> - 1 3 6 2 -1. - <_> - 4 3 3 2 2. - <_> - - <_> - 7 6 6 2 -1. - <_> - 9 6 2 2 3. - <_> - - <_> - 8 17 4 3 -1. - <_> - 8 18 4 1 3. - <_> - - <_> - 10 13 2 3 -1. - <_> - 10 14 2 1 3. - <_> - - <_> - 0 10 20 4 -1. - <_> - 0 12 20 2 2. - <_> - - <_> - 5 7 6 4 -1. - <_> - 5 7 3 2 2. - <_> - 8 9 3 2 2. - <_> - - <_> - 11 12 1 2 -1. - <_> - 11 13 1 1 2. - <_> - - <_> - 10 10 2 3 -1. - <_> - 10 11 2 1 3. - <_> - - <_> - 9 5 2 2 -1. - <_> - 9 6 2 1 2. - <_> - - <_> - 4 4 1 10 -1. - <_> - 4 9 1 5 2. - <_> - - <_> - 11 18 4 2 -1. - <_> - 11 18 2 2 2. - <_> - - <_> - 12 18 3 2 -1. - <_> - 12 19 3 1 2. - <_> - - <_> - 0 6 16 6 -1. - <_> - 0 6 8 3 2. - <_> - 8 9 8 3 2. - <_> - - <_> - 7 6 4 12 -1. - <_> - 7 12 4 6 2. - <_> - - <_> - 11 18 4 2 -1. - <_> - 11 18 2 2 2. - <_> - - <_> - 12 18 3 2 -1. - <_> - 12 19 3 1 2. - <_> - - <_> - 8 12 1 2 -1. - <_> - 8 13 1 1 2. - <_> - - <_> - 8 13 1 3 -1. - <_> - 8 14 1 1 3. - <_> - - <_> - 11 18 4 2 -1. - <_> - 11 18 2 2 2. - <_> - - <_> - 14 12 4 6 -1. - <_> - 14 12 2 6 2. - <_> - - <_> - 6 0 3 4 -1. - <_> - 7 0 1 4 3. - <_> - - <_> - 4 0 2 8 -1. - <_> - 4 0 1 4 2. - <_> - 5 4 1 4 2. - <_> - - <_> - 11 17 9 3 -1. - <_> - 14 17 3 3 3. - <_> - - <_> - 16 2 4 5 -1. - <_> - 16 2 2 5 2. - <_> - - <_> - 0 2 5 9 -1. - <_> - 0 5 5 3 3. - <_> - - <_> - 7 2 3 2 -1. - <_> - 8 2 1 2 3. - <_> - - <_> - 11 17 9 3 -1. - <_> - 14 17 3 3 3. - <_> - - <_> - 16 2 4 5 -1. - <_> - 16 2 2 5 2. - <_> - - <_> - 0 17 9 3 -1. - <_> - 3 17 3 3 3. - <_> - - <_> - 0 2 4 5 -1. - <_> - 2 2 2 5 2. - <_> - - <_> - 5 11 10 9 -1. - <_> - 5 14 10 3 3. - <_> - - <_> - 9 6 3 3 -1. - <_> - 9 7 3 1 3. - <_> - - <_> - 3 17 5 3 -1. - <_> - 3 18 5 1 3. - <_> - - <_> - 7 5 4 7 -1. - <_> - 9 5 2 7 2. - <_> - - <_> - 9 8 2 5 -1. - <_> - 9 8 1 5 2. - <_> - - <_> - 2 2 18 2 -1. - <_> - 2 3 18 1 2. - <_> - - <_> - 2 8 15 6 -1. - <_> - 7 8 5 6 3. - <_> - - <_> - 9 8 2 5 -1. - <_> - 10 8 1 5 2. - <_> - - <_> - 12 10 4 6 -1. - <_> - 12 12 4 2 3. - <_> - - <_> - 14 3 6 2 -1. - <_> - 14 4 6 1 2. - <_> - - <_> - 5 5 2 3 -1. - <_> - 5 6 2 1 3. - <_> - - <_> - 4 6 3 3 -1. - <_> - 4 7 3 1 3. - <_> - - <_> - 14 12 3 3 -1. - <_> - 14 13 3 1 3. - <_> - - <_> - 6 12 11 3 -1. - <_> - 6 13 11 1 3. - <_> - - <_> - 1 2 3 6 -1. - <_> - 1 4 3 2 3. - <_> - - <_> - 1 0 4 7 -1. - <_> - 3 0 2 7 2. - <_> - - <_> - 9 8 3 4 -1. - <_> - 10 8 1 4 3. - <_> - - <_> - 10 9 2 2 -1. - <_> - 10 10 2 1 2. - <_> - - <_> - 8 8 3 4 -1. - <_> - 9 8 1 4 3. - <_> - - <_> - 4 4 10 10 -1. - <_> - 4 9 10 5 2. - <_> - - <_> - 9 10 3 2 -1. - <_> - 10 10 1 2 3. - <_> - - <_> - 9 10 3 2 -1. - <_> - 9 11 3 1 2. - <_> - - <_> - 8 10 3 2 -1. - <_> - 9 10 1 2 3. - <_> - - <_> - 2 4 14 12 -1. - <_> - 2 4 7 6 2. - <_> - 9 10 7 6 2. - <_> - - <_> - 10 12 1 6 -1. - <_> - 10 15 1 3 2. - <_> - - <_> - 7 3 8 16 -1. - <_> - 11 3 4 8 2. - <_> - 7 11 4 8 2. - <_> - - <_> - 5 6 8 10 -1. - <_> - 5 6 4 5 2. - <_> - 9 11 4 5 2. - <_> - - <_> - 6 2 8 8 -1. - <_> - 6 2 4 4 2. - <_> - 10 6 4 4 2. - <_> - - <_> - 10 5 4 2 -1. - <_> - 12 5 2 1 2. - <_> - 10 6 2 1 2. - <_> - - <_> - 12 4 3 3 -1. - <_> - 12 5 3 1 3. - <_> - - <_> - 4 19 12 1 -1. - <_> - 8 19 4 1 3. - <_> - - <_> - 8 2 3 1 -1. - <_> - 9 2 1 1 3. - <_> - - <_> - 13 17 4 3 -1. - <_> - 13 18 4 1 3. - <_> - - <_> - 7 14 6 3 -1. - <_> - 7 15 6 1 3. - <_> - - <_> - 9 14 2 3 -1. - <_> - 9 15 2 1 3. - <_> - - <_> - 7 15 6 3 -1. - <_> - 7 16 6 1 3. - <_> - - <_> - 10 18 3 2 -1. - <_> - 11 18 1 2 3. - <_> - - <_> - 14 12 2 3 -1. - <_> - 14 13 2 1 3. - <_> - - <_> - 4 10 4 6 -1. - <_> - 4 12 4 2 3. - <_> - - <_> - 4 13 3 2 -1. - <_> - 4 14 3 1 2. - <_> - - <_> - 9 16 2 3 -1. - <_> - 9 17 2 1 3. - <_> - - <_> - 10 18 3 2 -1. - <_> - 11 18 1 2 3. - <_> - - <_> - 7 18 3 2 -1. - <_> - 8 18 1 2 3. - <_> - - <_> - 1 10 4 2 -1. - <_> - 1 11 4 1 2. - <_> - - <_> - 12 4 6 3 -1. - <_> - 12 5 6 1 3. - <_> - - <_> - 14 4 1 3 -1. - <_> - 14 5 1 1 3. - <_> - - <_> - 2 4 6 3 -1. - <_> - 2 5 6 1 3. - <_> - - <_> - 5 4 1 3 -1. - <_> - 5 5 1 1 3. - <_> - - <_> - 14 12 3 3 -1. - <_> - 14 13 3 1 3. - <_> - - <_> - 15 12 2 3 -1. - <_> - 15 13 2 1 3. - <_> - - <_> - 3 16 4 3 -1. - <_> - 3 17 4 1 3. - <_> - - <_> - 8 0 4 2 -1. - <_> - 8 1 4 1 2. - <_> - - <_> - 0 0 20 1 -1. - <_> - 0 0 10 1 2. - <_> - - <_> - 9 7 3 4 -1. - <_> - 10 7 1 4 3. - <_> - - <_> - 0 0 20 1 -1. - <_> - 10 0 10 1 2. - <_> - - <_> - 8 7 3 4 -1. - <_> - 9 7 1 4 3. - <_> - - <_> - 1 6 19 3 -1. - <_> - 1 7 19 1 3. - <_> - - <_> - 12 7 4 2 -1. - <_> - 12 8 4 1 2. - <_> - - <_> - 7 8 3 3 -1. - <_> - 7 9 3 1 3. - <_> - - <_> - 7 7 3 3 -1. - <_> - 8 7 1 3 3. - <_> - - <_> - 2 9 16 3 -1. - <_> - 2 10 16 1 3. - <_> - - <_> - 9 4 2 12 -1. - <_> - 9 8 2 4 3. - <_> - - <_> - 7 3 2 5 -1. - <_> - 8 3 1 5 2. - <_> - - <_> - 9 7 2 3 -1. - <_> - 9 8 2 1 3. - <_> - - <_> - 9 14 4 3 -1. - <_> - 9 15 4 1 3. - <_> - - <_> - 7 8 6 4 -1. - <_> - 10 8 3 2 2. - <_> - 7 10 3 2 2. - <_> - - <_> - 9 7 2 2 -1. - <_> - 10 7 1 2 2. - <_> - - <_> - 5 5 6 6 -1. - <_> - 7 5 2 6 3. - <_> - - <_> - 9 1 3 6 -1. - <_> - 10 1 1 6 3. - <_> - - <_> - 4 5 12 2 -1. - <_> - 8 5 4 2 3. - <_> - - <_> - 4 2 6 4 -1. - <_> - 6 2 2 4 3. - <_> - - <_> - 4 7 8 2 -1. - <_> - 4 8 8 1 2. - <_> - - <_> - 3 6 14 6 -1. - <_> - 10 6 7 3 2. - <_> - 3 9 7 3 2. - <_> - - <_> - 3 6 14 3 -1. - <_> - 3 6 7 3 2. - <_> - - <_> - 0 5 2 2 -1. - <_> - 0 6 2 1 2. - <_> - - <_> - 8 13 4 3 -1. - <_> - 8 14 4 1 3. - <_> - - <_> - 13 0 3 20 -1. - <_> - 14 0 1 20 3. - <_> - - <_> - 10 8 10 3 -1. - <_> - 10 9 10 1 3. - <_> - - <_> - 4 0 3 20 -1. - <_> - 5 0 1 20 3. - <_> - - <_> - 0 8 10 3 -1. - <_> - 0 9 10 1 3. - <_> - - <_> - 12 5 3 4 -1. - <_> - 13 5 1 4 3. - <_> - - <_> - 6 7 12 4 -1. - <_> - 10 7 4 4 3. - <_> - - <_> - 1 14 6 6 -1. - <_> - 1 14 3 3 2. - <_> - 4 17 3 3 2. - <_> - - <_> - 1 17 6 2 -1. - <_> - 1 18 6 1 2. - <_> - - <_> - 14 8 6 12 -1. - <_> - 17 8 3 6 2. - <_> - 14 14 3 6 2. - <_> - - <_> - 18 5 2 2 -1. - <_> - 18 6 2 1 2. - <_> - - <_> - 3 16 4 2 -1. - <_> - 3 16 2 1 2. - <_> - 5 17 2 1 2. - <_> - - <_> - 2 16 6 2 -1. - <_> - 4 16 2 2 3. - <_> - - <_> - 14 8 6 12 -1. - <_> - 17 8 3 6 2. - <_> - 14 14 3 6 2. - <_> - - <_> - 18 5 2 2 -1. - <_> - 18 6 2 1 2. - <_> - - <_> - 5 16 9 2 -1. - <_> - 8 16 3 2 3. - <_> - - <_> - 3 14 6 6 -1. - <_> - 3 14 3 3 2. - <_> - 6 17 3 3 2. - <_> - - <_> - 14 8 6 12 -1. - <_> - 17 8 3 6 2. - <_> - 14 14 3 6 2. - <_> - - <_> - 11 7 2 12 -1. - <_> - 11 11 2 4 3. - <_> - - <_> - 0 8 6 12 -1. - <_> - 0 8 3 6 2. - <_> - 3 14 3 6 2. - <_> - - <_> - 7 7 2 12 -1. - <_> - 7 11 2 4 3. - <_> - - <_> - 14 12 1 2 -1. - <_> - 14 13 1 1 2. - <_> - - <_> - 12 13 8 1 -1. - <_> - 12 13 4 1 2. - <_> - - <_> - 0 3 16 6 -1. - <_> - 0 6 16 3 2. - <_> - - <_> - 1 4 8 2 -1. - <_> - 1 4 4 1 2. - <_> - 5 5 4 1 2. - <_> - - <_> - 14 12 1 2 -1. - <_> - 14 13 1 1 2. - <_> - - <_> - 15 12 2 3 -1. - <_> - 15 13 2 1 3. - <_> - - <_> - 8 16 3 3 -1. - <_> - 8 17 3 1 3. - <_> - - <_> - 5 12 1 2 -1. - <_> - 5 13 1 1 2. - <_> - - <_> - 13 4 3 15 -1. - <_> - 14 4 1 15 3. - <_> - - <_> - 17 3 2 6 -1. - <_> - 18 3 1 3 2. - <_> - 17 6 1 3 2. - <_> - - <_> - 4 4 3 15 -1. - <_> - 5 4 1 15 3. - <_> - - <_> - 1 3 2 6 -1. - <_> - 1 3 1 3 2. - <_> - 2 6 1 3 2. - <_> - - <_> - 7 15 12 4 -1. - <_> - 7 17 12 2 2. - <_> - - <_> - 1 0 19 3 -1. - <_> - 1 1 19 1 3. - <_> - - <_> - 3 17 10 2 -1. - <_> - 3 17 5 1 2. - <_> - 8 18 5 1 2. - <_> - - <_> - 2 5 10 15 -1. - <_> - 2 10 10 5 3. - <_> - - <_> - 13 8 3 4 -1. - <_> - 13 10 3 2 2. - <_> - - <_> - 19 13 1 2 -1. - <_> - 19 14 1 1 2. - <_> - - <_> - 4 8 3 4 -1. - <_> - 4 10 3 2 2. - <_> - - <_> - 0 13 1 2 -1. - <_> - 0 14 1 1 2. - <_> - - <_> - 12 7 2 12 -1. - <_> - 12 13 2 6 2. - <_> - - <_> - 14 7 2 2 -1. - <_> - 15 7 1 1 2. - <_> - 14 8 1 1 2. - <_> - - <_> - 5 3 8 2 -1. - <_> - 5 4 8 1 2. - <_> - - <_> - 0 2 2 6 -1. - <_> - 0 4 2 2 3. - <_> - - <_> - 18 2 2 12 -1. - <_> - 19 2 1 6 2. - <_> - 18 8 1 6 2. - <_> - - <_> - 18 1 1 2 -1. - <_> - 18 2 1 1 2. - <_> - - <_> - 0 2 2 12 -1. - <_> - 0 2 1 6 2. - <_> - 1 8 1 6 2. - <_> - - <_> - 1 1 1 2 -1. - <_> - 1 2 1 1 2. - <_> - - <_> - 16 4 4 14 -1. - <_> - 18 4 2 7 2. - <_> - 16 11 2 7 2. - <_> - - <_> - 10 14 1 6 -1. - <_> - 10 17 1 3 2. - <_> - - <_> - 0 4 4 14 -1. - <_> - 0 4 2 7 2. - <_> - 2 11 2 7 2. - <_> - - <_> - 9 14 1 6 -1. - <_> - 9 17 1 3 2. - <_> - - <_> - 9 14 4 3 -1. - <_> - 9 15 4 1 3. - <_> - - <_> - 4 7 12 2 -1. - <_> - 8 7 4 2 3. - <_> - - <_> - 0 8 4 3 -1. - <_> - 0 9 4 1 3. - <_> - - <_> - 4 7 2 2 -1. - <_> - 4 7 1 1 2. - <_> - 5 8 1 1 2. - <_> - - <_> - 13 7 2 1 -1. - <_> - 13 7 1 1 2. - <_> - - <_> - 11 4 4 5 -1. - <_> - 11 4 2 5 2. - <_> - - <_> - 4 8 3 3 -1. - <_> - 5 8 1 3 3. - <_> - - <_> - 0 3 8 1 -1. - <_> - 4 3 4 1 2. - <_> - - <_> - 13 7 2 1 -1. - <_> - 13 7 1 1 2. - <_> - - <_> - 14 7 3 2 -1. - <_> - 15 7 1 2 3. - <_> - - <_> - 5 7 2 1 -1. - <_> - 6 7 1 1 2. - <_> - - <_> - 3 7 3 2 -1. - <_> - 4 7 1 2 3. - <_> - - <_> - 18 5 2 2 -1. - <_> - 18 6 2 1 2. - <_> - - <_> - 12 14 2 2 -1. - <_> - 13 14 1 1 2. - <_> - 12 15 1 1 2. - <_> - - <_> - 0 5 2 2 -1. - <_> - 0 6 2 1 2. - <_> - - <_> - 6 14 2 2 -1. - <_> - 6 14 1 1 2. - <_> - 7 15 1 1 2. - <_> - - <_> - 7 12 6 5 -1. - <_> - 9 12 2 5 3. - <_> - - <_> - 12 17 5 2 -1. - <_> - 12 18 5 1 2. - <_> - - <_> - 1 11 6 3 -1. - <_> - 4 11 3 3 2. - <_> - - <_> - 1 9 6 3 -1. - <_> - 4 9 3 3 2. - <_> - - <_> - 12 7 2 12 -1. - <_> - 12 13 2 6 2. - <_> - - <_> - 8 7 5 3 -1. - <_> - 8 8 5 1 3. - <_> - - <_> - 6 7 2 12 -1. - <_> - 6 13 2 6 2. - <_> - - <_> - 1 2 9 18 -1. - <_> - 4 2 3 18 3. - <_> - - <_> - 12 17 5 2 -1. - <_> - 12 18 5 1 2. - <_> - - <_> - 4 7 12 2 -1. - <_> - 4 7 6 2 2. - <_> - - <_> - 6 7 6 1 -1. - <_> - 8 7 2 1 3. - <_> - - <_> - 7 3 3 2 -1. - <_> - 8 3 1 2 3. - <_> - - <_> - 9 4 3 1 -1. - <_> - 10 4 1 1 3. - <_> - - <_> - 11 11 3 1 -1. - <_> - 12 11 1 1 3. - <_> - - <_> - 8 4 3 1 -1. - <_> - 9 4 1 1 3. - <_> - - <_> - 6 11 3 1 -1. - <_> - 7 11 1 1 3. - <_> - - <_> - 12 13 6 6 -1. - <_> - 12 15 6 2 3. - <_> - - <_> - 14 13 1 6 -1. - <_> - 14 15 1 2 3. - <_> - - <_> - 2 13 6 6 -1. - <_> - 2 15 6 2 3. - <_> - - <_> - 1 5 18 1 -1. - <_> - 7 5 6 1 3. - <_> - - <_> - 4 7 12 2 -1. - <_> - 10 7 6 1 2. - <_> - 4 8 6 1 2. - <_> - - <_> - 6 1 8 10 -1. - <_> - 10 1 4 5 2. - <_> - 6 6 4 5 2. - <_> - - <_> - 3 13 4 3 -1. - <_> - 3 14 4 1 3. - <_> - - <_> - 6 13 4 3 -1. - <_> - 6 14 4 1 3. - <_> - - <_> - 9 14 4 3 -1. - <_> - 9 15 4 1 3. - <_> - - <_> - 12 9 2 3 -1. - <_> - 12 10 2 1 3. - <_> - - <_> - 7 14 4 3 -1. - <_> - 7 15 4 1 3. - <_> - - <_> - 9 0 2 1 -1. - <_> - 10 0 1 1 2. - <_> - - <_> - 5 0 10 5 -1. - <_> - 5 0 5 5 2. - <_> - - <_> - 6 6 8 7 -1. - <_> - 6 6 4 7 2. - <_> - - <_> - 5 0 10 5 -1. - <_> - 10 0 5 5 2. - <_> - - <_> - 6 6 8 7 -1. - <_> - 10 6 4 7 2. - <_> - - <_> - 5 9 10 8 -1. - <_> - 10 9 5 4 2. - <_> - 5 13 5 4 2. - <_> - - <_> - 10 0 4 10 -1. - <_> - 12 0 2 5 2. - <_> - 10 5 2 5 2. - <_> - - <_> - 1 4 8 3 -1. - <_> - 1 5 8 1 3. - <_> - - <_> - 4 4 8 3 -1. - <_> - 4 5 8 1 3. - <_> - - <_> - 9 7 4 3 -1. - <_> - 9 8 4 1 3. - <_> - - <_> - 12 8 3 12 -1. - <_> - 12 14 3 6 2. - <_> - - <_> - 7 7 4 3 -1. - <_> - 7 8 4 1 3. - <_> - - <_> - 5 8 3 12 -1. - <_> - 5 14 3 6 2. - <_> - - <_> - 10 0 7 6 -1. - <_> - 10 2 7 2 3. - <_> - - <_> - 2 1 18 1 -1. - <_> - 8 1 6 1 3. - <_> - - <_> - 5 0 3 8 -1. - <_> - 6 0 1 8 3. - <_> - - <_> - 4 7 4 2 -1. - <_> - 4 8 4 1 2. - From 589474819c463a301ceaa8f6be040149a32a5a2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 17 Nov 2021 11:25:46 +0800 Subject: [PATCH 57/63] feat($message): support configurable muting email --- home_guardian/__init__.py | 5 +++ home_guardian/message/email.py | 42 +++++++++++++++++------- home_guardian/resources/application.conf | 14 ++++---- 3 files changed, 43 insertions(+), 18 deletions(-) diff --git a/home_guardian/__init__.py b/home_guardian/__init__.py index 39aa880..d106cfb 100644 --- a/home_guardian/__init__.py +++ b/home_guardian/__init__.py @@ -7,7 +7,12 @@ from home_guardian.configuration.thread_pool_configuration import ( configure as thread_pool_configure, ) +from home_guardian.message.email import __init__ +# Configuration application_configure() loguru_configure() thread_pool_configure() + +# Initialization +__init__() diff --git a/home_guardian/message/email.py b/home_guardian/message/email.py index c9ef13f..2c6214e 100644 --- a/home_guardian/message/email.py +++ b/home_guardian/message/email.py @@ -11,19 +11,31 @@ from home_guardian.configuration.application_configuration import application_conf from home_guardian.template.html_template import render_template -_mail_host: str = application_conf.get_string("email.mail_host") -_mail_username: str = application_conf.get_string("email.mail_username") -_mail_password: str = application_conf.get_string("email.mail_password") -_sender: str = ( - f"{_mail_username}{application_conf.get_string('email.mail_address_suffix')}" -) +_email_muted: bool = application_conf.get_bool("email.muted") +_muted_message = "Email module is muted!" +_host: str = application_conf.get_string("email.host") +_port: int = application_conf.get_int("email.port") +_username: str = application_conf.get_string("email.username") +_password: str = application_conf.get_string("email.password") +_sender: str = f"{_username}{application_conf.get_string('email.mail_address_suffix')}" _receivers: List[str] = application_conf.get_list("email.receivers") -# Login to the email server -_smtp: smtplib.SMTP = smtplib.SMTP(_mail_host, 25) -_smtp.connect(_mail_host, 25) -_smtp.login(_sender, _mail_password) -logger.warning(f"Logged in to the email server: {_mail_host}") +_smtp: smtplib.SMTP = smtplib.SMTP(_host, _port) + + +def __init__() -> None: + """ + Initializes the email module. + """ + if _email_muted: + logger.warning(_muted_message) + return + # Login to the email server + _smtp.connect(_host, 25) + _smtp.login(_sender, _password) + logger.warning( + f"Initialized email module and logged in to the email server: {_host}" + ) def build_message( @@ -74,6 +86,9 @@ def send_email( :param render_dict: The render dict for the template. :param picture_path: The path to the picture to attach. """ + if _email_muted: + logger.warning(_muted_message) + return for receiver in _receivers: message: MIMEMultipart = build_message( subject, receiver, template_name, render_dict, picture_path @@ -92,5 +107,8 @@ def cleanup() -> None: """ Closes the connection to the email server. """ + if _email_muted: + logger.warning(_muted_message) + return _smtp.quit() - logger.warning(f"Logged out from the email server: {_mail_host}") + logger.warning(f"Logged out from the email server: {_host}") diff --git a/home_guardian/resources/application.conf b/home_guardian/resources/application.conf index b53233b..c226512 100644 --- a/home_guardian/resources/application.conf +++ b/home_guardian/resources/application.conf @@ -4,12 +4,14 @@ headless = true headless = ${?HEADLESS} email { - mail_host = "smtp.tom.com" - mail_port = 25 - mail_username = "DEFAULT_MAIL_USERNAME" - mail_username = ${?MAIL_USERNAME} - mail_password = "DEFAULT_MAIL_PASSWORD" - mail_password = ${?MAIL_PASSWORD} + muted = true + muted = ${?EMAIL_MUTED} + host = "smtp.tom.com" + port = 25 + username = "DEFAULT_username" + username = ${?EMAIL_USERNAME} + password = "DEFAULT_password" + password = ${?EMAIL_PASSWORD} mail_address_suffix = "@tom.com" receivers = [ "johnnysviva@outlook.com", From 01872b53df72cd82ac5891a86aff5cdfbc0e7a0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 17 Nov 2021 15:05:03 +0800 Subject: [PATCH 58/63] feat: new startup mode for collecting data --- home_guardian/__main__.py | 9 ++- home_guardian/common/startup.py | 8 ++- home_guardian/message/email.py | 7 +- home_guardian/opencv/face_collecting.py | 85 +++++++++++++++++++++++++ home_guardian/opencv/face_detection.py | 23 +++---- home_guardian/opencv/face_training.py | 19 +++--- home_guardian/opencv/haar_model.py | 7 ++ 7 files changed, 126 insertions(+), 32 deletions(-) create mode 100644 home_guardian/opencv/face_collecting.py create mode 100644 home_guardian/opencv/haar_model.py diff --git a/home_guardian/__main__.py b/home_guardian/__main__.py index d55053d..382c200 100644 --- a/home_guardian/__main__.py +++ b/home_guardian/__main__.py @@ -7,6 +7,7 @@ cleanup as thread_pool_cleanup, ) from home_guardian.message.email import cleanup as email_cleanup +from home_guardian.opencv.face_collecting import collect_data from home_guardian.opencv.face_detection import detect_and_take_photo from home_guardian.opencv.face_training import train_data @@ -15,11 +16,15 @@ def _main() -> None: """ Main function. """ - startup_mode = StartupMode.value_of(int(sys.argv[1])) + startup_mode = StartupMode.value_of(sys.argv[1]) logger.info(f"startup_mode: {startup_mode}") try: - if startup_mode == StartupMode.NORMAL: + if startup_mode == StartupMode.DETECT: + logger.info("Detecting and taking photos") detect_and_take_photo() + elif startup_mode == StartupMode.COLLECT: + logger.info("Collecting data") + collect_data(sys.argv[2]) elif startup_mode == StartupMode.TRAIN: logger.info("Training data") train_data() diff --git a/home_guardian/common/startup.py b/home_guardian/common/startup.py index 39dc299..96856c7 100644 --- a/home_guardian/common/startup.py +++ b/home_guardian/common/startup.py @@ -10,12 +10,14 @@ class StartupMode(Enum): """ # Detect and inspect - NORMAL = 0 + DETECT = "detect" + # Collect data + COLLECT = "collect" # Train data - TRAIN = 1 + TRAIN = "train" @staticmethod - def value_of(value: int) -> StartupMode: + def value_of(value: str) -> StartupMode: for member in StartupMode: if member.value == value: return member diff --git a/home_guardian/message/email.py b/home_guardian/message/email.py index 2c6214e..c62260a 100644 --- a/home_guardian/message/email.py +++ b/home_guardian/message/email.py @@ -65,16 +65,15 @@ def build_message( message["To"] = Header(receiver) message["Cc"] = Header(_sender) message.attach(content) - file = open(picture_path, "rb") - img_data = file.read() - file.close() + with open(picture_path, "rb") as file: + img_data = file.read() img = MIMEImage(img_data) img.add_header("Content-ID", render_dict["content_id"]) message.attach(img) return message -@debounce(30) +@debounce(10) def send_email( subject: str, template_name: str, render_dict: dict, picture_path: str ) -> None: diff --git a/home_guardian/opencv/face_collecting.py b/home_guardian/opencv/face_collecting.py new file mode 100644 index 0000000..7782999 --- /dev/null +++ b/home_guardian/opencv/face_collecting.py @@ -0,0 +1,85 @@ +import datetime +import os + +import cv2.cv2 as cv2 +from cv2.cv2 import CascadeClassifier +from cv2.data import haarcascades +from loguru import logger + +from home_guardian.common.debounce_throttle import throttle +from home_guardian.configuration.application_configuration import application_conf +from home_guardian.configuration.thread_pool_configuration import executor +from home_guardian.function_collection import get_training_datasets_dir +from home_guardian.opencv.threading import VideoCaptureThreading + +_training_datasets_dir = f"{get_training_datasets_dir()}" +os.makedirs(_training_datasets_dir, exist_ok=True) +logger.warning(f"Made the directory, _training_datasets_dir: {_training_datasets_dir}") + +_headless: bool = application_conf.get_bool("headless") + +_haarcascade_frontalface_default = os.path.join( + haarcascades, "haarcascade_frontalface_default.xml" +) +logger.warning(f"_haarcascade_frontalface_default: {_haarcascade_frontalface_default}") + + +def collect_data(username: str) -> None: + """ + Detect and take photo. + :return: when exception is raised, return None. + """ + face = CascadeClassifier(_haarcascade_frontalface_default) + try: + vid_cap: VideoCaptureThreading = VideoCaptureThreading(0).start() + except Exception as e: + logger.error("Exception raised while starting video capture thread!", e) + return + while True: + grabbed, frame = vid_cap.read() + if not _headless: + cv2.imshow("Collecting Face Photo", frame) + if cv2.waitKey(1) & 0xFF == ord("q"): + break + if not grabbed: + break + _process_frame(face, frame, username) + vid_cap.stop() + cv2.destroyAllWindows() + + +@throttle(3) +def _process_frame(cascade_classifier: CascadeClassifier, frame, username: str) -> None: + executor.submit(_async_process_frame, cascade_classifier, frame, username) + + +@logger.catch +def _async_process_frame( + cascade_classifier: CascadeClassifier, frame, username: str +) -> None: + gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + faces = cascade_classifier.detectMultiScale( + gray_frame, scaleFactor=1.5, minNeighbors=5 + ) + for (x, y, w, h) in faces: + logger.info( + "Detected face, axis(x,y) = ({},{}), width = {} px, h = {} px", x, y, w, h + ) + _save_frame(frame, username) + + +def _save_frame(frame, username: str) -> None: + """ + Save frame. + + :param frame: The frame + """ + username_path = f"{_training_datasets_dir}/{username}" + if os.path.exists(username_path) is False: + os.makedirs(username_path, exist_ok=True) + picture_path = ( + f"{username_path}" + f"/detected_face_{datetime.datetime.now().__str__().replace(':', '_')}.jpg" + ) + cv2.imwrite(picture_path, frame) + logger.info("Saved picture, picture_path: {}", picture_path) diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index 31dca5b..0f1260c 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -3,7 +3,7 @@ import cv2.cv2 as cv2 from cv2.cv2 import CascadeClassifier -from cv2.data import haarcascades +from cv2.mat_wrapper import Mat from loguru import logger from home_guardian.common.debounce_throttle import throttle @@ -11,6 +11,7 @@ from home_guardian.configuration.thread_pool_configuration import executor from home_guardian.function_collection import get_data_dir from home_guardian.message.email import send_email +from home_guardian.opencv.haar_model import haarcascade_frontalface_default from home_guardian.opencv.threading import VideoCaptureThreading from home_guardian.repository.detected_face_repository import save from home_guardian.repository.model.detected_face import DetectedFace @@ -23,10 +24,9 @@ _headless: bool = application_conf.get_bool("headless") -_haarcascade_frontalface_default = os.path.join( - haarcascades, "haarcascade_frontalface_default.xml" -) -logger.warning(f"_haarcascade_frontalface_default: {_haarcascade_frontalface_default}") +face = CascadeClassifier(haarcascade_frontalface_default) +_recognizer = cv2.face.LBPHFaceRecognizer_create() +_recognizer.read(f"{get_data_dir()}/trainer.yml") def detect_and_take_photo() -> None: @@ -34,7 +34,6 @@ def detect_and_take_photo() -> None: Detect and take photo. :return: when exception is raised, return None. """ - face = CascadeClassifier(_haarcascade_frontalface_default) try: vid_cap: VideoCaptureThreading = VideoCaptureThreading(0).start() except Exception as e: @@ -54,23 +53,21 @@ def detect_and_take_photo() -> None: @throttle(3) -def process_frame(cascade_classifier: CascadeClassifier, frame) -> None: - executor.submit(async_process_frame, cascade_classifier, frame) +def process_frame(frame: Mat) -> None: + executor.submit(async_process_frame, frame) @logger.catch -def async_process_frame(cascade_classifier: CascadeClassifier, frame) -> None: +def async_process_frame(frame: Mat) -> None: gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) - faces = cascade_classifier.detectMultiScale(gray_frame) + faces = face.detectMultiScale(gray_frame, scaleFactor=1.5, minNeighbors=5) for (x, y, w, h) in faces: logger.info( "Detected face, axis(x,y) = ({},{}), width = {} px, h = {} px", x, y, w, h ) - _recognizer = cv2.face.LBPHFaceRecognizer_create() - _recognizer.read(f"{get_data_dir()}/trainer.yml") # recognize? deep learned model predict keras tensorflow pytorch scikit learn label, confidence = _recognizer.predict(gray_frame) - if 4 <= confidence <= 85: + if 50 <= confidence <= 85: trained_face: TrainedFace = get_by_id(_id=label) text: str if trained_face is not None: diff --git a/home_guardian/opencv/face_training.py b/home_guardian/opencv/face_training.py index 0debbf0..263f187 100644 --- a/home_guardian/opencv/face_training.py +++ b/home_guardian/opencv/face_training.py @@ -6,34 +6,33 @@ from loguru import logger from PIL import Image -from home_guardian.function_collection import ( - get_data_dir, - get_resources_dir, - get_training_datasets_dir, -) +from home_guardian.function_collection import get_data_dir, get_training_datasets_dir +from home_guardian.opencv.haar_model import haarcascade_frontalface_default from home_guardian.repository.model.trained_face import TrainedFace from home_guardian.repository.trained_face_repository import save_or_update def _get_face_features_and_labels() -> tuple[list[np.ndarray], list]: - detector = cv2.CascadeClassifier( - f"{get_resources_dir()}/haarcascade_frontalface_alt2.xml" - ) + detector = cv2.CascadeClassifier(haarcascade_frontalface_default) datasets_path: str = get_training_datasets_dir() - logger.info(f"Face training datasets path: {datasets_path}") image_paths: list[str] = [ os.path.join(datasets_path, f) for f in os.listdir(datasets_path) ] + logger.info( + f"Face training datasets path: {datasets_path}, image_paths: {image_paths}" + ) face_features: list[np.ndarray] = [] labels: list[Any] = [] for image_path in image_paths: + logger.debug(f"Image path: {image_path}") for root, dirs, files in os.walk(image_path): for file in files: path: str = os.path.join(root, file) + logger.info(f"Path: {path}") # convert it to grayscale img: Image = Image.open(path).convert("L") img_numpy: np.ndarray = np.array(img, "uint8") - username: str = os.path.split(image_paths[0])[-1] + username: str = os.path.split(image_path)[-1] trained_face: TrainedFace = save_or_update(username) logger.info( f"Getting face features with the username: {username}, id: {trained_face}" diff --git a/home_guardian/opencv/haar_model.py b/home_guardian/opencv/haar_model.py new file mode 100644 index 0000000..fa7a6ae --- /dev/null +++ b/home_guardian/opencv/haar_model.py @@ -0,0 +1,7 @@ +import os + +from cv2.data import haarcascades + +haarcascade_frontalface_default = os.path.join( + haarcascades, "haarcascade_frontalface_default.xml" +) From c2d46a1281778164b480f7c9e44d3bbe58a89693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 17 Nov 2021 18:59:22 +0800 Subject: [PATCH 59/63] refactor($OpenCV): correct function arguments --- home_guardian/opencv/face_detection.py | 2 +- home_guardian/opencv/threading.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index 0f1260c..a68b1ed 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -47,7 +47,7 @@ def detect_and_take_photo() -> None: break if not grabbed: break - process_frame(face, frame) + process_frame(frame) vid_cap.stop() cv2.destroyAllWindows() diff --git a/home_guardian/opencv/threading.py b/home_guardian/opencv/threading.py index e073838..32de186 100644 --- a/home_guardian/opencv/threading.py +++ b/home_guardian/opencv/threading.py @@ -5,6 +5,7 @@ import cv2.cv2 as cv2 from cv2.cv2 import VideoCapture +from cv2.mat_wrapper import Mat from loguru import logger @@ -60,7 +61,7 @@ def start(self) -> VideoCaptureThreading: logger.debug("Started video capture thread. Thread: {}", self._thread) return self - def _thread_loop(self): + def _thread_loop(self) -> None: """ [Private] Loop over frames from the video stream. """ @@ -72,7 +73,7 @@ def _thread_loop(self): self._frame = frame logger.warning("Stopped video capture loop. Thread: {}", self._thread) - def read(self): + def read(self) -> tuple[bool, Mat]: """ Read the frame from the video stream. From 0c18b70d9210aeb41e6aa97f1f44e33b7c0fe8f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Wed, 17 Nov 2021 20:47:25 +0800 Subject: [PATCH 60/63] feat($Decorator): create elapsed time decorator --- home_guardian/common/time.py | 14 ++++++++++++++ home_guardian/opencv/face_collecting.py | 4 +--- home_guardian/opencv/face_detection.py | 10 +++++++--- home_guardian/opencv/face_training.py | 11 ++++++----- home_guardian/opencv/haar_model.py | 2 +- 5 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 home_guardian/common/time.py diff --git a/home_guardian/common/time.py b/home_guardian/common/time.py new file mode 100644 index 0000000..1e5205c --- /dev/null +++ b/home_guardian/common/time.py @@ -0,0 +1,14 @@ +import time + +from loguru import logger + + +def elapsed_time(fn): + def decorator(*arg, **kwarg): + start_time = time.time() + return_value = fn(*arg, **kwarg) + end_time = time.time() + logger.info(f"Elapsed time of function {fn}:{round(end_time - start_time, 4)}s") + return return_value + + return decorator diff --git a/home_guardian/opencv/face_collecting.py b/home_guardian/opencv/face_collecting.py index 7782999..6af2c1b 100644 --- a/home_guardian/opencv/face_collecting.py +++ b/home_guardian/opencv/face_collecting.py @@ -58,9 +58,7 @@ def _async_process_frame( cascade_classifier: CascadeClassifier, frame, username: str ) -> None: gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) - faces = cascade_classifier.detectMultiScale( - gray_frame, scaleFactor=1.5, minNeighbors=5 - ) + faces = cascade_classifier.detectMultiScale(gray_frame) for (x, y, w, h) in faces: logger.info( "Detected face, axis(x,y) = ({},{}), width = {} px, h = {} px", x, y, w, h diff --git a/home_guardian/opencv/face_detection.py b/home_guardian/opencv/face_detection.py index a68b1ed..3f91d06 100644 --- a/home_guardian/opencv/face_detection.py +++ b/home_guardian/opencv/face_detection.py @@ -26,7 +26,10 @@ face = CascadeClassifier(haarcascade_frontalface_default) _recognizer = cv2.face.LBPHFaceRecognizer_create() -_recognizer.read(f"{get_data_dir()}/trainer.yml") +try: + _recognizer.read(f"{get_data_dir()}/trainer.yml") +except Exception: + logger.exception("Cannot read trainer.yml!") def detect_and_take_photo() -> None: @@ -60,14 +63,15 @@ def process_frame(frame: Mat) -> None: @logger.catch def async_process_frame(frame: Mat) -> None: gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) - faces = face.detectMultiScale(gray_frame, scaleFactor=1.5, minNeighbors=5) + faces = face.detectMultiScale(gray_frame) for (x, y, w, h) in faces: logger.info( "Detected face, axis(x,y) = ({},{}), width = {} px, h = {} px", x, y, w, h ) # recognize? deep learned model predict keras tensorflow pytorch scikit learn label, confidence = _recognizer.predict(gray_frame) - if 50 <= confidence <= 85: + logger.info(f"Predicted face. Label: {label}, confidence: {confidence}") + if 2 <= confidence <= 85: trained_face: TrainedFace = get_by_id(_id=label) text: str if trained_face is not None: diff --git a/home_guardian/opencv/face_training.py b/home_guardian/opencv/face_training.py index 263f187..35fa007 100644 --- a/home_guardian/opencv/face_training.py +++ b/home_guardian/opencv/face_training.py @@ -6,6 +6,7 @@ from loguru import logger from PIL import Image +from home_guardian.common.time import elapsed_time from home_guardian.function_collection import get_data_dir, get_training_datasets_dir from home_guardian.opencv.haar_model import haarcascade_frontalface_default from home_guardian.repository.model.trained_face import TrainedFace @@ -37,19 +38,19 @@ def _get_face_features_and_labels() -> tuple[list[np.ndarray], list]: logger.info( f"Getting face features with the username: {username}, id: {trained_face}" ) - face_array = detector.detectMultiScale( - img_numpy, scaleFactor=1.5, minNeighbors=5 - ) + face_array = detector.detectMultiScale(img_numpy) for (x, y, w, h) in face_array: face_features.append(img_numpy[y : y + h, x : x + w]) labels.append(trained_face.get_id()) return face_features, labels +@elapsed_time def train_data() -> None: recognizer = cv2.face.LBPHFaceRecognizer_create() - logger.info("Training faces. It will take a few seconds. Wait...") + logger.warning("Training faces. It will take a few seconds. Wait...") face_features, labels = _get_face_features_and_labels() recognizer.train(face_features, np.array(labels)) recognizer.save(f"{get_data_dir()}/trainer.yml") - logger.info(f"{len(np.unique(labels))} faces trained.") + unique_labels: np.ndarray = np.unique(labels) + logger.warning(f"{len(unique_labels)} faces trained. Labels: {unique_labels}") diff --git a/home_guardian/opencv/haar_model.py b/home_guardian/opencv/haar_model.py index fa7a6ae..db1137d 100644 --- a/home_guardian/opencv/haar_model.py +++ b/home_guardian/opencv/haar_model.py @@ -3,5 +3,5 @@ from cv2.data import haarcascades haarcascade_frontalface_default = os.path.join( - haarcascades, "haarcascade_frontalface_default.xml" + haarcascades, "haarcascade_frontalface_alt2.xml" ) From 6bdf45852201a194e9caf0fd8d153ee5f7498c6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Thu, 18 Nov 2021 01:15:44 +0800 Subject: [PATCH 61/63] style: format setup.cfg [skip ci] --- setup.cfg | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/setup.cfg b/setup.cfg index f8ab891..922711b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,15 +5,15 @@ max-complexity = 18 select = B,C,E,F,W,T4 [isort] -multi_line_output=3 -include_trailing_comma=True -force_grid_wrap=0 -use_parentheses=True -line_length=88 +multi_line_output = 3 +include_trailing_comma = True +force_grid_wrap = 0 +use_parentheses = True +line_length = 88 [mypy] -files=home_guardian,test -ignore_missing_imports=true +files = home_guardian,test +ignore_missing_imports = true [tool:pytest] -testpaths=test/ +testpaths = test/ From 38a7d7891bc516a3632ba57cae524b3857cedde3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Thu, 18 Nov 2021 01:19:01 +0800 Subject: [PATCH 62/63] build($Docker): update Dockerfile's cmd --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a4a0121..c175ebe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,4 +33,4 @@ COPY . . # Run the executable ENTRYPOINT ["python", "-m", "home_guardian"] -CMD ["1"] +CMD ["detect"] From 5eadf3e7cb2eb2717a24c23caa16f280c9157d25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johnny=20Miller=20=28=E9=94=BA=E4=BF=8A=29?= Date: Thu, 18 Nov 2021 01:31:42 +0800 Subject: [PATCH 63/63] docs: create `CHANGELOG.md` and `tweet` file release/1.0.0 [skip ci] --- CHANGELOG.md | 47 +++++++++++++++++++++ docker-compose.yml | 2 +- tweets/2021-11/first-release-20211118.tweet | 3 ++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md create mode 100644 tweets/2021-11/first-release-20211118.tweet diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d4b252a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,47 @@ +# 1.0.0 (2021-11-17) + + +### Features + +* **$common:** refine [@debounce](https://github.com/debounce) and [@throttle](https://github.com/throttle) decorators ([46dce1d](https://github.com/johnnymillergh/home_guardian/commit/46dce1d0b53b2b9522bf7e03e31e00492722771b)) +* **$conf:** support dynamic environment variable configuration ([0a00573](https://github.com/johnnymillergh/home_guardian/commit/0a005736e425a603614482faedab7c25ad228857)) +* **$Decorator:** create elapsed time decorator ([0c18b70](https://github.com/johnnymillergh/home_guardian/commit/0c18b70d9210aeb41e6aa97f1f44e33b7c0fe8f9)) +* **$loguru:** integrate loguru for logging ([180f824](https://github.com/johnnymillergh/home_guardian/commit/180f824140adc65871c77c0daa15f5ec6948507c)) +* **$Loguru:** set default log level as "INFO" ([1b71e45](https://github.com/johnnymillergh/home_guardian/commit/1b71e4585c88237d70f7d1a2ae9f81b72182ba01)) +* **$message:** send warning email when detecting face ([7e7450a](https://github.com/johnnymillergh/home_guardian/commit/7e7450aa40b34a59aced003129e431eec80e8695)) +* **$message:** support configurable muting email ([5894748](https://github.com/johnnymillergh/home_guardian/commit/589474819c463a301ceaa8f6be040149a32a5a2f)) +* **$Message:** support sending email ([e101760](https://github.com/johnnymillergh/home_guardian/commit/e101760f4dc4b2ec67238070a35dbf3e0fa80aec)) +* **$message:** support sending redered HTML in email ([f423fec](https://github.com/johnnymillergh/home_guardian/commit/f423fec3bd3b7f4c2bd004674b92176c1f7e7ccb)) +* **$OpenCV:** detect face and save the image asynchronously ([4651abb](https://github.com/johnnymillergh/home_guardian/commit/4651abb90277fe467bb1d08c12f9e93e095334ef)) +* **$opencv:** persistence detected face info ([1bec964](https://github.com/johnnymillergh/home_guardian/commit/1bec964080c7eb3931f3132133b9b9f52722a269)) +* **$OpenCV:** support face training and recognition ([9fd983d](https://github.com/johnnymillergh/home_guardian/commit/9fd983d5851aed81769cc82451de3ec1b1016c35)) +* **$OpenCV:** tell headless or not ([b3097eb](https://github.com/johnnymillergh/home_guardian/commit/b3097eb6fee51a00f7fc2daee954634ac027b757)) +* **$startup:** define multiple startup mode identified by runtime arguments ([a19bf5e](https://github.com/johnnymillergh/home_guardian/commit/a19bf5e2b2a98a92e5caa6a7d8a37f5c8e883f26)) +* **$template:** add Jinjia2 dependency ([6f63176](https://github.com/johnnymillergh/home_guardian/commit/6f631768db36556e197dc28ee94ee4ef1ab983cc)) +* integrate peewee as ORM library ([ae56fe5](https://github.com/johnnymillergh/home_guardian/commit/ae56fe5fa3076059a15912322064abe37c489790)) +* new startup mode for collecting data ([01872b5](https://github.com/johnnymillergh/home_guardian/commit/01872b53df72cd82ac5891a86aff5cdfbc0e7a0c)) + + +### Performance Improvements + +* **$Async:** add async debounce decorator ([661f1ac](https://github.com/johnnymillergh/home_guardian/commit/661f1ac88e8675054ef9a623daf0e670ba4044c9)) +* **$db:** refine ORM log when initializing db ([5fd5b1f](https://github.com/johnnymillergh/home_guardian/commit/5fd5b1f3f3d81f9dc46eb55d5448fb5c75f140e0)) +* **$email:** only login and logout from the email server once ([cef9cf9](https://github.com/johnnymillergh/home_guardian/commit/cef9cf926eb9868f59f2d26552018c4310a869bf)) +* **$Executor:** cleanup thread pool executor when exiting program ([b254d41](https://github.com/johnnymillergh/home_guardian/commit/b254d418f4eddde5aff63fa494243170402df5a9)) +* **$loguru:** abstract function for loguru configuration ([b1433d1](https://github.com/johnnymillergh/home_guardian/commit/b1433d19fabc1f127f33f4acadab8975c6c51b88)) +* **$loguru:** override default console log format ([71181d5](https://github.com/johnnymillergh/home_guardian/commit/71181d590ad346610d99fcb26117e0a813279a40)) +* **$OpenCV:** change dependency to opencv-python-headless==4.5.4.58 ([fe471dd](https://github.com/johnnymillergh/home_guardian/commit/fe471dd2adbb8f3a6bc2de8175c2d6351fdac63b)) +* **$OpenCV:** multi-threading for OpenCV ([bbfecda](https://github.com/johnnymillergh/home_guardian/commit/bbfecda78cd71ee6a86f9830a856544dfd988c00)) +* **$OpenCV:** read embedded xml resource ([a0c818e](https://github.com/johnnymillergh/home_guardian/commit/a0c818eb461f4367dff96fa6d0272fadd8f328c6)) +* **$Python:** support pooled multi thread ([cc27bce](https://github.com/johnnymillergh/home_guardian/commit/cc27bce3aa884262ab0f7b89d99661e1ecb3be34)) +* support function's debounce and throttle ([e3aa552](https://github.com/johnnymillergh/home_guardian/commit/e3aa552488669be85172f1b29b04ca6eb074681b)) +* upgrade dependencies ([a07af6a](https://github.com/johnnymillergh/home_guardian/commit/a07af6a94b1c324705ac82a3c6bf916bc6d73c8f)) + + +### BREAKING CHANGES + +* **$OpenCV:** if it's not headless, show capture window +* **$OpenCV:** support face training and recognition +* **$OpenCV:** use parallelism (multi-thread) to work with CPU bound operation +* **$message:** support sending redered HTML in email +* **$template:** support template rendering diff --git a/docker-compose.yml b/docker-compose.yml index 46026cc..3f12aab 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,4 +18,4 @@ services: volumes: - ~/docker-file-mapping/home_guardian:/app/home_guardian/data command: - - 0 + - detect diff --git a/tweets/2021-11/first-release-20211118.tweet b/tweets/2021-11/first-release-20211118.tweet new file mode 100644 index 0000000..504ce10 --- /dev/null +++ b/tweets/2021-11/first-release-20211118.tweet @@ -0,0 +1,3 @@ +Hello, world! `home_guardian` version 1.0.0 released! A smart intruder inspection system, ran on Python 3, Raspberry Pi. + +https://github.com/johnnymillergh/home_guardian/