From 7b2b4c7957c5d27f4eca9712ab9bd75229ad445c Mon Sep 17 00:00:00 2001 From: Nifacy Date: Thu, 7 Aug 2025 17:03:08 +0300 Subject: [PATCH 01/62] add integration-tests command --- dev-tools/_exporters/__init__.py | 9 +++ dev-tools/_exporters/_interface.py | 9 +++ dev-tools/_exporters/_structurizr_cli.py | 74 +++++++++++++++++++ dev-tools/_usecases.py | 91 +++++++++++++++++++++++- dev-tools/cli.py | 54 +++++++++++++- 5 files changed, 234 insertions(+), 3 deletions(-) create mode 100644 dev-tools/_exporters/__init__.py create mode 100644 dev-tools/_exporters/_interface.py create mode 100644 dev-tools/_exporters/_structurizr_cli.py diff --git a/dev-tools/_exporters/__init__.py b/dev-tools/_exporters/__init__.py new file mode 100644 index 0000000..ccd4b37 --- /dev/null +++ b/dev-tools/_exporters/__init__.py @@ -0,0 +1,9 @@ +from ._interface import StructurizrWorkspaceExporter, ExportedWorkspace +from ._structurizr_cli import StructurizrCli + + +__all__ = [ + "StructurizrWorkspaceExporter", + "ExportedWorkspace", + "StructurizrCli", +] diff --git a/dev-tools/_exporters/_interface.py b/dev-tools/_exporters/_interface.py new file mode 100644 index 0000000..2c7ba6e --- /dev/null +++ b/dev-tools/_exporters/_interface.py @@ -0,0 +1,9 @@ +from typing import Any, Protocol +from pathlib import Path + + +type ExportedWorkspace = dict[str, Any] + + +class StructurizrWorkspaceExporter(Protocol): + def export_to_json(self, workspace_path: Path) -> ExportedWorkspace: ... diff --git a/dev-tools/_exporters/_structurizr_cli.py b/dev-tools/_exporters/_structurizr_cli.py new file mode 100644 index 0000000..ddd1d6c --- /dev/null +++ b/dev-tools/_exporters/_structurizr_cli.py @@ -0,0 +1,74 @@ +import json +from pathlib import Path +import subprocess +import sys +from typing import Final + +from ._interface import ExportedWorkspace +from ._interface import StructurizrWorkspaceExporter + + +class _ExtendedProcessError(Exception): + def __init__( + self, command: list[str], exit_code: int, stdout: str, stderr: str + ) -> None: + super().__init__( + f"Command failed with exit code {exit_code}:\n" + f"- command: {command}\n" + f"- stdout:\n{stdout}\n" + f"- stderr:\n{stderr}\n" + ) + + +class StructurizrCli(StructurizrWorkspaceExporter): + _EXEC_NAME: Final = ( + "structurizr.bat" if sys.platform == "win32" else "structurizr.sh" + ) + _OUTPUT_DIR: Final = "output" + + def __init__( + self, structurizr_cli_dir: Path, java_path: Path, syntax_plugin_path: Path + ): + self.__structurizr_cli_dir = structurizr_cli_dir + self.__java_path = java_path + self.__syntax_plugin_path = syntax_plugin_path + + def export_to_json(self, workspace_path: Path) -> ExportedWorkspace: + executable_path = (self.__structurizr_cli_dir / self._EXEC_NAME).absolute() + output_dir = (self.__structurizr_cli_dir / self._OUTPUT_DIR).absolute() + + command = [ + str(executable_path), + "export", + "--format", + "json", + "--output", + str(output_dir), + "--workspace", + str(workspace_path.absolute()), + ] + + process = subprocess.run( + command, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + env={ + "PATH": str(self.__java_path.absolute()), + "JAVA_TOOL_OPTIONS": f"-javaagent:{self.__syntax_plugin_path.absolute()}", + }, + ) + + try: + process.check_returncode() + except subprocess.SubprocessError: + raise _ExtendedProcessError( + command=command, + exit_code=process.returncode, + stdout=process.stdout.decode(errors="replace"), + stderr=process.stderr.decode(errors="replace"), + ) + + workspace_name = workspace_path.name.removesuffix(workspace_path.suffix) + converted_workspace_path = output_dir / f"{workspace_name}.json" + + return json.loads(converted_workspace_path.read_text()) diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index af1c60f..11d406d 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -1,13 +1,18 @@ import contextlib from dataclasses import dataclass import itertools +import json import logging from pathlib import Path -from typing import Iterator +import tempfile +from typing import Final, Iterator +import zipfile import github import marko +import requests +import _exporters import _parser.markdown import _change_log_parser @@ -15,6 +20,13 @@ import _github +_STRUCTURIZR_CLI_RELEASE_URL: Final = ( + "https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip" +) +_STRUCTURIZR_CLI_ARCHIVE_NAME: Final = "structurizr-cli.zip" +_STRUCTURIZR_CLI_DIR: Final = "structurizr-cli" + + @dataclass class ValidateStructureArgs: file: Path @@ -34,6 +46,14 @@ class ValidateIssueAddedArgs: github_token: str | None +@dataclass +class TestSyntaxPluginArgs: + syntax_plugin_path: Path + java_path: Path + workspace_path: Path + expected_file: Path + + class ValidationIssueError(Exception): def __init__(self, problem_issues: list[_github.IssueInfo]) -> None: self.problem_issues = problem_issues @@ -221,13 +241,82 @@ def validate_issue_added(args: ValidateIssueAddedArgs, log: logging.Logger) -> N log.info(f"Linked issue states are valid") +def _install_file( + url: str, output_path: Path, log: logging.Logger, *, percent_threshold: float = 10.0 +) -> None: + with requests.get(url, stream=True) as response: + with output_path.open("wb") as file: + total_installed_bytes = 0 + last_logged_percent = 0.0 + content_length = response.headers.get("Content-Length", None) + file_size = int(content_length) if content_length is not None else None + + for chunk in response.iter_content(chunk_size=8_192): + if not isinstance(chunk, bytes) or not chunk: + continue + + file.write(chunk) + total_installed_bytes += len(chunk) + + if file_size is None: + continue + + percent = total_installed_bytes / file_size * 100.0 + + if percent - last_logged_percent < percent_threshold: + continue + + log.debug(f"Installed {percent:.2f}%") + last_logged_percent = percent + + +def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: + with tempfile.TemporaryDirectory() as temp_dir: + temp_dir_path = Path(temp_dir) + structurizr_archive_path = temp_dir_path / _STRUCTURIZR_CLI_ARCHIVE_NAME + structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR + + with _log_action(log, "Test pattern-syntax-plugin work"): + with _log_action(log, "Install structurizr cli"): + _install_file( + url=_STRUCTURIZR_CLI_RELEASE_URL, + output_path=structurizr_archive_path, + log=log, + ) + + with _log_action(log, "Extract structurizr cli"): + with zipfile.ZipFile(structurizr_archive_path, "r") as archive: + archive.extractall(structurizr_cli_dir) + + with _log_action(log, "Export workspace to JSON"): + structurizr_cli = _exporters.StructurizrCli( + structurizr_cli_dir=structurizr_cli_dir, + java_path=args.java_path, + syntax_plugin_path=args.syntax_plugin_path, + ) + + exported_workspace = structurizr_cli.export_to_json(args.workspace_path) + + with _log_action(log, "Check with etalone JSON file"): + with args.expected_file.open("r", encoding="utf-8") as file: + expected_data = json.load(file) + + assert ( + exported_workspace == expected_data + ), "Exported workspace not equals to expected" + + log.info("All checks passed!") + + __all__ = [ "validate_structure", "validate_issues", "validate_issue_added", + "test_syntax_plugin", "ValidateStructureArgs", "ValidateIssuesArgs", "ValidateIssueAddedArgs", + "TestSyntaxPluginArgs", "ValidationIssueError", "IssueNotFoundError", ] diff --git a/dev-tools/cli.py b/dev-tools/cli.py index f057eb3..9683745 100644 --- a/dev-tools/cli.py +++ b/dev-tools/cli.py @@ -5,12 +5,17 @@ from pathlib import Path import sys import os -from typing import Final +from typing import Final, Union import _github import _usecases -type _CommandArgs = _usecases.ValidateStructureArgs | _usecases.ValidateIssuesArgs | _usecases.ValidateIssueAddedArgs +type _CommandArgs = Union[ + _usecases.ValidateStructureArgs, + _usecases.ValidateIssuesArgs, + _usecases.ValidateIssueAddedArgs, + _usecases.TestSyntaxPluginArgs, +] @dataclass @@ -100,6 +105,36 @@ def _init_changelog_parser(parser: argparse.ArgumentParser) -> None: _init_validate_issue_added_parser(validate_issue_added_parser) +def _init_integration_tests_parser(parser: argparse.ArgumentParser) -> None: + parser.add_argument( + "--plugin-path", + type=Path, + required=True, + help="Path to pattern-syntax-plugin JAR archive", + ) + + parser.add_argument( + "--java-path", + type=Path, + required=True, + help="Path to java binary directory", + ) + + parser.add_argument( + "--workspace-path", + type=Path, + required=True, + help="Path to Structurizr workspace file", + ) + + parser.add_argument( + "--expected_file", + type=Path, + required=True, + help="Path to etalone exported JSON workspace file", + ) + + def _init_parser() -> argparse.ArgumentParser: parser = argparse.ArgumentParser(description="Dev Tools CLI") @@ -117,6 +152,12 @@ def _init_parser() -> argparse.ArgumentParser: ) _init_changelog_parser(changelog_parser) + integration_test_parser = subparsers.add_parser( + "integration-tests", + help="Run integration tests for patter-syntax-plugin", + ) + _init_integration_tests_parser(integration_test_parser) + return parser @@ -150,6 +191,13 @@ def _extract_command_args(args: argparse.Namespace) -> _CommandArgs: raise ValueError( f"Unknown changelog command: {args.changelog_command}" ) + case "integration-tests": + return _usecases.TestSyntaxPluginArgs( + syntax_plugin_path=args.plugin_path, + java_path=args.java_path, + workspace_path=args.workspace_path, + expected_file=args.expected_file, + ) case _: raise ValueError(f"Unknown command: {args.command}") @@ -209,6 +257,8 @@ def main(log: logging.Logger, args: _ParsedArgs) -> None: _usecases.validate_issues(args.command_args, log) case _usecases.ValidateIssueAddedArgs(): _usecases.validate_issue_added(args.command_args, log) + case _usecases.TestSyntaxPluginArgs(): + _usecases.test_syntax_plugin(args.command_args, log) if __name__ == "__main__": From cc04f9f69bd7dac70c63670e28f30e6d23a87285 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 9 Aug 2025 01:32:44 +0300 Subject: [PATCH 02/62] add negative case check support --- dev-tools/_exporters/__init__.py | 9 +++- dev-tools/_exporters/_interface.py | 17 +++++-- dev-tools/_exporters/_structurizr_cli.py | 21 ++------ dev-tools/_integration_test_runner.py | 57 ++++++++++++++++++++++ dev-tools/_usecases.py | 61 +++++++++++++++++------- dev-tools/cli.py | 6 +-- 6 files changed, 131 insertions(+), 40 deletions(-) create mode 100644 dev-tools/_integration_test_runner.py diff --git a/dev-tools/_exporters/__init__.py b/dev-tools/_exporters/__init__.py index ccd4b37..6cd5578 100644 --- a/dev-tools/_exporters/__init__.py +++ b/dev-tools/_exporters/__init__.py @@ -1,9 +1,14 @@ -from ._interface import StructurizrWorkspaceExporter, ExportedWorkspace +from ._interface import StructurizrWorkspaceExporter +from ._interface import ExportedWorkspace +from ._interface import ExportResult +from ._interface import ExportFailure from ._structurizr_cli import StructurizrCli __all__ = [ - "StructurizrWorkspaceExporter", "ExportedWorkspace", + "ExportFailure", + "ExportResult", "StructurizrCli", + "StructurizrWorkspaceExporter", ] diff --git a/dev-tools/_exporters/_interface.py b/dev-tools/_exporters/_interface.py index 2c7ba6e..52242ac 100644 --- a/dev-tools/_exporters/_interface.py +++ b/dev-tools/_exporters/_interface.py @@ -1,9 +1,20 @@ -from typing import Any, Protocol +from dataclasses import dataclass +from typing import Any, NewType, Protocol from pathlib import Path -type ExportedWorkspace = dict[str, Any] +ExportedWorkspace = NewType("ExportedWorkspace", dict[str, Any]) + + +@dataclass(frozen=True, slots=True) +class ExportFailure: + exit_code: int + stdout: str + stderr: str + + +type ExportResult = ExportedWorkspace | ExportFailure class StructurizrWorkspaceExporter(Protocol): - def export_to_json(self, workspace_path: Path) -> ExportedWorkspace: ... + def export_to_json(self, workspace_path: Path) -> ExportResult: ... diff --git a/dev-tools/_exporters/_structurizr_cli.py b/dev-tools/_exporters/_structurizr_cli.py index ddd1d6c..984d5c7 100644 --- a/dev-tools/_exporters/_structurizr_cli.py +++ b/dev-tools/_exporters/_structurizr_cli.py @@ -5,21 +5,11 @@ from typing import Final from ._interface import ExportedWorkspace +from ._interface import ExportResult +from ._interface import ExportFailure from ._interface import StructurizrWorkspaceExporter -class _ExtendedProcessError(Exception): - def __init__( - self, command: list[str], exit_code: int, stdout: str, stderr: str - ) -> None: - super().__init__( - f"Command failed with exit code {exit_code}:\n" - f"- command: {command}\n" - f"- stdout:\n{stdout}\n" - f"- stderr:\n{stderr}\n" - ) - - class StructurizrCli(StructurizrWorkspaceExporter): _EXEC_NAME: Final = ( "structurizr.bat" if sys.platform == "win32" else "structurizr.sh" @@ -33,7 +23,7 @@ def __init__( self.__java_path = java_path self.__syntax_plugin_path = syntax_plugin_path - def export_to_json(self, workspace_path: Path) -> ExportedWorkspace: + def export_to_json(self, workspace_path: Path) -> ExportResult: executable_path = (self.__structurizr_cli_dir / self._EXEC_NAME).absolute() output_dir = (self.__structurizr_cli_dir / self._OUTPUT_DIR).absolute() @@ -61,8 +51,7 @@ def export_to_json(self, workspace_path: Path) -> ExportedWorkspace: try: process.check_returncode() except subprocess.SubprocessError: - raise _ExtendedProcessError( - command=command, + return ExportFailure( exit_code=process.returncode, stdout=process.stdout.decode(errors="replace"), stderr=process.stderr.decode(errors="replace"), @@ -71,4 +60,4 @@ def export_to_json(self, workspace_path: Path) -> ExportedWorkspace: workspace_name = workspace_path.name.removesuffix(workspace_path.suffix) converted_workspace_path = output_dir / f"{workspace_name}.json" - return json.loads(converted_workspace_path.read_text()) + return ExportedWorkspace(json.loads(converted_workspace_path.read_text())) diff --git a/dev-tools/_integration_test_runner.py b/dev-tools/_integration_test_runner.py new file mode 100644 index 0000000..2adbfec --- /dev/null +++ b/dev-tools/_integration_test_runner.py @@ -0,0 +1,57 @@ +from dataclasses import dataclass +import json +from pathlib import Path + +import _exporters + + +@dataclass +class SuccessTestCase: + expected_export_result_file: Path + + +@dataclass +class FailTestCase: + exit_code: int + error_message: str + + +type TestCaseConfiguration = SuccessTestCase | FailTestCase + + +def run_integration_test_case( + config: TestCaseConfiguration, + exporter: _exporters.StructurizrWorkspaceExporter, + workspace_path: Path, +) -> None: + export_result = exporter.export_to_json(workspace_path) + + match config: + case SuccessTestCase(expected_export_result_file=expected_result_file): + expected_result = json.loads(expected_result_file.read_text()) + + assert not isinstance( + export_result, _exporters.ExportFailure + ), "Export result unexpected failed" + assert ( + export_result == expected_result + ), "Exported workspace not equals to expected" + + case FailTestCase(exit_code=exit_code, error_message=error_message): + assert isinstance( + export_result, _exporters.ExportFailure + ), "Export result unexpected success" + assert ( + export_result.exit_code == exit_code + ), "Exit code not equals to expected" + assert ( + error_message in export_result.stderr + ), "Stderr doesn't contain error message" + + +__all__ = [ + "FailTestCase", + "run_integration_test_case", + "SuccessTestCase", + "TestCaseConfiguration", +] diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 11d406d..4791a23 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -16,6 +16,7 @@ import _parser.markdown import _change_log_parser +import _integration_test_runner import _change_log import _github @@ -51,7 +52,7 @@ class TestSyntaxPluginArgs: syntax_plugin_path: Path java_path: Path workspace_path: Path - expected_file: Path + test_case_config_file: Path class ValidationIssueError(Exception): @@ -270,6 +271,35 @@ def _install_file( last_logged_percent = percent +def _extract_test_case_config_from_file( + config_file: Path, +) -> _integration_test_runner.TestCaseConfiguration: + raw_config = json.loads(config_file.read_text()) + + match raw_config: + case {"result": "success", "export_result_file": str(result_file_path)}: + return _integration_test_runner.SuccessTestCase( + expected_export_result_file=Path(result_file_path), + ) + + case { + "result": "fail", + "exit_code": int(exit_code), + "error_message": str(error_message), + }: + return _integration_test_runner.FailTestCase( + exit_code=exit_code, + error_message=error_message, + ) + + case _: + raise ValueError( + "Unknown tets case configuration:\n{}".format( + json.dumps(raw_config, indent=4) + ) + ) + + def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: with tempfile.TemporaryDirectory() as temp_dir: temp_dir_path = Path(temp_dir) @@ -277,6 +307,11 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR with _log_action(log, "Test pattern-syntax-plugin work"): + with _log_action(log, "Extract test case configuration"): + test_case_config = _extract_test_case_config_from_file( + args.test_case_config_file + ) + with _log_action(log, "Install structurizr cli"): _install_file( url=_STRUCTURIZR_CLI_RELEASE_URL, @@ -288,23 +323,17 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: with zipfile.ZipFile(structurizr_archive_path, "r") as archive: archive.extractall(structurizr_cli_dir) - with _log_action(log, "Export workspace to JSON"): - structurizr_cli = _exporters.StructurizrCli( - structurizr_cli_dir=structurizr_cli_dir, - java_path=args.java_path, - syntax_plugin_path=args.syntax_plugin_path, + with _log_action(log, "Run integration test"): + _integration_test_runner.run_integration_test_case( + config=test_case_config, + exporter=_exporters.StructurizrCli( + structurizr_cli_dir=structurizr_cli_dir, + java_path=args.java_path, + syntax_plugin_path=args.syntax_plugin_path, + ), + workspace_path=args.workspace_path, ) - exported_workspace = structurizr_cli.export_to_json(args.workspace_path) - - with _log_action(log, "Check with etalone JSON file"): - with args.expected_file.open("r", encoding="utf-8") as file: - expected_data = json.load(file) - - assert ( - exported_workspace == expected_data - ), "Exported workspace not equals to expected" - log.info("All checks passed!") diff --git a/dev-tools/cli.py b/dev-tools/cli.py index 9683745..d67887d 100644 --- a/dev-tools/cli.py +++ b/dev-tools/cli.py @@ -128,10 +128,10 @@ def _init_integration_tests_parser(parser: argparse.ArgumentParser) -> None: ) parser.add_argument( - "--expected_file", + "--test-case-config", type=Path, required=True, - help="Path to etalone exported JSON workspace file", + help="Path to test case configuration file", ) @@ -196,7 +196,7 @@ def _extract_command_args(args: argparse.Namespace) -> _CommandArgs: syntax_plugin_path=args.plugin_path, java_path=args.java_path, workspace_path=args.workspace_path, - expected_file=args.expected_file, + test_case_config_file=args.test_case_config, ) case _: raise ValueError(f"Unknown command: {args.command}") From c4cea5738b9bac4d3cfcba3ddfdafc58d7144a36 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 9 Aug 2025 01:58:52 +0300 Subject: [PATCH 03/62] add multiple test cases support --- dev-tools/_integration_test_runner.py | 17 +++-- dev-tools/_usecases.py | 106 +++++++++++++++++--------- dev-tools/cli.py | 8 -- 3 files changed, 81 insertions(+), 50 deletions(-) diff --git a/dev-tools/_integration_test_runner.py b/dev-tools/_integration_test_runner.py index 2adbfec..c735f70 100644 --- a/dev-tools/_integration_test_runner.py +++ b/dev-tools/_integration_test_runner.py @@ -6,27 +6,32 @@ @dataclass -class SuccessTestCase: +class _CommonTestCaseConfiguration: + name: str + + +@dataclass +class SuccessTestCase(_CommonTestCaseConfiguration): expected_export_result_file: Path @dataclass -class FailTestCase: +class FailTestCase(_CommonTestCaseConfiguration): exit_code: int error_message: str -type TestCaseConfiguration = SuccessTestCase | FailTestCase +type TestCaseRunConfiguration = SuccessTestCase | FailTestCase def run_integration_test_case( - config: TestCaseConfiguration, + run_config: TestCaseRunConfiguration, exporter: _exporters.StructurizrWorkspaceExporter, workspace_path: Path, ) -> None: export_result = exporter.export_to_json(workspace_path) - match config: + match run_config: case SuccessTestCase(expected_export_result_file=expected_result_file): expected_result = json.loads(expected_result_file.read_text()) @@ -53,5 +58,5 @@ def run_integration_test_case( "FailTestCase", "run_integration_test_case", "SuccessTestCase", - "TestCaseConfiguration", + "TestCaseRunConfiguration", ] diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 4791a23..cd7943a 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -28,6 +28,13 @@ _STRUCTURIZR_CLI_DIR: Final = "structurizr-cli" +@dataclass +class _TestCaseInfo: + name: str + workspace_path: Path + run_config: _integration_test_runner.TestCaseRunConfiguration + + @dataclass class ValidateStructureArgs: file: Path @@ -51,7 +58,6 @@ class ValidateIssueAddedArgs: class TestSyntaxPluginArgs: syntax_plugin_path: Path java_path: Path - workspace_path: Path test_case_config_file: Path @@ -271,33 +277,56 @@ def _install_file( last_logged_percent = percent -def _extract_test_case_config_from_file( - config_file: Path, -) -> _integration_test_runner.TestCaseConfiguration: - raw_config = json.loads(config_file.read_text()) - - match raw_config: - case {"result": "success", "export_result_file": str(result_file_path)}: - return _integration_test_runner.SuccessTestCase( - expected_export_result_file=Path(result_file_path), - ) +def _extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo]: + raw_infos = json.loads(config_file.read_text()) + test_cases_info: list[_TestCaseInfo] = [] + + for raw_info in raw_infos: + match raw_info: + case { + "result": "success", + "name": str(name), + "workspace": str(workspace_path), + "export_result_file": str(result_file_path), + }: + test_cases_info.append( + _TestCaseInfo( + name=name, + workspace_path=Path(workspace_path), + run_config=_integration_test_runner.SuccessTestCase( + name=name, + expected_export_result_file=Path(result_file_path), + ), + ) + ) - case { - "result": "fail", - "exit_code": int(exit_code), - "error_message": str(error_message), - }: - return _integration_test_runner.FailTestCase( - exit_code=exit_code, - error_message=error_message, - ) + case { + "result": "fail", + "name": str(name), + "workspace": str(workspace_path), + "exit_code": int(exit_code), + "error_message": str(error_message), + }: + test_cases_info.append( + _TestCaseInfo( + name=name, + workspace_path=Path(workspace_path), + run_config=_integration_test_runner.FailTestCase( + name=name, + exit_code=exit_code, + error_message=error_message, + ), + ) + ) - case _: - raise ValueError( - "Unknown tets case configuration:\n{}".format( - json.dumps(raw_config, indent=4) + case _: + raise ValueError( + "Unknown tets case configuration:\n{}".format( + json.dumps(raw_info, indent=4) + ) ) - ) + + return test_cases_info def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: @@ -308,7 +337,7 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: with _log_action(log, "Test pattern-syntax-plugin work"): with _log_action(log, "Extract test case configuration"): - test_case_config = _extract_test_case_config_from_file( + test_cases_info = _extract_test_cases_info_from_file( args.test_case_config_file ) @@ -323,16 +352,21 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: with zipfile.ZipFile(structurizr_archive_path, "r") as archive: archive.extractall(structurizr_cli_dir) - with _log_action(log, "Run integration test"): - _integration_test_runner.run_integration_test_case( - config=test_case_config, - exporter=_exporters.StructurizrCli( - structurizr_cli_dir=structurizr_cli_dir, - java_path=args.java_path, - syntax_plugin_path=args.syntax_plugin_path, - ), - workspace_path=args.workspace_path, - ) + with _log_action(log, "Run integration tests"): + for test_case_info in test_cases_info: + log.info(f"Run '{test_case_info.name}' test case ...") + + _integration_test_runner.run_integration_test_case( + run_config=test_case_info.run_config, + exporter=_exporters.StructurizrCli( + structurizr_cli_dir=structurizr_cli_dir, + java_path=args.java_path, + syntax_plugin_path=args.syntax_plugin_path, + ), + workspace_path=test_case_info.workspace_path, + ) + + log.info(f"Run '{test_case_info.name}' test case ... ok") log.info("All checks passed!") diff --git a/dev-tools/cli.py b/dev-tools/cli.py index d67887d..58ebde2 100644 --- a/dev-tools/cli.py +++ b/dev-tools/cli.py @@ -120,13 +120,6 @@ def _init_integration_tests_parser(parser: argparse.ArgumentParser) -> None: help="Path to java binary directory", ) - parser.add_argument( - "--workspace-path", - type=Path, - required=True, - help="Path to Structurizr workspace file", - ) - parser.add_argument( "--test-case-config", type=Path, @@ -195,7 +188,6 @@ def _extract_command_args(args: argparse.Namespace) -> _CommandArgs: return _usecases.TestSyntaxPluginArgs( syntax_plugin_path=args.plugin_path, java_path=args.java_path, - workspace_path=args.workspace_path, test_case_config_file=args.test_case_config, ) case _: From 5d9486ae7827ce2e162a97231cf5266260ad9bfd Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 9 Aug 2025 02:02:40 +0300 Subject: [PATCH 04/62] temp: add example of test case configuration --- dev-tools/example-config/results/layered.json | 1 + .../example-config/results/reverseProxy.json | 1 + dev-tools/example-config/results/saga.json | 1 + .../results/serviceRegistry.json | 1 + .../example-config/test-configuration.json | 33 +++++++++++++++++++ 5 files changed, 37 insertions(+) create mode 100644 dev-tools/example-config/results/layered.json create mode 100644 dev-tools/example-config/results/reverseProxy.json create mode 100644 dev-tools/example-config/results/saga.json create mode 100644 dev-tools/example-config/results/serviceRegistry.json create mode 100644 dev-tools/example-config/test-configuration.json diff --git a/dev-tools/example-config/results/layered.json b/dev-tools/example-config/results/layered.json new file mode 100644 index 0000000..b44065b --- /dev/null +++ b/dev-tools/example-config/results/layered.json @@ -0,0 +1 @@ +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Uses through web-browser", "destinationId": "3", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Uses through web-browser", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}, {"description": "Uses through web-browser", "destinationId": "4", "id": "11", "sourceId": "1", "tags": "Relationship"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "group": "Frontend Layer", "id": "3", "name": "App for Consumer", "properties": {"structurizr.dsl.identifier": "consumerfrontend"}, "relationships": [{"description": "Sends order requests", "destinationId": "5", "id": "12", "sourceId": "3", "tags": "Relationship"}, {"description": "Queries product information", "destinationId": "6", "id": "13", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Frontend Layer", "id": "4", "name": "App for Seller", "properties": {"structurizr.dsl.identifier": "sellerfrontend"}, "relationships": [{"description": "Updates product inventory", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "5", "name": "Order Processing Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Read & write order data", "destinationId": "7", "id": "15", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "6", "name": "Inventory Management Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Read & write inventory data", "destinationId": "7", "id": "16", "sourceId": "6", "tags": "Relationship"}, {"description": "Archive older records", "destinationId": "8", "id": "17", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "7", "name": "Main Database", "properties": {"structurizr.dsl.identifier": "databasemain"}, "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "8", "name": "Archive Database", "properties": {"structurizr.dsl.identifier": "databasearchive"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Layered architecture", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJMYXllcmVkIGFyY2hpdGVjdHVyZSIgew0KICAgIG1vZGVsIHsNCiAgICAgICAgdXNlciA9IHBlcnNvbiAiVXNlciINCiAgICAgICAgc3lzdGVtID0gc29mdHdhcmVTeXN0ZW0gT25saW5lU2hvcCB7DQogICAgICAgICAgICBjb25zdW1lckZyb250ZW5kID0gY29udGFpbmVyICJBcHAgZm9yIENvbnN1bWVyIg0KICAgICAgICAgICAgc2VsbGVyRnJvbnRlbmQgPSBjb250YWluZXIgIkFwcCBmb3IgU2VsbGVyIg0KDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFByb2Nlc3NpbmcgU2VydmljZSINCiAgICAgICAgICAgIGludmVudG9yeVNlcnZpY2UgPSBjb250YWluZXIgIkludmVudG9yeSBNYW5hZ2VtZW50IFNlcnZpY2UiDQoNCiAgICAgICAgICAgIGRhdGFiYXNlTWFpbiA9IGNvbnRhaW5lciAiTWFpbiBEYXRhYmFzZSINCiAgICAgICAgICAgIGRhdGFiYXNlQXJjaGl2ZSA9IGNvbnRhaW5lciAiQXJjaGl2ZSBEYXRhYmFzZSINCiAgICAgICAgfQ0KDQogICAgICAgIHVzZXIgLT4gY29uc3VtZXJGcm9udGVuZCAiVXNlcyB0aHJvdWdoIHdlYi1icm93c2VyIg0KICAgICAgICB1c2VyIC0+IHNlbGxlckZyb250ZW5kICJVc2VzIHRocm91Z2ggd2ViLWJyb3dzZXIiDQoNCiAgICAgICAgY29uc3VtZXJGcm9udGVuZCAtPiBvcmRlclNlcnZpY2UgIlNlbmRzIG9yZGVyIHJlcXVlc3RzIg0KICAgICAgICBjb25zdW1lckZyb250ZW5kIC0+IGludmVudG9yeVNlcnZpY2UgIlF1ZXJpZXMgcHJvZHVjdCBpbmZvcm1hdGlvbiINCiAgICAgICAgc2VsbGVyRnJvbnRlbmQgLT4gaW52ZW50b3J5U2VydmljZSAiVXBkYXRlcyBwcm9kdWN0IGludmVudG9yeSINCg0KICAgICAgICBvcmRlclNlcnZpY2UgLT4gZGF0YWJhc2VNYWluICJSZWFkICYgd3JpdGUgb3JkZXIgZGF0YSINCiAgICAgICAgaW52ZW50b3J5U2VydmljZSAtPiBkYXRhYmFzZU1haW4gIlJlYWQgJiB3cml0ZSBpbnZlbnRvcnkgZGF0YSINCiAgICAgICAgaW52ZW50b3J5U2VydmljZSAtPiBkYXRhYmFzZUFyY2hpdmUgIkFyY2hpdmUgb2xkZXIgcmVjb3JkcyINCg0KICAgICAgICAvLyBjb25zdW1lckZyb250ZW5kIC0+IGRhdGFiYXNlTWFpbiAiQmFkIHJlbGF0aW9uc2hpcCINCg0KICAgICAgICAkcGF0dGVybiBMYXllcmVkIHsNCiAgICAgICAgICAgIGxheWVyLjAubmFtZSAiRnJvbnRlbmQgTGF5ZXIiDQogICAgICAgICAgICBsYXllci4wLmVsZW1lbnRzIGNvbnN1bWVyRnJvbnRlbmQsc2VsbGVyRnJvbnRlbmQNCg0KICAgICAgICAgICAgbGF5ZXIuMS5uYW1lICJCYWNrZW5kIExheWVyIg0KICAgICAgICAgICAgbGF5ZXIuMS5lbGVtZW50cyBvcmRlclNlcnZpY2UsaW52ZW50b3J5U2VydmljZQ0KICAgICAgICAgICAgLy8gbGF5ZXIuMS5lbGVtZW50cyBvcmRlclNlcnZpY2UsaW52ZW50b3J5U2VydmljZSxjb25zdW1lckZyb250ZW5kDQoNCiAgICAgICAgICAgIGxheWVyLjIubmFtZSAiRGF0YWJhc2UgTGF5ZXIiDQogICAgICAgICAgICBsYXllci4yLmVsZW1lbnRzIGRhdGFiYXNlTWFpbixkYXRhYmFzZUFyY2hpdmUNCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}}} \ No newline at end of file diff --git a/dev-tools/example-config/results/reverseProxy.json b/dev-tools/example-config/results/reverseProxy.json new file mode 100644 index 0000000..f767e23 --- /dev/null +++ b/dev-tools/example-config/results/reverseProxy.json @@ -0,0 +1 @@ +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "Customer", "properties": {"structurizr.dsl.identifier": "customer"}, "relationships": [{"description": "Sends Requests", "destinationId": "14", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Sends Requests", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "Some other container", "properties": {"structurizr.dsl.identifier": "app2"}, "relationships": [{"description": "Some relationship", "destinationId": "14", "id": "8", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "4", "name": "Web App", "properties": {"structurizr.dsl.identifier": "webapp"}, "relationships": [{"description": "Requests data", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests users", "destinationId": "7", "id": "12", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container", "technology": "Java, Spring Boot"}, {"documentation": {}, "id": "5", "name": "Container 3", "properties": {"structurizr.dsl.identifier": "app3"}, "relationships": [{"description": "ABOBA", "destinationId": "7", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Database", "properties": {"structurizr.dsl.identifier": "db"}, "tags": "Element,Container", "technology": "PostgreSQL"}, {"documentation": {}, "id": "7", "name": "Database 2", "properties": {"structurizr.dsl.identifier": "db2"}, "tags": "Element,Container", "technology": "Mongo"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "14", "name": "Reverse Proxy", "relationships": [{"description": "Resends Requests", "destinationId": "4", "id": "15", "sourceId": "14", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "s"}, "tags": "Element,Software System"}]}, "name": "Reverse Proxy", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJSZXZlcnNlIFByb3h5IiB7DQogICAgbW9kZWwgew0KICAgICAgICBjdXN0b21lciA9IHBlcnNvbiAiQ3VzdG9tZXIiDQoNCiAgICAgICAgcyA9IHNvZnR3YXJlU3lzdGVtIE9ubGluZVNob3Agew0KICAgICAgICAgICAgYXBwMiA9IGNvbnRhaW5lciAiU29tZSBvdGhlciBjb250YWluZXIiDQoNCiAgICAgICAgICAgIHdlYkFwcCA9IGNvbnRhaW5lciAiV2ViIEFwcCIgew0KICAgICAgICAgICAgICAgIHRlY2hub2xvZ3kgIkphdmEsIFNwcmluZyBCb290Ig0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBhcHAzID0gY29udGFpbmVyICJDb250YWluZXIgMyINCg0KICAgICAgICAgICAgZGIgPSBjb250YWluZXIgIkRhdGFiYXNlIiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiUG9zdGdyZVNRTCINCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGIyID0gY29udGFpbmVyICJEYXRhYmFzZSAyIiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiTW9uZ28iDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcHAyIC0+IHdlYkFwcCAiU29tZSByZWxhdGlvbnNoaXAiDQogICAgICAgIGN1c3RvbWVyIC0+IHdlYkFwcCAiU2VuZHMgUmVxdWVzdHMiDQogICAgICAgIHdlYkFwcCAtPiBkYiAiUmVxdWVzdHMgZGF0YSINCiAgICAgICAgd2ViQXBwIC0+IGRiMiAiUmVxdWVzdHMgdXNlcnMiDQogICAgICAgIGFwcDMgLT4gZGIyICJBQk9CQSINCg0KICAgICAgICRwYXR0ZXJuIFJldmVyc2VQcm94eSB7DQogICAgICAgICAgIHRhcmdldCB3ZWJBcHANCiAgICAgICB9DQogICAgfQ0KDQogICAgdmlld3Mgew0KICAgICAgICBjb250YWluZXIgcyB7DQogICAgICAgICAgICBpbmNsdWRlICoNCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHINCiAgICAgICAgfQ0KDQogICAgICAgIGNvbnRhaW5lciBzIHsNCiAgICAgICAgICAgIGluY2x1ZGUgd2ViQXBwIGFwcDIgY3VzdG9tZXINCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHINCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}, {"id": "7", "x": 0, "y": 0}, {"id": "14", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 1, "relationships": [{"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "15"}, {"id": "8"}, {"id": "9"}], "softwareSystemId": "2"}, {"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-002", "order": 2, "softwareSystemId": "2"}]}} \ No newline at end of file diff --git a/dev-tools/example-config/results/saga.json b/dev-tools/example-config/results/saga.json new file mode 100644 index 0000000..a068e40 --- /dev/null +++ b/dev-tools/example-config/results/saga.json @@ -0,0 +1 @@ +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates Order", "destinationId": "3", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates Order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "API", "properties": {"structurizr.dsl.identifier": "api"}, "relationships": [{"description": "Sends request to create order transaction", "destinationId": "4", "id": "9", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "4", "name": "Saga Orchestrator", "properties": {"structurizr.dsl.identifier": "orchestrator"}, "relationships": [{"description": "Set order status PENDING", "destinationId": "5", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Reserve funds", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status APPROVE", "destinationId": "5", "id": "12", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status CANCELED on error", "destinationId": "5", "id": "13", "sourceId": "4", "tags": "Relationship"}, {"description": "Refund on error", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Balance Service", "properties": {"structurizr.dsl.identifier": "balanceservice"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Order System", "properties": {"structurizr.dsl.identifier": "ordersystem"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsNCiAgICBtb2RlbCB7DQogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiDQoNCiAgICAgICAgb3JkZXJTeXN0ZW0gPSBzb2Z0d2FyZVN5c3RlbSAiT3JkZXIgU3lzdGVtIiB7DQogICAgICAgICAgICBhcGkgPSBjb250YWluZXIgIkFQSSINCiAgICAgICAgICAgIG9yY2hlc3RyYXRvciA9IGNvbnRhaW5lciAiU2FnYSBPcmNoZXN0cmF0b3IiDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFNlcnZpY2UiDQogICAgICAgICAgICBiYWxhbmNlU2VydmljZSA9IGNvbnRhaW5lciAiQmFsYW5jZSBTZXJ2aWNlIg0KDQogICAgICAgICAgICB1c2VyIC0+IGFwaSAiQ3JlYXRlcyBPcmRlciINCiAgICAgICAgICAgIGFwaSAtPiBvcmNoZXN0cmF0b3IgIlNlbmRzIHJlcXVlc3QgdG8gY3JlYXRlIG9yZGVyIHRyYW5zYWN0aW9uIg0KDQogICAgICAgICAgICAkcGF0dGVybiBTYWdhIHsNCiAgICAgICAgICAgICAgICBvcmNoZXN0cmF0b3IgICAgb3JjaGVzdHJhdG9yDQoNCiAgICAgICAgICAgICAgICBpdGVtLjAuc2VydmljZSAgb3JkZXJTZXJ2aWNlDQogICAgICAgICAgICAgICAgaXRlbS4wLmNvbW1hbmQgICJTZXQgb3JkZXIgc3RhdHVzIFBFTkRJTkciDQogICAgICAgICAgICAgICAgaXRlbS4wLm9uRXJyb3IgICJTZXQgb3JkZXIgc3RhdHVzIENBTkNFTEVEIg0KDQogICAgICAgICAgICAgICAgaXRlbS4xLnNlcnZpY2UgIGJhbGFuY2VTZXJ2aWNlDQogICAgICAgICAgICAgICAgaXRlbS4xLmNvbW1hbmQgICJSZXNlcnZlIGZ1bmRzIg0KICAgICAgICAgICAgICAgIGl0ZW0uMS5vbkVycm9yICAiUmVmdW5kIg0KDQogICAgICAgICAgICAgICAgaXRlbS4yLnNlcnZpY2UgIG9yZGVyU2VydmljZQ0KICAgICAgICAgICAgICAgIGl0ZW0uMi5jb21tYW5kICAiU2V0IG9yZGVyIHN0YXR1cyBBUFBST1ZFIg0KICAgICAgICAgICAgICAgIGl0ZW0uMi5vbkVycm9yICAiU2V0IG9yZGVyIHN0YXR1cyBDQU5DRUxFRCINCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHZpZXdzIHsNCiAgICAgICAgY29udGFpbmVyIG9yZGVyU3lzdGVtIHsNCiAgICAgICAgICAgIGluY2x1ZGUgKg0KICAgICAgICAgICAgYXV0b2xheW91dCBscg0KICAgICAgICB9DQoNCiAgICAgICAgdGhlbWUgZGVmYXVsdA0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}, "themes": ["https://static.structurizr.com/themes/default/theme.json"]}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 2, "relationships": [{"id": "10"}, {"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "14"}, {"id": "7"}, {"id": "9"}], "softwareSystemId": "2"}], "dynamicViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 500, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "description": "View of transaction", "elementId": "2", "elements": [{"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalBoundariesVisible": false, "key": "TransactionView", "order": 1, "relationships": [{"description": "Set order status PENDING", "id": "10", "order": "1", "response": false}, {"description": "Reserve funds", "id": "11", "order": "2", "response": false}, {"description": "Set order status APPROVE", "id": "12", "order": "3", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "4", "response": false}, {"description": "Refund on error", "id": "14", "order": "5", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "6", "response": false}]}]}} \ No newline at end of file diff --git a/dev-tools/example-config/results/serviceRegistry.json b/dev-tools/example-config/results/serviceRegistry.json new file mode 100644 index 0000000..b8ddbb4 --- /dev/null +++ b/dev-tools/example-config/results/serviceRegistry.json @@ -0,0 +1 @@ +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates order", "destinationId": "4", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"description": "Manages services registration and discovery", "documentation": {}, "id": "3", "name": "Service Registry", "properties": {"structurizr.dsl.identifier": "serviceregistry"}, "tags": "Element,Container", "technology": "Eureka"}, {"documentation": {}, "id": "4", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Sends payment request", "destinationId": "5", "id": "9", "sourceId": "4", "tags": "Relationship"}, {"description": "Checks items availability", "destinationId": "6", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests location of ${destinationService.getName()}", "destinationId": "3", "id": "11", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Payment Service", "properties": {"structurizr.dsl.identifier": "paymentservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Inventory Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "12", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Orders Application", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsNCiAgICBtb2RlbCB7DQogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiDQoNCiAgICAgICAgc3lzdGVtID0gc29mdHdhcmVTeXN0ZW0gIk9yZGVycyBBcHBsaWNhdGlvbiIgew0KICAgICAgICAgICAgc2VydmljZVJlZ2lzdHJ5ID0gY29udGFpbmVyICJTZXJ2aWNlIFJlZ2lzdHJ5IiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiRXVyZWthIg0KICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJNYW5hZ2VzIHNlcnZpY2VzIHJlZ2lzdHJhdGlvbiBhbmQgZGlzY292ZXJ5Ig0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFNlcnZpY2UiDQogICAgICAgICAgICBwYXltZW50U2VydmljZSA9IGNvbnRhaW5lciAiUGF5bWVudCBTZXJ2aWNlIg0KICAgICAgICAgICAgaW52ZW50b3J5U2VydmljZSA9IGNvbnRhaW5lciAiSW52ZW50b3J5IFNlcnZpY2UiDQoNCiAgICAgICAgICAgIHVzZXIgLT4gb3JkZXJTZXJ2aWNlICJDcmVhdGVzIG9yZGVyIiANCiAgICAgICAgICAgIG9yZGVyU2VydmljZSAtPiBwYXltZW50U2VydmljZSAiU2VuZHMgcGF5bWVudCByZXF1ZXN0Ig0KICAgICAgICAgICAgb3JkZXJTZXJ2aWNlIC0+IGludmVudG9yeVNlcnZpY2UgIkNoZWNrcyBpdGVtcyBhdmFpbGFiaWxpdHkiDQoNCiAgICAgICAgICAgICRwYXR0ZXJuIFNlcnZpY2VSZWdpc3RyeSB7DQogICAgICAgICAgICAgICAgcmVnaXN0cnkgICAgICAgICAgICAgc2VydmljZVJlZ2lzdHJ5DQogICAgICAgICAgICAgICAgY29ubmVjdGVkU2VydmljZXMgICAgcGF5bWVudFNlcnZpY2UsaW52ZW50b3J5U2VydmljZQ0KDQogICAgICAgICAgICAgICAgcXVlcnkuMC5zb3VyY2UgICAgICAgb3JkZXJTZXJ2aWNlDQogICAgICAgICAgICAgICAgcXVlcnkuMC5kZXN0aW5hdGlvbiAgcGF5bWVudFNlcnZpY2UNCg0KICAgICAgICAgICAgICAgIHF1ZXJ5LjEuc291cmNlICAgICAgIG9yZGVyU2VydmljZQ0KICAgICAgICAgICAgICAgIHF1ZXJ5LjEuZGVzdGluYXRpb24gIGludmVudG9yeVNlcnZpY2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}}} \ No newline at end of file diff --git a/dev-tools/example-config/test-configuration.json b/dev-tools/example-config/test-configuration.json new file mode 100644 index 0000000..5dc990f --- /dev/null +++ b/dev-tools/example-config/test-configuration.json @@ -0,0 +1,33 @@ +[ + { + "name": "database-per-service", + "workspace": "/databasePerService.dsl", + "result": "fail", + "exit_code": 1, + "error_message": "Database 'Payment Service' is already used by 'Order Application'" + }, + { + "name": "layered", + "workspace": "/layered.dsl", + "result": "success", + "export_result_file": "example-config/results/layered.json" + }, + { + "name": "reverse-proxy", + "workspace": "/reverseProxy.dsl", + "result": "success", + "export_result_file": "example-config/results/reverseProxy.json" + }, + { + "name": "saga", + "workspace": "/saga.dsl", + "result": "success", + "export_result_file": "example-config/results/saga.json" + }, + { + "name": "service-registry", + "workspace": "/serviceRegistry.dsl", + "result": "success", + "export_result_file": "example-config/results/serviceRegistry.json" + } +] \ No newline at end of file From e7ea8e8cccb78152cda7e45ebc44f90c5aa7e6ae Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 16 Aug 2025 14:39:54 +0300 Subject: [PATCH 05/62] add env config --- dev-tools/_usecases.py | 121 ++++++++++++++++------- dev-tools/cli.py | 8 ++ dev-tools/example-config/env-config.json | 10 ++ 3 files changed, 104 insertions(+), 35 deletions(-) create mode 100644 dev-tools/example-config/env-config.json diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index cd7943a..e23f405 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -5,7 +5,7 @@ import logging from pathlib import Path import tempfile -from typing import Final, Iterator +from typing import Final, Iterator, Protocol import zipfile import github @@ -21,9 +21,6 @@ import _github -_STRUCTURIZR_CLI_RELEASE_URL: Final = ( - "https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip" -) _STRUCTURIZR_CLI_ARCHIVE_NAME: Final = "structurizr-cli.zip" _STRUCTURIZR_CLI_DIR: Final = "structurizr-cli" @@ -35,6 +32,17 @@ class _TestCaseInfo: run_config: _integration_test_runner.TestCaseRunConfiguration +@dataclass +class _StructurizrCliRelease: + version: str + url: str + + +class _StructurizrCliExporterFactory(Protocol): + def __call__(self, java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrCli: + ... + + @dataclass class ValidateStructureArgs: file: Path @@ -58,6 +66,7 @@ class ValidateIssueAddedArgs: class TestSyntaxPluginArgs: syntax_plugin_path: Path java_path: Path + env_config: Path test_case_config_file: Path @@ -329,44 +338,86 @@ def _extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo] return test_cases_info +def _extract_structurizr_cli_releases_from_file(config_file: Path) -> list[_StructurizrCliRelease]: + raw_data = json.loads(config_file.read_text()) + releases: list[_StructurizrCliRelease] = [] + + match raw_data: + case [*raw_releases]: + for raw_release in raw_releases: + match raw_release: + case {"version": str(version), "url": str(url)}: + releases.append(_StructurizrCliRelease( + version=version, + url=url, + )) + case _: + raise ValueError("Unknown release configuration:\n{}".format(json.dumps(raw_release, indent=4))) + case _: + raise ValueError("Unknown releases configuration:\n{}".format(json.dumps(raw_data, indent=4))) + + return releases + + +def _get_structurizr_cli_exporter_factory(release: _StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> _StructurizrCliExporterFactory: + structurizr_archive_path = temp_dir_path / _STRUCTURIZR_CLI_ARCHIVE_NAME + structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR + + with _log_action(log, "Install structurizr cli"): + _install_file( + url=release.url, + output_path=structurizr_archive_path, + log=log, + ) + + with _log_action(log, "Extract structurizr cli"): + with zipfile.ZipFile(structurizr_archive_path, "r") as archive: + archive.extractall(structurizr_cli_dir) + + def _create_structurizr_cli_exporter(java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrCli: + return _exporters.StructurizrCli( + structurizr_cli_dir=structurizr_cli_dir, + java_path=java_path, + syntax_plugin_path=syntax_plugin_path, + ) + + return _create_structurizr_cli_exporter + + def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: - with tempfile.TemporaryDirectory() as temp_dir: - temp_dir_path = Path(temp_dir) - structurizr_archive_path = temp_dir_path / _STRUCTURIZR_CLI_ARCHIVE_NAME - structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR - - with _log_action(log, "Test pattern-syntax-plugin work"): - with _log_action(log, "Extract test case configuration"): - test_cases_info = _extract_test_cases_info_from_file( - args.test_case_config_file - ) + structurizr_cli_releases = _extract_structurizr_cli_releases_from_file(args.env_config) + + with _log_action(log, "Extract test case configuration"): + test_cases_info = _extract_test_cases_info_from_file( + args.test_case_config_file + ) - with _log_action(log, "Install structurizr cli"): - _install_file( - url=_STRUCTURIZR_CLI_RELEASE_URL, - output_path=structurizr_archive_path, - log=log, + for structurizr_cli_release in structurizr_cli_releases: + with tempfile.TemporaryDirectory() as temp_dir: + temp_dir_path = Path(temp_dir) + + with _log_action(log, "Test pattern-syntax-plugin work in specified environment"): + log.debug( + "Context:\n" + f"- Exporter: StructurizrCli(version={structurizr_cli_release.version})\n" ) - with _log_action(log, "Extract structurizr cli"): - with zipfile.ZipFile(structurizr_archive_path, "r") as archive: - archive.extractall(structurizr_cli_dir) + structurizr_cli_exporter_factory = _get_structurizr_cli_exporter_factory(structurizr_cli_release, temp_dir_path, log) - with _log_action(log, "Run integration tests"): - for test_case_info in test_cases_info: - log.info(f"Run '{test_case_info.name}' test case ...") + with _log_action(log, "Run integration tests"): + for test_case_info in test_cases_info: + log.info(f"Run '{test_case_info.name}' test case ...") - _integration_test_runner.run_integration_test_case( - run_config=test_case_info.run_config, - exporter=_exporters.StructurizrCli( - structurizr_cli_dir=structurizr_cli_dir, - java_path=args.java_path, - syntax_plugin_path=args.syntax_plugin_path, - ), - workspace_path=test_case_info.workspace_path, - ) + _integration_test_runner.run_integration_test_case( + run_config=test_case_info.run_config, + exporter=structurizr_cli_exporter_factory( + java_path=args.java_path, + syntax_plugin_path=args.syntax_plugin_path, + ), + workspace_path=test_case_info.workspace_path, + ) - log.info(f"Run '{test_case_info.name}' test case ... ok") + log.info(f"Run '{test_case_info.name}' test case ... ok") log.info("All checks passed!") diff --git a/dev-tools/cli.py b/dev-tools/cli.py index 58ebde2..d08d74e 100644 --- a/dev-tools/cli.py +++ b/dev-tools/cli.py @@ -120,6 +120,13 @@ def _init_integration_tests_parser(parser: argparse.ArgumentParser) -> None: help="Path to java binary directory", ) + parser.add_argument( + "--env-config", + type=Path, + required=True, + help="Path to test environment configuration file", + ) + parser.add_argument( "--test-case-config", type=Path, @@ -188,6 +195,7 @@ def _extract_command_args(args: argparse.Namespace) -> _CommandArgs: return _usecases.TestSyntaxPluginArgs( syntax_plugin_path=args.plugin_path, java_path=args.java_path, + env_config=args.env_config, test_case_config_file=args.test_case_config, ) case _: diff --git a/dev-tools/example-config/env-config.json b/dev-tools/example-config/env-config.json new file mode 100644 index 0000000..794fc84 --- /dev/null +++ b/dev-tools/example-config/env-config.json @@ -0,0 +1,10 @@ +[ + { + "version": "v2025.05.28", + "url": "https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip" + }, + { + "version": "v2025.03.28", + "url": "https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip" + } +] \ No newline at end of file From f9ae0705c0d42861bff0a841bd5a639aa0f41df1 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 6 Sep 2025 22:24:04 +0300 Subject: [PATCH 06/62] add lite spport --- dev-tools/_exporters/__init__.py | 2 + dev-tools/_exporters/_structurizr_lite.py | 65 +++++++++++++++ dev-tools/_usecases.py | 97 ++++++++++++++++++----- dev-tools/example-config/env-config.json | 7 +- dev-tools/pyproject.toml | 1 + dev-tools/uv.lock | 2 + 6 files changed, 150 insertions(+), 24 deletions(-) create mode 100644 dev-tools/_exporters/_structurizr_lite.py diff --git a/dev-tools/_exporters/__init__.py b/dev-tools/_exporters/__init__.py index 6cd5578..0a49253 100644 --- a/dev-tools/_exporters/__init__.py +++ b/dev-tools/_exporters/__init__.py @@ -3,6 +3,7 @@ from ._interface import ExportResult from ._interface import ExportFailure from ._structurizr_cli import StructurizrCli +from ._structurizr_lite import StructurizrLite __all__ = [ @@ -11,4 +12,5 @@ "ExportResult", "StructurizrCli", "StructurizrWorkspaceExporter", + "StructurizrLite", ] diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py new file mode 100644 index 0000000..055ecc8 --- /dev/null +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -0,0 +1,65 @@ +import json +import subprocess + +import requests +from ._interface import StructurizrWorkspaceExporter +from ._interface import ExportResult +from ._interface import ExportedWorkspace +from ._interface import ExportFailure + +from pathlib import Path + +import shutil + + +class StructurizrLite(StructurizrWorkspaceExporter): + def __init__(self, structurizr_lite_dir: Path, java_path: Path, syntax_plugin_path: Path): + self.__structurizr_lite_dir = structurizr_lite_dir + self.__java_path = java_path + self.__syntax_plugin_path = syntax_plugin_path + + self.__structurizr_lite_jar = self.__structurizr_lite_dir / "structurizr-lite.war" + if not self.__structurizr_lite_jar.exists(): + raise FileNotFoundError(f"Structurizr Lite JAR not found at {self.__structurizr_lite_jar}") + + def export_to_json(self, workspace_path: Path) -> ExportResult: + workspace_dir = self.__structurizr_lite_dir / ".workspace" + shutil.copytree(workspace_path.parent, workspace_dir) + + try: + command = [ + "java", + f"-javaagent:{self.__syntax_plugin_path}", + "-jar", + str(self.__structurizr_lite_jar), + str(workspace_dir), + ] + + process = subprocess.Popen( + command, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + env={ + "PATH": str(self.__java_path.absolute()), + "STRUCTURIZR_WORKSPACE_FILENAME": workspace_path.stem, + } + ) + assert process.stdout is not None + assert process.stderr is not None + + response = requests.get("http://localhost:8080/") + if response.status_code != 200: + process.kill() + return ExportFailure( + exit_code=process.wait(), + stdout=process.stdout.read().decode(errors="replace"), + stderr=process.stderr.read().decode(errors="replace"), + ) + + output_file = workspace_dir / (workspace_path.stem + ".json") + if not output_file.exists(): + raise FileNotFoundError(f"Expected output file not found at {output_file}") + + return ExportedWorkspace(json.loads(output_file.read_text(encoding="utf-8"))) + finally: + shutil.rmtree(workspace_dir) diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index e23f405..9bdf1c8 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -5,7 +5,7 @@ import logging from pathlib import Path import tempfile -from typing import Final, Iterator, Protocol +from typing import Any, Final, Iterator, Protocol import zipfile import github @@ -37,9 +37,24 @@ class _StructurizrCliRelease: version: str url: str + def __str__(self) -> str: + return f"StructurizrCli(version={self.version})" -class _StructurizrCliExporterFactory(Protocol): - def __call__(self, java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrCli: + +@dataclass +class _StructurizrLiteRelease: + version: str + url: str + + def __str__(self) -> str: + return f"StructurizrLite(version={self.version})" + + +type _ExporterRelease = _StructurizrCliRelease | _StructurizrLiteRelease + + +class _ExporterFactory(Protocol): + def __call__(self, java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrWorkspaceExporter: ... @@ -338,28 +353,41 @@ def _extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo] return test_cases_info -def _extract_structurizr_cli_releases_from_file(config_file: Path) -> list[_StructurizrCliRelease]: +def _get_exporter_release(raw_release: Any) -> _ExporterRelease | None: + match raw_release: + case {"type": "structurizr-cli", "version": str(version), "url": str(url)}: + return _StructurizrCliRelease( + version=version, + url=url, + ) + case {"type": "structurizr-lite", "version": str(version), "url": str(url)}: + return _StructurizrLiteRelease( + version=version, + url=url, + ) + case _: + return None + + +def _extract_exporter_releases_from_file(config_file: Path) -> list[_ExporterRelease]: raw_data = json.loads(config_file.read_text()) - releases: list[_StructurizrCliRelease] = [] + releases: list[_ExporterRelease] = [] match raw_data: case [*raw_releases]: for raw_release in raw_releases: - match raw_release: - case {"version": str(version), "url": str(url)}: - releases.append(_StructurizrCliRelease( - version=version, - url=url, - )) - case _: - raise ValueError("Unknown release configuration:\n{}".format(json.dumps(raw_release, indent=4))) + release = _get_exporter_release(raw_release) + if release is not None: + releases.append(release) + else: + raise ValueError("Unknown release configuration:\n{}".format(json.dumps(raw_release, indent=4))) case _: raise ValueError("Unknown releases configuration:\n{}".format(json.dumps(raw_data, indent=4))) return releases -def _get_structurizr_cli_exporter_factory(release: _StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> _StructurizrCliExporterFactory: +def _get_structurizr_cli_exporter_factory(release: _StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: structurizr_archive_path = temp_dir_path / _STRUCTURIZR_CLI_ARCHIVE_NAME structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR @@ -384,25 +412,56 @@ def _create_structurizr_cli_exporter(java_path: Path, syntax_plugin_path: Path) return _create_structurizr_cli_exporter +def _get_structurizr_lite_exporter_factory(release: _StructurizrLiteRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: + structurizr_lite_dir = temp_dir_path / "structurizr-lite" + structurizr_lite_dir.mkdir() + + structurizr_lite_war_file = structurizr_lite_dir / "structurizr-lite.war" + + with _log_action(log, "Install structurizr lite"): + _install_file( + url=release.url, + output_path=structurizr_lite_war_file, + log=log, + ) + + def _create_structurizr_lite_exporter(java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrLite: + return _exporters.StructurizrLite( + structurizr_lite_dir=structurizr_lite_dir, + java_path=java_path, + syntax_plugin_path=syntax_plugin_path, + ) + + return _create_structurizr_lite_exporter + + +def _get_exporter_factory(release: _ExporterRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: + match release: + case _StructurizrCliRelease() as cli_release: + return _get_structurizr_cli_exporter_factory(cli_release, temp_dir_path, log) + case _StructurizrLiteRelease() as lite_release: + return _get_structurizr_lite_exporter_factory(lite_release, temp_dir_path, log) + + def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: - structurizr_cli_releases = _extract_structurizr_cli_releases_from_file(args.env_config) + exporter_releases = _extract_exporter_releases_from_file(args.env_config) with _log_action(log, "Extract test case configuration"): test_cases_info = _extract_test_cases_info_from_file( args.test_case_config_file ) - for structurizr_cli_release in structurizr_cli_releases: + for exporter_release in exporter_releases: with tempfile.TemporaryDirectory() as temp_dir: temp_dir_path = Path(temp_dir) with _log_action(log, "Test pattern-syntax-plugin work in specified environment"): log.debug( "Context:\n" - f"- Exporter: StructurizrCli(version={structurizr_cli_release.version})\n" + f"- Exporter: {exporter_release}\n" ) - structurizr_cli_exporter_factory = _get_structurizr_cli_exporter_factory(structurizr_cli_release, temp_dir_path, log) + exporter_factory = _get_exporter_factory(exporter_release, temp_dir_path, log) with _log_action(log, "Run integration tests"): for test_case_info in test_cases_info: @@ -410,7 +469,7 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: _integration_test_runner.run_integration_test_case( run_config=test_case_info.run_config, - exporter=structurizr_cli_exporter_factory( + exporter=exporter_factory( java_path=args.java_path, syntax_plugin_path=args.syntax_plugin_path, ), diff --git a/dev-tools/example-config/env-config.json b/dev-tools/example-config/env-config.json index 794fc84..f13cfad 100644 --- a/dev-tools/example-config/env-config.json +++ b/dev-tools/example-config/env-config.json @@ -1,10 +1,7 @@ [ { - "version": "v2025.05.28", - "url": "https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip" - }, - { + "type": "structurizr-lite", "version": "v2025.03.28", - "url": "https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip" + "url": "https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war" } ] \ No newline at end of file diff --git a/dev-tools/pyproject.toml b/dev-tools/pyproject.toml index 20d2d22..39f6454 100644 --- a/dev-tools/pyproject.toml +++ b/dev-tools/pyproject.toml @@ -7,4 +7,5 @@ dependencies = [ "marko==2.1.4", "pygithub==2.6.1", "python-graphql-client==0.4.3", + "requests==2.32.4", ] diff --git a/dev-tools/uv.lock b/dev-tools/uv.lock index e3199b9..6a88cee 100644 --- a/dev-tools/uv.lock +++ b/dev-tools/uv.lock @@ -174,6 +174,7 @@ dependencies = [ { name = "marko" }, { name = "pygithub" }, { name = "python-graphql-client" }, + { name = "requests" }, ] [package.metadata] @@ -181,6 +182,7 @@ requires-dist = [ { name = "marko", specifier = "==2.1.4" }, { name = "pygithub", specifier = "==2.6.1" }, { name = "python-graphql-client", specifier = "==0.4.3" }, + { name = "requests", specifier = "==2.32.4" }, ] [[package]] From 607e5edf598a488b84513031142df93f4cb4f4c8 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 7 Sep 2025 21:50:57 +0300 Subject: [PATCH 07/62] update structurizr lite --- dev-tools/_exporters/_structurizr_lite.py | 276 +++++++++++++++++++--- dev-tools/check_structurizr_lite.py | 23 ++ 2 files changed, 260 insertions(+), 39 deletions(-) create mode 100644 dev-tools/check_structurizr_lite.py diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py index 055ecc8..b4a0bb4 100644 --- a/dev-tools/_exporters/_structurizr_lite.py +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -1,65 +1,263 @@ -import json +import base64 +import copy +from dataclasses import dataclass +import hashlib +import hmac +import io +import re +import shutil import subprocess +import sys +import time +from typing import Any, Final +import urllib.parse import requests +import urllib from ._interface import StructurizrWorkspaceExporter from ._interface import ExportResult from ._interface import ExportedWorkspace from ._interface import ExportFailure +import os from pathlib import Path -import shutil + +class _ConnectionTimeout(Exception): + def __init__(self): + super().__init__("Connection to the structurizr lite server timeout reached") + + +class _ServerProcess: + def __init__(self, process: subprocess.Popen): + self.__process = process + self.__stdout_buffer = io.BytesIO() + self.__stderr_buffer = io.BytesIO() + + @property + def process(self) -> subprocess.Popen: + return self.__process + + @property + def stdout(self) -> bytes: + assert self.__process.stdout is not None + self.__stdout_buffer.write(self.__process.stdout.read()) + return self.__stdout_buffer.getvalue() + + @property + def stderr(self) -> bytes: + assert self.__process.stderr is not None + self.__stderr_buffer.write(self.__process.stderr.read()) + return self.__stderr_buffer.getvalue() + + +@dataclass +class _Credentials: + api_key: str + api_secret: str + + +@dataclass +class _AuthData: + auth_token: str + nonce: str class StructurizrLite(StructurizrWorkspaceExporter): + _STRUCTURIZR_LITE_FILENAME: Final = "structurizr-lite.war" + _CONTEXT_FOLDER_NAME: Final = "context" + _WORKSPACE_FOLDER_NAME: Final = "workspace" + _JAVA_EXECUTABLE: Final = "java.exe" if sys.platform == "win32" else "java" + + _SERVER_ADDRESS: Final = "http://localhost:8080" + _WORKSPACE_DEFAULT_FILE_NAME: Final = "workspace.dsl" + + _STRUCTURIZR_API_CLIENT_CALL_PATTERN: Final = re.compile( + r"StructurizrApiClient\((.+)\)", + flags=re.DOTALL, + ) + def __init__(self, structurizr_lite_dir: Path, java_path: Path, syntax_plugin_path: Path): self.__structurizr_lite_dir = structurizr_lite_dir self.__java_path = java_path self.__syntax_plugin_path = syntax_plugin_path - self.__structurizr_lite_jar = self.__structurizr_lite_dir / "structurizr-lite.war" - if not self.__structurizr_lite_jar.exists(): - raise FileNotFoundError(f"Structurizr Lite JAR not found at {self.__structurizr_lite_jar}") + self.__structurizr_lite_jar = self.__get_structurizr_lite_jar_path(self.__structurizr_lite_dir) + self.__context_dir = self.__get_context_directory(self.__structurizr_lite_dir) + self.__workspace_dir = self.__get_workspace_directory(self.__context_dir) + self.__server_process = self.__start_server() def export_to_json(self, workspace_path: Path) -> ExportResult: - workspace_dir = self.__structurizr_lite_dir / ".workspace" - shutil.copytree(workspace_path.parent, workspace_dir) + if self.__workspace_dir.exists(): + shutil.rmtree(self.__workspace_dir) + + shutil.copytree(workspace_path.parent, self.__workspace_dir, dirs_exist_ok=True) + shutil.copyfile(workspace_path, self.__workspace_dir / self._WORKSPACE_DEFAULT_FILE_NAME) + + print("[StructurizrLite] Get workspace ...") + + print("[StructurizrLite] Get credentials ...") + credentials = self.__get_credentials() + print(f"[StructurizrLite] Credentials: {credentials}") try: - command = [ - "java", - f"-javaagent:{self.__syntax_plugin_path}", - "-jar", - str(self.__structurizr_lite_jar), - str(workspace_dir), - ] - - process = subprocess.Popen( - command, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - env={ - "PATH": str(self.__java_path.absolute()), - "STRUCTURIZR_WORKSPACE_FILENAME": workspace_path.stem, - } - ) - assert process.stdout is not None - assert process.stderr is not None - - response = requests.get("http://localhost:8080/") - if response.status_code != 200: - process.kill() + print("[StructurizrLite] Get workspace ...") + workspace = self.__get_workspace(credentials) + print(f"[StructurizrLite] workspace: {workspace}") + return workspace + except requests.HTTPError as e: + if e.response.status_code == 400: return ExportFailure( - exit_code=process.wait(), - stdout=process.stdout.read().decode(errors="replace"), - stderr=process.stderr.read().decode(errors="replace"), + exit_code=e.response.status_code, + stdout=self.__server_process.stdout.decode(errors="replace"), + stderr=self.__server_process.stderr.decode(errors="replace"), + ) + + def close(self) -> None: + print("[StructurizrLite] Close ...") + self.__server_process.process.kill() + self.__server_process.process.wait() + + if self.__context_dir.exists(): + shutil.rmtree(self.__context_dir) + print("[StructurizrLite] Close ... ok") + + @classmethod + def __get_structurizr_lite_jar_path(cls, structurizr_lite_dir: Path) -> Path: + structurizr_lite_jar = structurizr_lite_dir / cls._STRUCTURIZR_LITE_FILENAME + if not structurizr_lite_jar.exists(): + raise FileNotFoundError(f"Structurizr Lite JAR not found at {structurizr_lite_jar}") + return structurizr_lite_jar + + def __get_context_directory(self, structurizr_lite_dir: Path) -> Path: + context_dir = structurizr_lite_dir / self._CONTEXT_FOLDER_NAME + if context_dir.exists(): + shutil.rmtree(context_dir) + return context_dir + + def __get_workspace_directory(self, context_dir: Path) -> Path: + workspace_dir = context_dir / "workspace" + workspace_dir.mkdir(parents=True) + return workspace_dir + + def __start_server(self) -> _ServerProcess: + print("Start Structurize Liter server ...") + command = [ + str((self.__java_path / self._JAVA_EXECUTABLE).absolute()), + f"-javaagent:{self.__syntax_plugin_path}", + "-jar", + str(self.__structurizr_lite_jar), + str(self.__context_dir), + ] + + env = os.environ.copy() + env["STRUCTURIZR_WORKSPACE_PATH"] = self._WORKSPACE_FOLDER_NAME + + print(f"Command: {command}") + process = subprocess.Popen( + command, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + env=env, + ) + + try: + self.__wait_for_connection() + except _ConnectionTimeout: + process.kill() + process.wait() + raise + + return _ServerProcess(process) + + def __wait_for_connection(self, timeout: float = 60.0) -> None: + elapsed_time = 0.0 + + while True: + start_time = time.time() + + try: + print(f"[Connection] Try health check server ...") + response = requests.get( + urllib.parse.urljoin(self._SERVER_ADDRESS, "/health"), + timeout=timeout - elapsed_time, ) + response.raise_for_status() + return + + except (ConnectionError, OSError) as e: + elapsed_time += time.time() - start_time + print(f"[Connection] Health check failed. Elapsed time: {elapsed_time}") + + if elapsed_time >= timeout: + raise _ConnectionTimeout() from e + + def __get_credentials(self) -> _Credentials: + response = requests.get("http://localhost:8080/workspace/diagrams") + response.raise_for_status() + + page_html_content = response.content.decode() + match = self._STRUCTURIZR_API_CLIENT_CALL_PATTERN.search(page_html_content) + + if match is None: + raise RuntimeError("Unexpectedly, structurizr client's api call was not found") + + match_group = match.group(1) + args = (line.strip().rstrip(',') for line in match_group.splitlines()) + args = tuple(line for line in args if line.strip()) + + return _Credentials( + api_key=args[2].strip('"'), + api_secret=args[3].strip('"'), + ) + + def __get_workspace(self, credentials: _Credentials) -> ExportedWorkspace: + auth_data = self.__get_auth_data( + api_key=credentials.api_key, + api_secret=credentials.api_secret, + workspace_id=1, + ) + + response = requests.get( + "http://localhost:8080/api/workspace/1", + headers={ + "X-Authorization": auth_data.auth_token, + "Nonce": auth_data.nonce, + }, + ) + + response.raise_for_status() + return self.__normalize_workspace(response.json()) + + + def __get_auth_data(self, api_key: str, api_secret: str, workspace_id: int) -> _AuthData: + nonce = str(int(time.time() * 1_000)) + content_md5 = hashlib.md5(b"").hexdigest() + + content_parts = ("GET", f"/api/workspace/{workspace_id}", content_md5, "", nonce) + content = "".join(f"{el}\n" for el in content_parts) + + signature = hmac.new( + key=api_secret.encode("utf-8"), + msg=content.encode("utf-8"), + digestmod=hashlib.sha256, + ).hexdigest() + + signature_encoded = base64.b64encode(signature.encode()).decode("utf-8") + auth_token = f"{api_key}:{signature_encoded}" + + return _AuthData( + auth_token=auth_token, + nonce=nonce, + ) + + def __normalize_workspace(self, workspace: dict[str, Any]) -> dict[str, Any]: + normalized_workspace = copy.deepcopy(workspace) + normalized_workspace.pop("lastModifiedDate", None) + normalized_workspace["id"] = 0 - output_file = workspace_dir / (workspace_path.stem + ".json") - if not output_file.exists(): - raise FileNotFoundError(f"Expected output file not found at {output_file}") + views = normalized_workspace.get("views", {}) + views_config = views.get("configuration", {}) + views_config.pop("lastSavedView", None) - return ExportedWorkspace(json.loads(output_file.read_text(encoding="utf-8"))) - finally: - shutil.rmtree(workspace_dir) + return normalized_workspace diff --git a/dev-tools/check_structurizr_lite.py b/dev-tools/check_structurizr_lite.py new file mode 100644 index 0000000..63c6774 --- /dev/null +++ b/dev-tools/check_structurizr_lite.py @@ -0,0 +1,23 @@ +from typing import NoReturn + + +from _exporters import StructurizrLite +from pathlib import Path + + +def main() -> NoReturn: + lite = StructurizrLite( + structurizr_lite_dir=Path(".bin/structurizr-lite"), + java_path=Path("D:\\Program Files\\Java\\jdk-17\\bin\\"), + syntax_plugin_path=Path(".bin/pattern-syntax-plugin-1.0.jar"), + ) + + try: + result = lite.export_to_json(Path(".bin/examples/databasePerService.dsl")) + print(f"Result: {result}") + finally: + lite.close() + + +if __name__ == '__main__': + main() From 406bf75e9c103c4f5f942f1fcbc2bbb1130c1698 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 28 Dec 2025 23:08:35 +0300 Subject: [PATCH 08/62] fix structurizr lite exporter --- dev-tools/_exporters/_interface.py | 2 + dev-tools/_exporters/_structurizr_cli.py | 3 + dev-tools/_exporters/_structurizr_lite.py | 56 ++++++++----------- dev-tools/_usecases.py | 21 ++++--- dev-tools/check_structurizr_lite.py | 23 -------- .../structurizr-cli/env-config.json | 12 ++++ .../results/layered.json | 0 .../results/reverseProxy.json | 0 .../{ => structurizr-cli}/results/saga.json | 0 .../results/serviceRegistry.json | 0 .../structurizr-cli/test-configuration.json | 33 +++++++++++ .../{ => structurizr-lite}/env-config.json | 0 .../structurizr-lite/results/layered.json | 1 + .../results/reverseProxy.json | 1 + .../structurizr-lite/results/saga.json | 1 + .../results/serviceRegistry.json | 1 + .../structurizr-lite/test-configuration.json | 33 +++++++++++ .../example-config/test-configuration.json | 33 ----------- 18 files changed, 123 insertions(+), 97 deletions(-) delete mode 100644 dev-tools/check_structurizr_lite.py create mode 100644 dev-tools/example-config/structurizr-cli/env-config.json rename dev-tools/example-config/{ => structurizr-cli}/results/layered.json (100%) rename dev-tools/example-config/{ => structurizr-cli}/results/reverseProxy.json (100%) rename dev-tools/example-config/{ => structurizr-cli}/results/saga.json (100%) rename dev-tools/example-config/{ => structurizr-cli}/results/serviceRegistry.json (100%) create mode 100644 dev-tools/example-config/structurizr-cli/test-configuration.json rename dev-tools/example-config/{ => structurizr-lite}/env-config.json (100%) create mode 100644 dev-tools/example-config/structurizr-lite/results/layered.json create mode 100644 dev-tools/example-config/structurizr-lite/results/reverseProxy.json create mode 100644 dev-tools/example-config/structurizr-lite/results/saga.json create mode 100644 dev-tools/example-config/structurizr-lite/results/serviceRegistry.json create mode 100644 dev-tools/example-config/structurizr-lite/test-configuration.json delete mode 100644 dev-tools/example-config/test-configuration.json diff --git a/dev-tools/_exporters/_interface.py b/dev-tools/_exporters/_interface.py index 52242ac..05b7ea0 100644 --- a/dev-tools/_exporters/_interface.py +++ b/dev-tools/_exporters/_interface.py @@ -18,3 +18,5 @@ class ExportFailure: class StructurizrWorkspaceExporter(Protocol): def export_to_json(self, workspace_path: Path) -> ExportResult: ... + + def close(self) -> None: ... diff --git a/dev-tools/_exporters/_structurizr_cli.py b/dev-tools/_exporters/_structurizr_cli.py index 984d5c7..c84b648 100644 --- a/dev-tools/_exporters/_structurizr_cli.py +++ b/dev-tools/_exporters/_structurizr_cli.py @@ -61,3 +61,6 @@ def export_to_json(self, workspace_path: Path) -> ExportResult: converted_workspace_path = output_dir / f"{workspace_name}.json" return ExportedWorkspace(json.loads(converted_workspace_path.read_text())) + + def close(self) -> None: + pass diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py index b4a0bb4..1ec8b56 100644 --- a/dev-tools/_exporters/_structurizr_lite.py +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -4,6 +4,7 @@ import hashlib import hmac import io +import json import re import shutil import subprocess @@ -28,29 +29,6 @@ def __init__(self): super().__init__("Connection to the structurizr lite server timeout reached") -class _ServerProcess: - def __init__(self, process: subprocess.Popen): - self.__process = process - self.__stdout_buffer = io.BytesIO() - self.__stderr_buffer = io.BytesIO() - - @property - def process(self) -> subprocess.Popen: - return self.__process - - @property - def stdout(self) -> bytes: - assert self.__process.stdout is not None - self.__stdout_buffer.write(self.__process.stdout.read()) - return self.__stdout_buffer.getvalue() - - @property - def stderr(self) -> bytes: - assert self.__process.stderr is not None - self.__stderr_buffer.write(self.__process.stderr.read()) - return self.__stderr_buffer.getvalue() - - @dataclass class _Credentials: api_key: str @@ -77,7 +55,7 @@ class StructurizrLite(StructurizrWorkspaceExporter): flags=re.DOTALL, ) - def __init__(self, structurizr_lite_dir: Path, java_path: Path, syntax_plugin_path: Path): + def __init__(self, structurizr_lite_dir: Path, java_path: Path, syntax_plugin_path: Path, stdout_path: Path, stderr_path: Path): self.__structurizr_lite_dir = structurizr_lite_dir self.__java_path = java_path self.__syntax_plugin_path = syntax_plugin_path @@ -85,7 +63,8 @@ def __init__(self, structurizr_lite_dir: Path, java_path: Path, syntax_plugin_pa self.__structurizr_lite_jar = self.__get_structurizr_lite_jar_path(self.__structurizr_lite_dir) self.__context_dir = self.__get_context_directory(self.__structurizr_lite_dir) self.__workspace_dir = self.__get_workspace_directory(self.__context_dir) - self.__server_process = self.__start_server() + + self.__server_process, self.__stdout, self.__stderr = self.__start_server(stdout_path, stderr_path) def export_to_json(self, workspace_path: Path) -> ExportResult: if self.__workspace_dir.exists(): @@ -103,23 +82,27 @@ def export_to_json(self, workspace_path: Path) -> ExportResult: try: print("[StructurizrLite] Get workspace ...") workspace = self.__get_workspace(credentials) - print(f"[StructurizrLite] workspace: {workspace}") + print(f"[StructurizrLite] workspace: {json.dumps(workspace)}") return workspace except requests.HTTPError as e: if e.response.status_code == 400: return ExportFailure( exit_code=e.response.status_code, - stdout=self.__server_process.stdout.decode(errors="replace"), - stderr=self.__server_process.stderr.decode(errors="replace"), + stdout="", + stderr=e.response.content.decode("utf-8"), ) def close(self) -> None: print("[StructurizrLite] Close ...") - self.__server_process.process.kill() - self.__server_process.process.wait() + self.__server_process.kill() + self.__server_process.wait() if self.__context_dir.exists(): shutil.rmtree(self.__context_dir) + + self.__stdout.close() + self.__stderr.close() + print("[StructurizrLite] Close ... ok") @classmethod @@ -140,7 +123,7 @@ def __get_workspace_directory(self, context_dir: Path) -> Path: workspace_dir.mkdir(parents=True) return workspace_dir - def __start_server(self) -> _ServerProcess: + def __start_server(self, stdout_path: Path, stderr_path: Path) -> tuple[subprocess.Popen, io.BufferedWriter, io.BufferedWriter]: print("Start Structurize Liter server ...") command = [ str((self.__java_path / self._JAVA_EXECUTABLE).absolute()), @@ -153,11 +136,14 @@ def __start_server(self) -> _ServerProcess: env = os.environ.copy() env["STRUCTURIZR_WORKSPACE_PATH"] = self._WORKSPACE_FOLDER_NAME + stdout = stdout_path.open('wb') + stderr = stderr_path.open('wb') + print(f"Command: {command}") process = subprocess.Popen( command, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, + stdout=stdout, + stderr=stderr, env=env, ) @@ -166,9 +152,11 @@ def __start_server(self) -> _ServerProcess: except _ConnectionTimeout: process.kill() process.wait() + stdout.close() + stderr.close() raise - return _ServerProcess(process) + return process, stdout, stderr def __wait_for_connection(self, timeout: float = 60.0) -> None: elapsed_time = 0.0 diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 9bdf1c8..4945bc4 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -430,6 +430,8 @@ def _create_structurizr_lite_exporter(java_path: Path, syntax_plugin_path: Path) structurizr_lite_dir=structurizr_lite_dir, java_path=java_path, syntax_plugin_path=syntax_plugin_path, + stdout_path=temp_dir_path / "stdout.txt", + stderr_path=temp_dir_path / "stderr.txt", ) return _create_structurizr_lite_exporter @@ -467,15 +469,20 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: for test_case_info in test_cases_info: log.info(f"Run '{test_case_info.name}' test case ...") - _integration_test_runner.run_integration_test_case( - run_config=test_case_info.run_config, - exporter=exporter_factory( - java_path=args.java_path, - syntax_plugin_path=args.syntax_plugin_path, - ), - workspace_path=test_case_info.workspace_path, + exporter = exporter_factory( + java_path=args.java_path, + syntax_plugin_path=args.syntax_plugin_path, ) + try: + _integration_test_runner.run_integration_test_case( + run_config=test_case_info.run_config, + exporter=exporter, + workspace_path=test_case_info.workspace_path, + ) + finally: + exporter.close() + log.info(f"Run '{test_case_info.name}' test case ... ok") log.info("All checks passed!") diff --git a/dev-tools/check_structurizr_lite.py b/dev-tools/check_structurizr_lite.py deleted file mode 100644 index 63c6774..0000000 --- a/dev-tools/check_structurizr_lite.py +++ /dev/null @@ -1,23 +0,0 @@ -from typing import NoReturn - - -from _exporters import StructurizrLite -from pathlib import Path - - -def main() -> NoReturn: - lite = StructurizrLite( - structurizr_lite_dir=Path(".bin/structurizr-lite"), - java_path=Path("D:\\Program Files\\Java\\jdk-17\\bin\\"), - syntax_plugin_path=Path(".bin/pattern-syntax-plugin-1.0.jar"), - ) - - try: - result = lite.export_to_json(Path(".bin/examples/databasePerService.dsl")) - print(f"Result: {result}") - finally: - lite.close() - - -if __name__ == '__main__': - main() diff --git a/dev-tools/example-config/structurizr-cli/env-config.json b/dev-tools/example-config/structurizr-cli/env-config.json new file mode 100644 index 0000000..f3d6552 --- /dev/null +++ b/dev-tools/example-config/structurizr-cli/env-config.json @@ -0,0 +1,12 @@ +[ + { + "type": "structurizr-cli", + "version": "v2025.05.28", + "url": "https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip" + }, + { + "type": "structurizr-cli", + "version": "v2025.03.28", + "url": "https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip" + } +] \ No newline at end of file diff --git a/dev-tools/example-config/results/layered.json b/dev-tools/example-config/structurizr-cli/results/layered.json similarity index 100% rename from dev-tools/example-config/results/layered.json rename to dev-tools/example-config/structurizr-cli/results/layered.json diff --git a/dev-tools/example-config/results/reverseProxy.json b/dev-tools/example-config/structurizr-cli/results/reverseProxy.json similarity index 100% rename from dev-tools/example-config/results/reverseProxy.json rename to dev-tools/example-config/structurizr-cli/results/reverseProxy.json diff --git a/dev-tools/example-config/results/saga.json b/dev-tools/example-config/structurizr-cli/results/saga.json similarity index 100% rename from dev-tools/example-config/results/saga.json rename to dev-tools/example-config/structurizr-cli/results/saga.json diff --git a/dev-tools/example-config/results/serviceRegistry.json b/dev-tools/example-config/structurizr-cli/results/serviceRegistry.json similarity index 100% rename from dev-tools/example-config/results/serviceRegistry.json rename to dev-tools/example-config/structurizr-cli/results/serviceRegistry.json diff --git a/dev-tools/example-config/structurizr-cli/test-configuration.json b/dev-tools/example-config/structurizr-cli/test-configuration.json new file mode 100644 index 0000000..6d187e2 --- /dev/null +++ b/dev-tools/example-config/structurizr-cli/test-configuration.json @@ -0,0 +1,33 @@ +[ + { + "name": "database-per-service", + "workspace": ".bin/examples/databasePerService.dsl", + "result": "fail", + "exit_code": 1, + "error_message": "Database 'Payment Service' is already used by 'Order Application'" + }, + { + "name": "layered", + "workspace": ".bin/examples/layered.dsl", + "result": "success", + "export_result_file": "example-config/structurizr-cli/results/layered.json" + }, + { + "name": "reverse-proxy", + "workspace": ".bin/examples/reverseProxy.dsl", + "result": "success", + "export_result_file": "example-config/structurizr-cli/results/reverseProxy.json" + }, + { + "name": "saga", + "workspace": ".bin/examples/saga.dsl", + "result": "success", + "export_result_file": "example-config/structurizr-cli/results/saga.json" + }, + { + "name": "service-registry", + "workspace": ".bin/examples/serviceRegistry.dsl", + "result": "success", + "export_result_file": "example-config/structurizr-cli/results/serviceRegistry.json" + } +] \ No newline at end of file diff --git a/dev-tools/example-config/env-config.json b/dev-tools/example-config/structurizr-lite/env-config.json similarity index 100% rename from dev-tools/example-config/env-config.json rename to dev-tools/example-config/structurizr-lite/env-config.json diff --git a/dev-tools/example-config/structurizr-lite/results/layered.json b/dev-tools/example-config/structurizr-lite/results/layered.json new file mode 100644 index 0000000..7be2163 --- /dev/null +++ b/dev-tools/example-config/structurizr-lite/results/layered.json @@ -0,0 +1 @@ +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Uses through web-browser", "destinationId": "3", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Uses through web-browser", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}, {"description": "Uses through web-browser", "destinationId": "4", "id": "11", "sourceId": "1", "tags": "Relationship"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "group": "Frontend Layer", "id": "3", "name": "App for Consumer", "properties": {"structurizr.dsl.identifier": "consumerfrontend"}, "relationships": [{"description": "Sends order requests", "destinationId": "5", "id": "12", "sourceId": "3", "tags": "Relationship"}, {"description": "Queries product information", "destinationId": "6", "id": "13", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Frontend Layer", "id": "4", "name": "App for Seller", "properties": {"structurizr.dsl.identifier": "sellerfrontend"}, "relationships": [{"description": "Updates product inventory", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "5", "name": "Order Processing Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Read & write order data", "destinationId": "7", "id": "15", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "6", "name": "Inventory Management Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Read & write inventory data", "destinationId": "7", "id": "16", "sourceId": "6", "tags": "Relationship"}, {"description": "Archive older records", "destinationId": "8", "id": "17", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "7", "name": "Main Database", "properties": {"structurizr.dsl.identifier": "databasemain"}, "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "8", "name": "Archive Database", "properties": {"structurizr.dsl.identifier": "databasearchive"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Layered architecture", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJMYXllcmVkIGFyY2hpdGVjdHVyZSIgew0KICAgIG1vZGVsIHsNCiAgICAgICAgdXNlciA9IHBlcnNvbiAiVXNlciINCiAgICAgICAgc3lzdGVtID0gc29mdHdhcmVTeXN0ZW0gT25saW5lU2hvcCB7DQogICAgICAgICAgICBjb25zdW1lckZyb250ZW5kID0gY29udGFpbmVyICJBcHAgZm9yIENvbnN1bWVyIg0KICAgICAgICAgICAgc2VsbGVyRnJvbnRlbmQgPSBjb250YWluZXIgIkFwcCBmb3IgU2VsbGVyIg0KDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFByb2Nlc3NpbmcgU2VydmljZSINCiAgICAgICAgICAgIGludmVudG9yeVNlcnZpY2UgPSBjb250YWluZXIgIkludmVudG9yeSBNYW5hZ2VtZW50IFNlcnZpY2UiDQoNCiAgICAgICAgICAgIGRhdGFiYXNlTWFpbiA9IGNvbnRhaW5lciAiTWFpbiBEYXRhYmFzZSINCiAgICAgICAgICAgIGRhdGFiYXNlQXJjaGl2ZSA9IGNvbnRhaW5lciAiQXJjaGl2ZSBEYXRhYmFzZSINCiAgICAgICAgfQ0KDQogICAgICAgIHVzZXIgLT4gY29uc3VtZXJGcm9udGVuZCAiVXNlcyB0aHJvdWdoIHdlYi1icm93c2VyIg0KICAgICAgICB1c2VyIC0+IHNlbGxlckZyb250ZW5kICJVc2VzIHRocm91Z2ggd2ViLWJyb3dzZXIiDQoNCiAgICAgICAgY29uc3VtZXJGcm9udGVuZCAtPiBvcmRlclNlcnZpY2UgIlNlbmRzIG9yZGVyIHJlcXVlc3RzIg0KICAgICAgICBjb25zdW1lckZyb250ZW5kIC0+IGludmVudG9yeVNlcnZpY2UgIlF1ZXJpZXMgcHJvZHVjdCBpbmZvcm1hdGlvbiINCiAgICAgICAgc2VsbGVyRnJvbnRlbmQgLT4gaW52ZW50b3J5U2VydmljZSAiVXBkYXRlcyBwcm9kdWN0IGludmVudG9yeSINCg0KICAgICAgICBvcmRlclNlcnZpY2UgLT4gZGF0YWJhc2VNYWluICJSZWFkICYgd3JpdGUgb3JkZXIgZGF0YSINCiAgICAgICAgaW52ZW50b3J5U2VydmljZSAtPiBkYXRhYmFzZU1haW4gIlJlYWQgJiB3cml0ZSBpbnZlbnRvcnkgZGF0YSINCiAgICAgICAgaW52ZW50b3J5U2VydmljZSAtPiBkYXRhYmFzZUFyY2hpdmUgIkFyY2hpdmUgb2xkZXIgcmVjb3JkcyINCg0KICAgICAgICAvLyBjb25zdW1lckZyb250ZW5kIC0+IGRhdGFiYXNlTWFpbiAiQmFkIHJlbGF0aW9uc2hpcCINCg0KICAgICAgICAkcGF0dGVybiBMYXllcmVkIHsNCiAgICAgICAgICAgIGxheWVyLjAubmFtZSAiRnJvbnRlbmQgTGF5ZXIiDQogICAgICAgICAgICBsYXllci4wLmVsZW1lbnRzIGNvbnN1bWVyRnJvbnRlbmQsc2VsbGVyRnJvbnRlbmQNCg0KICAgICAgICAgICAgbGF5ZXIuMS5uYW1lICJCYWNrZW5kIExheWVyIg0KICAgICAgICAgICAgbGF5ZXIuMS5lbGVtZW50cyBvcmRlclNlcnZpY2UsaW52ZW50b3J5U2VydmljZQ0KICAgICAgICAgICAgLy8gbGF5ZXIuMS5lbGVtZW50cyBvcmRlclNlcnZpY2UsaW52ZW50b3J5U2VydmljZSxjb25zdW1lckZyb250ZW5kDQoNCiAgICAgICAgICAgIGxheWVyLjIubmFtZSAiRGF0YWJhc2UgTGF5ZXIiDQogICAgICAgICAgICBsYXllci4yLmVsZW1lbnRzIGRhdGFiYXNlTWFpbixkYXRhYmFzZUFyY2hpdmUNCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}, {"id": "7", "x": 0, "y": 0}, {"id": "8", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 3, "relationships": [{"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "14"}, {"id": "15"}, {"id": "16"}, {"id": "17"}, {"id": "9"}], "softwareSystemId": "2"}], "systemContextViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemContext-001", "order": 2, "relationships": [{"id": "10"}], "softwareSystemId": "2"}], "systemLandscapeViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemLandscape-001", "order": 1, "relationships": [{"id": "10"}]}]}} \ No newline at end of file diff --git a/dev-tools/example-config/structurizr-lite/results/reverseProxy.json b/dev-tools/example-config/structurizr-lite/results/reverseProxy.json new file mode 100644 index 0000000..f767e23 --- /dev/null +++ b/dev-tools/example-config/structurizr-lite/results/reverseProxy.json @@ -0,0 +1 @@ +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "Customer", "properties": {"structurizr.dsl.identifier": "customer"}, "relationships": [{"description": "Sends Requests", "destinationId": "14", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Sends Requests", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "Some other container", "properties": {"structurizr.dsl.identifier": "app2"}, "relationships": [{"description": "Some relationship", "destinationId": "14", "id": "8", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "4", "name": "Web App", "properties": {"structurizr.dsl.identifier": "webapp"}, "relationships": [{"description": "Requests data", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests users", "destinationId": "7", "id": "12", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container", "technology": "Java, Spring Boot"}, {"documentation": {}, "id": "5", "name": "Container 3", "properties": {"structurizr.dsl.identifier": "app3"}, "relationships": [{"description": "ABOBA", "destinationId": "7", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Database", "properties": {"structurizr.dsl.identifier": "db"}, "tags": "Element,Container", "technology": "PostgreSQL"}, {"documentation": {}, "id": "7", "name": "Database 2", "properties": {"structurizr.dsl.identifier": "db2"}, "tags": "Element,Container", "technology": "Mongo"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "14", "name": "Reverse Proxy", "relationships": [{"description": "Resends Requests", "destinationId": "4", "id": "15", "sourceId": "14", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "s"}, "tags": "Element,Software System"}]}, "name": "Reverse Proxy", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJSZXZlcnNlIFByb3h5IiB7DQogICAgbW9kZWwgew0KICAgICAgICBjdXN0b21lciA9IHBlcnNvbiAiQ3VzdG9tZXIiDQoNCiAgICAgICAgcyA9IHNvZnR3YXJlU3lzdGVtIE9ubGluZVNob3Agew0KICAgICAgICAgICAgYXBwMiA9IGNvbnRhaW5lciAiU29tZSBvdGhlciBjb250YWluZXIiDQoNCiAgICAgICAgICAgIHdlYkFwcCA9IGNvbnRhaW5lciAiV2ViIEFwcCIgew0KICAgICAgICAgICAgICAgIHRlY2hub2xvZ3kgIkphdmEsIFNwcmluZyBCb290Ig0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBhcHAzID0gY29udGFpbmVyICJDb250YWluZXIgMyINCg0KICAgICAgICAgICAgZGIgPSBjb250YWluZXIgIkRhdGFiYXNlIiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiUG9zdGdyZVNRTCINCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGIyID0gY29udGFpbmVyICJEYXRhYmFzZSAyIiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiTW9uZ28iDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcHAyIC0+IHdlYkFwcCAiU29tZSByZWxhdGlvbnNoaXAiDQogICAgICAgIGN1c3RvbWVyIC0+IHdlYkFwcCAiU2VuZHMgUmVxdWVzdHMiDQogICAgICAgIHdlYkFwcCAtPiBkYiAiUmVxdWVzdHMgZGF0YSINCiAgICAgICAgd2ViQXBwIC0+IGRiMiAiUmVxdWVzdHMgdXNlcnMiDQogICAgICAgIGFwcDMgLT4gZGIyICJBQk9CQSINCg0KICAgICAgICRwYXR0ZXJuIFJldmVyc2VQcm94eSB7DQogICAgICAgICAgIHRhcmdldCB3ZWJBcHANCiAgICAgICB9DQogICAgfQ0KDQogICAgdmlld3Mgew0KICAgICAgICBjb250YWluZXIgcyB7DQogICAgICAgICAgICBpbmNsdWRlICoNCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHINCiAgICAgICAgfQ0KDQogICAgICAgIGNvbnRhaW5lciBzIHsNCiAgICAgICAgICAgIGluY2x1ZGUgd2ViQXBwIGFwcDIgY3VzdG9tZXINCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHINCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}, {"id": "7", "x": 0, "y": 0}, {"id": "14", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 1, "relationships": [{"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "15"}, {"id": "8"}, {"id": "9"}], "softwareSystemId": "2"}, {"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-002", "order": 2, "softwareSystemId": "2"}]}} \ No newline at end of file diff --git a/dev-tools/example-config/structurizr-lite/results/saga.json b/dev-tools/example-config/structurizr-lite/results/saga.json new file mode 100644 index 0000000..a068e40 --- /dev/null +++ b/dev-tools/example-config/structurizr-lite/results/saga.json @@ -0,0 +1 @@ +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates Order", "destinationId": "3", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates Order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "API", "properties": {"structurizr.dsl.identifier": "api"}, "relationships": [{"description": "Sends request to create order transaction", "destinationId": "4", "id": "9", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "4", "name": "Saga Orchestrator", "properties": {"structurizr.dsl.identifier": "orchestrator"}, "relationships": [{"description": "Set order status PENDING", "destinationId": "5", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Reserve funds", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status APPROVE", "destinationId": "5", "id": "12", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status CANCELED on error", "destinationId": "5", "id": "13", "sourceId": "4", "tags": "Relationship"}, {"description": "Refund on error", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Balance Service", "properties": {"structurizr.dsl.identifier": "balanceservice"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Order System", "properties": {"structurizr.dsl.identifier": "ordersystem"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsNCiAgICBtb2RlbCB7DQogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiDQoNCiAgICAgICAgb3JkZXJTeXN0ZW0gPSBzb2Z0d2FyZVN5c3RlbSAiT3JkZXIgU3lzdGVtIiB7DQogICAgICAgICAgICBhcGkgPSBjb250YWluZXIgIkFQSSINCiAgICAgICAgICAgIG9yY2hlc3RyYXRvciA9IGNvbnRhaW5lciAiU2FnYSBPcmNoZXN0cmF0b3IiDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFNlcnZpY2UiDQogICAgICAgICAgICBiYWxhbmNlU2VydmljZSA9IGNvbnRhaW5lciAiQmFsYW5jZSBTZXJ2aWNlIg0KDQogICAgICAgICAgICB1c2VyIC0+IGFwaSAiQ3JlYXRlcyBPcmRlciINCiAgICAgICAgICAgIGFwaSAtPiBvcmNoZXN0cmF0b3IgIlNlbmRzIHJlcXVlc3QgdG8gY3JlYXRlIG9yZGVyIHRyYW5zYWN0aW9uIg0KDQogICAgICAgICAgICAkcGF0dGVybiBTYWdhIHsNCiAgICAgICAgICAgICAgICBvcmNoZXN0cmF0b3IgICAgb3JjaGVzdHJhdG9yDQoNCiAgICAgICAgICAgICAgICBpdGVtLjAuc2VydmljZSAgb3JkZXJTZXJ2aWNlDQogICAgICAgICAgICAgICAgaXRlbS4wLmNvbW1hbmQgICJTZXQgb3JkZXIgc3RhdHVzIFBFTkRJTkciDQogICAgICAgICAgICAgICAgaXRlbS4wLm9uRXJyb3IgICJTZXQgb3JkZXIgc3RhdHVzIENBTkNFTEVEIg0KDQogICAgICAgICAgICAgICAgaXRlbS4xLnNlcnZpY2UgIGJhbGFuY2VTZXJ2aWNlDQogICAgICAgICAgICAgICAgaXRlbS4xLmNvbW1hbmQgICJSZXNlcnZlIGZ1bmRzIg0KICAgICAgICAgICAgICAgIGl0ZW0uMS5vbkVycm9yICAiUmVmdW5kIg0KDQogICAgICAgICAgICAgICAgaXRlbS4yLnNlcnZpY2UgIG9yZGVyU2VydmljZQ0KICAgICAgICAgICAgICAgIGl0ZW0uMi5jb21tYW5kICAiU2V0IG9yZGVyIHN0YXR1cyBBUFBST1ZFIg0KICAgICAgICAgICAgICAgIGl0ZW0uMi5vbkVycm9yICAiU2V0IG9yZGVyIHN0YXR1cyBDQU5DRUxFRCINCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHZpZXdzIHsNCiAgICAgICAgY29udGFpbmVyIG9yZGVyU3lzdGVtIHsNCiAgICAgICAgICAgIGluY2x1ZGUgKg0KICAgICAgICAgICAgYXV0b2xheW91dCBscg0KICAgICAgICB9DQoNCiAgICAgICAgdGhlbWUgZGVmYXVsdA0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}, "themes": ["https://static.structurizr.com/themes/default/theme.json"]}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 2, "relationships": [{"id": "10"}, {"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "14"}, {"id": "7"}, {"id": "9"}], "softwareSystemId": "2"}], "dynamicViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 500, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "description": "View of transaction", "elementId": "2", "elements": [{"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalBoundariesVisible": false, "key": "TransactionView", "order": 1, "relationships": [{"description": "Set order status PENDING", "id": "10", "order": "1", "response": false}, {"description": "Reserve funds", "id": "11", "order": "2", "response": false}, {"description": "Set order status APPROVE", "id": "12", "order": "3", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "4", "response": false}, {"description": "Refund on error", "id": "14", "order": "5", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "6", "response": false}]}]}} \ No newline at end of file diff --git a/dev-tools/example-config/structurizr-lite/results/serviceRegistry.json b/dev-tools/example-config/structurizr-lite/results/serviceRegistry.json new file mode 100644 index 0000000..9cae866 --- /dev/null +++ b/dev-tools/example-config/structurizr-lite/results/serviceRegistry.json @@ -0,0 +1 @@ +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates order", "destinationId": "4", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"description": "Manages services registration and discovery", "documentation": {}, "id": "3", "name": "Service Registry", "properties": {"structurizr.dsl.identifier": "serviceregistry"}, "tags": "Element,Container", "technology": "Eureka"}, {"documentation": {}, "id": "4", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Sends payment request", "destinationId": "5", "id": "9", "sourceId": "4", "tags": "Relationship"}, {"description": "Checks items availability", "destinationId": "6", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests location of ${destinationService.getName()}", "destinationId": "3", "id": "11", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Payment Service", "properties": {"structurizr.dsl.identifier": "paymentservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Inventory Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "12", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Orders Application", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsNCiAgICBtb2RlbCB7DQogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiDQoNCiAgICAgICAgc3lzdGVtID0gc29mdHdhcmVTeXN0ZW0gIk9yZGVycyBBcHBsaWNhdGlvbiIgew0KICAgICAgICAgICAgc2VydmljZVJlZ2lzdHJ5ID0gY29udGFpbmVyICJTZXJ2aWNlIFJlZ2lzdHJ5IiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiRXVyZWthIg0KICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJNYW5hZ2VzIHNlcnZpY2VzIHJlZ2lzdHJhdGlvbiBhbmQgZGlzY292ZXJ5Ig0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFNlcnZpY2UiDQogICAgICAgICAgICBwYXltZW50U2VydmljZSA9IGNvbnRhaW5lciAiUGF5bWVudCBTZXJ2aWNlIg0KICAgICAgICAgICAgaW52ZW50b3J5U2VydmljZSA9IGNvbnRhaW5lciAiSW52ZW50b3J5IFNlcnZpY2UiDQoNCiAgICAgICAgICAgIHVzZXIgLT4gb3JkZXJTZXJ2aWNlICJDcmVhdGVzIG9yZGVyIiANCiAgICAgICAgICAgIG9yZGVyU2VydmljZSAtPiBwYXltZW50U2VydmljZSAiU2VuZHMgcGF5bWVudCByZXF1ZXN0Ig0KICAgICAgICAgICAgb3JkZXJTZXJ2aWNlIC0+IGludmVudG9yeVNlcnZpY2UgIkNoZWNrcyBpdGVtcyBhdmFpbGFiaWxpdHkiDQoNCiAgICAgICAgICAgICRwYXR0ZXJuIFNlcnZpY2VSZWdpc3RyeSB7DQogICAgICAgICAgICAgICAgcmVnaXN0cnkgICAgICAgICAgICAgc2VydmljZVJlZ2lzdHJ5DQogICAgICAgICAgICAgICAgY29ubmVjdGVkU2VydmljZXMgICAgcGF5bWVudFNlcnZpY2UsaW52ZW50b3J5U2VydmljZQ0KDQogICAgICAgICAgICAgICAgcXVlcnkuMC5zb3VyY2UgICAgICAgb3JkZXJTZXJ2aWNlDQogICAgICAgICAgICAgICAgcXVlcnkuMC5kZXN0aW5hdGlvbiAgcGF5bWVudFNlcnZpY2UNCg0KICAgICAgICAgICAgICAgIHF1ZXJ5LjEuc291cmNlICAgICAgIG9yZGVyU2VydmljZQ0KICAgICAgICAgICAgICAgIHF1ZXJ5LjEuZGVzdGluYXRpb24gIGludmVudG9yeVNlcnZpY2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 3, "relationships": [{"id": "10"}, {"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "7"}, {"id": "9"}], "softwareSystemId": "2"}], "systemContextViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemContext-001", "order": 2, "relationships": [{"id": "8"}], "softwareSystemId": "2"}], "systemLandscapeViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemLandscape-001", "order": 1, "relationships": [{"id": "8"}]}]}} \ No newline at end of file diff --git a/dev-tools/example-config/structurizr-lite/test-configuration.json b/dev-tools/example-config/structurizr-lite/test-configuration.json new file mode 100644 index 0000000..900888b --- /dev/null +++ b/dev-tools/example-config/structurizr-lite/test-configuration.json @@ -0,0 +1,33 @@ +[ + { + "name": "database-per-service", + "workspace": ".bin/examples/databasePerService.dsl", + "result": "fail", + "exit_code": 400, + "error_message": "Database 'Payment Service' is already used by 'Order Application'" + }, + { + "name": "layered", + "workspace": ".bin/examples/layered.dsl", + "result": "success", + "export_result_file": "example-config/structurizr-lite/results/layered.json" + }, + { + "name": "reverse-proxy", + "workspace": ".bin/examples/reverseProxy.dsl", + "result": "success", + "export_result_file": "example-config/structurizr-lite/results/reverseProxy.json" + }, + { + "name": "saga", + "workspace": ".bin/examples/saga.dsl", + "result": "success", + "export_result_file": "example-config/structurizr-lite/results/saga.json" + }, + { + "name": "service-registry", + "workspace": ".bin/examples/serviceRegistry.dsl", + "result": "success", + "export_result_file": "example-config/structurizr-lite/results/serviceRegistry.json" + } +] \ No newline at end of file diff --git a/dev-tools/example-config/test-configuration.json b/dev-tools/example-config/test-configuration.json deleted file mode 100644 index 5dc990f..0000000 --- a/dev-tools/example-config/test-configuration.json +++ /dev/null @@ -1,33 +0,0 @@ -[ - { - "name": "database-per-service", - "workspace": "/databasePerService.dsl", - "result": "fail", - "exit_code": 1, - "error_message": "Database 'Payment Service' is already used by 'Order Application'" - }, - { - "name": "layered", - "workspace": "/layered.dsl", - "result": "success", - "export_result_file": "example-config/results/layered.json" - }, - { - "name": "reverse-proxy", - "workspace": "/reverseProxy.dsl", - "result": "success", - "export_result_file": "example-config/results/reverseProxy.json" - }, - { - "name": "saga", - "workspace": "/saga.dsl", - "result": "success", - "export_result_file": "example-config/results/saga.json" - }, - { - "name": "service-registry", - "workspace": "/serviceRegistry.dsl", - "result": "success", - "export_result_file": "example-config/results/serviceRegistry.json" - } -] \ No newline at end of file From ad69d975d558c600245aab36d8c0dabc3e1c4f68 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 28 Dec 2025 23:52:37 +0300 Subject: [PATCH 09/62] add cached download --- dev-tools/.gitignore | 3 +- dev-tools/_cached_downloader.py | 86 +++++++++++++++++++++++++++++++++ dev-tools/_usecases.py | 22 +++++---- 3 files changed, 100 insertions(+), 11 deletions(-) create mode 100644 dev-tools/_cached_downloader.py diff --git a/dev-tools/.gitignore b/dev-tools/.gitignore index e2f1662..2089bd3 100644 --- a/dev-tools/.gitignore +++ b/dev-tools/.gitignore @@ -1,3 +1,4 @@ __pycache__/ .venv/ -*.pyc \ No newline at end of file +*.pyc +.cache/ \ No newline at end of file diff --git a/dev-tools/_cached_downloader.py b/dev-tools/_cached_downloader.py new file mode 100644 index 0000000..524baa5 --- /dev/null +++ b/dev-tools/_cached_downloader.py @@ -0,0 +1,86 @@ +import hashlib +from pathlib import Path +import logging +from typing import Final +import requests +import shutil + + +class _CacheManager: + def __init__(self, cache_path: Path) -> None: + self.__cache_path = self.__validate_cache_path(cache_path) + + def get_cache_file(self, key: str) -> Path | None: + cache_path = self.__cache_path / key + return cache_path if cache_path.exists() else None + + def save_cache_file(self, key: str, src: Path) -> None: + cache_path = self.__cache_path / key + shutil.copy(src, cache_path) + + @staticmethod + def __validate_cache_path(cache_path: Path) -> Path: + if not cache_path.exists(): + cache_path.mkdir(parents=True) + + if not cache_path.is_dir(): + raise ValueError(f"'{cache_path}' is not directory") + + return cache_path + + +class CachedDownloader: + _LOG_PREFIX: Final = "[CachedDownloader]" + + def __init__(self, log: logging.Logger, cache_path: Path) -> None: + self.__log = log + self.__cache_manager = _CacheManager(cache_path) + + def install_file( + self, + url: str, + output_path: Path, + *, + percent_threshold: float = 10.0, + ) -> None: + self.__log.debug(f"{self._LOG_PREFIX} Install content from url '{url}' ...") + + cache_key = self.__get_cache_key(url) + if (cache_path := self.__cache_manager.get_cache_file(cache_key)) is not None: + self.__log.debug(f"{self._LOG_PREFIX} Use cached content") + shutil.copy(cache_path, output_path) + + else: + self.__log.debug(f"{self._LOG_PREFIX} Not found cached value. Install from server ...") + + with requests.get(url, stream=True) as response: + with output_path.open("wb") as file: + total_installed_bytes = 0 + last_logged_percent = 0.0 + content_length = response.headers.get("Content-Length", None) + file_size = int(content_length) if content_length is not None else None + + for chunk in response.iter_content(chunk_size=8_192): + if not isinstance(chunk, bytes) or not chunk: + continue + + file.write(chunk) + total_installed_bytes += len(chunk) + + if file_size is None: + continue + + percent = total_installed_bytes / file_size * 100.0 + + if percent - last_logged_percent < percent_threshold: + continue + + self.__log.debug(f"{self._LOG_PREFIX} Installed {percent:.2f}%") + last_logged_percent = percent + + self.__cache_manager.save_cache_file(cache_key, output_path) + self.__log.debug(f"{self._LOG_PREFIX} Cache saved") + + @staticmethod + def __get_cache_key(url: str) -> str: + return hashlib.sha256(url.encode("utf-8")).hexdigest() diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 4945bc4..1d282c9 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -12,6 +12,7 @@ import marko import requests +from _cached_downloader import CachedDownloader import _exporters import _parser.markdown @@ -21,8 +22,10 @@ import _github +_CUR_DIR_PATH: Final = Path(__file__).parent _STRUCTURIZR_CLI_ARCHIVE_NAME: Final = "structurizr-cli.zip" _STRUCTURIZR_CLI_DIR: Final = "structurizr-cli" +_DOWNLOAD_CACHE_PATH: Final = _CUR_DIR_PATH / ".cache" @dataclass @@ -387,15 +390,14 @@ def _extract_exporter_releases_from_file(config_file: Path) -> list[_ExporterRel return releases -def _get_structurizr_cli_exporter_factory(release: _StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: +def _get_structurizr_cli_exporter_factory(downloader: CachedDownloader, release: _StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: structurizr_archive_path = temp_dir_path / _STRUCTURIZR_CLI_ARCHIVE_NAME structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR with _log_action(log, "Install structurizr cli"): - _install_file( + downloader.install_file( url=release.url, output_path=structurizr_archive_path, - log=log, ) with _log_action(log, "Extract structurizr cli"): @@ -412,17 +414,16 @@ def _create_structurizr_cli_exporter(java_path: Path, syntax_plugin_path: Path) return _create_structurizr_cli_exporter -def _get_structurizr_lite_exporter_factory(release: _StructurizrLiteRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: +def _get_structurizr_lite_exporter_factory(downloader: CachedDownloader, release: _StructurizrLiteRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: structurizr_lite_dir = temp_dir_path / "structurizr-lite" structurizr_lite_dir.mkdir() structurizr_lite_war_file = structurizr_lite_dir / "structurizr-lite.war" with _log_action(log, "Install structurizr lite"): - _install_file( + downloader.install_file( url=release.url, output_path=structurizr_lite_war_file, - log=log, ) def _create_structurizr_lite_exporter(java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrLite: @@ -437,16 +438,17 @@ def _create_structurizr_lite_exporter(java_path: Path, syntax_plugin_path: Path) return _create_structurizr_lite_exporter -def _get_exporter_factory(release: _ExporterRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: +def _get_exporter_factory(downloader: CachedDownloader, release: _ExporterRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: match release: case _StructurizrCliRelease() as cli_release: - return _get_structurizr_cli_exporter_factory(cli_release, temp_dir_path, log) + return _get_structurizr_cli_exporter_factory(downloader, cli_release, temp_dir_path, log) case _StructurizrLiteRelease() as lite_release: - return _get_structurizr_lite_exporter_factory(lite_release, temp_dir_path, log) + return _get_structurizr_lite_exporter_factory(downloader, lite_release, temp_dir_path, log) def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: exporter_releases = _extract_exporter_releases_from_file(args.env_config) + downloader = CachedDownloader(log, _DOWNLOAD_CACHE_PATH) with _log_action(log, "Extract test case configuration"): test_cases_info = _extract_test_cases_info_from_file( @@ -463,7 +465,7 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: f"- Exporter: {exporter_release}\n" ) - exporter_factory = _get_exporter_factory(exporter_release, temp_dir_path, log) + exporter_factory = _get_exporter_factory(downloader, exporter_release, temp_dir_path, log) with _log_action(log, "Run integration tests"): for test_case_info in test_cases_info: From 9d42d2326e39deed84397241e2a71040fba20e89 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 28 Dec 2025 23:54:02 +0300 Subject: [PATCH 10/62] remove unused functions --- dev-tools/_usecases.py | 32 +------------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 1d282c9..719b5a1 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -10,7 +10,6 @@ import github import marko -import requests from _cached_downloader import CachedDownloader import _exporters @@ -275,35 +274,6 @@ def validate_issue_added(args: ValidateIssueAddedArgs, log: logging.Logger) -> N log.info(f"Linked issue states are valid") -def _install_file( - url: str, output_path: Path, log: logging.Logger, *, percent_threshold: float = 10.0 -) -> None: - with requests.get(url, stream=True) as response: - with output_path.open("wb") as file: - total_installed_bytes = 0 - last_logged_percent = 0.0 - content_length = response.headers.get("Content-Length", None) - file_size = int(content_length) if content_length is not None else None - - for chunk in response.iter_content(chunk_size=8_192): - if not isinstance(chunk, bytes) or not chunk: - continue - - file.write(chunk) - total_installed_bytes += len(chunk) - - if file_size is None: - continue - - percent = total_installed_bytes / file_size * 100.0 - - if percent - last_logged_percent < percent_threshold: - continue - - log.debug(f"Installed {percent:.2f}%") - last_logged_percent = percent - - def _extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo]: raw_infos = json.loads(config_file.read_text()) test_cases_info: list[_TestCaseInfo] = [] @@ -401,7 +371,7 @@ def _get_structurizr_cli_exporter_factory(downloader: CachedDownloader, release: ) with _log_action(log, "Extract structurizr cli"): - with zipfile.ZipFile(structurizr_archive_path, "r") as archive: + with zipfile.ZipFile(structurizr_archive_path) as archive: archive.extractall(structurizr_cli_dir) def _create_structurizr_cli_exporter(java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrCli: From f830b8b5f201ce4c1c1a5a8987f642d661741dd0 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 28 Dec 2025 23:58:13 +0300 Subject: [PATCH 11/62] add todo comment --- dev-tools/_cached_downloader.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dev-tools/_cached_downloader.py b/dev-tools/_cached_downloader.py index 524baa5..a55b1f7 100644 --- a/dev-tools/_cached_downloader.py +++ b/dev-tools/_cached_downloader.py @@ -6,6 +6,7 @@ import shutil +# TODO: add support of case when 2 urls have same cache key class _CacheManager: def __init__(self, cache_path: Path) -> None: self.__cache_path = self.__validate_cache_path(cache_path) From ff2a4abaec57860484e1e5598b8f2d3b033117e2 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Mon, 29 Dec 2025 00:07:37 +0300 Subject: [PATCH 12/62] improve logging --- dev-tools/_cached_downloader.py | 16 +++++++++------- dev-tools/_logging_tools.py | 25 +++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 dev-tools/_logging_tools.py diff --git a/dev-tools/_cached_downloader.py b/dev-tools/_cached_downloader.py index a55b1f7..82b5bf2 100644 --- a/dev-tools/_cached_downloader.py +++ b/dev-tools/_cached_downloader.py @@ -5,6 +5,8 @@ import requests import shutil +import _logging_tools + # TODO: add support of case when 2 urls have same cache key class _CacheManager: @@ -31,10 +33,10 @@ def __validate_cache_path(cache_path: Path) -> Path: class CachedDownloader: - _LOG_PREFIX: Final = "[CachedDownloader]" + _LOG_PREFIX: Final = "CachedDownloader" def __init__(self, log: logging.Logger, cache_path: Path) -> None: - self.__log = log + self.__log = _logging_tools.with_prefix(log, self._LOG_PREFIX) self.__cache_manager = _CacheManager(cache_path) def install_file( @@ -44,15 +46,15 @@ def install_file( *, percent_threshold: float = 10.0, ) -> None: - self.__log.debug(f"{self._LOG_PREFIX} Install content from url '{url}' ...") + self.__log.debug(f"Install content from url '{url}' ...") cache_key = self.__get_cache_key(url) if (cache_path := self.__cache_manager.get_cache_file(cache_key)) is not None: - self.__log.debug(f"{self._LOG_PREFIX} Use cached content") + self.__log.debug("Use cached content") shutil.copy(cache_path, output_path) else: - self.__log.debug(f"{self._LOG_PREFIX} Not found cached value. Install from server ...") + self.__log.debug("Not found cached value. Install from server ...") with requests.get(url, stream=True) as response: with output_path.open("wb") as file: @@ -76,11 +78,11 @@ def install_file( if percent - last_logged_percent < percent_threshold: continue - self.__log.debug(f"{self._LOG_PREFIX} Installed {percent:.2f}%") + self.__log.debug("Installed {percent:.2f}%") last_logged_percent = percent self.__cache_manager.save_cache_file(cache_key, output_path) - self.__log.debug(f"{self._LOG_PREFIX} Cache saved") + self.__log.debug("Cache saved") @staticmethod def __get_cache_key(url: str) -> str: diff --git a/dev-tools/_logging_tools.py b/dev-tools/_logging_tools.py new file mode 100644 index 0000000..c08f0e0 --- /dev/null +++ b/dev-tools/_logging_tools.py @@ -0,0 +1,25 @@ +import logging +from typing import Mapping, Any, MutableMapping + + +class _PrefixLoggerAdapter(logging.LoggerAdapter): + def __init__( + self, + logger: logging.Logger, + extra: Mapping[str, object] | None = None, + merge_extra: bool = False, + *, + prefix: str = "", + ) -> None: + super().__init__(logger, extra, merge_extra) + self.__prefix = prefix + + def process(self, msg: Any, kwargs: MutableMapping[str, Any]) -> tuple[str, MutableMapping[str, Any]]: + return f"[{self.__prefix}] {msg}", kwargs + + +def with_prefix(logger: logging.Logger, prefix: str) -> logging.Logger: + return _PrefixLoggerAdapter( + logger=logger, + prefix=prefix, + ) From 1ee7aaeeaca93d8531887f860bbaf814f6b1f8e1 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Fri, 2 Jan 2026 19:51:42 +0300 Subject: [PATCH 13/62] remove information about exit code --- dev-tools/_exporters/_interface.py | 4 +--- dev-tools/_exporters/_structurizr_cli.py | 11 ++++++----- dev-tools/_exporters/_structurizr_lite.py | 8 +++----- dev-tools/_integration_test_runner.py | 8 ++------ dev-tools/_usecases.py | 2 -- .../structurizr-cli/test-configuration.json | 1 - .../structurizr-lite/test-configuration.json | 1 - 7 files changed, 12 insertions(+), 23 deletions(-) diff --git a/dev-tools/_exporters/_interface.py b/dev-tools/_exporters/_interface.py index 05b7ea0..1abae4d 100644 --- a/dev-tools/_exporters/_interface.py +++ b/dev-tools/_exporters/_interface.py @@ -8,9 +8,7 @@ @dataclass(frozen=True, slots=True) class ExportFailure: - exit_code: int - stdout: str - stderr: str + error_message: str type ExportResult = ExportedWorkspace | ExportFailure diff --git a/dev-tools/_exporters/_structurizr_cli.py b/dev-tools/_exporters/_structurizr_cli.py index c84b648..07edf0e 100644 --- a/dev-tools/_exporters/_structurizr_cli.py +++ b/dev-tools/_exporters/_structurizr_cli.py @@ -46,16 +46,17 @@ def export_to_json(self, workspace_path: Path) -> ExportResult: "PATH": str(self.__java_path.absolute()), "JAVA_TOOL_OPTIONS": f"-javaagent:{self.__syntax_plugin_path.absolute()}", }, + encoding="utf-8", + errors="replace", ) try: process.check_returncode() except subprocess.SubprocessError: - return ExportFailure( - exit_code=process.returncode, - stdout=process.stdout.decode(errors="replace"), - stderr=process.stderr.decode(errors="replace"), - ) + if process.returncode == 1: + return ExportFailure(process.stderr) + + raise workspace_name = workspace_path.name.removesuffix(workspace_path.suffix) converted_workspace_path = output_dir / f"{workspace_name}.json" diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py index 1ec8b56..b2c6a2f 100644 --- a/dev-tools/_exporters/_structurizr_lite.py +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -86,11 +86,9 @@ def export_to_json(self, workspace_path: Path) -> ExportResult: return workspace except requests.HTTPError as e: if e.response.status_code == 400: - return ExportFailure( - exit_code=e.response.status_code, - stdout="", - stderr=e.response.content.decode("utf-8"), - ) + return ExportFailure(e.response.content.decode("utf-8")) + + raise e def close(self) -> None: print("[StructurizrLite] Close ...") diff --git a/dev-tools/_integration_test_runner.py b/dev-tools/_integration_test_runner.py index c735f70..e8c2ade 100644 --- a/dev-tools/_integration_test_runner.py +++ b/dev-tools/_integration_test_runner.py @@ -17,7 +17,6 @@ class SuccessTestCase(_CommonTestCaseConfiguration): @dataclass class FailTestCase(_CommonTestCaseConfiguration): - exit_code: int error_message: str @@ -42,15 +41,12 @@ def run_integration_test_case( export_result == expected_result ), "Exported workspace not equals to expected" - case FailTestCase(exit_code=exit_code, error_message=error_message): + case FailTestCase(error_message=error_message): assert isinstance( export_result, _exporters.ExportFailure ), "Export result unexpected success" assert ( - export_result.exit_code == exit_code - ), "Exit code not equals to expected" - assert ( - error_message in export_result.stderr + error_message in export_result.error_message ), "Stderr doesn't contain error message" diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 719b5a1..00d672b 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -301,7 +301,6 @@ def _extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo] "result": "fail", "name": str(name), "workspace": str(workspace_path), - "exit_code": int(exit_code), "error_message": str(error_message), }: test_cases_info.append( @@ -310,7 +309,6 @@ def _extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo] workspace_path=Path(workspace_path), run_config=_integration_test_runner.FailTestCase( name=name, - exit_code=exit_code, error_message=error_message, ), ) diff --git a/dev-tools/example-config/structurizr-cli/test-configuration.json b/dev-tools/example-config/structurizr-cli/test-configuration.json index 6d187e2..124b326 100644 --- a/dev-tools/example-config/structurizr-cli/test-configuration.json +++ b/dev-tools/example-config/structurizr-cli/test-configuration.json @@ -3,7 +3,6 @@ "name": "database-per-service", "workspace": ".bin/examples/databasePerService.dsl", "result": "fail", - "exit_code": 1, "error_message": "Database 'Payment Service' is already used by 'Order Application'" }, { diff --git a/dev-tools/example-config/structurizr-lite/test-configuration.json b/dev-tools/example-config/structurizr-lite/test-configuration.json index 900888b..ba692ac 100644 --- a/dev-tools/example-config/structurizr-lite/test-configuration.json +++ b/dev-tools/example-config/structurizr-lite/test-configuration.json @@ -3,7 +3,6 @@ "name": "database-per-service", "workspace": ".bin/examples/databasePerService.dsl", "result": "fail", - "exit_code": 400, "error_message": "Database 'Payment Service' is already used by 'Order Application'" }, { From bb919e1e0226b826a048fcb8a2bc4e0db1067bbb Mon Sep 17 00:00:00 2001 From: Nifacy Date: Fri, 2 Jan 2026 20:12:54 +0300 Subject: [PATCH 14/62] move log_action in logging tools --- dev-tools/_logging_tools.py | 16 +++++++++++- dev-tools/_usecases.py | 49 ++++++++++++++----------------------- 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/dev-tools/_logging_tools.py b/dev-tools/_logging_tools.py index c08f0e0..a777fc7 100644 --- a/dev-tools/_logging_tools.py +++ b/dev-tools/_logging_tools.py @@ -1,5 +1,6 @@ +import contextlib import logging -from typing import Mapping, Any, MutableMapping +from typing import Iterator, Mapping, Any, MutableMapping class _PrefixLoggerAdapter(logging.LoggerAdapter): @@ -23,3 +24,16 @@ def with_prefix(logger: logging.Logger, prefix: str) -> logging.Logger: logger=logger, prefix=prefix, ) + + +@contextlib.contextmanager +def log_action(log: logging.Logger, action: str) -> Iterator[None]: + log.debug(f"{action}: started") + + try: + yield + except Exception as e: + log.debug(f"{action}: failed: {e}") + raise + else: + log.debug(f"{action}: completed") diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 00d672b..4e27b3c 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -1,4 +1,3 @@ -import contextlib from dataclasses import dataclass import itertools import json @@ -19,6 +18,7 @@ import _integration_test_runner import _change_log import _github +import _logging_tools _CUR_DIR_PATH: Final = Path(__file__).parent @@ -117,19 +117,6 @@ def _parse_change_log(file: Path, log: logging.Logger) -> _change_log.ChangeLog: return change_log -@contextlib.contextmanager -def _log_action(log: logging.Logger, action: str) -> Iterator[None]: - log.debug(f"{action}: started") - - try: - yield - except Exception as e: - log.debug(f"{action}: failed: {e}") - raise - else: - log.debug(f"{action}: completed") - - def _extract_issue_links(change_log: _change_log.ChangeLog) -> Iterator[str]: for version_changes in change_log.version_changes: all_version_changes = itertools.chain( @@ -149,7 +136,7 @@ def validate_structure(args: ValidateStructureArgs, log: logging.Logger) -> None if not args.file.exists(): raise FileNotFoundError(f"File {args.file} does not exist") - with _log_action(log, "Validating CHANGELOG structure"): + with _logging_tools.log_action(log, "Validating CHANGELOG structure"): _parse_change_log(args.file, log) log.info("Validation passed successfully!") @@ -159,11 +146,11 @@ def validate_issues(args: ValidateIssuesArgs, log: logging.Logger) -> None: if not args.file.exists(): raise FileNotFoundError(f"File {args.file} does not exist") - with _log_action(log, "Validating Issues states"): - with _log_action(log, "Parse CHANGELOG file"): + with _logging_tools.log_action(log, "Validating Issues states"): + with _logging_tools.log_action(log, "Parse CHANGELOG file"): change_log = _parse_change_log(args.file, log) - with _log_action(log, "Get issue infos"): + with _logging_tools.log_action(log, "Get issue infos"): github_client = _init_github_client(args.github_token) issue_links = _extract_issue_links(change_log) issue_infos = [ @@ -171,14 +158,14 @@ def validate_issues(args: ValidateIssuesArgs, log: logging.Logger) -> None: for issue_link in issue_links ] - with _log_action(log, "Get linkes issue infos"): + with _logging_tools.log_action(log, "Get linkes issue infos"): pr_info = _github.get_pull_request_info( github_token=args.github_token, pr_location=args.pr_location, ) linked_issue_ids = {issue.number for issue in pr_info.pinned_issues} - with _log_action(log, "Check issues state"): + with _logging_tools.log_action(log, "Check issues state"): problem_issues: list[_github.IssueInfo] = [] for issue_info in issue_infos: @@ -230,18 +217,18 @@ def validate_issue_added(args: ValidateIssueAddedArgs, log: logging.Logger) -> N if not args.file.exists(): raise FileNotFoundError(f"File {args.file} does not exist") - with _log_action(log, "Validating Issue added"): - with _log_action(log, "Parse CHANGELOG file"): + with _logging_tools.log_action(log, "Validating Issue added"): + with _logging_tools.log_action(log, "Parse CHANGELOG file"): change_log = _parse_change_log(args.file, log) - with _log_action(log, "Get linked issue infos"): + with _logging_tools.log_action(log, "Get linked issue infos"): pr_info = _github.get_pull_request_info( github_token=args.github_token, pr_location=args.pr_location, ) linked_issue_ids = {issue.number for issue in pr_info.pinned_issues} - with _log_action(log, "Get issues in last version changes"): + with _logging_tools.log_action(log, "Get issues in last version changes"): issue_infos = _get_last_version_change_issues( change_log, args.github_token, log ) @@ -250,7 +237,7 @@ def validate_issue_added(args: ValidateIssueAddedArgs, log: logging.Logger) -> N for issue_info in issue_infos: log.debug(f"\t- {issue_info}") - with _log_action(log, "Check issue states"): + with _logging_tools.log_action(log, "Check issue states"): problem_issues: list[_github.IssueInfo] = [] for linked_issue_id in linked_issue_ids: @@ -362,13 +349,13 @@ def _get_structurizr_cli_exporter_factory(downloader: CachedDownloader, release: structurizr_archive_path = temp_dir_path / _STRUCTURIZR_CLI_ARCHIVE_NAME structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR - with _log_action(log, "Install structurizr cli"): + with _logging_tools.log_action(log, "Install structurizr cli"): downloader.install_file( url=release.url, output_path=structurizr_archive_path, ) - with _log_action(log, "Extract structurizr cli"): + with _logging_tools.log_action(log, "Extract structurizr cli"): with zipfile.ZipFile(structurizr_archive_path) as archive: archive.extractall(structurizr_cli_dir) @@ -388,7 +375,7 @@ def _get_structurizr_lite_exporter_factory(downloader: CachedDownloader, release structurizr_lite_war_file = structurizr_lite_dir / "structurizr-lite.war" - with _log_action(log, "Install structurizr lite"): + with _logging_tools.log_action(log, "Install structurizr lite"): downloader.install_file( url=release.url, output_path=structurizr_lite_war_file, @@ -418,7 +405,7 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: exporter_releases = _extract_exporter_releases_from_file(args.env_config) downloader = CachedDownloader(log, _DOWNLOAD_CACHE_PATH) - with _log_action(log, "Extract test case configuration"): + with _logging_tools.log_action(log, "Extract test case configuration"): test_cases_info = _extract_test_cases_info_from_file( args.test_case_config_file ) @@ -427,7 +414,7 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: with tempfile.TemporaryDirectory() as temp_dir: temp_dir_path = Path(temp_dir) - with _log_action(log, "Test pattern-syntax-plugin work in specified environment"): + with _logging_tools.log_action(log, "Test pattern-syntax-plugin work in specified environment"): log.debug( "Context:\n" f"- Exporter: {exporter_release}\n" @@ -435,7 +422,7 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: exporter_factory = _get_exporter_factory(downloader, exporter_release, temp_dir_path, log) - with _log_action(log, "Run integration tests"): + with _logging_tools.log_action(log, "Run integration tests"): for test_case_info in test_cases_info: log.info(f"Run '{test_case_info.name}' test case ...") From 491690252a1063e7c258848daff0371b13f4256d Mon Sep 17 00:00:00 2001 From: Nifacy Date: Fri, 2 Jan 2026 20:17:41 +0300 Subject: [PATCH 15/62] move release extraction logic in separate module --- dev-tools/_release_extractor.py | 59 +++++++++++++++++++++++++++ dev-tools/_usecases.py | 70 ++++----------------------------- 2 files changed, 67 insertions(+), 62 deletions(-) create mode 100644 dev-tools/_release_extractor.py diff --git a/dev-tools/_release_extractor.py b/dev-tools/_release_extractor.py new file mode 100644 index 0000000..e5186d0 --- /dev/null +++ b/dev-tools/_release_extractor.py @@ -0,0 +1,59 @@ +import dataclasses +import json +from pathlib import Path +from typing import Any + + +@dataclasses.dataclass(frozen=True, slots=True) +class StructurizrCliRelease: + version: str + url: str + + def __str__(self) -> str: + return f"StructurizrCli(version={self.version})" + + +@dataclasses.dataclass(frozen=True, slots=True) +class StructurizrLiteRelease: + version: str + url: str + + def __str__(self) -> str: + return f"StructurizrLite(version={self.version})" + + +type ExporterRelease = StructurizrCliRelease | StructurizrLiteRelease + + +def _get_exporter_release(raw_release: Any) -> ExporterRelease | None: + match raw_release: + case {"type": "structurizr-cli", "version": str(version), "url": str(url)}: + return StructurizrCliRelease( + version=version, + url=url, + ) + case {"type": "structurizr-lite", "version": str(version), "url": str(url)}: + return StructurizrLiteRelease( + version=version, + url=url, + ) + case _: + return None + + +def extract_exporter_releases_from_file(config_file: Path) -> list[ExporterRelease]: + raw_data = json.loads(config_file.read_text()) + releases: list[ExporterRelease] = [] + + match raw_data: + case [*raw_releases]: + for raw_release in raw_releases: + release = _get_exporter_release(raw_release) + if release is not None: + releases.append(release) + else: + raise ValueError("Unknown release configuration:\n{}".format(json.dumps(raw_release, indent=4))) + case _: + raise ValueError("Unknown releases configuration:\n{}".format(json.dumps(raw_data, indent=4))) + + return releases diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 4e27b3c..3019433 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -4,7 +4,7 @@ import logging from pathlib import Path import tempfile -from typing import Any, Final, Iterator, Protocol +from typing import Final, Iterator, Protocol import zipfile import github @@ -19,6 +19,7 @@ import _change_log import _github import _logging_tools +import _release_extractor _CUR_DIR_PATH: Final = Path(__file__).parent @@ -34,27 +35,6 @@ class _TestCaseInfo: run_config: _integration_test_runner.TestCaseRunConfiguration -@dataclass -class _StructurizrCliRelease: - version: str - url: str - - def __str__(self) -> str: - return f"StructurizrCli(version={self.version})" - - -@dataclass -class _StructurizrLiteRelease: - version: str - url: str - - def __str__(self) -> str: - return f"StructurizrLite(version={self.version})" - - -type _ExporterRelease = _StructurizrCliRelease | _StructurizrLiteRelease - - class _ExporterFactory(Protocol): def __call__(self, java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrWorkspaceExporter: ... @@ -311,41 +291,7 @@ def _extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo] return test_cases_info -def _get_exporter_release(raw_release: Any) -> _ExporterRelease | None: - match raw_release: - case {"type": "structurizr-cli", "version": str(version), "url": str(url)}: - return _StructurizrCliRelease( - version=version, - url=url, - ) - case {"type": "structurizr-lite", "version": str(version), "url": str(url)}: - return _StructurizrLiteRelease( - version=version, - url=url, - ) - case _: - return None - - -def _extract_exporter_releases_from_file(config_file: Path) -> list[_ExporterRelease]: - raw_data = json.loads(config_file.read_text()) - releases: list[_ExporterRelease] = [] - - match raw_data: - case [*raw_releases]: - for raw_release in raw_releases: - release = _get_exporter_release(raw_release) - if release is not None: - releases.append(release) - else: - raise ValueError("Unknown release configuration:\n{}".format(json.dumps(raw_release, indent=4))) - case _: - raise ValueError("Unknown releases configuration:\n{}".format(json.dumps(raw_data, indent=4))) - - return releases - - -def _get_structurizr_cli_exporter_factory(downloader: CachedDownloader, release: _StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: +def _get_structurizr_cli_exporter_factory(downloader: CachedDownloader, release: _release_extractor.StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: structurizr_archive_path = temp_dir_path / _STRUCTURIZR_CLI_ARCHIVE_NAME structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR @@ -369,7 +315,7 @@ def _create_structurizr_cli_exporter(java_path: Path, syntax_plugin_path: Path) return _create_structurizr_cli_exporter -def _get_structurizr_lite_exporter_factory(downloader: CachedDownloader, release: _StructurizrLiteRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: +def _get_structurizr_lite_exporter_factory(downloader: CachedDownloader, release: _release_extractor.StructurizrLiteRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: structurizr_lite_dir = temp_dir_path / "structurizr-lite" structurizr_lite_dir.mkdir() @@ -393,16 +339,16 @@ def _create_structurizr_lite_exporter(java_path: Path, syntax_plugin_path: Path) return _create_structurizr_lite_exporter -def _get_exporter_factory(downloader: CachedDownloader, release: _ExporterRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: +def _get_exporter_factory(downloader: CachedDownloader, release: _release_extractor.ExporterRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: match release: - case _StructurizrCliRelease() as cli_release: + case _release_extractor.StructurizrCliRelease() as cli_release: return _get_structurizr_cli_exporter_factory(downloader, cli_release, temp_dir_path, log) - case _StructurizrLiteRelease() as lite_release: + case _release_extractor.StructurizrLiteRelease() as lite_release: return _get_structurizr_lite_exporter_factory(downloader, lite_release, temp_dir_path, log) def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: - exporter_releases = _extract_exporter_releases_from_file(args.env_config) + exporter_releases = _release_extractor.extract_exporter_releases_from_file(args.env_config) downloader = CachedDownloader(log, _DOWNLOAD_CACHE_PATH) with _logging_tools.log_action(log, "Extract test case configuration"): From 90c2a862f1c97fe21c9196b7696e8e052947ad73 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Fri, 2 Jan 2026 20:23:10 +0300 Subject: [PATCH 16/62] move exporter factory in separate module --- dev-tools/_exporter_factory.py | 75 ++++++++++++++++++++++++++++++++++ dev-tools/_usecases.py | 70 ++----------------------------- 2 files changed, 78 insertions(+), 67 deletions(-) create mode 100644 dev-tools/_exporter_factory.py diff --git a/dev-tools/_exporter_factory.py b/dev-tools/_exporter_factory.py new file mode 100644 index 0000000..b1643ef --- /dev/null +++ b/dev-tools/_exporter_factory.py @@ -0,0 +1,75 @@ +from typing import Final, Protocol +import zipfile + +import _exporters +from _cached_downloader import CachedDownloader +import _logging_tools +import _release_extractor + +from pathlib import Path +import logging + + +_STRUCTURIZR_CLI_ARCHIVE_NAME: Final = "structurizr-cli.zip" +_STRUCTURIZR_CLI_DIR: Final = "structurizr-cli" + + +class ExporterFactory(Protocol): + def __call__(self, java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrWorkspaceExporter: + ... + + +def _get_structurizr_cli_exporter_factory(downloader: CachedDownloader, release: _release_extractor.StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> ExporterFactory: + structurizr_archive_path = temp_dir_path / _STRUCTURIZR_CLI_ARCHIVE_NAME + structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR + + with _logging_tools.log_action(log, "Install structurizr cli"): + downloader.install_file( + url=release.url, + output_path=structurizr_archive_path, + ) + + with _logging_tools.log_action(log, "Extract structurizr cli"): + with zipfile.ZipFile(structurizr_archive_path) as archive: + archive.extractall(structurizr_cli_dir) + + def _create_structurizr_cli_exporter(java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrCli: + return _exporters.StructurizrCli( + structurizr_cli_dir=structurizr_cli_dir, + java_path=java_path, + syntax_plugin_path=syntax_plugin_path, + ) + + return _create_structurizr_cli_exporter + + +def _get_structurizr_lite_exporter_factory(downloader: CachedDownloader, release: _release_extractor.StructurizrLiteRelease, temp_dir_path: Path, log: logging.Logger) -> ExporterFactory: + structurizr_lite_dir = temp_dir_path / "structurizr-lite" + structurizr_lite_dir.mkdir() + + structurizr_lite_war_file = structurizr_lite_dir / "structurizr-lite.war" + + with _logging_tools.log_action(log, "Install structurizr lite"): + downloader.install_file( + url=release.url, + output_path=structurizr_lite_war_file, + ) + + def _create_structurizr_lite_exporter(java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrLite: + return _exporters.StructurizrLite( + structurizr_lite_dir=structurizr_lite_dir, + java_path=java_path, + syntax_plugin_path=syntax_plugin_path, + stdout_path=temp_dir_path / "stdout.txt", + stderr_path=temp_dir_path / "stderr.txt", + ) + + return _create_structurizr_lite_exporter + + +def get_exporter_factory(downloader: CachedDownloader, release: _release_extractor.ExporterRelease, temp_dir_path: Path, log: logging.Logger) -> ExporterFactory: + match release: + case _release_extractor.StructurizrCliRelease() as cli_release: + return _get_structurizr_cli_exporter_factory(downloader, cli_release, temp_dir_path, log) + case _release_extractor.StructurizrLiteRelease() as lite_release: + return _get_structurizr_lite_exporter_factory(downloader, lite_release, temp_dir_path, log) diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 3019433..375034e 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -4,14 +4,13 @@ import logging from pathlib import Path import tempfile -from typing import Final, Iterator, Protocol -import zipfile +from typing import Final, Iterator import github import marko from _cached_downloader import CachedDownloader -import _exporters +import _exporter_factory import _parser.markdown import _change_log_parser @@ -23,8 +22,6 @@ _CUR_DIR_PATH: Final = Path(__file__).parent -_STRUCTURIZR_CLI_ARCHIVE_NAME: Final = "structurizr-cli.zip" -_STRUCTURIZR_CLI_DIR: Final = "structurizr-cli" _DOWNLOAD_CACHE_PATH: Final = _CUR_DIR_PATH / ".cache" @@ -35,11 +32,6 @@ class _TestCaseInfo: run_config: _integration_test_runner.TestCaseRunConfiguration -class _ExporterFactory(Protocol): - def __call__(self, java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrWorkspaceExporter: - ... - - @dataclass class ValidateStructureArgs: file: Path @@ -291,62 +283,6 @@ def _extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo] return test_cases_info -def _get_structurizr_cli_exporter_factory(downloader: CachedDownloader, release: _release_extractor.StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: - structurizr_archive_path = temp_dir_path / _STRUCTURIZR_CLI_ARCHIVE_NAME - structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR - - with _logging_tools.log_action(log, "Install structurizr cli"): - downloader.install_file( - url=release.url, - output_path=structurizr_archive_path, - ) - - with _logging_tools.log_action(log, "Extract structurizr cli"): - with zipfile.ZipFile(structurizr_archive_path) as archive: - archive.extractall(structurizr_cli_dir) - - def _create_structurizr_cli_exporter(java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrCli: - return _exporters.StructurizrCli( - structurizr_cli_dir=structurizr_cli_dir, - java_path=java_path, - syntax_plugin_path=syntax_plugin_path, - ) - - return _create_structurizr_cli_exporter - - -def _get_structurizr_lite_exporter_factory(downloader: CachedDownloader, release: _release_extractor.StructurizrLiteRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: - structurizr_lite_dir = temp_dir_path / "structurizr-lite" - structurizr_lite_dir.mkdir() - - structurizr_lite_war_file = structurizr_lite_dir / "structurizr-lite.war" - - with _logging_tools.log_action(log, "Install structurizr lite"): - downloader.install_file( - url=release.url, - output_path=structurizr_lite_war_file, - ) - - def _create_structurizr_lite_exporter(java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrLite: - return _exporters.StructurizrLite( - structurizr_lite_dir=structurizr_lite_dir, - java_path=java_path, - syntax_plugin_path=syntax_plugin_path, - stdout_path=temp_dir_path / "stdout.txt", - stderr_path=temp_dir_path / "stderr.txt", - ) - - return _create_structurizr_lite_exporter - - -def _get_exporter_factory(downloader: CachedDownloader, release: _release_extractor.ExporterRelease, temp_dir_path: Path, log: logging.Logger) -> _ExporterFactory: - match release: - case _release_extractor.StructurizrCliRelease() as cli_release: - return _get_structurizr_cli_exporter_factory(downloader, cli_release, temp_dir_path, log) - case _release_extractor.StructurizrLiteRelease() as lite_release: - return _get_structurizr_lite_exporter_factory(downloader, lite_release, temp_dir_path, log) - - def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: exporter_releases = _release_extractor.extract_exporter_releases_from_file(args.env_config) downloader = CachedDownloader(log, _DOWNLOAD_CACHE_PATH) @@ -366,7 +302,7 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: f"- Exporter: {exporter_release}\n" ) - exporter_factory = _get_exporter_factory(downloader, exporter_release, temp_dir_path, log) + exporter_factory = _exporter_factory.get_exporter_factory(downloader, exporter_release, temp_dir_path, log) with _logging_tools.log_action(log, "Run integration tests"): for test_case_info in test_cases_info: From 11f0f05bba3586448988d0448b26e6d16fa4e04d Mon Sep 17 00:00:00 2001 From: Nifacy Date: Fri, 2 Jan 2026 20:27:32 +0300 Subject: [PATCH 17/62] move test case info extractor in separate module --- dev-tools/_test_case_info_extractor.py | 61 ++++++++++++++++++++++++++ dev-tools/_usecases.py | 61 +------------------------- 2 files changed, 63 insertions(+), 59 deletions(-) create mode 100644 dev-tools/_test_case_info_extractor.py diff --git a/dev-tools/_test_case_info_extractor.py b/dev-tools/_test_case_info_extractor.py new file mode 100644 index 0000000..4f3848a --- /dev/null +++ b/dev-tools/_test_case_info_extractor.py @@ -0,0 +1,61 @@ +from dataclasses import dataclass +import json +from pathlib import Path +import _integration_test_runner + + +@dataclass(frozen=True, slots=True) +class _TestCaseInfo: + name: str + workspace_path: Path + run_config: _integration_test_runner.TestCaseRunConfiguration + + +def extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo]: + raw_infos = json.loads(config_file.read_text()) + test_cases_info: list[_TestCaseInfo] = [] + + for raw_info in raw_infos: + match raw_info: + case { + "result": "success", + "name": str(name), + "workspace": str(workspace_path), + "export_result_file": str(result_file_path), + }: + test_cases_info.append( + _TestCaseInfo( + name=name, + workspace_path=Path(workspace_path), + run_config=_integration_test_runner.SuccessTestCase( + name=name, + expected_export_result_file=Path(result_file_path), + ), + ) + ) + + case { + "result": "fail", + "name": str(name), + "workspace": str(workspace_path), + "error_message": str(error_message), + }: + test_cases_info.append( + _TestCaseInfo( + name=name, + workspace_path=Path(workspace_path), + run_config=_integration_test_runner.FailTestCase( + name=name, + error_message=error_message, + ), + ) + ) + + case _: + raise ValueError( + "Unknown tets case configuration:\n{}".format( + json.dumps(raw_info, indent=4) + ) + ) + + return test_cases_info diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 375034e..723bb29 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -1,6 +1,5 @@ from dataclasses import dataclass import itertools -import json import logging from pathlib import Path import tempfile @@ -19,19 +18,13 @@ import _github import _logging_tools import _release_extractor +import _test_case_info_extractor _CUR_DIR_PATH: Final = Path(__file__).parent _DOWNLOAD_CACHE_PATH: Final = _CUR_DIR_PATH / ".cache" -@dataclass -class _TestCaseInfo: - name: str - workspace_path: Path - run_config: _integration_test_runner.TestCaseRunConfiguration - - @dataclass class ValidateStructureArgs: file: Path @@ -233,62 +226,12 @@ def validate_issue_added(args: ValidateIssueAddedArgs, log: logging.Logger) -> N log.info(f"Linked issue states are valid") -def _extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo]: - raw_infos = json.loads(config_file.read_text()) - test_cases_info: list[_TestCaseInfo] = [] - - for raw_info in raw_infos: - match raw_info: - case { - "result": "success", - "name": str(name), - "workspace": str(workspace_path), - "export_result_file": str(result_file_path), - }: - test_cases_info.append( - _TestCaseInfo( - name=name, - workspace_path=Path(workspace_path), - run_config=_integration_test_runner.SuccessTestCase( - name=name, - expected_export_result_file=Path(result_file_path), - ), - ) - ) - - case { - "result": "fail", - "name": str(name), - "workspace": str(workspace_path), - "error_message": str(error_message), - }: - test_cases_info.append( - _TestCaseInfo( - name=name, - workspace_path=Path(workspace_path), - run_config=_integration_test_runner.FailTestCase( - name=name, - error_message=error_message, - ), - ) - ) - - case _: - raise ValueError( - "Unknown tets case configuration:\n{}".format( - json.dumps(raw_info, indent=4) - ) - ) - - return test_cases_info - - def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: exporter_releases = _release_extractor.extract_exporter_releases_from_file(args.env_config) downloader = CachedDownloader(log, _DOWNLOAD_CACHE_PATH) with _logging_tools.log_action(log, "Extract test case configuration"): - test_cases_info = _extract_test_cases_info_from_file( + test_cases_info = _test_case_info_extractor.extract_test_cases_info_from_file( args.test_case_config_file ) From a0b2c4d93658a8be84dcd368b11b1bcbfbc8dc5c Mon Sep 17 00:00:00 2001 From: Nifacy Date: Fri, 2 Jan 2026 20:57:44 +0300 Subject: [PATCH 18/62] use pytest for running tests --- dev-tools/_usecases.py | 61 +-- dev-tools/conftest.py | 32 ++ dev-tools/pyproject.toml | 4 + dev-tools/tests/__init__.py | 0 dev-tools/tests/test_syntax_plugin.py | 81 ++++ dev-tools/uv.lock | 642 ++++++++++++++------------ 6 files changed, 482 insertions(+), 338 deletions(-) create mode 100644 dev-tools/conftest.py create mode 100644 dev-tools/tests/__init__.py create mode 100644 dev-tools/tests/test_syntax_plugin.py diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 723bb29..b48facd 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -2,27 +2,23 @@ import itertools import logging from pathlib import Path -import tempfile +import sys from typing import Final, Iterator import github import marko +import pytest -from _cached_downloader import CachedDownloader -import _exporter_factory import _parser.markdown import _change_log_parser -import _integration_test_runner import _change_log import _github import _logging_tools -import _release_extractor -import _test_case_info_extractor _CUR_DIR_PATH: Final = Path(__file__).parent -_DOWNLOAD_CACHE_PATH: Final = _CUR_DIR_PATH / ".cache" +_SYNTAX_PLUGIN_TEST_FILE_PATH: Final = _CUR_DIR_PATH / "tests" / "test_syntax_plugin.py" @dataclass @@ -227,47 +223,16 @@ def validate_issue_added(args: ValidateIssueAddedArgs, log: logging.Logger) -> N def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: - exporter_releases = _release_extractor.extract_exporter_releases_from_file(args.env_config) - downloader = CachedDownloader(log, _DOWNLOAD_CACHE_PATH) - - with _logging_tools.log_action(log, "Extract test case configuration"): - test_cases_info = _test_case_info_extractor.extract_test_cases_info_from_file( - args.test_case_config_file - ) - - for exporter_release in exporter_releases: - with tempfile.TemporaryDirectory() as temp_dir: - temp_dir_path = Path(temp_dir) - - with _logging_tools.log_action(log, "Test pattern-syntax-plugin work in specified environment"): - log.debug( - "Context:\n" - f"- Exporter: {exporter_release}\n" - ) - - exporter_factory = _exporter_factory.get_exporter_factory(downloader, exporter_release, temp_dir_path, log) - - with _logging_tools.log_action(log, "Run integration tests"): - for test_case_info in test_cases_info: - log.info(f"Run '{test_case_info.name}' test case ...") - - exporter = exporter_factory( - java_path=args.java_path, - syntax_plugin_path=args.syntax_plugin_path, - ) - - try: - _integration_test_runner.run_integration_test_case( - run_config=test_case_info.run_config, - exporter=exporter, - workspace_path=test_case_info.workspace_path, - ) - finally: - exporter.close() - - log.info(f"Run '{test_case_info.name}' test case ... ok") - - log.info("All checks passed!") + sys.exit(pytest.main([ + str(_SYNTAX_PLUGIN_TEST_FILE_PATH), + f'--test-case-config={args.test_case_config_file.absolute()}', + f'--env-config={args.env_config.absolute()}', + f'--plugin-path={args.syntax_plugin_path.absolute()}', + f'--java-path={args.java_path.absolute()}', + # f'--root-dir={_CUR_DIR_PATH.absolute()}', + '--verbose', + '--log-cli-level=DEBUG', + ])) __all__ = [ diff --git a/dev-tools/conftest.py b/dev-tools/conftest.py new file mode 100644 index 0000000..f58aa53 --- /dev/null +++ b/dev-tools/conftest.py @@ -0,0 +1,32 @@ +from pathlib import Path +import pytest + + +def pytest_addoption(parser: pytest.Parser): + parser.addoption( + "--test-case-config", + type=Path, + required=True, + help="Path to test case configuration file", + ) + + parser.addoption( + "--env-config", + type=Path, + required=True, + help="Path to test environment configuration file", + ) + + parser.addoption( + "--plugin-path", + type=Path, + required=True, + help="Path to pattern-syntax-plugin JAR archive", + ) + + parser.addoption( + "--java-path", + type=Path, + required=True, + help="Path to java binary directory", + ) diff --git a/dev-tools/pyproject.toml b/dev-tools/pyproject.toml index 39f6454..53311a8 100644 --- a/dev-tools/pyproject.toml +++ b/dev-tools/pyproject.toml @@ -6,6 +6,10 @@ requires-python = "~=3.13" dependencies = [ "marko==2.1.4", "pygithub==2.6.1", + "pytest==9.0.2", "python-graphql-client==0.4.3", "requests==2.32.4", ] + +[pytest] +log_cli = true \ No newline at end of file diff --git a/dev-tools/tests/__init__.py b/dev-tools/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py new file mode 100644 index 0000000..583ddbc --- /dev/null +++ b/dev-tools/tests/test_syntax_plugin.py @@ -0,0 +1,81 @@ +import logging +from pathlib import Path +import tempfile +from typing import Final +import pytest +import _exporter_factory +import _integration_test_runner +import _logging_tools +import _release_extractor +import _test_case_info_extractor +import _cached_downloader + + +_CUR_DIR_PATH: Final = Path(__file__).parent +_DOWNLOAD_CACHE_PATH: Final = _CUR_DIR_PATH / ".." / ".cache" + + +@pytest.fixture +def test_case_config_file(request: pytest.FixtureRequest) -> Path: + return request.config.getoption('--test-case-config') + + +@pytest.fixture +def env_config(request: pytest.FixtureRequest) -> Path: + return request.config.getoption('--env-config') + + +@pytest.fixture +def syntax_plugin_path(request: pytest.FixtureRequest) -> Path: + return request.config.getoption('--plugin-path') + + +@pytest.fixture +def java_path(request: pytest.FixtureRequest) -> Path: + return request.config.getoption('--java-path') + + +def test_syntax_plugin(env_config: Path, test_case_config_file: Path, syntax_plugin_path: Path, java_path: Path) -> None: + log = logging.getLogger() + + exporter_releases = _release_extractor.extract_exporter_releases_from_file(env_config) + downloader = _cached_downloader.CachedDownloader(log, _DOWNLOAD_CACHE_PATH) + + with _logging_tools.log_action(log, "Extract test case configuration"): + test_cases_info = _test_case_info_extractor.extract_test_cases_info_from_file( + test_case_config_file + ) + + for exporter_release in exporter_releases: + with tempfile.TemporaryDirectory() as temp_dir: + temp_dir_path = Path(temp_dir) + + with _logging_tools.log_action(log, "Test pattern-syntax-plugin work in specified environment"): + log.debug( + "Context:\n" + f"- Exporter: {exporter_release}\n" + ) + + exporter_factory = _exporter_factory.get_exporter_factory(downloader, exporter_release, temp_dir_path, log) + + with _logging_tools.log_action(log, "Run integration tests"): + for test_case_info in test_cases_info: + log.info(f"Run '{test_case_info.name}' test case ...") + + exporter = exporter_factory( + java_path=java_path, + syntax_plugin_path=syntax_plugin_path, + ) + + try: + _integration_test_runner.run_integration_test_case( + run_config=test_case_info.run_config, + exporter=exporter, + workspace_path=test_case_info.workspace_path, + ) + finally: + exporter.close() + + log.info(f"Run '{test_case_info.name}' test case ... ok") + + log.info("All checks passed!") diff --git a/dev-tools/uv.lock b/dev-tools/uv.lock index 6a88cee..0dc6ed0 100644 --- a/dev-tools/uv.lock +++ b/dev-tools/uv.lock @@ -1,14 +1,13 @@ version = 1 -revision = 2 requires-python = ">=3.13, <4" [[package]] name = "aiohappyeyeballs" version = "2.6.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760 } wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265 }, ] [[package]] @@ -24,25 +23,25 @@ dependencies = [ { name = "propcache" }, { name = "yarl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e6/0b/e39ad954107ebf213a2325038a3e7a506be3d98e1435e1f82086eec4cde2/aiohttp-3.12.14.tar.gz", hash = "sha256:6e06e120e34d93100de448fd941522e11dafa78ef1a893c179901b7d66aa29f2", size = 7822921, upload-time = "2025-07-10T13:05:33.968Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e6/0b/e39ad954107ebf213a2325038a3e7a506be3d98e1435e1f82086eec4cde2/aiohttp-3.12.14.tar.gz", hash = "sha256:6e06e120e34d93100de448fd941522e11dafa78ef1a893c179901b7d66aa29f2", size = 7822921 } wheels = [ - { url = "https://files.pythonhosted.org/packages/06/48/e0d2fa8ac778008071e7b79b93ab31ef14ab88804d7ba71b5c964a7c844e/aiohttp-3.12.14-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3143a7893d94dc82bc409f7308bc10d60285a3cd831a68faf1aa0836c5c3c767", size = 695471, upload-time = "2025-07-10T13:04:20.124Z" }, - { url = "https://files.pythonhosted.org/packages/8d/e7/f73206afa33100804f790b71092888f47df65fd9a4cd0e6800d7c6826441/aiohttp-3.12.14-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3d62ac3d506cef54b355bd34c2a7c230eb693880001dfcda0bf88b38f5d7af7e", size = 473128, upload-time = "2025-07-10T13:04:21.928Z" }, - { url = "https://files.pythonhosted.org/packages/df/e2/4dd00180be551a6e7ee979c20fc7c32727f4889ee3fd5b0586e0d47f30e1/aiohttp-3.12.14-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:48e43e075c6a438937c4de48ec30fa8ad8e6dfef122a038847456bfe7b947b63", size = 465426, upload-time = "2025-07-10T13:04:24.071Z" }, - { url = "https://files.pythonhosted.org/packages/de/dd/525ed198a0bb674a323e93e4d928443a680860802c44fa7922d39436b48b/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:077b4488411a9724cecc436cbc8c133e0d61e694995b8de51aaf351c7578949d", size = 1704252, upload-time = "2025-07-10T13:04:26.049Z" }, - { url = "https://files.pythonhosted.org/packages/d8/b1/01e542aed560a968f692ab4fc4323286e8bc4daae83348cd63588e4f33e3/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d8c35632575653f297dcbc9546305b2c1133391089ab925a6a3706dfa775ccab", size = 1685514, upload-time = "2025-07-10T13:04:28.186Z" }, - { url = "https://files.pythonhosted.org/packages/b3/06/93669694dc5fdabdc01338791e70452d60ce21ea0946a878715688d5a191/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b8ce87963f0035c6834b28f061df90cf525ff7c9b6283a8ac23acee6502afd4", size = 1737586, upload-time = "2025-07-10T13:04:30.195Z" }, - { url = "https://files.pythonhosted.org/packages/a5/3a/18991048ffc1407ca51efb49ba8bcc1645961f97f563a6c480cdf0286310/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0a2cf66e32a2563bb0766eb24eae7e9a269ac0dc48db0aae90b575dc9583026", size = 1786958, upload-time = "2025-07-10T13:04:32.482Z" }, - { url = "https://files.pythonhosted.org/packages/30/a8/81e237f89a32029f9b4a805af6dffc378f8459c7b9942712c809ff9e76e5/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdea089caf6d5cde975084a884c72d901e36ef9c2fd972c9f51efbbc64e96fbd", size = 1709287, upload-time = "2025-07-10T13:04:34.493Z" }, - { url = "https://files.pythonhosted.org/packages/8c/e3/bd67a11b0fe7fc12c6030473afd9e44223d456f500f7cf526dbaa259ae46/aiohttp-3.12.14-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7865f27db67d49e81d463da64a59365ebd6b826e0e4847aa111056dcb9dc88", size = 1622990, upload-time = "2025-07-10T13:04:36.433Z" }, - { url = "https://files.pythonhosted.org/packages/83/ba/e0cc8e0f0d9ce0904e3cf2d6fa41904e379e718a013c721b781d53dcbcca/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0ab5b38a6a39781d77713ad930cb5e7feea6f253de656a5f9f281a8f5931b086", size = 1676015, upload-time = "2025-07-10T13:04:38.958Z" }, - { url = "https://files.pythonhosted.org/packages/d8/b3/1e6c960520bda094c48b56de29a3d978254637ace7168dd97ddc273d0d6c/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9b3b15acee5c17e8848d90a4ebc27853f37077ba6aec4d8cb4dbbea56d156933", size = 1707678, upload-time = "2025-07-10T13:04:41.275Z" }, - { url = "https://files.pythonhosted.org/packages/0a/19/929a3eb8c35b7f9f076a462eaa9830b32c7f27d3395397665caa5e975614/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e4c972b0bdaac167c1e53e16a16101b17c6d0ed7eac178e653a07b9f7fad7151", size = 1650274, upload-time = "2025-07-10T13:04:43.483Z" }, - { url = "https://files.pythonhosted.org/packages/22/e5/81682a6f20dd1b18ce3d747de8eba11cbef9b270f567426ff7880b096b48/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7442488b0039257a3bdbc55f7209587911f143fca11df9869578db6c26feeeb8", size = 1726408, upload-time = "2025-07-10T13:04:45.577Z" }, - { url = "https://files.pythonhosted.org/packages/8c/17/884938dffaa4048302985483f77dfce5ac18339aad9b04ad4aaa5e32b028/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f68d3067eecb64c5e9bab4a26aa11bd676f4c70eea9ef6536b0a4e490639add3", size = 1759879, upload-time = "2025-07-10T13:04:47.663Z" }, - { url = "https://files.pythonhosted.org/packages/95/78/53b081980f50b5cf874359bde707a6eacd6c4be3f5f5c93937e48c9d0025/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f88d3704c8b3d598a08ad17d06006cb1ca52a1182291f04979e305c8be6c9758", size = 1708770, upload-time = "2025-07-10T13:04:49.944Z" }, - { url = "https://files.pythonhosted.org/packages/ed/91/228eeddb008ecbe3ffa6c77b440597fdf640307162f0c6488e72c5a2d112/aiohttp-3.12.14-cp313-cp313-win32.whl", hash = "sha256:a3c99ab19c7bf375c4ae3debd91ca5d394b98b6089a03231d4c580ef3c2ae4c5", size = 421688, upload-time = "2025-07-10T13:04:51.993Z" }, - { url = "https://files.pythonhosted.org/packages/66/5f/8427618903343402fdafe2850738f735fd1d9409d2a8f9bcaae5e630d3ba/aiohttp-3.12.14-cp313-cp313-win_amd64.whl", hash = "sha256:3f8aad695e12edc9d571f878c62bedc91adf30c760c8632f09663e5f564f4baa", size = 448098, upload-time = "2025-07-10T13:04:53.999Z" }, + { url = "https://files.pythonhosted.org/packages/06/48/e0d2fa8ac778008071e7b79b93ab31ef14ab88804d7ba71b5c964a7c844e/aiohttp-3.12.14-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3143a7893d94dc82bc409f7308bc10d60285a3cd831a68faf1aa0836c5c3c767", size = 695471 }, + { url = "https://files.pythonhosted.org/packages/8d/e7/f73206afa33100804f790b71092888f47df65fd9a4cd0e6800d7c6826441/aiohttp-3.12.14-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3d62ac3d506cef54b355bd34c2a7c230eb693880001dfcda0bf88b38f5d7af7e", size = 473128 }, + { url = "https://files.pythonhosted.org/packages/df/e2/4dd00180be551a6e7ee979c20fc7c32727f4889ee3fd5b0586e0d47f30e1/aiohttp-3.12.14-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:48e43e075c6a438937c4de48ec30fa8ad8e6dfef122a038847456bfe7b947b63", size = 465426 }, + { url = "https://files.pythonhosted.org/packages/de/dd/525ed198a0bb674a323e93e4d928443a680860802c44fa7922d39436b48b/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:077b4488411a9724cecc436cbc8c133e0d61e694995b8de51aaf351c7578949d", size = 1704252 }, + { url = "https://files.pythonhosted.org/packages/d8/b1/01e542aed560a968f692ab4fc4323286e8bc4daae83348cd63588e4f33e3/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d8c35632575653f297dcbc9546305b2c1133391089ab925a6a3706dfa775ccab", size = 1685514 }, + { url = "https://files.pythonhosted.org/packages/b3/06/93669694dc5fdabdc01338791e70452d60ce21ea0946a878715688d5a191/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b8ce87963f0035c6834b28f061df90cf525ff7c9b6283a8ac23acee6502afd4", size = 1737586 }, + { url = "https://files.pythonhosted.org/packages/a5/3a/18991048ffc1407ca51efb49ba8bcc1645961f97f563a6c480cdf0286310/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0a2cf66e32a2563bb0766eb24eae7e9a269ac0dc48db0aae90b575dc9583026", size = 1786958 }, + { url = "https://files.pythonhosted.org/packages/30/a8/81e237f89a32029f9b4a805af6dffc378f8459c7b9942712c809ff9e76e5/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdea089caf6d5cde975084a884c72d901e36ef9c2fd972c9f51efbbc64e96fbd", size = 1709287 }, + { url = "https://files.pythonhosted.org/packages/8c/e3/bd67a11b0fe7fc12c6030473afd9e44223d456f500f7cf526dbaa259ae46/aiohttp-3.12.14-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7865f27db67d49e81d463da64a59365ebd6b826e0e4847aa111056dcb9dc88", size = 1622990 }, + { url = "https://files.pythonhosted.org/packages/83/ba/e0cc8e0f0d9ce0904e3cf2d6fa41904e379e718a013c721b781d53dcbcca/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0ab5b38a6a39781d77713ad930cb5e7feea6f253de656a5f9f281a8f5931b086", size = 1676015 }, + { url = "https://files.pythonhosted.org/packages/d8/b3/1e6c960520bda094c48b56de29a3d978254637ace7168dd97ddc273d0d6c/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9b3b15acee5c17e8848d90a4ebc27853f37077ba6aec4d8cb4dbbea56d156933", size = 1707678 }, + { url = "https://files.pythonhosted.org/packages/0a/19/929a3eb8c35b7f9f076a462eaa9830b32c7f27d3395397665caa5e975614/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e4c972b0bdaac167c1e53e16a16101b17c6d0ed7eac178e653a07b9f7fad7151", size = 1650274 }, + { url = "https://files.pythonhosted.org/packages/22/e5/81682a6f20dd1b18ce3d747de8eba11cbef9b270f567426ff7880b096b48/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7442488b0039257a3bdbc55f7209587911f143fca11df9869578db6c26feeeb8", size = 1726408 }, + { url = "https://files.pythonhosted.org/packages/8c/17/884938dffaa4048302985483f77dfce5ac18339aad9b04ad4aaa5e32b028/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f68d3067eecb64c5e9bab4a26aa11bd676f4c70eea9ef6536b0a4e490639add3", size = 1759879 }, + { url = "https://files.pythonhosted.org/packages/95/78/53b081980f50b5cf874359bde707a6eacd6c4be3f5f5c93937e48c9d0025/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f88d3704c8b3d598a08ad17d06006cb1ca52a1182291f04979e305c8be6c9758", size = 1708770 }, + { url = "https://files.pythonhosted.org/packages/ed/91/228eeddb008ecbe3ffa6c77b440597fdf640307162f0c6488e72c5a2d112/aiohttp-3.12.14-cp313-cp313-win32.whl", hash = "sha256:a3c99ab19c7bf375c4ae3debd91ca5d394b98b6089a03231d4c580ef3c2ae4c5", size = 421688 }, + { url = "https://files.pythonhosted.org/packages/66/5f/8427618903343402fdafe2850738f735fd1d9409d2a8f9bcaae5e630d3ba/aiohttp-3.12.14-cp313-cp313-win_amd64.whl", hash = "sha256:3f8aad695e12edc9d571f878c62bedc91adf30c760c8632f09663e5f564f4baa", size = 448098 }, ] [[package]] @@ -52,27 +51,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "frozenlist" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } +sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007 } wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" }, + { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490 }, ] [[package]] name = "attrs" version = "25.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032 } wheels = [ - { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815 }, ] [[package]] name = "certifi" version = "2025.7.9" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/de/8a/c729b6b60c66a38f590c4e774decc4b2ec7b0576be8f1aa984a53ffa812a/certifi-2025.7.9.tar.gz", hash = "sha256:c1d2ec05395148ee10cf672ffc28cd37ea0ab0d99f9cc74c43e588cbd111b079", size = 160386, upload-time = "2025-07-09T02:13:58.874Z" } +sdist = { url = "https://files.pythonhosted.org/packages/de/8a/c729b6b60c66a38f590c4e774decc4b2ec7b0576be8f1aa984a53ffa812a/certifi-2025.7.9.tar.gz", hash = "sha256:c1d2ec05395148ee10cf672ffc28cd37ea0ab0d99f9cc74c43e588cbd111b079", size = 160386 } wheels = [ - { url = "https://files.pythonhosted.org/packages/66/f3/80a3f974c8b535d394ff960a11ac20368e06b736da395b551a49ce950cce/certifi-2025.7.9-py3-none-any.whl", hash = "sha256:d842783a14f8fdd646895ac26f719a061408834473cfc10203f6a575beb15d39", size = 159230, upload-time = "2025-07-09T02:13:57.007Z" }, + { url = "https://files.pythonhosted.org/packages/66/f3/80a3f974c8b535d394ff960a11ac20368e06b736da395b551a49ce950cce/certifi-2025.7.9-py3-none-any.whl", hash = "sha256:d842783a14f8fdd646895ac26f719a061408834473cfc10203f6a575beb15d39", size = 159230 }, ] [[package]] @@ -82,41 +81,50 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pycparser" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 } wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, - { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, - { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, - { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, - { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, - { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, - { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, - { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, ] [[package]] name = "charset-normalizer" version = "3.4.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367 } wheels = [ - { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, - { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, - { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, - { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, - { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, - { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, - { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, - { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, - { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, - { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, - { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, - { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, - { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, - { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622 }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435 }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653 }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231 }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243 }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442 }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147 }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057 }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454 }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174 }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166 }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064 }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641 }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626 }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, ] [[package]] @@ -126,32 +134,32 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/1e/49527ac611af559665f71cbb8f92b332b5ec9c6fbc4e88b0f8e92f5e85df/cryptography-45.0.5.tar.gz", hash = "sha256:72e76caa004ab63accdf26023fccd1d087f6d90ec6048ff33ad0445abf7f605a", size = 744903, upload-time = "2025-07-02T13:06:25.941Z" } +sdist = { url = "https://files.pythonhosted.org/packages/95/1e/49527ac611af559665f71cbb8f92b332b5ec9c6fbc4e88b0f8e92f5e85df/cryptography-45.0.5.tar.gz", hash = "sha256:72e76caa004ab63accdf26023fccd1d087f6d90ec6048ff33ad0445abf7f605a", size = 744903 } wheels = [ - { url = "https://files.pythonhosted.org/packages/f0/fb/09e28bc0c46d2c547085e60897fea96310574c70fb21cd58a730a45f3403/cryptography-45.0.5-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:101ee65078f6dd3e5a028d4f19c07ffa4dd22cce6a20eaa160f8b5219911e7d8", size = 7043092, upload-time = "2025-07-02T13:05:01.514Z" }, - { url = "https://files.pythonhosted.org/packages/b1/05/2194432935e29b91fb649f6149c1a4f9e6d3d9fc880919f4ad1bcc22641e/cryptography-45.0.5-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3a264aae5f7fbb089dbc01e0242d3b67dffe3e6292e1f5182122bdf58e65215d", size = 4205926, upload-time = "2025-07-02T13:05:04.741Z" }, - { url = "https://files.pythonhosted.org/packages/07/8b/9ef5da82350175e32de245646b1884fc01124f53eb31164c77f95a08d682/cryptography-45.0.5-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e74d30ec9c7cb2f404af331d5b4099a9b322a8a6b25c4632755c8757345baac5", size = 4429235, upload-time = "2025-07-02T13:05:07.084Z" }, - { url = "https://files.pythonhosted.org/packages/7c/e1/c809f398adde1994ee53438912192d92a1d0fc0f2d7582659d9ef4c28b0c/cryptography-45.0.5-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3af26738f2db354aafe492fb3869e955b12b2ef2e16908c8b9cb928128d42c57", size = 4209785, upload-time = "2025-07-02T13:05:09.321Z" }, - { url = "https://files.pythonhosted.org/packages/d0/8b/07eb6bd5acff58406c5e806eff34a124936f41a4fb52909ffa4d00815f8c/cryptography-45.0.5-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e6c00130ed423201c5bc5544c23359141660b07999ad82e34e7bb8f882bb78e0", size = 3893050, upload-time = "2025-07-02T13:05:11.069Z" }, - { url = "https://files.pythonhosted.org/packages/ec/ef/3333295ed58d900a13c92806b67e62f27876845a9a908c939f040887cca9/cryptography-45.0.5-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:dd420e577921c8c2d31289536c386aaa30140b473835e97f83bc71ea9d2baf2d", size = 4457379, upload-time = "2025-07-02T13:05:13.32Z" }, - { url = "https://files.pythonhosted.org/packages/d9/9d/44080674dee514dbb82b21d6fa5d1055368f208304e2ab1828d85c9de8f4/cryptography-45.0.5-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:d05a38884db2ba215218745f0781775806bde4f32e07b135348355fe8e4991d9", size = 4209355, upload-time = "2025-07-02T13:05:15.017Z" }, - { url = "https://files.pythonhosted.org/packages/c9/d8/0749f7d39f53f8258e5c18a93131919ac465ee1f9dccaf1b3f420235e0b5/cryptography-45.0.5-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:ad0caded895a00261a5b4aa9af828baede54638754b51955a0ac75576b831b27", size = 4456087, upload-time = "2025-07-02T13:05:16.945Z" }, - { url = "https://files.pythonhosted.org/packages/09/d7/92acac187387bf08902b0bf0699816f08553927bdd6ba3654da0010289b4/cryptography-45.0.5-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9024beb59aca9d31d36fcdc1604dd9bbeed0a55bface9f1908df19178e2f116e", size = 4332873, upload-time = "2025-07-02T13:05:18.743Z" }, - { url = "https://files.pythonhosted.org/packages/03/c2/840e0710da5106a7c3d4153c7215b2736151bba60bf4491bdb421df5056d/cryptography-45.0.5-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:91098f02ca81579c85f66df8a588c78f331ca19089763d733e34ad359f474174", size = 4564651, upload-time = "2025-07-02T13:05:21.382Z" }, - { url = "https://files.pythonhosted.org/packages/2e/92/cc723dd6d71e9747a887b94eb3827825c6c24b9e6ce2bb33b847d31d5eaa/cryptography-45.0.5-cp311-abi3-win32.whl", hash = "sha256:926c3ea71a6043921050eaa639137e13dbe7b4ab25800932a8498364fc1abec9", size = 2929050, upload-time = "2025-07-02T13:05:23.39Z" }, - { url = "https://files.pythonhosted.org/packages/1f/10/197da38a5911a48dd5389c043de4aec4b3c94cb836299b01253940788d78/cryptography-45.0.5-cp311-abi3-win_amd64.whl", hash = "sha256:b85980d1e345fe769cfc57c57db2b59cff5464ee0c045d52c0df087e926fbe63", size = 3403224, upload-time = "2025-07-02T13:05:25.202Z" }, - { url = "https://files.pythonhosted.org/packages/fe/2b/160ce8c2765e7a481ce57d55eba1546148583e7b6f85514472b1d151711d/cryptography-45.0.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:f3562c2f23c612f2e4a6964a61d942f891d29ee320edb62ff48ffb99f3de9ae8", size = 7017143, upload-time = "2025-07-02T13:05:27.229Z" }, - { url = "https://files.pythonhosted.org/packages/c2/e7/2187be2f871c0221a81f55ee3105d3cf3e273c0a0853651d7011eada0d7e/cryptography-45.0.5-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3fcfbefc4a7f332dece7272a88e410f611e79458fab97b5efe14e54fe476f4fd", size = 4197780, upload-time = "2025-07-02T13:05:29.299Z" }, - { url = "https://files.pythonhosted.org/packages/b9/cf/84210c447c06104e6be9122661159ad4ce7a8190011669afceeaea150524/cryptography-45.0.5-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:460f8c39ba66af7db0545a8c6f2eabcbc5a5528fc1cf6c3fa9a1e44cec33385e", size = 4420091, upload-time = "2025-07-02T13:05:31.221Z" }, - { url = "https://files.pythonhosted.org/packages/3e/6a/cb8b5c8bb82fafffa23aeff8d3a39822593cee6e2f16c5ca5c2ecca344f7/cryptography-45.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:9b4cf6318915dccfe218e69bbec417fdd7c7185aa7aab139a2c0beb7468c89f0", size = 4198711, upload-time = "2025-07-02T13:05:33.062Z" }, - { url = "https://files.pythonhosted.org/packages/04/f7/36d2d69df69c94cbb2473871926daf0f01ad8e00fe3986ac3c1e8c4ca4b3/cryptography-45.0.5-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2089cc8f70a6e454601525e5bf2779e665d7865af002a5dec8d14e561002e135", size = 3883299, upload-time = "2025-07-02T13:05:34.94Z" }, - { url = "https://files.pythonhosted.org/packages/82/c7/f0ea40f016de72f81288e9fe8d1f6748036cb5ba6118774317a3ffc6022d/cryptography-45.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:0027d566d65a38497bc37e0dd7c2f8ceda73597d2ac9ba93810204f56f52ebc7", size = 4450558, upload-time = "2025-07-02T13:05:37.288Z" }, - { url = "https://files.pythonhosted.org/packages/06/ae/94b504dc1a3cdf642d710407c62e86296f7da9e66f27ab12a1ee6fdf005b/cryptography-45.0.5-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:be97d3a19c16a9be00edf79dca949c8fa7eff621763666a145f9f9535a5d7f42", size = 4198020, upload-time = "2025-07-02T13:05:39.102Z" }, - { url = "https://files.pythonhosted.org/packages/05/2b/aaf0adb845d5dabb43480f18f7ca72e94f92c280aa983ddbd0bcd6ecd037/cryptography-45.0.5-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:7760c1c2e1a7084153a0f68fab76e754083b126a47d0117c9ed15e69e2103492", size = 4449759, upload-time = "2025-07-02T13:05:41.398Z" }, - { url = "https://files.pythonhosted.org/packages/91/e4/f17e02066de63e0100a3a01b56f8f1016973a1d67551beaf585157a86b3f/cryptography-45.0.5-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6ff8728d8d890b3dda5765276d1bc6fb099252915a2cd3aff960c4c195745dd0", size = 4319991, upload-time = "2025-07-02T13:05:43.64Z" }, - { url = "https://files.pythonhosted.org/packages/f2/2e/e2dbd629481b499b14516eed933f3276eb3239f7cee2dcfa4ee6b44d4711/cryptography-45.0.5-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7259038202a47fdecee7e62e0fd0b0738b6daa335354396c6ddebdbe1206af2a", size = 4554189, upload-time = "2025-07-02T13:05:46.045Z" }, - { url = "https://files.pythonhosted.org/packages/f8/ea/a78a0c38f4c8736287b71c2ea3799d173d5ce778c7d6e3c163a95a05ad2a/cryptography-45.0.5-cp37-abi3-win32.whl", hash = "sha256:1e1da5accc0c750056c556a93c3e9cb828970206c68867712ca5805e46dc806f", size = 2911769, upload-time = "2025-07-02T13:05:48.329Z" }, - { url = "https://files.pythonhosted.org/packages/79/b3/28ac139109d9005ad3f6b6f8976ffede6706a6478e21c889ce36c840918e/cryptography-45.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:90cb0a7bb35959f37e23303b7eed0a32280510030daba3f7fdfbb65defde6a97", size = 3390016, upload-time = "2025-07-02T13:05:50.811Z" }, + { url = "https://files.pythonhosted.org/packages/f0/fb/09e28bc0c46d2c547085e60897fea96310574c70fb21cd58a730a45f3403/cryptography-45.0.5-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:101ee65078f6dd3e5a028d4f19c07ffa4dd22cce6a20eaa160f8b5219911e7d8", size = 7043092 }, + { url = "https://files.pythonhosted.org/packages/b1/05/2194432935e29b91fb649f6149c1a4f9e6d3d9fc880919f4ad1bcc22641e/cryptography-45.0.5-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3a264aae5f7fbb089dbc01e0242d3b67dffe3e6292e1f5182122bdf58e65215d", size = 4205926 }, + { url = "https://files.pythonhosted.org/packages/07/8b/9ef5da82350175e32de245646b1884fc01124f53eb31164c77f95a08d682/cryptography-45.0.5-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e74d30ec9c7cb2f404af331d5b4099a9b322a8a6b25c4632755c8757345baac5", size = 4429235 }, + { url = "https://files.pythonhosted.org/packages/7c/e1/c809f398adde1994ee53438912192d92a1d0fc0f2d7582659d9ef4c28b0c/cryptography-45.0.5-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3af26738f2db354aafe492fb3869e955b12b2ef2e16908c8b9cb928128d42c57", size = 4209785 }, + { url = "https://files.pythonhosted.org/packages/d0/8b/07eb6bd5acff58406c5e806eff34a124936f41a4fb52909ffa4d00815f8c/cryptography-45.0.5-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e6c00130ed423201c5bc5544c23359141660b07999ad82e34e7bb8f882bb78e0", size = 3893050 }, + { url = "https://files.pythonhosted.org/packages/ec/ef/3333295ed58d900a13c92806b67e62f27876845a9a908c939f040887cca9/cryptography-45.0.5-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:dd420e577921c8c2d31289536c386aaa30140b473835e97f83bc71ea9d2baf2d", size = 4457379 }, + { url = "https://files.pythonhosted.org/packages/d9/9d/44080674dee514dbb82b21d6fa5d1055368f208304e2ab1828d85c9de8f4/cryptography-45.0.5-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:d05a38884db2ba215218745f0781775806bde4f32e07b135348355fe8e4991d9", size = 4209355 }, + { url = "https://files.pythonhosted.org/packages/c9/d8/0749f7d39f53f8258e5c18a93131919ac465ee1f9dccaf1b3f420235e0b5/cryptography-45.0.5-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:ad0caded895a00261a5b4aa9af828baede54638754b51955a0ac75576b831b27", size = 4456087 }, + { url = "https://files.pythonhosted.org/packages/09/d7/92acac187387bf08902b0bf0699816f08553927bdd6ba3654da0010289b4/cryptography-45.0.5-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9024beb59aca9d31d36fcdc1604dd9bbeed0a55bface9f1908df19178e2f116e", size = 4332873 }, + { url = "https://files.pythonhosted.org/packages/03/c2/840e0710da5106a7c3d4153c7215b2736151bba60bf4491bdb421df5056d/cryptography-45.0.5-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:91098f02ca81579c85f66df8a588c78f331ca19089763d733e34ad359f474174", size = 4564651 }, + { url = "https://files.pythonhosted.org/packages/2e/92/cc723dd6d71e9747a887b94eb3827825c6c24b9e6ce2bb33b847d31d5eaa/cryptography-45.0.5-cp311-abi3-win32.whl", hash = "sha256:926c3ea71a6043921050eaa639137e13dbe7b4ab25800932a8498364fc1abec9", size = 2929050 }, + { url = "https://files.pythonhosted.org/packages/1f/10/197da38a5911a48dd5389c043de4aec4b3c94cb836299b01253940788d78/cryptography-45.0.5-cp311-abi3-win_amd64.whl", hash = "sha256:b85980d1e345fe769cfc57c57db2b59cff5464ee0c045d52c0df087e926fbe63", size = 3403224 }, + { url = "https://files.pythonhosted.org/packages/fe/2b/160ce8c2765e7a481ce57d55eba1546148583e7b6f85514472b1d151711d/cryptography-45.0.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:f3562c2f23c612f2e4a6964a61d942f891d29ee320edb62ff48ffb99f3de9ae8", size = 7017143 }, + { url = "https://files.pythonhosted.org/packages/c2/e7/2187be2f871c0221a81f55ee3105d3cf3e273c0a0853651d7011eada0d7e/cryptography-45.0.5-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3fcfbefc4a7f332dece7272a88e410f611e79458fab97b5efe14e54fe476f4fd", size = 4197780 }, + { url = "https://files.pythonhosted.org/packages/b9/cf/84210c447c06104e6be9122661159ad4ce7a8190011669afceeaea150524/cryptography-45.0.5-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:460f8c39ba66af7db0545a8c6f2eabcbc5a5528fc1cf6c3fa9a1e44cec33385e", size = 4420091 }, + { url = "https://files.pythonhosted.org/packages/3e/6a/cb8b5c8bb82fafffa23aeff8d3a39822593cee6e2f16c5ca5c2ecca344f7/cryptography-45.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:9b4cf6318915dccfe218e69bbec417fdd7c7185aa7aab139a2c0beb7468c89f0", size = 4198711 }, + { url = "https://files.pythonhosted.org/packages/04/f7/36d2d69df69c94cbb2473871926daf0f01ad8e00fe3986ac3c1e8c4ca4b3/cryptography-45.0.5-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2089cc8f70a6e454601525e5bf2779e665d7865af002a5dec8d14e561002e135", size = 3883299 }, + { url = "https://files.pythonhosted.org/packages/82/c7/f0ea40f016de72f81288e9fe8d1f6748036cb5ba6118774317a3ffc6022d/cryptography-45.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:0027d566d65a38497bc37e0dd7c2f8ceda73597d2ac9ba93810204f56f52ebc7", size = 4450558 }, + { url = "https://files.pythonhosted.org/packages/06/ae/94b504dc1a3cdf642d710407c62e86296f7da9e66f27ab12a1ee6fdf005b/cryptography-45.0.5-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:be97d3a19c16a9be00edf79dca949c8fa7eff621763666a145f9f9535a5d7f42", size = 4198020 }, + { url = "https://files.pythonhosted.org/packages/05/2b/aaf0adb845d5dabb43480f18f7ca72e94f92c280aa983ddbd0bcd6ecd037/cryptography-45.0.5-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:7760c1c2e1a7084153a0f68fab76e754083b126a47d0117c9ed15e69e2103492", size = 4449759 }, + { url = "https://files.pythonhosted.org/packages/91/e4/f17e02066de63e0100a3a01b56f8f1016973a1d67551beaf585157a86b3f/cryptography-45.0.5-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6ff8728d8d890b3dda5765276d1bc6fb099252915a2cd3aff960c4c195745dd0", size = 4319991 }, + { url = "https://files.pythonhosted.org/packages/f2/2e/e2dbd629481b499b14516eed933f3276eb3239f7cee2dcfa4ee6b44d4711/cryptography-45.0.5-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7259038202a47fdecee7e62e0fd0b0738b6daa335354396c6ddebdbe1206af2a", size = 4554189 }, + { url = "https://files.pythonhosted.org/packages/f8/ea/a78a0c38f4c8736287b71c2ea3799d173d5ce778c7d6e3c163a95a05ad2a/cryptography-45.0.5-cp37-abi3-win32.whl", hash = "sha256:1e1da5accc0c750056c556a93c3e9cb828970206c68867712ca5805e46dc806f", size = 2911769 }, + { url = "https://files.pythonhosted.org/packages/79/b3/28ac139109d9005ad3f6b6f8976ffede6706a6478e21c889ce36c840918e/cryptography-45.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:90cb0a7bb35959f37e23303b7eed0a32280510030daba3f7fdfbb65defde6a97", size = 3390016 }, ] [[package]] @@ -161,9 +169,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "wrapt" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d", size = 2928744, upload-time = "2025-01-27T10:46:25.7Z" } +sdist = { url = "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d", size = 2928744 } wheels = [ - { url = "https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec", size = 9998, upload-time = "2025-01-27T10:46:09.186Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec", size = 9998 }, ] [[package]] @@ -173,6 +181,7 @@ source = { virtual = "." } dependencies = [ { name = "marko" }, { name = "pygithub" }, + { name = "pytest" }, { name = "python-graphql-client" }, { name = "requests" }, ] @@ -181,6 +190,7 @@ dependencies = [ requires-dist = [ { name = "marko", specifier = "==2.1.4" }, { name = "pygithub", specifier = "==2.6.1" }, + { name = "pytest", specifier = ">=9.0.2" }, { name = "python-graphql-client", specifier = "==0.4.3" }, { name = "requests", specifier = "==2.32.4" }, ] @@ -189,156 +199,183 @@ requires-dist = [ name = "frozenlist" version = "1.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz", hash = "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", size = 45078, upload-time = "2025-06-09T23:02:35.538Z" } +sdist = { url = "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz", hash = "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", size = 45078 } wheels = [ - { url = "https://files.pythonhosted.org/packages/24/90/6b2cebdabdbd50367273c20ff6b57a3dfa89bd0762de02c3a1eb42cb6462/frozenlist-1.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee80eeda5e2a4e660651370ebffd1286542b67e268aa1ac8d6dbe973120ef7ee", size = 79791, upload-time = "2025-06-09T23:01:09.368Z" }, - { url = "https://files.pythonhosted.org/packages/83/2e/5b70b6a3325363293fe5fc3ae74cdcbc3e996c2a11dde2fd9f1fb0776d19/frozenlist-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d1a81c85417b914139e3a9b995d4a1c84559afc839a93cf2cb7f15e6e5f6ed2d", size = 47165, upload-time = "2025-06-09T23:01:10.653Z" }, - { url = "https://files.pythonhosted.org/packages/f4/25/a0895c99270ca6966110f4ad98e87e5662eab416a17e7fd53c364bf8b954/frozenlist-1.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cbb65198a9132ebc334f237d7b0df163e4de83fb4f2bdfe46c1e654bdb0c5d43", size = 45881, upload-time = "2025-06-09T23:01:12.296Z" }, - { url = "https://files.pythonhosted.org/packages/19/7c/71bb0bbe0832793c601fff68cd0cf6143753d0c667f9aec93d3c323f4b55/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dab46c723eeb2c255a64f9dc05b8dd601fde66d6b19cdb82b2e09cc6ff8d8b5d", size = 232409, upload-time = "2025-06-09T23:01:13.641Z" }, - { url = "https://files.pythonhosted.org/packages/c0/45/ed2798718910fe6eb3ba574082aaceff4528e6323f9a8570be0f7028d8e9/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6aeac207a759d0dedd2e40745575ae32ab30926ff4fa49b1635def65806fddee", size = 225132, upload-time = "2025-06-09T23:01:15.264Z" }, - { url = "https://files.pythonhosted.org/packages/ba/e2/8417ae0f8eacb1d071d4950f32f229aa6bf68ab69aab797b72a07ea68d4f/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd8c4e58ad14b4fa7802b8be49d47993182fdd4023393899632c88fd8cd994eb", size = 237638, upload-time = "2025-06-09T23:01:16.752Z" }, - { url = "https://files.pythonhosted.org/packages/f8/b7/2ace5450ce85f2af05a871b8c8719b341294775a0a6c5585d5e6170f2ce7/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04fb24d104f425da3540ed83cbfc31388a586a7696142004c577fa61c6298c3f", size = 233539, upload-time = "2025-06-09T23:01:18.202Z" }, - { url = "https://files.pythonhosted.org/packages/46/b9/6989292c5539553dba63f3c83dc4598186ab2888f67c0dc1d917e6887db6/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a5c505156368e4ea6b53b5ac23c92d7edc864537ff911d2fb24c140bb175e60", size = 215646, upload-time = "2025-06-09T23:01:19.649Z" }, - { url = "https://files.pythonhosted.org/packages/72/31/bc8c5c99c7818293458fe745dab4fd5730ff49697ccc82b554eb69f16a24/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bd7eb96a675f18aa5c553eb7ddc24a43c8c18f22e1f9925528128c052cdbe00", size = 232233, upload-time = "2025-06-09T23:01:21.175Z" }, - { url = "https://files.pythonhosted.org/packages/59/52/460db4d7ba0811b9ccb85af996019f5d70831f2f5f255f7cc61f86199795/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:05579bf020096fe05a764f1f84cd104a12f78eaab68842d036772dc6d4870b4b", size = 227996, upload-time = "2025-06-09T23:01:23.098Z" }, - { url = "https://files.pythonhosted.org/packages/ba/c9/f4b39e904c03927b7ecf891804fd3b4df3db29b9e487c6418e37988d6e9d/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:376b6222d114e97eeec13d46c486facd41d4f43bab626b7c3f6a8b4e81a5192c", size = 242280, upload-time = "2025-06-09T23:01:24.808Z" }, - { url = "https://files.pythonhosted.org/packages/b8/33/3f8d6ced42f162d743e3517781566b8481322be321b486d9d262adf70bfb/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa7e176ebe115379b5b1c95b4096fb1c17cce0847402e227e712c27bdb5a949", size = 217717, upload-time = "2025-06-09T23:01:26.28Z" }, - { url = "https://files.pythonhosted.org/packages/3e/e8/ad683e75da6ccef50d0ab0c2b2324b32f84fc88ceee778ed79b8e2d2fe2e/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3fbba20e662b9c2130dc771e332a99eff5da078b2b2648153a40669a6d0e36ca", size = 236644, upload-time = "2025-06-09T23:01:27.887Z" }, - { url = "https://files.pythonhosted.org/packages/b2/14/8d19ccdd3799310722195a72ac94ddc677541fb4bef4091d8e7775752360/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f3f4410a0a601d349dd406b5713fec59b4cee7e71678d5b17edda7f4655a940b", size = 238879, upload-time = "2025-06-09T23:01:29.524Z" }, - { url = "https://files.pythonhosted.org/packages/ce/13/c12bf657494c2fd1079a48b2db49fa4196325909249a52d8f09bc9123fd7/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cdfaaec6a2f9327bf43c933c0319a7c429058e8537c508964a133dffee412e", size = 232502, upload-time = "2025-06-09T23:01:31.287Z" }, - { url = "https://files.pythonhosted.org/packages/d7/8b/e7f9dfde869825489382bc0d512c15e96d3964180c9499efcec72e85db7e/frozenlist-1.7.0-cp313-cp313-win32.whl", hash = "sha256:5fc4df05a6591c7768459caba1b342d9ec23fa16195e744939ba5914596ae3e1", size = 39169, upload-time = "2025-06-09T23:01:35.503Z" }, - { url = "https://files.pythonhosted.org/packages/35/89/a487a98d94205d85745080a37860ff5744b9820a2c9acbcdd9440bfddf98/frozenlist-1.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:52109052b9791a3e6b5d1b65f4b909703984b770694d3eb64fad124c835d7cba", size = 43219, upload-time = "2025-06-09T23:01:36.784Z" }, - { url = "https://files.pythonhosted.org/packages/56/d5/5c4cf2319a49eddd9dd7145e66c4866bdc6f3dbc67ca3d59685149c11e0d/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a6f86e4193bb0e235ef6ce3dde5cbabed887e0b11f516ce8a0f4d3b33078ec2d", size = 84345, upload-time = "2025-06-09T23:01:38.295Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7d/ec2c1e1dc16b85bc9d526009961953df9cec8481b6886debb36ec9107799/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:82d664628865abeb32d90ae497fb93df398a69bb3434463d172b80fc25b0dd7d", size = 48880, upload-time = "2025-06-09T23:01:39.887Z" }, - { url = "https://files.pythonhosted.org/packages/69/86/f9596807b03de126e11e7d42ac91e3d0b19a6599c714a1989a4e85eeefc4/frozenlist-1.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:912a7e8375a1c9a68325a902f3953191b7b292aa3c3fb0d71a216221deca460b", size = 48498, upload-time = "2025-06-09T23:01:41.318Z" }, - { url = "https://files.pythonhosted.org/packages/5e/cb/df6de220f5036001005f2d726b789b2c0b65f2363b104bbc16f5be8084f8/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9537c2777167488d539bc5de2ad262efc44388230e5118868e172dd4a552b146", size = 292296, upload-time = "2025-06-09T23:01:42.685Z" }, - { url = "https://files.pythonhosted.org/packages/83/1f/de84c642f17c8f851a2905cee2dae401e5e0daca9b5ef121e120e19aa825/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f34560fb1b4c3e30ba35fa9a13894ba39e5acfc5f60f57d8accde65f46cc5e74", size = 273103, upload-time = "2025-06-09T23:01:44.166Z" }, - { url = "https://files.pythonhosted.org/packages/88/3c/c840bfa474ba3fa13c772b93070893c6e9d5c0350885760376cbe3b6c1b3/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acd03d224b0175f5a850edc104ac19040d35419eddad04e7cf2d5986d98427f1", size = 292869, upload-time = "2025-06-09T23:01:45.681Z" }, - { url = "https://files.pythonhosted.org/packages/a6/1c/3efa6e7d5a39a1d5ef0abeb51c48fb657765794a46cf124e5aca2c7a592c/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2038310bc582f3d6a09b3816ab01737d60bf7b1ec70f5356b09e84fb7408ab1", size = 291467, upload-time = "2025-06-09T23:01:47.234Z" }, - { url = "https://files.pythonhosted.org/packages/4f/00/d5c5e09d4922c395e2f2f6b79b9a20dab4b67daaf78ab92e7729341f61f6/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8c05e4c8e5f36e5e088caa1bf78a687528f83c043706640a92cb76cd6999384", size = 266028, upload-time = "2025-06-09T23:01:48.819Z" }, - { url = "https://files.pythonhosted.org/packages/4e/27/72765be905619dfde25a7f33813ac0341eb6b076abede17a2e3fbfade0cb/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:765bb588c86e47d0b68f23c1bee323d4b703218037765dcf3f25c838c6fecceb", size = 284294, upload-time = "2025-06-09T23:01:50.394Z" }, - { url = "https://files.pythonhosted.org/packages/88/67/c94103a23001b17808eb7dd1200c156bb69fb68e63fcf0693dde4cd6228c/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:32dc2e08c67d86d0969714dd484fd60ff08ff81d1a1e40a77dd34a387e6ebc0c", size = 281898, upload-time = "2025-06-09T23:01:52.234Z" }, - { url = "https://files.pythonhosted.org/packages/42/34/a3e2c00c00f9e2a9db5653bca3fec306349e71aff14ae45ecc6d0951dd24/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:c0303e597eb5a5321b4de9c68e9845ac8f290d2ab3f3e2c864437d3c5a30cd65", size = 290465, upload-time = "2025-06-09T23:01:53.788Z" }, - { url = "https://files.pythonhosted.org/packages/bb/73/f89b7fbce8b0b0c095d82b008afd0590f71ccb3dee6eee41791cf8cd25fd/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:a47f2abb4e29b3a8d0b530f7c3598badc6b134562b1a5caee867f7c62fee51e3", size = 266385, upload-time = "2025-06-09T23:01:55.769Z" }, - { url = "https://files.pythonhosted.org/packages/cd/45/e365fdb554159462ca12df54bc59bfa7a9a273ecc21e99e72e597564d1ae/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:3d688126c242a6fabbd92e02633414d40f50bb6002fa4cf995a1d18051525657", size = 288771, upload-time = "2025-06-09T23:01:57.4Z" }, - { url = "https://files.pythonhosted.org/packages/00/11/47b6117002a0e904f004d70ec5194fe9144f117c33c851e3d51c765962d0/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:4e7e9652b3d367c7bd449a727dc79d5043f48b88d0cbfd4f9f1060cf2b414104", size = 288206, upload-time = "2025-06-09T23:01:58.936Z" }, - { url = "https://files.pythonhosted.org/packages/40/37/5f9f3c3fd7f7746082ec67bcdc204db72dad081f4f83a503d33220a92973/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1a85e345b4c43db8b842cab1feb41be5cc0b10a1830e6295b69d7310f99becaf", size = 282620, upload-time = "2025-06-09T23:02:00.493Z" }, - { url = "https://files.pythonhosted.org/packages/0b/31/8fbc5af2d183bff20f21aa743b4088eac4445d2bb1cdece449ae80e4e2d1/frozenlist-1.7.0-cp313-cp313t-win32.whl", hash = "sha256:3a14027124ddb70dfcee5148979998066897e79f89f64b13328595c4bdf77c81", size = 43059, upload-time = "2025-06-09T23:02:02.072Z" }, - { url = "https://files.pythonhosted.org/packages/bb/ed/41956f52105b8dbc26e457c5705340c67c8cc2b79f394b79bffc09d0e938/frozenlist-1.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3bf8010d71d4507775f658e9823210b7427be36625b387221642725b515dcf3e", size = 47516, upload-time = "2025-06-09T23:02:03.779Z" }, - { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106, upload-time = "2025-06-09T23:02:34.204Z" }, + { url = "https://files.pythonhosted.org/packages/24/90/6b2cebdabdbd50367273c20ff6b57a3dfa89bd0762de02c3a1eb42cb6462/frozenlist-1.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee80eeda5e2a4e660651370ebffd1286542b67e268aa1ac8d6dbe973120ef7ee", size = 79791 }, + { url = "https://files.pythonhosted.org/packages/83/2e/5b70b6a3325363293fe5fc3ae74cdcbc3e996c2a11dde2fd9f1fb0776d19/frozenlist-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d1a81c85417b914139e3a9b995d4a1c84559afc839a93cf2cb7f15e6e5f6ed2d", size = 47165 }, + { url = "https://files.pythonhosted.org/packages/f4/25/a0895c99270ca6966110f4ad98e87e5662eab416a17e7fd53c364bf8b954/frozenlist-1.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cbb65198a9132ebc334f237d7b0df163e4de83fb4f2bdfe46c1e654bdb0c5d43", size = 45881 }, + { url = "https://files.pythonhosted.org/packages/19/7c/71bb0bbe0832793c601fff68cd0cf6143753d0c667f9aec93d3c323f4b55/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dab46c723eeb2c255a64f9dc05b8dd601fde66d6b19cdb82b2e09cc6ff8d8b5d", size = 232409 }, + { url = "https://files.pythonhosted.org/packages/c0/45/ed2798718910fe6eb3ba574082aaceff4528e6323f9a8570be0f7028d8e9/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6aeac207a759d0dedd2e40745575ae32ab30926ff4fa49b1635def65806fddee", size = 225132 }, + { url = "https://files.pythonhosted.org/packages/ba/e2/8417ae0f8eacb1d071d4950f32f229aa6bf68ab69aab797b72a07ea68d4f/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd8c4e58ad14b4fa7802b8be49d47993182fdd4023393899632c88fd8cd994eb", size = 237638 }, + { url = "https://files.pythonhosted.org/packages/f8/b7/2ace5450ce85f2af05a871b8c8719b341294775a0a6c5585d5e6170f2ce7/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04fb24d104f425da3540ed83cbfc31388a586a7696142004c577fa61c6298c3f", size = 233539 }, + { url = "https://files.pythonhosted.org/packages/46/b9/6989292c5539553dba63f3c83dc4598186ab2888f67c0dc1d917e6887db6/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a5c505156368e4ea6b53b5ac23c92d7edc864537ff911d2fb24c140bb175e60", size = 215646 }, + { url = "https://files.pythonhosted.org/packages/72/31/bc8c5c99c7818293458fe745dab4fd5730ff49697ccc82b554eb69f16a24/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bd7eb96a675f18aa5c553eb7ddc24a43c8c18f22e1f9925528128c052cdbe00", size = 232233 }, + { url = "https://files.pythonhosted.org/packages/59/52/460db4d7ba0811b9ccb85af996019f5d70831f2f5f255f7cc61f86199795/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:05579bf020096fe05a764f1f84cd104a12f78eaab68842d036772dc6d4870b4b", size = 227996 }, + { url = "https://files.pythonhosted.org/packages/ba/c9/f4b39e904c03927b7ecf891804fd3b4df3db29b9e487c6418e37988d6e9d/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:376b6222d114e97eeec13d46c486facd41d4f43bab626b7c3f6a8b4e81a5192c", size = 242280 }, + { url = "https://files.pythonhosted.org/packages/b8/33/3f8d6ced42f162d743e3517781566b8481322be321b486d9d262adf70bfb/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa7e176ebe115379b5b1c95b4096fb1c17cce0847402e227e712c27bdb5a949", size = 217717 }, + { url = "https://files.pythonhosted.org/packages/3e/e8/ad683e75da6ccef50d0ab0c2b2324b32f84fc88ceee778ed79b8e2d2fe2e/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3fbba20e662b9c2130dc771e332a99eff5da078b2b2648153a40669a6d0e36ca", size = 236644 }, + { url = "https://files.pythonhosted.org/packages/b2/14/8d19ccdd3799310722195a72ac94ddc677541fb4bef4091d8e7775752360/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f3f4410a0a601d349dd406b5713fec59b4cee7e71678d5b17edda7f4655a940b", size = 238879 }, + { url = "https://files.pythonhosted.org/packages/ce/13/c12bf657494c2fd1079a48b2db49fa4196325909249a52d8f09bc9123fd7/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cdfaaec6a2f9327bf43c933c0319a7c429058e8537c508964a133dffee412e", size = 232502 }, + { url = "https://files.pythonhosted.org/packages/d7/8b/e7f9dfde869825489382bc0d512c15e96d3964180c9499efcec72e85db7e/frozenlist-1.7.0-cp313-cp313-win32.whl", hash = "sha256:5fc4df05a6591c7768459caba1b342d9ec23fa16195e744939ba5914596ae3e1", size = 39169 }, + { url = "https://files.pythonhosted.org/packages/35/89/a487a98d94205d85745080a37860ff5744b9820a2c9acbcdd9440bfddf98/frozenlist-1.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:52109052b9791a3e6b5d1b65f4b909703984b770694d3eb64fad124c835d7cba", size = 43219 }, + { url = "https://files.pythonhosted.org/packages/56/d5/5c4cf2319a49eddd9dd7145e66c4866bdc6f3dbc67ca3d59685149c11e0d/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a6f86e4193bb0e235ef6ce3dde5cbabed887e0b11f516ce8a0f4d3b33078ec2d", size = 84345 }, + { url = "https://files.pythonhosted.org/packages/a4/7d/ec2c1e1dc16b85bc9d526009961953df9cec8481b6886debb36ec9107799/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:82d664628865abeb32d90ae497fb93df398a69bb3434463d172b80fc25b0dd7d", size = 48880 }, + { url = "https://files.pythonhosted.org/packages/69/86/f9596807b03de126e11e7d42ac91e3d0b19a6599c714a1989a4e85eeefc4/frozenlist-1.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:912a7e8375a1c9a68325a902f3953191b7b292aa3c3fb0d71a216221deca460b", size = 48498 }, + { url = "https://files.pythonhosted.org/packages/5e/cb/df6de220f5036001005f2d726b789b2c0b65f2363b104bbc16f5be8084f8/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9537c2777167488d539bc5de2ad262efc44388230e5118868e172dd4a552b146", size = 292296 }, + { url = "https://files.pythonhosted.org/packages/83/1f/de84c642f17c8f851a2905cee2dae401e5e0daca9b5ef121e120e19aa825/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f34560fb1b4c3e30ba35fa9a13894ba39e5acfc5f60f57d8accde65f46cc5e74", size = 273103 }, + { url = "https://files.pythonhosted.org/packages/88/3c/c840bfa474ba3fa13c772b93070893c6e9d5c0350885760376cbe3b6c1b3/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acd03d224b0175f5a850edc104ac19040d35419eddad04e7cf2d5986d98427f1", size = 292869 }, + { url = "https://files.pythonhosted.org/packages/a6/1c/3efa6e7d5a39a1d5ef0abeb51c48fb657765794a46cf124e5aca2c7a592c/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2038310bc582f3d6a09b3816ab01737d60bf7b1ec70f5356b09e84fb7408ab1", size = 291467 }, + { url = "https://files.pythonhosted.org/packages/4f/00/d5c5e09d4922c395e2f2f6b79b9a20dab4b67daaf78ab92e7729341f61f6/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8c05e4c8e5f36e5e088caa1bf78a687528f83c043706640a92cb76cd6999384", size = 266028 }, + { url = "https://files.pythonhosted.org/packages/4e/27/72765be905619dfde25a7f33813ac0341eb6b076abede17a2e3fbfade0cb/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:765bb588c86e47d0b68f23c1bee323d4b703218037765dcf3f25c838c6fecceb", size = 284294 }, + { url = "https://files.pythonhosted.org/packages/88/67/c94103a23001b17808eb7dd1200c156bb69fb68e63fcf0693dde4cd6228c/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:32dc2e08c67d86d0969714dd484fd60ff08ff81d1a1e40a77dd34a387e6ebc0c", size = 281898 }, + { url = "https://files.pythonhosted.org/packages/42/34/a3e2c00c00f9e2a9db5653bca3fec306349e71aff14ae45ecc6d0951dd24/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:c0303e597eb5a5321b4de9c68e9845ac8f290d2ab3f3e2c864437d3c5a30cd65", size = 290465 }, + { url = "https://files.pythonhosted.org/packages/bb/73/f89b7fbce8b0b0c095d82b008afd0590f71ccb3dee6eee41791cf8cd25fd/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:a47f2abb4e29b3a8d0b530f7c3598badc6b134562b1a5caee867f7c62fee51e3", size = 266385 }, + { url = "https://files.pythonhosted.org/packages/cd/45/e365fdb554159462ca12df54bc59bfa7a9a273ecc21e99e72e597564d1ae/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:3d688126c242a6fabbd92e02633414d40f50bb6002fa4cf995a1d18051525657", size = 288771 }, + { url = "https://files.pythonhosted.org/packages/00/11/47b6117002a0e904f004d70ec5194fe9144f117c33c851e3d51c765962d0/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:4e7e9652b3d367c7bd449a727dc79d5043f48b88d0cbfd4f9f1060cf2b414104", size = 288206 }, + { url = "https://files.pythonhosted.org/packages/40/37/5f9f3c3fd7f7746082ec67bcdc204db72dad081f4f83a503d33220a92973/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1a85e345b4c43db8b842cab1feb41be5cc0b10a1830e6295b69d7310f99becaf", size = 282620 }, + { url = "https://files.pythonhosted.org/packages/0b/31/8fbc5af2d183bff20f21aa743b4088eac4445d2bb1cdece449ae80e4e2d1/frozenlist-1.7.0-cp313-cp313t-win32.whl", hash = "sha256:3a14027124ddb70dfcee5148979998066897e79f89f64b13328595c4bdf77c81", size = 43059 }, + { url = "https://files.pythonhosted.org/packages/bb/ed/41956f52105b8dbc26e457c5705340c67c8cc2b79f394b79bffc09d0e938/frozenlist-1.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3bf8010d71d4507775f658e9823210b7427be36625b387221642725b515dcf3e", size = 47516 }, + { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106 }, ] [[package]] name = "idna" version = "3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, +] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503 } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484 }, ] [[package]] name = "marko" version = "2.1.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/72/dc/c8cadbd83de1b38d95a48568b445a5553005ebdd32e00a333ca940113db4/marko-2.1.4.tar.gz", hash = "sha256:dd7d66f3706732bf8f994790e674649a4fd0a6c67f16b80246f30de8e16a1eac", size = 142795, upload-time = "2025-06-13T03:25:50.857Z" } +sdist = { url = "https://files.pythonhosted.org/packages/72/dc/c8cadbd83de1b38d95a48568b445a5553005ebdd32e00a333ca940113db4/marko-2.1.4.tar.gz", hash = "sha256:dd7d66f3706732bf8f994790e674649a4fd0a6c67f16b80246f30de8e16a1eac", size = 142795 } wheels = [ - { url = "https://files.pythonhosted.org/packages/c3/66/49e3691d14898fb6e34ccb337c7677dfb7e18269ed170f12e4b85315eae6/marko-2.1.4-py3-none-any.whl", hash = "sha256:81c2b9f570ca485bc356678d9ba1a1b3eb78b4a315d01f3ded25442fdc796990", size = 42186, upload-time = "2025-06-13T03:25:49.858Z" }, + { url = "https://files.pythonhosted.org/packages/c3/66/49e3691d14898fb6e34ccb337c7677dfb7e18269ed170f12e4b85315eae6/marko-2.1.4-py3-none-any.whl", hash = "sha256:81c2b9f570ca485bc356678d9ba1a1b3eb78b4a315d01f3ded25442fdc796990", size = 42186 }, ] [[package]] name = "multidict" version = "6.6.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3d/2c/5dad12e82fbdf7470f29bff2171484bf07cb3b16ada60a6589af8f376440/multidict-6.6.3.tar.gz", hash = "sha256:798a9eb12dab0a6c2e29c1de6f3468af5cb2da6053a20dfa3344907eed0937cc", size = 101006, upload-time = "2025-06-30T15:53:46.929Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3d/2c/5dad12e82fbdf7470f29bff2171484bf07cb3b16ada60a6589af8f376440/multidict-6.6.3.tar.gz", hash = "sha256:798a9eb12dab0a6c2e29c1de6f3468af5cb2da6053a20dfa3344907eed0937cc", size = 101006 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/1d/0bebcbbb4f000751fbd09957257903d6e002943fc668d841a4cf2fb7f872/multidict-6.6.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:540d3c06d48507357a7d57721e5094b4f7093399a0106c211f33540fdc374d55", size = 75843 }, + { url = "https://files.pythonhosted.org/packages/07/8f/cbe241b0434cfe257f65c2b1bcf9e8d5fb52bc708c5061fb29b0fed22bdf/multidict-6.6.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9c19cea2a690f04247d43f366d03e4eb110a0dc4cd1bbeee4d445435428ed35b", size = 45053 }, + { url = "https://files.pythonhosted.org/packages/32/d2/0b3b23f9dbad5b270b22a3ac3ea73ed0a50ef2d9a390447061178ed6bdb8/multidict-6.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7af039820cfd00effec86bda5d8debef711a3e86a1d3772e85bea0f243a4bd65", size = 43273 }, + { url = "https://files.pythonhosted.org/packages/fd/fe/6eb68927e823999e3683bc49678eb20374ba9615097d085298fd5b386564/multidict-6.6.3-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:500b84f51654fdc3944e936f2922114349bf8fdcac77c3092b03449f0e5bc2b3", size = 237124 }, + { url = "https://files.pythonhosted.org/packages/e7/ab/320d8507e7726c460cb77117848b3834ea0d59e769f36fdae495f7669929/multidict-6.6.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3fc723ab8a5c5ed6c50418e9bfcd8e6dceba6c271cee6728a10a4ed8561520c", size = 256892 }, + { url = "https://files.pythonhosted.org/packages/76/60/38ee422db515ac69834e60142a1a69111ac96026e76e8e9aa347fd2e4591/multidict-6.6.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:94c47ea3ade005b5976789baaed66d4de4480d0a0bf31cef6edaa41c1e7b56a6", size = 240547 }, + { url = "https://files.pythonhosted.org/packages/27/fb/905224fde2dff042b030c27ad95a7ae744325cf54b890b443d30a789b80e/multidict-6.6.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dbc7cf464cc6d67e83e136c9f55726da3a30176f020a36ead246eceed87f1cd8", size = 266223 }, + { url = "https://files.pythonhosted.org/packages/76/35/dc38ab361051beae08d1a53965e3e1a418752fc5be4d3fb983c5582d8784/multidict-6.6.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:900eb9f9da25ada070f8ee4a23f884e0ee66fe4e1a38c3af644256a508ad81ca", size = 267262 }, + { url = "https://files.pythonhosted.org/packages/1f/a3/0a485b7f36e422421b17e2bbb5a81c1af10eac1d4476f2ff92927c730479/multidict-6.6.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7c6df517cf177da5d47ab15407143a89cd1a23f8b335f3a28d57e8b0a3dbb884", size = 254345 }, + { url = "https://files.pythonhosted.org/packages/b4/59/bcdd52c1dab7c0e0d75ff19cac751fbd5f850d1fc39172ce809a74aa9ea4/multidict-6.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4ef421045f13879e21c994b36e728d8e7d126c91a64b9185810ab51d474f27e7", size = 252248 }, + { url = "https://files.pythonhosted.org/packages/bb/a4/2d96aaa6eae8067ce108d4acee6f45ced5728beda55c0f02ae1072c730d1/multidict-6.6.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:6c1e61bb4f80895c081790b6b09fa49e13566df8fbff817da3f85b3a8192e36b", size = 250115 }, + { url = "https://files.pythonhosted.org/packages/25/d2/ed9f847fa5c7d0677d4f02ea2c163d5e48573de3f57bacf5670e43a5ffaa/multidict-6.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e5e8523bb12d7623cd8300dbd91b9e439a46a028cd078ca695eb66ba31adee3c", size = 249649 }, + { url = "https://files.pythonhosted.org/packages/1f/af/9155850372563fc550803d3f25373308aa70f59b52cff25854086ecb4a79/multidict-6.6.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:ef58340cc896219e4e653dade08fea5c55c6df41bcc68122e3be3e9d873d9a7b", size = 261203 }, + { url = "https://files.pythonhosted.org/packages/36/2f/c6a728f699896252cf309769089568a33c6439626648843f78743660709d/multidict-6.6.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fc9dc435ec8699e7b602b94fe0cd4703e69273a01cbc34409af29e7820f777f1", size = 258051 }, + { url = "https://files.pythonhosted.org/packages/d0/60/689880776d6b18fa2b70f6cc74ff87dd6c6b9b47bd9cf74c16fecfaa6ad9/multidict-6.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9e864486ef4ab07db5e9cb997bad2b681514158d6954dd1958dfb163b83d53e6", size = 249601 }, + { url = "https://files.pythonhosted.org/packages/75/5e/325b11f2222a549019cf2ef879c1f81f94a0d40ace3ef55cf529915ba6cc/multidict-6.6.3-cp313-cp313-win32.whl", hash = "sha256:5633a82fba8e841bc5c5c06b16e21529573cd654f67fd833650a215520a6210e", size = 41683 }, + { url = "https://files.pythonhosted.org/packages/b1/ad/cf46e73f5d6e3c775cabd2a05976547f3f18b39bee06260369a42501f053/multidict-6.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:e93089c1570a4ad54c3714a12c2cef549dc9d58e97bcded193d928649cab78e9", size = 45811 }, + { url = "https://files.pythonhosted.org/packages/c5/c9/2e3fe950db28fb7c62e1a5f46e1e38759b072e2089209bc033c2798bb5ec/multidict-6.6.3-cp313-cp313-win_arm64.whl", hash = "sha256:c60b401f192e79caec61f166da9c924e9f8bc65548d4246842df91651e83d600", size = 43056 }, + { url = "https://files.pythonhosted.org/packages/3a/58/aaf8114cf34966e084a8cc9517771288adb53465188843d5a19862cb6dc3/multidict-6.6.3-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:02fd8f32d403a6ff13864b0851f1f523d4c988051eea0471d4f1fd8010f11134", size = 82811 }, + { url = "https://files.pythonhosted.org/packages/71/af/5402e7b58a1f5b987a07ad98f2501fdba2a4f4b4c30cf114e3ce8db64c87/multidict-6.6.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f3aa090106b1543f3f87b2041eef3c156c8da2aed90c63a2fbed62d875c49c37", size = 48304 }, + { url = "https://files.pythonhosted.org/packages/39/65/ab3c8cafe21adb45b24a50266fd747147dec7847425bc2a0f6934b3ae9ce/multidict-6.6.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e924fb978615a5e33ff644cc42e6aa241effcf4f3322c09d4f8cebde95aff5f8", size = 46775 }, + { url = "https://files.pythonhosted.org/packages/49/ba/9fcc1b332f67cc0c0c8079e263bfab6660f87fe4e28a35921771ff3eea0d/multidict-6.6.3-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:b9fe5a0e57c6dbd0e2ce81ca66272282c32cd11d31658ee9553849d91289e1c1", size = 229773 }, + { url = "https://files.pythonhosted.org/packages/a4/14/0145a251f555f7c754ce2dcbcd012939bbd1f34f066fa5d28a50e722a054/multidict-6.6.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b24576f208793ebae00280c59927c3b7c2a3b1655e443a25f753c4611bc1c373", size = 250083 }, + { url = "https://files.pythonhosted.org/packages/9e/d4/d5c0bd2bbb173b586c249a151a26d2fb3ec7d53c96e42091c9fef4e1f10c/multidict-6.6.3-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:135631cb6c58eac37d7ac0df380294fecdc026b28837fa07c02e459c7fb9c54e", size = 228980 }, + { url = "https://files.pythonhosted.org/packages/21/32/c9a2d8444a50ec48c4733ccc67254100c10e1c8ae8e40c7a2d2183b59b97/multidict-6.6.3-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:274d416b0df887aef98f19f21578653982cfb8a05b4e187d4a17103322eeaf8f", size = 257776 }, + { url = "https://files.pythonhosted.org/packages/68/d0/14fa1699f4ef629eae08ad6201c6b476098f5efb051b296f4c26be7a9fdf/multidict-6.6.3-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e252017a817fad7ce05cafbe5711ed40faeb580e63b16755a3a24e66fa1d87c0", size = 256882 }, + { url = "https://files.pythonhosted.org/packages/da/88/84a27570fbe303c65607d517a5f147cd2fc046c2d1da02b84b17b9bdc2aa/multidict-6.6.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e4cc8d848cd4fe1cdee28c13ea79ab0ed37fc2e89dd77bac86a2e7959a8c3bc", size = 247816 }, + { url = "https://files.pythonhosted.org/packages/1c/60/dca352a0c999ce96a5d8b8ee0b2b9f729dcad2e0b0c195f8286269a2074c/multidict-6.6.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9e236a7094b9c4c1b7585f6b9cca34b9d833cf079f7e4c49e6a4a6ec9bfdc68f", size = 245341 }, + { url = "https://files.pythonhosted.org/packages/50/ef/433fa3ed06028f03946f3993223dada70fb700f763f70c00079533c34578/multidict-6.6.3-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:e0cb0ab69915c55627c933f0b555a943d98ba71b4d1c57bc0d0a66e2567c7471", size = 235854 }, + { url = "https://files.pythonhosted.org/packages/1b/1f/487612ab56fbe35715320905215a57fede20de7db40a261759690dc80471/multidict-6.6.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:81ef2f64593aba09c5212a3d0f8c906a0d38d710a011f2f42759704d4557d3f2", size = 243432 }, + { url = "https://files.pythonhosted.org/packages/da/6f/ce8b79de16cd885c6f9052c96a3671373d00c59b3ee635ea93e6e81b8ccf/multidict-6.6.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:b9cbc60010de3562545fa198bfc6d3825df430ea96d2cc509c39bd71e2e7d648", size = 252731 }, + { url = "https://files.pythonhosted.org/packages/bb/fe/a2514a6aba78e5abefa1624ca85ae18f542d95ac5cde2e3815a9fbf369aa/multidict-6.6.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:70d974eaaa37211390cd02ef93b7e938de564bbffa866f0b08d07e5e65da783d", size = 247086 }, + { url = "https://files.pythonhosted.org/packages/8c/22/b788718d63bb3cce752d107a57c85fcd1a212c6c778628567c9713f9345a/multidict-6.6.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3713303e4a6663c6d01d648a68f2848701001f3390a030edaaf3fc949c90bf7c", size = 243338 }, + { url = "https://files.pythonhosted.org/packages/22/d6/fdb3d0670819f2228f3f7d9af613d5e652c15d170c83e5f1c94fbc55a25b/multidict-6.6.3-cp313-cp313t-win32.whl", hash = "sha256:639ecc9fe7cd73f2495f62c213e964843826f44505a3e5d82805aa85cac6f89e", size = 47812 }, + { url = "https://files.pythonhosted.org/packages/b6/d6/a9d2c808f2c489ad199723197419207ecbfbc1776f6e155e1ecea9c883aa/multidict-6.6.3-cp313-cp313t-win_amd64.whl", hash = "sha256:9f97e181f344a0ef3881b573d31de8542cc0dbc559ec68c8f8b5ce2c2e91646d", size = 53011 }, + { url = "https://files.pythonhosted.org/packages/f2/40/b68001cba8188dd267590a111f9661b6256debc327137667e832bf5d66e8/multidict-6.6.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ce8b7693da41a3c4fde5871c738a81490cea5496c671d74374c8ab889e1834fb", size = 45254 }, + { url = "https://files.pythonhosted.org/packages/d8/30/9aec301e9772b098c1f5c0ca0279237c9766d94b97802e9888010c64b0ed/multidict-6.6.3-py3-none-any.whl", hash = "sha256:8db10f29c7541fc5da4defd8cd697e1ca429db743fa716325f236079b96f775a", size = 12313 }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469 }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412 } wheels = [ - { url = "https://files.pythonhosted.org/packages/52/1d/0bebcbbb4f000751fbd09957257903d6e002943fc668d841a4cf2fb7f872/multidict-6.6.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:540d3c06d48507357a7d57721e5094b4f7093399a0106c211f33540fdc374d55", size = 75843, upload-time = "2025-06-30T15:52:16.155Z" }, - { url = "https://files.pythonhosted.org/packages/07/8f/cbe241b0434cfe257f65c2b1bcf9e8d5fb52bc708c5061fb29b0fed22bdf/multidict-6.6.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9c19cea2a690f04247d43f366d03e4eb110a0dc4cd1bbeee4d445435428ed35b", size = 45053, upload-time = "2025-06-30T15:52:17.429Z" }, - { url = "https://files.pythonhosted.org/packages/32/d2/0b3b23f9dbad5b270b22a3ac3ea73ed0a50ef2d9a390447061178ed6bdb8/multidict-6.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7af039820cfd00effec86bda5d8debef711a3e86a1d3772e85bea0f243a4bd65", size = 43273, upload-time = "2025-06-30T15:52:19.346Z" }, - { url = "https://files.pythonhosted.org/packages/fd/fe/6eb68927e823999e3683bc49678eb20374ba9615097d085298fd5b386564/multidict-6.6.3-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:500b84f51654fdc3944e936f2922114349bf8fdcac77c3092b03449f0e5bc2b3", size = 237124, upload-time = "2025-06-30T15:52:20.773Z" }, - { url = "https://files.pythonhosted.org/packages/e7/ab/320d8507e7726c460cb77117848b3834ea0d59e769f36fdae495f7669929/multidict-6.6.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3fc723ab8a5c5ed6c50418e9bfcd8e6dceba6c271cee6728a10a4ed8561520c", size = 256892, upload-time = "2025-06-30T15:52:22.242Z" }, - { url = "https://files.pythonhosted.org/packages/76/60/38ee422db515ac69834e60142a1a69111ac96026e76e8e9aa347fd2e4591/multidict-6.6.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:94c47ea3ade005b5976789baaed66d4de4480d0a0bf31cef6edaa41c1e7b56a6", size = 240547, upload-time = "2025-06-30T15:52:23.736Z" }, - { url = "https://files.pythonhosted.org/packages/27/fb/905224fde2dff042b030c27ad95a7ae744325cf54b890b443d30a789b80e/multidict-6.6.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dbc7cf464cc6d67e83e136c9f55726da3a30176f020a36ead246eceed87f1cd8", size = 266223, upload-time = "2025-06-30T15:52:25.185Z" }, - { url = "https://files.pythonhosted.org/packages/76/35/dc38ab361051beae08d1a53965e3e1a418752fc5be4d3fb983c5582d8784/multidict-6.6.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:900eb9f9da25ada070f8ee4a23f884e0ee66fe4e1a38c3af644256a508ad81ca", size = 267262, upload-time = "2025-06-30T15:52:26.969Z" }, - { url = "https://files.pythonhosted.org/packages/1f/a3/0a485b7f36e422421b17e2bbb5a81c1af10eac1d4476f2ff92927c730479/multidict-6.6.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7c6df517cf177da5d47ab15407143a89cd1a23f8b335f3a28d57e8b0a3dbb884", size = 254345, upload-time = "2025-06-30T15:52:28.467Z" }, - { url = "https://files.pythonhosted.org/packages/b4/59/bcdd52c1dab7c0e0d75ff19cac751fbd5f850d1fc39172ce809a74aa9ea4/multidict-6.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4ef421045f13879e21c994b36e728d8e7d126c91a64b9185810ab51d474f27e7", size = 252248, upload-time = "2025-06-30T15:52:29.938Z" }, - { url = "https://files.pythonhosted.org/packages/bb/a4/2d96aaa6eae8067ce108d4acee6f45ced5728beda55c0f02ae1072c730d1/multidict-6.6.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:6c1e61bb4f80895c081790b6b09fa49e13566df8fbff817da3f85b3a8192e36b", size = 250115, upload-time = "2025-06-30T15:52:31.416Z" }, - { url = "https://files.pythonhosted.org/packages/25/d2/ed9f847fa5c7d0677d4f02ea2c163d5e48573de3f57bacf5670e43a5ffaa/multidict-6.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e5e8523bb12d7623cd8300dbd91b9e439a46a028cd078ca695eb66ba31adee3c", size = 249649, upload-time = "2025-06-30T15:52:32.996Z" }, - { url = "https://files.pythonhosted.org/packages/1f/af/9155850372563fc550803d3f25373308aa70f59b52cff25854086ecb4a79/multidict-6.6.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:ef58340cc896219e4e653dade08fea5c55c6df41bcc68122e3be3e9d873d9a7b", size = 261203, upload-time = "2025-06-30T15:52:34.521Z" }, - { url = "https://files.pythonhosted.org/packages/36/2f/c6a728f699896252cf309769089568a33c6439626648843f78743660709d/multidict-6.6.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fc9dc435ec8699e7b602b94fe0cd4703e69273a01cbc34409af29e7820f777f1", size = 258051, upload-time = "2025-06-30T15:52:35.999Z" }, - { url = "https://files.pythonhosted.org/packages/d0/60/689880776d6b18fa2b70f6cc74ff87dd6c6b9b47bd9cf74c16fecfaa6ad9/multidict-6.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9e864486ef4ab07db5e9cb997bad2b681514158d6954dd1958dfb163b83d53e6", size = 249601, upload-time = "2025-06-30T15:52:37.473Z" }, - { url = "https://files.pythonhosted.org/packages/75/5e/325b11f2222a549019cf2ef879c1f81f94a0d40ace3ef55cf529915ba6cc/multidict-6.6.3-cp313-cp313-win32.whl", hash = "sha256:5633a82fba8e841bc5c5c06b16e21529573cd654f67fd833650a215520a6210e", size = 41683, upload-time = "2025-06-30T15:52:38.927Z" }, - { url = "https://files.pythonhosted.org/packages/b1/ad/cf46e73f5d6e3c775cabd2a05976547f3f18b39bee06260369a42501f053/multidict-6.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:e93089c1570a4ad54c3714a12c2cef549dc9d58e97bcded193d928649cab78e9", size = 45811, upload-time = "2025-06-30T15:52:40.207Z" }, - { url = "https://files.pythonhosted.org/packages/c5/c9/2e3fe950db28fb7c62e1a5f46e1e38759b072e2089209bc033c2798bb5ec/multidict-6.6.3-cp313-cp313-win_arm64.whl", hash = "sha256:c60b401f192e79caec61f166da9c924e9f8bc65548d4246842df91651e83d600", size = 43056, upload-time = "2025-06-30T15:52:41.575Z" }, - { url = "https://files.pythonhosted.org/packages/3a/58/aaf8114cf34966e084a8cc9517771288adb53465188843d5a19862cb6dc3/multidict-6.6.3-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:02fd8f32d403a6ff13864b0851f1f523d4c988051eea0471d4f1fd8010f11134", size = 82811, upload-time = "2025-06-30T15:52:43.281Z" }, - { url = "https://files.pythonhosted.org/packages/71/af/5402e7b58a1f5b987a07ad98f2501fdba2a4f4b4c30cf114e3ce8db64c87/multidict-6.6.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f3aa090106b1543f3f87b2041eef3c156c8da2aed90c63a2fbed62d875c49c37", size = 48304, upload-time = "2025-06-30T15:52:45.026Z" }, - { url = "https://files.pythonhosted.org/packages/39/65/ab3c8cafe21adb45b24a50266fd747147dec7847425bc2a0f6934b3ae9ce/multidict-6.6.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e924fb978615a5e33ff644cc42e6aa241effcf4f3322c09d4f8cebde95aff5f8", size = 46775, upload-time = "2025-06-30T15:52:46.459Z" }, - { url = "https://files.pythonhosted.org/packages/49/ba/9fcc1b332f67cc0c0c8079e263bfab6660f87fe4e28a35921771ff3eea0d/multidict-6.6.3-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:b9fe5a0e57c6dbd0e2ce81ca66272282c32cd11d31658ee9553849d91289e1c1", size = 229773, upload-time = "2025-06-30T15:52:47.88Z" }, - { url = "https://files.pythonhosted.org/packages/a4/14/0145a251f555f7c754ce2dcbcd012939bbd1f34f066fa5d28a50e722a054/multidict-6.6.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b24576f208793ebae00280c59927c3b7c2a3b1655e443a25f753c4611bc1c373", size = 250083, upload-time = "2025-06-30T15:52:49.366Z" }, - { url = "https://files.pythonhosted.org/packages/9e/d4/d5c0bd2bbb173b586c249a151a26d2fb3ec7d53c96e42091c9fef4e1f10c/multidict-6.6.3-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:135631cb6c58eac37d7ac0df380294fecdc026b28837fa07c02e459c7fb9c54e", size = 228980, upload-time = "2025-06-30T15:52:50.903Z" }, - { url = "https://files.pythonhosted.org/packages/21/32/c9a2d8444a50ec48c4733ccc67254100c10e1c8ae8e40c7a2d2183b59b97/multidict-6.6.3-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:274d416b0df887aef98f19f21578653982cfb8a05b4e187d4a17103322eeaf8f", size = 257776, upload-time = "2025-06-30T15:52:52.764Z" }, - { url = "https://files.pythonhosted.org/packages/68/d0/14fa1699f4ef629eae08ad6201c6b476098f5efb051b296f4c26be7a9fdf/multidict-6.6.3-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e252017a817fad7ce05cafbe5711ed40faeb580e63b16755a3a24e66fa1d87c0", size = 256882, upload-time = "2025-06-30T15:52:54.596Z" }, - { url = "https://files.pythonhosted.org/packages/da/88/84a27570fbe303c65607d517a5f147cd2fc046c2d1da02b84b17b9bdc2aa/multidict-6.6.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e4cc8d848cd4fe1cdee28c13ea79ab0ed37fc2e89dd77bac86a2e7959a8c3bc", size = 247816, upload-time = "2025-06-30T15:52:56.175Z" }, - { url = "https://files.pythonhosted.org/packages/1c/60/dca352a0c999ce96a5d8b8ee0b2b9f729dcad2e0b0c195f8286269a2074c/multidict-6.6.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9e236a7094b9c4c1b7585f6b9cca34b9d833cf079f7e4c49e6a4a6ec9bfdc68f", size = 245341, upload-time = "2025-06-30T15:52:57.752Z" }, - { url = "https://files.pythonhosted.org/packages/50/ef/433fa3ed06028f03946f3993223dada70fb700f763f70c00079533c34578/multidict-6.6.3-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:e0cb0ab69915c55627c933f0b555a943d98ba71b4d1c57bc0d0a66e2567c7471", size = 235854, upload-time = "2025-06-30T15:52:59.74Z" }, - { url = "https://files.pythonhosted.org/packages/1b/1f/487612ab56fbe35715320905215a57fede20de7db40a261759690dc80471/multidict-6.6.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:81ef2f64593aba09c5212a3d0f8c906a0d38d710a011f2f42759704d4557d3f2", size = 243432, upload-time = "2025-06-30T15:53:01.602Z" }, - { url = "https://files.pythonhosted.org/packages/da/6f/ce8b79de16cd885c6f9052c96a3671373d00c59b3ee635ea93e6e81b8ccf/multidict-6.6.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:b9cbc60010de3562545fa198bfc6d3825df430ea96d2cc509c39bd71e2e7d648", size = 252731, upload-time = "2025-06-30T15:53:03.517Z" }, - { url = "https://files.pythonhosted.org/packages/bb/fe/a2514a6aba78e5abefa1624ca85ae18f542d95ac5cde2e3815a9fbf369aa/multidict-6.6.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:70d974eaaa37211390cd02ef93b7e938de564bbffa866f0b08d07e5e65da783d", size = 247086, upload-time = "2025-06-30T15:53:05.48Z" }, - { url = "https://files.pythonhosted.org/packages/8c/22/b788718d63bb3cce752d107a57c85fcd1a212c6c778628567c9713f9345a/multidict-6.6.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3713303e4a6663c6d01d648a68f2848701001f3390a030edaaf3fc949c90bf7c", size = 243338, upload-time = "2025-06-30T15:53:07.522Z" }, - { url = "https://files.pythonhosted.org/packages/22/d6/fdb3d0670819f2228f3f7d9af613d5e652c15d170c83e5f1c94fbc55a25b/multidict-6.6.3-cp313-cp313t-win32.whl", hash = "sha256:639ecc9fe7cd73f2495f62c213e964843826f44505a3e5d82805aa85cac6f89e", size = 47812, upload-time = "2025-06-30T15:53:09.263Z" }, - { url = "https://files.pythonhosted.org/packages/b6/d6/a9d2c808f2c489ad199723197419207ecbfbc1776f6e155e1ecea9c883aa/multidict-6.6.3-cp313-cp313t-win_amd64.whl", hash = "sha256:9f97e181f344a0ef3881b573d31de8542cc0dbc559ec68c8f8b5ce2c2e91646d", size = 53011, upload-time = "2025-06-30T15:53:11.038Z" }, - { url = "https://files.pythonhosted.org/packages/f2/40/b68001cba8188dd267590a111f9661b6256debc327137667e832bf5d66e8/multidict-6.6.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ce8b7693da41a3c4fde5871c738a81490cea5496c671d74374c8ab889e1834fb", size = 45254, upload-time = "2025-06-30T15:53:12.421Z" }, - { url = "https://files.pythonhosted.org/packages/d8/30/9aec301e9772b098c1f5c0ca0279237c9766d94b97802e9888010c64b0ed/multidict-6.6.3-py3-none-any.whl", hash = "sha256:8db10f29c7541fc5da4defd8cd697e1ca429db743fa716325f236079b96f775a", size = 12313, upload-time = "2025-06-30T15:53:45.437Z" }, + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538 }, ] [[package]] name = "propcache" version = "0.3.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload-time = "2025-06-09T22:56:06.081Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139 } wheels = [ - { url = "https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", size = 71286, upload-time = "2025-06-09T22:54:54.369Z" }, - { url = "https://files.pythonhosted.org/packages/61/99/d606cb7986b60d89c36de8a85d58764323b3a5ff07770a99d8e993b3fa73/propcache-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", size = 42425, upload-time = "2025-06-09T22:54:55.642Z" }, - { url = "https://files.pythonhosted.org/packages/8c/96/ef98f91bbb42b79e9bb82bdd348b255eb9d65f14dbbe3b1594644c4073f7/propcache-0.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", size = 41846, upload-time = "2025-06-09T22:54:57.246Z" }, - { url = "https://files.pythonhosted.org/packages/5b/ad/3f0f9a705fb630d175146cd7b1d2bf5555c9beaed54e94132b21aac098a6/propcache-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", size = 208871, upload-time = "2025-06-09T22:54:58.975Z" }, - { url = "https://files.pythonhosted.org/packages/3a/38/2085cda93d2c8b6ec3e92af2c89489a36a5886b712a34ab25de9fbca7992/propcache-0.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", size = 215720, upload-time = "2025-06-09T22:55:00.471Z" }, - { url = "https://files.pythonhosted.org/packages/61/c1/d72ea2dc83ac7f2c8e182786ab0fc2c7bd123a1ff9b7975bee671866fe5f/propcache-0.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", size = 215203, upload-time = "2025-06-09T22:55:01.834Z" }, - { url = "https://files.pythonhosted.org/packages/af/81/b324c44ae60c56ef12007105f1460d5c304b0626ab0cc6b07c8f2a9aa0b8/propcache-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", size = 206365, upload-time = "2025-06-09T22:55:03.199Z" }, - { url = "https://files.pythonhosted.org/packages/09/73/88549128bb89e66d2aff242488f62869014ae092db63ccea53c1cc75a81d/propcache-0.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", size = 196016, upload-time = "2025-06-09T22:55:04.518Z" }, - { url = "https://files.pythonhosted.org/packages/b9/3f/3bdd14e737d145114a5eb83cb172903afba7242f67c5877f9909a20d948d/propcache-0.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", size = 205596, upload-time = "2025-06-09T22:55:05.942Z" }, - { url = "https://files.pythonhosted.org/packages/0f/ca/2f4aa819c357d3107c3763d7ef42c03980f9ed5c48c82e01e25945d437c1/propcache-0.3.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", size = 200977, upload-time = "2025-06-09T22:55:07.792Z" }, - { url = "https://files.pythonhosted.org/packages/cd/4a/e65276c7477533c59085251ae88505caf6831c0e85ff8b2e31ebcbb949b1/propcache-0.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", size = 197220, upload-time = "2025-06-09T22:55:09.173Z" }, - { url = "https://files.pythonhosted.org/packages/7c/54/fc7152e517cf5578278b242396ce4d4b36795423988ef39bb8cd5bf274c8/propcache-0.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", size = 210642, upload-time = "2025-06-09T22:55:10.62Z" }, - { url = "https://files.pythonhosted.org/packages/b9/80/abeb4a896d2767bf5f1ea7b92eb7be6a5330645bd7fb844049c0e4045d9d/propcache-0.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206", size = 212789, upload-time = "2025-06-09T22:55:12.029Z" }, - { url = "https://files.pythonhosted.org/packages/b3/db/ea12a49aa7b2b6d68a5da8293dcf50068d48d088100ac016ad92a6a780e6/propcache-0.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", size = 205880, upload-time = "2025-06-09T22:55:13.45Z" }, - { url = "https://files.pythonhosted.org/packages/d1/e5/9076a0bbbfb65d1198007059c65639dfd56266cf8e477a9707e4b1999ff4/propcache-0.3.2-cp313-cp313-win32.whl", hash = "sha256:8a08154613f2249519e549de2330cf8e2071c2887309a7b07fb56098f5170a02", size = 37220, upload-time = "2025-06-09T22:55:15.284Z" }, - { url = "https://files.pythonhosted.org/packages/d3/f5/b369e026b09a26cd77aa88d8fffd69141d2ae00a2abaaf5380d2603f4b7f/propcache-0.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e41671f1594fc4ab0a6dec1351864713cb3a279910ae8b58f884a88a0a632c05", size = 40678, upload-time = "2025-06-09T22:55:16.445Z" }, - { url = "https://files.pythonhosted.org/packages/a4/3a/6ece377b55544941a08d03581c7bc400a3c8cd3c2865900a68d5de79e21f/propcache-0.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", size = 76560, upload-time = "2025-06-09T22:55:17.598Z" }, - { url = "https://files.pythonhosted.org/packages/0c/da/64a2bb16418740fa634b0e9c3d29edff1db07f56d3546ca2d86ddf0305e1/propcache-0.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", size = 44676, upload-time = "2025-06-09T22:55:18.922Z" }, - { url = "https://files.pythonhosted.org/packages/36/7b/f025e06ea51cb72c52fb87e9b395cced02786610b60a3ed51da8af017170/propcache-0.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", size = 44701, upload-time = "2025-06-09T22:55:20.106Z" }, - { url = "https://files.pythonhosted.org/packages/a4/00/faa1b1b7c3b74fc277f8642f32a4c72ba1d7b2de36d7cdfb676db7f4303e/propcache-0.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", size = 276934, upload-time = "2025-06-09T22:55:21.5Z" }, - { url = "https://files.pythonhosted.org/packages/74/ab/935beb6f1756e0476a4d5938ff44bf0d13a055fed880caf93859b4f1baf4/propcache-0.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", size = 278316, upload-time = "2025-06-09T22:55:22.918Z" }, - { url = "https://files.pythonhosted.org/packages/f8/9d/994a5c1ce4389610838d1caec74bdf0e98b306c70314d46dbe4fcf21a3e2/propcache-0.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", size = 282619, upload-time = "2025-06-09T22:55:24.651Z" }, - { url = "https://files.pythonhosted.org/packages/2b/00/a10afce3d1ed0287cef2e09506d3be9822513f2c1e96457ee369adb9a6cd/propcache-0.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", size = 265896, upload-time = "2025-06-09T22:55:26.049Z" }, - { url = "https://files.pythonhosted.org/packages/2e/a8/2aa6716ffa566ca57c749edb909ad27884680887d68517e4be41b02299f3/propcache-0.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", size = 252111, upload-time = "2025-06-09T22:55:27.381Z" }, - { url = "https://files.pythonhosted.org/packages/36/4f/345ca9183b85ac29c8694b0941f7484bf419c7f0fea2d1e386b4f7893eed/propcache-0.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", size = 268334, upload-time = "2025-06-09T22:55:28.747Z" }, - { url = "https://files.pythonhosted.org/packages/3e/ca/fcd54f78b59e3f97b3b9715501e3147f5340167733d27db423aa321e7148/propcache-0.3.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", size = 255026, upload-time = "2025-06-09T22:55:30.184Z" }, - { url = "https://files.pythonhosted.org/packages/8b/95/8e6a6bbbd78ac89c30c225210a5c687790e532ba4088afb8c0445b77ef37/propcache-0.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", size = 250724, upload-time = "2025-06-09T22:55:31.646Z" }, - { url = "https://files.pythonhosted.org/packages/ee/b0/0dd03616142baba28e8b2d14ce5df6631b4673850a3d4f9c0f9dd714a404/propcache-0.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", size = 268868, upload-time = "2025-06-09T22:55:33.209Z" }, - { url = "https://files.pythonhosted.org/packages/c5/98/2c12407a7e4fbacd94ddd32f3b1e3d5231e77c30ef7162b12a60e2dd5ce3/propcache-0.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", size = 271322, upload-time = "2025-06-09T22:55:35.065Z" }, - { url = "https://files.pythonhosted.org/packages/35/91/9cb56efbb428b006bb85db28591e40b7736847b8331d43fe335acf95f6c8/propcache-0.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", size = 265778, upload-time = "2025-06-09T22:55:36.45Z" }, - { url = "https://files.pythonhosted.org/packages/9a/4c/b0fe775a2bdd01e176b14b574be679d84fc83958335790f7c9a686c1f468/propcache-0.3.2-cp313-cp313t-win32.whl", hash = "sha256:f86e5d7cd03afb3a1db8e9f9f6eff15794e79e791350ac48a8c924e6f439f394", size = 41175, upload-time = "2025-06-09T22:55:38.436Z" }, - { url = "https://files.pythonhosted.org/packages/a4/ff/47f08595e3d9b5e149c150f88d9714574f1a7cbd89fe2817158a952674bf/propcache-0.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9704bedf6e7cbe3c65eca4379a9b53ee6a83749f047808cbb5044d40d7d72198", size = 44857, upload-time = "2025-06-09T22:55:39.687Z" }, - { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload-time = "2025-06-09T22:56:04.484Z" }, + { url = "https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", size = 71286 }, + { url = "https://files.pythonhosted.org/packages/61/99/d606cb7986b60d89c36de8a85d58764323b3a5ff07770a99d8e993b3fa73/propcache-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", size = 42425 }, + { url = "https://files.pythonhosted.org/packages/8c/96/ef98f91bbb42b79e9bb82bdd348b255eb9d65f14dbbe3b1594644c4073f7/propcache-0.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", size = 41846 }, + { url = "https://files.pythonhosted.org/packages/5b/ad/3f0f9a705fb630d175146cd7b1d2bf5555c9beaed54e94132b21aac098a6/propcache-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", size = 208871 }, + { url = "https://files.pythonhosted.org/packages/3a/38/2085cda93d2c8b6ec3e92af2c89489a36a5886b712a34ab25de9fbca7992/propcache-0.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", size = 215720 }, + { url = "https://files.pythonhosted.org/packages/61/c1/d72ea2dc83ac7f2c8e182786ab0fc2c7bd123a1ff9b7975bee671866fe5f/propcache-0.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", size = 215203 }, + { url = "https://files.pythonhosted.org/packages/af/81/b324c44ae60c56ef12007105f1460d5c304b0626ab0cc6b07c8f2a9aa0b8/propcache-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", size = 206365 }, + { url = "https://files.pythonhosted.org/packages/09/73/88549128bb89e66d2aff242488f62869014ae092db63ccea53c1cc75a81d/propcache-0.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", size = 196016 }, + { url = "https://files.pythonhosted.org/packages/b9/3f/3bdd14e737d145114a5eb83cb172903afba7242f67c5877f9909a20d948d/propcache-0.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", size = 205596 }, + { url = "https://files.pythonhosted.org/packages/0f/ca/2f4aa819c357d3107c3763d7ef42c03980f9ed5c48c82e01e25945d437c1/propcache-0.3.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", size = 200977 }, + { url = "https://files.pythonhosted.org/packages/cd/4a/e65276c7477533c59085251ae88505caf6831c0e85ff8b2e31ebcbb949b1/propcache-0.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", size = 197220 }, + { url = "https://files.pythonhosted.org/packages/7c/54/fc7152e517cf5578278b242396ce4d4b36795423988ef39bb8cd5bf274c8/propcache-0.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", size = 210642 }, + { url = "https://files.pythonhosted.org/packages/b9/80/abeb4a896d2767bf5f1ea7b92eb7be6a5330645bd7fb844049c0e4045d9d/propcache-0.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206", size = 212789 }, + { url = "https://files.pythonhosted.org/packages/b3/db/ea12a49aa7b2b6d68a5da8293dcf50068d48d088100ac016ad92a6a780e6/propcache-0.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", size = 205880 }, + { url = "https://files.pythonhosted.org/packages/d1/e5/9076a0bbbfb65d1198007059c65639dfd56266cf8e477a9707e4b1999ff4/propcache-0.3.2-cp313-cp313-win32.whl", hash = "sha256:8a08154613f2249519e549de2330cf8e2071c2887309a7b07fb56098f5170a02", size = 37220 }, + { url = "https://files.pythonhosted.org/packages/d3/f5/b369e026b09a26cd77aa88d8fffd69141d2ae00a2abaaf5380d2603f4b7f/propcache-0.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e41671f1594fc4ab0a6dec1351864713cb3a279910ae8b58f884a88a0a632c05", size = 40678 }, + { url = "https://files.pythonhosted.org/packages/a4/3a/6ece377b55544941a08d03581c7bc400a3c8cd3c2865900a68d5de79e21f/propcache-0.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", size = 76560 }, + { url = "https://files.pythonhosted.org/packages/0c/da/64a2bb16418740fa634b0e9c3d29edff1db07f56d3546ca2d86ddf0305e1/propcache-0.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", size = 44676 }, + { url = "https://files.pythonhosted.org/packages/36/7b/f025e06ea51cb72c52fb87e9b395cced02786610b60a3ed51da8af017170/propcache-0.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", size = 44701 }, + { url = "https://files.pythonhosted.org/packages/a4/00/faa1b1b7c3b74fc277f8642f32a4c72ba1d7b2de36d7cdfb676db7f4303e/propcache-0.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", size = 276934 }, + { url = "https://files.pythonhosted.org/packages/74/ab/935beb6f1756e0476a4d5938ff44bf0d13a055fed880caf93859b4f1baf4/propcache-0.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", size = 278316 }, + { url = "https://files.pythonhosted.org/packages/f8/9d/994a5c1ce4389610838d1caec74bdf0e98b306c70314d46dbe4fcf21a3e2/propcache-0.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", size = 282619 }, + { url = "https://files.pythonhosted.org/packages/2b/00/a10afce3d1ed0287cef2e09506d3be9822513f2c1e96457ee369adb9a6cd/propcache-0.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", size = 265896 }, + { url = "https://files.pythonhosted.org/packages/2e/a8/2aa6716ffa566ca57c749edb909ad27884680887d68517e4be41b02299f3/propcache-0.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", size = 252111 }, + { url = "https://files.pythonhosted.org/packages/36/4f/345ca9183b85ac29c8694b0941f7484bf419c7f0fea2d1e386b4f7893eed/propcache-0.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", size = 268334 }, + { url = "https://files.pythonhosted.org/packages/3e/ca/fcd54f78b59e3f97b3b9715501e3147f5340167733d27db423aa321e7148/propcache-0.3.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", size = 255026 }, + { url = "https://files.pythonhosted.org/packages/8b/95/8e6a6bbbd78ac89c30c225210a5c687790e532ba4088afb8c0445b77ef37/propcache-0.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", size = 250724 }, + { url = "https://files.pythonhosted.org/packages/ee/b0/0dd03616142baba28e8b2d14ce5df6631b4673850a3d4f9c0f9dd714a404/propcache-0.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", size = 268868 }, + { url = "https://files.pythonhosted.org/packages/c5/98/2c12407a7e4fbacd94ddd32f3b1e3d5231e77c30ef7162b12a60e2dd5ce3/propcache-0.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", size = 271322 }, + { url = "https://files.pythonhosted.org/packages/35/91/9cb56efbb428b006bb85db28591e40b7736847b8331d43fe335acf95f6c8/propcache-0.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", size = 265778 }, + { url = "https://files.pythonhosted.org/packages/9a/4c/b0fe775a2bdd01e176b14b574be679d84fc83958335790f7c9a686c1f468/propcache-0.3.2-cp313-cp313t-win32.whl", hash = "sha256:f86e5d7cd03afb3a1db8e9f9f6eff15794e79e791350ac48a8c924e6f439f394", size = 41175 }, + { url = "https://files.pythonhosted.org/packages/a4/ff/47f08595e3d9b5e149c150f88d9714574f1a7cbd89fe2817158a952674bf/propcache-0.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9704bedf6e7cbe3c65eca4379a9b53ee6a83749f047808cbb5044d40d7d72198", size = 44857 }, + { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663 }, ] [[package]] name = "pycparser" version = "2.22" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736 } wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, ] [[package]] @@ -353,18 +390,27 @@ dependencies = [ { name = "typing-extensions" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c0/88/e08ab18dc74b2916f48703ed1a797d57cb64eca0e23b0a9254e13cfe3911/pygithub-2.6.1.tar.gz", hash = "sha256:b5c035392991cca63959e9453286b41b54d83bf2de2daa7d7ff7e4312cebf3bf", size = 3659473, upload-time = "2025-02-21T13:45:58.262Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c0/88/e08ab18dc74b2916f48703ed1a797d57cb64eca0e23b0a9254e13cfe3911/pygithub-2.6.1.tar.gz", hash = "sha256:b5c035392991cca63959e9453286b41b54d83bf2de2daa7d7ff7e4312cebf3bf", size = 3659473 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ac/fc/a444cd19ccc8c4946a512f3827ed0b3565c88488719d800d54a75d541c0b/PyGithub-2.6.1-py3-none-any.whl", hash = "sha256:6f2fa6d076ccae475f9fc392cc6cdbd54db985d4f69b8833a28397de75ed6ca3", size = 410451 }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631 } wheels = [ - { url = "https://files.pythonhosted.org/packages/ac/fc/a444cd19ccc8c4946a512f3827ed0b3565c88488719d800d54a75d541c0b/PyGithub-2.6.1-py3-none-any.whl", hash = "sha256:6f2fa6d076ccae475f9fc392cc6cdbd54db985d4f69b8833a28397de75ed6ca3", size = 410451, upload-time = "2025-02-21T13:45:55.519Z" }, + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217 }, ] [[package]] name = "pyjwt" version = "2.10.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785, upload-time = "2024-11-28T03:43:29.933Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785 } wheels = [ - { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997, upload-time = "2024-11-28T03:43:27.893Z" }, + { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997 }, ] [package.optional-dependencies] @@ -379,17 +425,33 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", size = 3392854, upload-time = "2022-01-07T22:05:41.134Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", size = 3392854 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/75/0b8ede18506041c0bf23ac4d8e2971b4161cd6ce630b177d0a08eb0d8857/PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", size = 349920 }, + { url = "https://files.pythonhosted.org/packages/59/bb/fddf10acd09637327a97ef89d2a9d621328850a72f1fdc8c08bdf72e385f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", size = 601722 }, + { url = "https://files.pythonhosted.org/packages/5d/70/87a065c37cca41a75f2ce113a5a2c2aa7533be648b184ade58971b5f7ccc/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", size = 680087 }, + { url = "https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", size = 856678 }, + { url = "https://files.pythonhosted.org/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", size = 1133660 }, + { url = "https://files.pythonhosted.org/packages/3d/85/c262db650e86812585e2bc59e497a8f59948a005325a11bbbc9ecd3fe26b/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", size = 663824 }, + { url = "https://files.pythonhosted.org/packages/fd/1a/cc308a884bd299b651f1633acb978e8596c71c33ca85e9dc9fa33a5399b9/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", size = 1117912 }, + { url = "https://files.pythonhosted.org/packages/25/2d/b7df6ddb0c2a33afdb358f8af6ea3b8c4d1196ca45497dd37a56f0c122be/PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543", size = 204624 }, + { url = "https://files.pythonhosted.org/packages/5e/22/d3db169895faaf3e2eda892f005f433a62db2decbcfbc2f61e6517adfa87/PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93", size = 212141 }, +] + +[[package]] +name = "pytest" +version = "9.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901 } wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/75/0b8ede18506041c0bf23ac4d8e2971b4161cd6ce630b177d0a08eb0d8857/PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", size = 349920, upload-time = "2022-01-07T22:05:49.156Z" }, - { url = "https://files.pythonhosted.org/packages/59/bb/fddf10acd09637327a97ef89d2a9d621328850a72f1fdc8c08bdf72e385f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", size = 601722, upload-time = "2022-01-07T22:05:50.989Z" }, - { url = "https://files.pythonhosted.org/packages/5d/70/87a065c37cca41a75f2ce113a5a2c2aa7533be648b184ade58971b5f7ccc/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", size = 680087, upload-time = "2022-01-07T22:05:52.539Z" }, - { url = "https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", size = 856678, upload-time = "2022-01-07T22:05:54.251Z" }, - { url = "https://files.pythonhosted.org/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", size = 1133660, upload-time = "2022-01-07T22:05:56.056Z" }, - { url = "https://files.pythonhosted.org/packages/3d/85/c262db650e86812585e2bc59e497a8f59948a005325a11bbbc9ecd3fe26b/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", size = 663824, upload-time = "2022-01-07T22:05:57.434Z" }, - { url = "https://files.pythonhosted.org/packages/fd/1a/cc308a884bd299b651f1633acb978e8596c71c33ca85e9dc9fa33a5399b9/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", size = 1117912, upload-time = "2022-01-07T22:05:58.665Z" }, - { url = "https://files.pythonhosted.org/packages/25/2d/b7df6ddb0c2a33afdb358f8af6ea3b8c4d1196ca45497dd37a56f0c122be/PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543", size = 204624, upload-time = "2022-01-07T22:06:00.085Z" }, - { url = "https://files.pythonhosted.org/packages/5e/22/d3db169895faaf3e2eda892f005f433a62db2decbcfbc2f61e6517adfa87/PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93", size = 212141, upload-time = "2022-01-07T22:06:01.861Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801 }, ] [[package]] @@ -401,9 +463,9 @@ dependencies = [ { name = "requests" }, { name = "websockets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/04/bf/6ebd129e957c3fd8ea1c36ae03cbd68e2342ec2bea7010d5379bd363da06/python_graphql_client-0.4.3.tar.gz", hash = "sha256:fdbd03115dde8776db02e60414b83b018d7d95e5752d6d5fabf21c99265f5b9d", size = 4140, upload-time = "2021-03-04T21:32:04.25Z" } +sdist = { url = "https://files.pythonhosted.org/packages/04/bf/6ebd129e957c3fd8ea1c36ae03cbd68e2342ec2bea7010d5379bd363da06/python_graphql_client-0.4.3.tar.gz", hash = "sha256:fdbd03115dde8776db02e60414b83b018d7d95e5752d6d5fabf21c99265f5b9d", size = 4140 } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/23/20e60e8ce635aaef99962e3d1d0f0b3e0e9632e1bd0aeb6b6cb8436a1fa3/python_graphql_client-0.4.3-py3-none-any.whl", hash = "sha256:c5eb996702acf46110b352f61819c46065ea4f4f106158535cd471e66490b25e", size = 4945, upload-time = "2021-03-04T21:32:03.077Z" }, + { url = "https://files.pythonhosted.org/packages/94/23/20e60e8ce635aaef99962e3d1d0f0b3e0e9632e1bd0aeb6b6cb8436a1fa3/python_graphql_client-0.4.3-py3-none-any.whl", hash = "sha256:c5eb996702acf46110b352f61819c46065ea4f4f106158535cd471e66490b25e", size = 4945 }, ] [[package]] @@ -416,78 +478,78 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258 } wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" }, + { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847 }, ] [[package]] name = "typing-extensions" version = "4.14.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36", size = 107673, upload-time = "2025-07-04T13:28:34.16Z" } +sdist = { url = "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36", size = 107673 } wheels = [ - { url = "https://files.pythonhosted.org/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size = 43906, upload-time = "2025-07-04T13:28:32.743Z" }, + { url = "https://files.pythonhosted.org/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size = 43906 }, ] [[package]] name = "urllib3" version = "2.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185 } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795 }, ] [[package]] name = "websockets" version = "15.0.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" } +sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016 } wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/9f/51f0cf64471a9d2b4d0fc6c534f323b664e7095640c34562f5182e5a7195/websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", size = 175440, upload-time = "2025-03-05T20:02:36.695Z" }, - { url = "https://files.pythonhosted.org/packages/8a/05/aa116ec9943c718905997412c5989f7ed671bc0188ee2ba89520e8765d7b/websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", size = 173098, upload-time = "2025-03-05T20:02:37.985Z" }, - { url = "https://files.pythonhosted.org/packages/ff/0b/33cef55ff24f2d92924923c99926dcce78e7bd922d649467f0eda8368923/websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", size = 173329, upload-time = "2025-03-05T20:02:39.298Z" }, - { url = "https://files.pythonhosted.org/packages/31/1d/063b25dcc01faa8fada1469bdf769de3768b7044eac9d41f734fd7b6ad6d/websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", size = 183111, upload-time = "2025-03-05T20:02:40.595Z" }, - { url = "https://files.pythonhosted.org/packages/93/53/9a87ee494a51bf63e4ec9241c1ccc4f7c2f45fff85d5bde2ff74fcb68b9e/websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", size = 182054, upload-time = "2025-03-05T20:02:41.926Z" }, - { url = "https://files.pythonhosted.org/packages/ff/b2/83a6ddf56cdcbad4e3d841fcc55d6ba7d19aeb89c50f24dd7e859ec0805f/websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", size = 182496, upload-time = "2025-03-05T20:02:43.304Z" }, - { url = "https://files.pythonhosted.org/packages/98/41/e7038944ed0abf34c45aa4635ba28136f06052e08fc2168520bb8b25149f/websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", size = 182829, upload-time = "2025-03-05T20:02:48.812Z" }, - { url = "https://files.pythonhosted.org/packages/e0/17/de15b6158680c7623c6ef0db361da965ab25d813ae54fcfeae2e5b9ef910/websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", size = 182217, upload-time = "2025-03-05T20:02:50.14Z" }, - { url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195, upload-time = "2025-03-05T20:02:51.561Z" }, - { url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393, upload-time = "2025-03-05T20:02:53.814Z" }, - { url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837, upload-time = "2025-03-05T20:02:55.237Z" }, - { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" }, + { url = "https://files.pythonhosted.org/packages/cb/9f/51f0cf64471a9d2b4d0fc6c534f323b664e7095640c34562f5182e5a7195/websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", size = 175440 }, + { url = "https://files.pythonhosted.org/packages/8a/05/aa116ec9943c718905997412c5989f7ed671bc0188ee2ba89520e8765d7b/websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", size = 173098 }, + { url = "https://files.pythonhosted.org/packages/ff/0b/33cef55ff24f2d92924923c99926dcce78e7bd922d649467f0eda8368923/websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", size = 173329 }, + { url = "https://files.pythonhosted.org/packages/31/1d/063b25dcc01faa8fada1469bdf769de3768b7044eac9d41f734fd7b6ad6d/websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", size = 183111 }, + { url = "https://files.pythonhosted.org/packages/93/53/9a87ee494a51bf63e4ec9241c1ccc4f7c2f45fff85d5bde2ff74fcb68b9e/websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", size = 182054 }, + { url = "https://files.pythonhosted.org/packages/ff/b2/83a6ddf56cdcbad4e3d841fcc55d6ba7d19aeb89c50f24dd7e859ec0805f/websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", size = 182496 }, + { url = "https://files.pythonhosted.org/packages/98/41/e7038944ed0abf34c45aa4635ba28136f06052e08fc2168520bb8b25149f/websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", size = 182829 }, + { url = "https://files.pythonhosted.org/packages/e0/17/de15b6158680c7623c6ef0db361da965ab25d813ae54fcfeae2e5b9ef910/websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", size = 182217 }, + { url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195 }, + { url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393 }, + { url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837 }, + { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743 }, ] [[package]] name = "wrapt" version = "1.17.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531, upload-time = "2025-01-14T10:35:45.465Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531 } wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800, upload-time = "2025-01-14T10:34:21.571Z" }, - { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824, upload-time = "2025-01-14T10:34:22.999Z" }, - { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920, upload-time = "2025-01-14T10:34:25.386Z" }, - { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690, upload-time = "2025-01-14T10:34:28.058Z" }, - { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861, upload-time = "2025-01-14T10:34:29.167Z" }, - { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174, upload-time = "2025-01-14T10:34:31.702Z" }, - { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721, upload-time = "2025-01-14T10:34:32.91Z" }, - { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763, upload-time = "2025-01-14T10:34:34.903Z" }, - { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585, upload-time = "2025-01-14T10:34:36.13Z" }, - { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676, upload-time = "2025-01-14T10:34:37.962Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871, upload-time = "2025-01-14T10:34:39.13Z" }, - { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312, upload-time = "2025-01-14T10:34:40.604Z" }, - { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062, upload-time = "2025-01-14T10:34:45.011Z" }, - { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155, upload-time = "2025-01-14T10:34:47.25Z" }, - { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471, upload-time = "2025-01-14T10:34:50.934Z" }, - { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208, upload-time = "2025-01-14T10:34:52.297Z" }, - { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339, upload-time = "2025-01-14T10:34:53.489Z" }, - { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232, upload-time = "2025-01-14T10:34:55.327Z" }, - { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476, upload-time = "2025-01-14T10:34:58.055Z" }, - { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377, upload-time = "2025-01-14T10:34:59.3Z" }, - { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986, upload-time = "2025-01-14T10:35:00.498Z" }, - { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750, upload-time = "2025-01-14T10:35:03.378Z" }, - { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594, upload-time = "2025-01-14T10:35:44.018Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800 }, + { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824 }, + { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920 }, + { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690 }, + { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861 }, + { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174 }, + { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721 }, + { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763 }, + { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585 }, + { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676 }, + { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871 }, + { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312 }, + { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062 }, + { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155 }, + { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471 }, + { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208 }, + { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339 }, + { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232 }, + { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476 }, + { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377 }, + { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986 }, + { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750 }, + { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594 }, ] [[package]] @@ -499,41 +561,41 @@ dependencies = [ { name = "multidict" }, { name = "propcache" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload-time = "2025-06-10T00:46:09.923Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428 } wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", size = 131811, upload-time = "2025-06-10T00:44:18.933Z" }, - { url = "https://files.pythonhosted.org/packages/b2/27/584394e1cb76fb771371770eccad35de400e7b434ce3142c2dd27392c968/yarl-1.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", size = 90078, upload-time = "2025-06-10T00:44:20.635Z" }, - { url = "https://files.pythonhosted.org/packages/bf/9a/3246ae92d4049099f52d9b0fe3486e3b500e29b7ea872d0f152966fc209d/yarl-1.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", size = 88748, upload-time = "2025-06-10T00:44:22.34Z" }, - { url = "https://files.pythonhosted.org/packages/a3/25/35afe384e31115a1a801fbcf84012d7a066d89035befae7c5d4284df1e03/yarl-1.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", size = 349595, upload-time = "2025-06-10T00:44:24.314Z" }, - { url = "https://files.pythonhosted.org/packages/28/2d/8aca6cb2cabc8f12efcb82749b9cefecbccfc7b0384e56cd71058ccee433/yarl-1.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", size = 342616, upload-time = "2025-06-10T00:44:26.167Z" }, - { url = "https://files.pythonhosted.org/packages/0b/e9/1312633d16b31acf0098d30440ca855e3492d66623dafb8e25b03d00c3da/yarl-1.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", size = 361324, upload-time = "2025-06-10T00:44:27.915Z" }, - { url = "https://files.pythonhosted.org/packages/bc/a0/688cc99463f12f7669eec7c8acc71ef56a1521b99eab7cd3abb75af887b0/yarl-1.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", size = 359676, upload-time = "2025-06-10T00:44:30.041Z" }, - { url = "https://files.pythonhosted.org/packages/af/44/46407d7f7a56e9a85a4c207724c9f2c545c060380718eea9088f222ba697/yarl-1.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", size = 352614, upload-time = "2025-06-10T00:44:32.171Z" }, - { url = "https://files.pythonhosted.org/packages/b1/91/31163295e82b8d5485d31d9cf7754d973d41915cadce070491778d9c9825/yarl-1.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", size = 336766, upload-time = "2025-06-10T00:44:34.494Z" }, - { url = "https://files.pythonhosted.org/packages/b4/8e/c41a5bc482121f51c083c4c2bcd16b9e01e1cf8729e380273a952513a21f/yarl-1.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", size = 364615, upload-time = "2025-06-10T00:44:36.856Z" }, - { url = "https://files.pythonhosted.org/packages/e3/5b/61a3b054238d33d70ea06ebba7e58597891b71c699e247df35cc984ab393/yarl-1.20.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", size = 360982, upload-time = "2025-06-10T00:44:39.141Z" }, - { url = "https://files.pythonhosted.org/packages/df/a3/6a72fb83f8d478cb201d14927bc8040af901811a88e0ff2da7842dd0ed19/yarl-1.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", size = 369792, upload-time = "2025-06-10T00:44:40.934Z" }, - { url = "https://files.pythonhosted.org/packages/7c/af/4cc3c36dfc7c077f8dedb561eb21f69e1e9f2456b91b593882b0b18c19dc/yarl-1.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", size = 382049, upload-time = "2025-06-10T00:44:42.854Z" }, - { url = "https://files.pythonhosted.org/packages/19/3a/e54e2c4752160115183a66dc9ee75a153f81f3ab2ba4bf79c3c53b33de34/yarl-1.20.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", size = 384774, upload-time = "2025-06-10T00:44:45.275Z" }, - { url = "https://files.pythonhosted.org/packages/9c/20/200ae86dabfca89060ec6447649f219b4cbd94531e425e50d57e5f5ac330/yarl-1.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", size = 374252, upload-time = "2025-06-10T00:44:47.31Z" }, - { url = "https://files.pythonhosted.org/packages/83/75/11ee332f2f516b3d094e89448da73d557687f7d137d5a0f48c40ff211487/yarl-1.20.1-cp313-cp313-win32.whl", hash = "sha256:468f6e40285de5a5b3c44981ca3a319a4b208ccc07d526b20b12aeedcfa654b7", size = 81198, upload-time = "2025-06-10T00:44:49.164Z" }, - { url = "https://files.pythonhosted.org/packages/ba/ba/39b1ecbf51620b40ab402b0fc817f0ff750f6d92712b44689c2c215be89d/yarl-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:495b4ef2fea40596bfc0affe3837411d6aa3371abcf31aac0ccc4bdd64d4ef5c", size = 86346, upload-time = "2025-06-10T00:44:51.182Z" }, - { url = "https://files.pythonhosted.org/packages/43/c7/669c52519dca4c95153c8ad96dd123c79f354a376346b198f438e56ffeb4/yarl-1.20.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", size = 138826, upload-time = "2025-06-10T00:44:52.883Z" }, - { url = "https://files.pythonhosted.org/packages/6a/42/fc0053719b44f6ad04a75d7f05e0e9674d45ef62f2d9ad2c1163e5c05827/yarl-1.20.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", size = 93217, upload-time = "2025-06-10T00:44:54.658Z" }, - { url = "https://files.pythonhosted.org/packages/4f/7f/fa59c4c27e2a076bba0d959386e26eba77eb52ea4a0aac48e3515c186b4c/yarl-1.20.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", size = 92700, upload-time = "2025-06-10T00:44:56.784Z" }, - { url = "https://files.pythonhosted.org/packages/2f/d4/062b2f48e7c93481e88eff97a6312dca15ea200e959f23e96d8ab898c5b8/yarl-1.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", size = 347644, upload-time = "2025-06-10T00:44:59.071Z" }, - { url = "https://files.pythonhosted.org/packages/89/47/78b7f40d13c8f62b499cc702fdf69e090455518ae544c00a3bf4afc9fc77/yarl-1.20.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", size = 323452, upload-time = "2025-06-10T00:45:01.605Z" }, - { url = "https://files.pythonhosted.org/packages/eb/2b/490d3b2dc66f52987d4ee0d3090a147ea67732ce6b4d61e362c1846d0d32/yarl-1.20.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", size = 346378, upload-time = "2025-06-10T00:45:03.946Z" }, - { url = "https://files.pythonhosted.org/packages/66/ad/775da9c8a94ce925d1537f939a4f17d782efef1f973039d821cbe4bcc211/yarl-1.20.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", size = 353261, upload-time = "2025-06-10T00:45:05.992Z" }, - { url = "https://files.pythonhosted.org/packages/4b/23/0ed0922b47a4f5c6eb9065d5ff1e459747226ddce5c6a4c111e728c9f701/yarl-1.20.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", size = 335987, upload-time = "2025-06-10T00:45:08.227Z" }, - { url = "https://files.pythonhosted.org/packages/3e/49/bc728a7fe7d0e9336e2b78f0958a2d6b288ba89f25a1762407a222bf53c3/yarl-1.20.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", size = 329361, upload-time = "2025-06-10T00:45:10.11Z" }, - { url = "https://files.pythonhosted.org/packages/93/8f/b811b9d1f617c83c907e7082a76e2b92b655400e61730cd61a1f67178393/yarl-1.20.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", size = 346460, upload-time = "2025-06-10T00:45:12.055Z" }, - { url = "https://files.pythonhosted.org/packages/70/fd/af94f04f275f95da2c3b8b5e1d49e3e79f1ed8b6ceb0f1664cbd902773ff/yarl-1.20.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", size = 334486, upload-time = "2025-06-10T00:45:13.995Z" }, - { url = "https://files.pythonhosted.org/packages/84/65/04c62e82704e7dd0a9b3f61dbaa8447f8507655fd16c51da0637b39b2910/yarl-1.20.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", size = 342219, upload-time = "2025-06-10T00:45:16.479Z" }, - { url = "https://files.pythonhosted.org/packages/91/95/459ca62eb958381b342d94ab9a4b6aec1ddec1f7057c487e926f03c06d30/yarl-1.20.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", size = 350693, upload-time = "2025-06-10T00:45:18.399Z" }, - { url = "https://files.pythonhosted.org/packages/a6/00/d393e82dd955ad20617abc546a8f1aee40534d599ff555ea053d0ec9bf03/yarl-1.20.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", size = 355803, upload-time = "2025-06-10T00:45:20.677Z" }, - { url = "https://files.pythonhosted.org/packages/9e/ed/c5fb04869b99b717985e244fd93029c7a8e8febdfcffa06093e32d7d44e7/yarl-1.20.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", size = 341709, upload-time = "2025-06-10T00:45:23.221Z" }, - { url = "https://files.pythonhosted.org/packages/24/fd/725b8e73ac2a50e78a4534ac43c6addf5c1c2d65380dd48a9169cc6739a9/yarl-1.20.1-cp313-cp313t-win32.whl", hash = "sha256:b121ff6a7cbd4abc28985b6028235491941b9fe8fe226e6fdc539c977ea1739d", size = 86591, upload-time = "2025-06-10T00:45:25.793Z" }, - { url = "https://files.pythonhosted.org/packages/94/c3/b2e9f38bc3e11191981d57ea08cab2166e74ea770024a646617c9cddd9f6/yarl-1.20.1-cp313-cp313t-win_amd64.whl", hash = "sha256:541d050a355bbbc27e55d906bc91cb6fe42f96c01413dd0f4ed5a5240513874f", size = 93003, upload-time = "2025-06-10T00:45:27.752Z" }, - { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload-time = "2025-06-10T00:46:07.521Z" }, + { url = "https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", size = 131811 }, + { url = "https://files.pythonhosted.org/packages/b2/27/584394e1cb76fb771371770eccad35de400e7b434ce3142c2dd27392c968/yarl-1.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", size = 90078 }, + { url = "https://files.pythonhosted.org/packages/bf/9a/3246ae92d4049099f52d9b0fe3486e3b500e29b7ea872d0f152966fc209d/yarl-1.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", size = 88748 }, + { url = "https://files.pythonhosted.org/packages/a3/25/35afe384e31115a1a801fbcf84012d7a066d89035befae7c5d4284df1e03/yarl-1.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", size = 349595 }, + { url = "https://files.pythonhosted.org/packages/28/2d/8aca6cb2cabc8f12efcb82749b9cefecbccfc7b0384e56cd71058ccee433/yarl-1.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", size = 342616 }, + { url = "https://files.pythonhosted.org/packages/0b/e9/1312633d16b31acf0098d30440ca855e3492d66623dafb8e25b03d00c3da/yarl-1.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", size = 361324 }, + { url = "https://files.pythonhosted.org/packages/bc/a0/688cc99463f12f7669eec7c8acc71ef56a1521b99eab7cd3abb75af887b0/yarl-1.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", size = 359676 }, + { url = "https://files.pythonhosted.org/packages/af/44/46407d7f7a56e9a85a4c207724c9f2c545c060380718eea9088f222ba697/yarl-1.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", size = 352614 }, + { url = "https://files.pythonhosted.org/packages/b1/91/31163295e82b8d5485d31d9cf7754d973d41915cadce070491778d9c9825/yarl-1.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", size = 336766 }, + { url = "https://files.pythonhosted.org/packages/b4/8e/c41a5bc482121f51c083c4c2bcd16b9e01e1cf8729e380273a952513a21f/yarl-1.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", size = 364615 }, + { url = "https://files.pythonhosted.org/packages/e3/5b/61a3b054238d33d70ea06ebba7e58597891b71c699e247df35cc984ab393/yarl-1.20.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", size = 360982 }, + { url = "https://files.pythonhosted.org/packages/df/a3/6a72fb83f8d478cb201d14927bc8040af901811a88e0ff2da7842dd0ed19/yarl-1.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", size = 369792 }, + { url = "https://files.pythonhosted.org/packages/7c/af/4cc3c36dfc7c077f8dedb561eb21f69e1e9f2456b91b593882b0b18c19dc/yarl-1.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", size = 382049 }, + { url = "https://files.pythonhosted.org/packages/19/3a/e54e2c4752160115183a66dc9ee75a153f81f3ab2ba4bf79c3c53b33de34/yarl-1.20.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", size = 384774 }, + { url = "https://files.pythonhosted.org/packages/9c/20/200ae86dabfca89060ec6447649f219b4cbd94531e425e50d57e5f5ac330/yarl-1.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", size = 374252 }, + { url = "https://files.pythonhosted.org/packages/83/75/11ee332f2f516b3d094e89448da73d557687f7d137d5a0f48c40ff211487/yarl-1.20.1-cp313-cp313-win32.whl", hash = "sha256:468f6e40285de5a5b3c44981ca3a319a4b208ccc07d526b20b12aeedcfa654b7", size = 81198 }, + { url = "https://files.pythonhosted.org/packages/ba/ba/39b1ecbf51620b40ab402b0fc817f0ff750f6d92712b44689c2c215be89d/yarl-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:495b4ef2fea40596bfc0affe3837411d6aa3371abcf31aac0ccc4bdd64d4ef5c", size = 86346 }, + { url = "https://files.pythonhosted.org/packages/43/c7/669c52519dca4c95153c8ad96dd123c79f354a376346b198f438e56ffeb4/yarl-1.20.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", size = 138826 }, + { url = "https://files.pythonhosted.org/packages/6a/42/fc0053719b44f6ad04a75d7f05e0e9674d45ef62f2d9ad2c1163e5c05827/yarl-1.20.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", size = 93217 }, + { url = "https://files.pythonhosted.org/packages/4f/7f/fa59c4c27e2a076bba0d959386e26eba77eb52ea4a0aac48e3515c186b4c/yarl-1.20.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", size = 92700 }, + { url = "https://files.pythonhosted.org/packages/2f/d4/062b2f48e7c93481e88eff97a6312dca15ea200e959f23e96d8ab898c5b8/yarl-1.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", size = 347644 }, + { url = "https://files.pythonhosted.org/packages/89/47/78b7f40d13c8f62b499cc702fdf69e090455518ae544c00a3bf4afc9fc77/yarl-1.20.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", size = 323452 }, + { url = "https://files.pythonhosted.org/packages/eb/2b/490d3b2dc66f52987d4ee0d3090a147ea67732ce6b4d61e362c1846d0d32/yarl-1.20.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", size = 346378 }, + { url = "https://files.pythonhosted.org/packages/66/ad/775da9c8a94ce925d1537f939a4f17d782efef1f973039d821cbe4bcc211/yarl-1.20.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", size = 353261 }, + { url = "https://files.pythonhosted.org/packages/4b/23/0ed0922b47a4f5c6eb9065d5ff1e459747226ddce5c6a4c111e728c9f701/yarl-1.20.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", size = 335987 }, + { url = "https://files.pythonhosted.org/packages/3e/49/bc728a7fe7d0e9336e2b78f0958a2d6b288ba89f25a1762407a222bf53c3/yarl-1.20.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", size = 329361 }, + { url = "https://files.pythonhosted.org/packages/93/8f/b811b9d1f617c83c907e7082a76e2b92b655400e61730cd61a1f67178393/yarl-1.20.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", size = 346460 }, + { url = "https://files.pythonhosted.org/packages/70/fd/af94f04f275f95da2c3b8b5e1d49e3e79f1ed8b6ceb0f1664cbd902773ff/yarl-1.20.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", size = 334486 }, + { url = "https://files.pythonhosted.org/packages/84/65/04c62e82704e7dd0a9b3f61dbaa8447f8507655fd16c51da0637b39b2910/yarl-1.20.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", size = 342219 }, + { url = "https://files.pythonhosted.org/packages/91/95/459ca62eb958381b342d94ab9a4b6aec1ddec1f7057c487e926f03c06d30/yarl-1.20.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", size = 350693 }, + { url = "https://files.pythonhosted.org/packages/a6/00/d393e82dd955ad20617abc546a8f1aee40534d599ff555ea053d0ec9bf03/yarl-1.20.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", size = 355803 }, + { url = "https://files.pythonhosted.org/packages/9e/ed/c5fb04869b99b717985e244fd93029c7a8e8febdfcffa06093e32d7d44e7/yarl-1.20.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", size = 341709 }, + { url = "https://files.pythonhosted.org/packages/24/fd/725b8e73ac2a50e78a4534ac43c6addf5c1c2d65380dd48a9169cc6739a9/yarl-1.20.1-cp313-cp313t-win32.whl", hash = "sha256:b121ff6a7cbd4abc28985b6028235491941b9fe8fe226e6fdc539c977ea1739d", size = 86591 }, + { url = "https://files.pythonhosted.org/packages/94/c3/b2e9f38bc3e11191981d57ea08cab2166e74ea770024a646617c9cddd9f6/yarl-1.20.1-cp313-cp313t-win_amd64.whl", hash = "sha256:541d050a355bbbc27e55d906bc91cb6fe42f96c01413dd0f4ed5a5240513874f", size = 93003 }, + { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542 }, ] From 9bbdb7abe31cc6f90238c895db80b718bd1d5758 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Fri, 2 Jan 2026 21:10:43 +0300 Subject: [PATCH 19/62] split test on exporter releases --- dev-tools/conftest.py | 10 +++++ dev-tools/tests/test_syntax_plugin.py | 60 +++++++++++---------------- dev-tools/uv.lock | 2 +- 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/dev-tools/conftest.py b/dev-tools/conftest.py index f58aa53..0c0363b 100644 --- a/dev-tools/conftest.py +++ b/dev-tools/conftest.py @@ -1,6 +1,8 @@ from pathlib import Path import pytest +import _release_extractor + def pytest_addoption(parser: pytest.Parser): parser.addoption( @@ -30,3 +32,11 @@ def pytest_addoption(parser: pytest.Parser): required=True, help="Path to java binary directory", ) + + +def pytest_generate_tests(metafunc: pytest.Metafunc): + if "exporter_release" in metafunc.fixturenames: + env_config_file = metafunc.config.getoption("--env-config") + exporter_releases = _release_extractor.extract_exporter_releases_from_file(env_config_file) + param_ids = [str(exporter_release) for exporter_release in exporter_releases] + metafunc.parametrize("exporter_release", exporter_releases, ids=param_ids) diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index 583ddbc..9d4b718 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -20,11 +20,6 @@ def test_case_config_file(request: pytest.FixtureRequest) -> Path: return request.config.getoption('--test-case-config') -@pytest.fixture -def env_config(request: pytest.FixtureRequest) -> Path: - return request.config.getoption('--env-config') - - @pytest.fixture def syntax_plugin_path(request: pytest.FixtureRequest) -> Path: return request.config.getoption('--plugin-path') @@ -35,10 +30,8 @@ def java_path(request: pytest.FixtureRequest) -> Path: return request.config.getoption('--java-path') -def test_syntax_plugin(env_config: Path, test_case_config_file: Path, syntax_plugin_path: Path, java_path: Path) -> None: +def test_syntax_plugin(exporter_release: _release_extractor.ExporterRelease, test_case_config_file: Path, syntax_plugin_path: Path, java_path: Path) -> None: log = logging.getLogger() - - exporter_releases = _release_extractor.extract_exporter_releases_from_file(env_config) downloader = _cached_downloader.CachedDownloader(log, _DOWNLOAD_CACHE_PATH) with _logging_tools.log_action(log, "Extract test case configuration"): @@ -46,36 +39,33 @@ def test_syntax_plugin(env_config: Path, test_case_config_file: Path, syntax_plu test_case_config_file ) - for exporter_release in exporter_releases: - with tempfile.TemporaryDirectory() as temp_dir: - temp_dir_path = Path(temp_dir) + with tempfile.TemporaryDirectory() as temp_dir: + temp_dir_path = Path(temp_dir) - with _logging_tools.log_action(log, "Test pattern-syntax-plugin work in specified environment"): - log.debug( - "Context:\n" - f"- Exporter: {exporter_release}\n" - ) + with _logging_tools.log_action(log, "Test pattern-syntax-plugin work in specified environment"): + log.debug( + "Context:\n" + f"- Exporter: {exporter_release}\n" + ) - exporter_factory = _exporter_factory.get_exporter_factory(downloader, exporter_release, temp_dir_path, log) + exporter_factory = _exporter_factory.get_exporter_factory(downloader, exporter_release, temp_dir_path, log) - with _logging_tools.log_action(log, "Run integration tests"): - for test_case_info in test_cases_info: - log.info(f"Run '{test_case_info.name}' test case ...") + with _logging_tools.log_action(log, "Run integration tests"): + for test_case_info in test_cases_info: + log.info(f"Run '{test_case_info.name}' test case ...") - exporter = exporter_factory( - java_path=java_path, - syntax_plugin_path=syntax_plugin_path, - ) - - try: - _integration_test_runner.run_integration_test_case( - run_config=test_case_info.run_config, - exporter=exporter, - workspace_path=test_case_info.workspace_path, - ) - finally: - exporter.close() + exporter = exporter_factory( + java_path=java_path, + syntax_plugin_path=syntax_plugin_path, + ) - log.info(f"Run '{test_case_info.name}' test case ... ok") + try: + _integration_test_runner.run_integration_test_case( + run_config=test_case_info.run_config, + exporter=exporter, + workspace_path=test_case_info.workspace_path, + ) + finally: + exporter.close() - log.info("All checks passed!") + log.info(f"Run '{test_case_info.name}' test case ... ok") diff --git a/dev-tools/uv.lock b/dev-tools/uv.lock index 0dc6ed0..2dbfc6f 100644 --- a/dev-tools/uv.lock +++ b/dev-tools/uv.lock @@ -190,7 +190,7 @@ dependencies = [ requires-dist = [ { name = "marko", specifier = "==2.1.4" }, { name = "pygithub", specifier = "==2.6.1" }, - { name = "pytest", specifier = ">=9.0.2" }, + { name = "pytest", specifier = "==9.0.2" }, { name = "python-graphql-client", specifier = "==0.4.3" }, { name = "requests", specifier = "==2.32.4" }, ] From e6b0c10ad304351c51bc0564f843320e1a882265 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Fri, 2 Jan 2026 23:58:03 +0300 Subject: [PATCH 20/62] move test case info in separate module --- dev-tools/_test_case_info_extractor.py | 10 ++--- dev-tools/conftest.py | 15 +++++-- dev-tools/tests/test_syntax_plugin.py | 62 +++++++++++--------------- 3 files changed, 43 insertions(+), 44 deletions(-) diff --git a/dev-tools/_test_case_info_extractor.py b/dev-tools/_test_case_info_extractor.py index 4f3848a..ddf1f22 100644 --- a/dev-tools/_test_case_info_extractor.py +++ b/dev-tools/_test_case_info_extractor.py @@ -5,15 +5,15 @@ @dataclass(frozen=True, slots=True) -class _TestCaseInfo: +class TestCaseInfo: name: str workspace_path: Path run_config: _integration_test_runner.TestCaseRunConfiguration -def extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo]: +def extract_test_cases_info_from_file(config_file: Path) -> list[TestCaseInfo]: raw_infos = json.loads(config_file.read_text()) - test_cases_info: list[_TestCaseInfo] = [] + test_cases_info: list[TestCaseInfo] = [] for raw_info in raw_infos: match raw_info: @@ -24,7 +24,7 @@ def extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo]: "export_result_file": str(result_file_path), }: test_cases_info.append( - _TestCaseInfo( + TestCaseInfo( name=name, workspace_path=Path(workspace_path), run_config=_integration_test_runner.SuccessTestCase( @@ -41,7 +41,7 @@ def extract_test_cases_info_from_file(config_file: Path) -> list[_TestCaseInfo]: "error_message": str(error_message), }: test_cases_info.append( - _TestCaseInfo( + TestCaseInfo( name=name, workspace_path=Path(workspace_path), run_config=_integration_test_runner.FailTestCase( diff --git a/dev-tools/conftest.py b/dev-tools/conftest.py index 0c0363b..29b760b 100644 --- a/dev-tools/conftest.py +++ b/dev-tools/conftest.py @@ -2,6 +2,7 @@ import pytest import _release_extractor +import _test_case_info_extractor def pytest_addoption(parser: pytest.Parser): @@ -34,9 +35,17 @@ def pytest_addoption(parser: pytest.Parser): ) -def pytest_generate_tests(metafunc: pytest.Metafunc): +def pytest_generate_tests(metafunc: pytest.Metafunc) -> None: if "exporter_release" in metafunc.fixturenames: - env_config_file = metafunc.config.getoption("--env-config") - exporter_releases = _release_extractor.extract_exporter_releases_from_file(env_config_file) + env_config_file_path = metafunc.config.getoption("--env-config") + exporter_releases = _release_extractor.extract_exporter_releases_from_file(env_config_file_path) param_ids = [str(exporter_release) for exporter_release in exporter_releases] metafunc.parametrize("exporter_release", exporter_releases, ids=param_ids) + + if "test_case_info" in metafunc.fixturenames: + test_case_config_file_path = metafunc.config.getoption("--test-case-config") + test_cases_info = _test_case_info_extractor.extract_test_cases_info_from_file( + test_case_config_file_path + ) + param_ids = [test_case_info.name for test_case_info in test_cases_info] + metafunc.parametrize("test_case_info", test_cases_info, ids=param_ids) diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index 9d4b718..18e5c5f 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -1,9 +1,11 @@ +import contextlib import logging from pathlib import Path import tempfile -from typing import Final +from typing import Final, Iterator import pytest import _exporter_factory +import _exporters import _integration_test_runner import _logging_tools import _release_extractor @@ -30,42 +32,30 @@ def java_path(request: pytest.FixtureRequest) -> Path: return request.config.getoption('--java-path') -def test_syntax_plugin(exporter_release: _release_extractor.ExporterRelease, test_case_config_file: Path, syntax_plugin_path: Path, java_path: Path) -> None: - log = logging.getLogger() - downloader = _cached_downloader.CachedDownloader(log, _DOWNLOAD_CACHE_PATH) - - with _logging_tools.log_action(log, "Extract test case configuration"): - test_cases_info = _test_case_info_extractor.extract_test_cases_info_from_file( - test_case_config_file - ) - - with tempfile.TemporaryDirectory() as temp_dir: - temp_dir_path = Path(temp_dir) +@contextlib.contextmanager +def _create_exporter(exporter_factory: _exporter_factory.ExporterFactory, java_path: Path, syntax_plugin_path: Path) -> Iterator[_exporters.StructurizrWorkspaceExporter]: + exporter = exporter_factory( + java_path=java_path, + syntax_plugin_path=syntax_plugin_path, + ) - with _logging_tools.log_action(log, "Test pattern-syntax-plugin work in specified environment"): - log.debug( - "Context:\n" - f"- Exporter: {exporter_release}\n" - ) + try: + yield exporter + finally: + exporter.close() - exporter_factory = _exporter_factory.get_exporter_factory(downloader, exporter_release, temp_dir_path, log) - with _logging_tools.log_action(log, "Run integration tests"): - for test_case_info in test_cases_info: - log.info(f"Run '{test_case_info.name}' test case ...") - - exporter = exporter_factory( - java_path=java_path, - syntax_plugin_path=syntax_plugin_path, - ) - - try: - _integration_test_runner.run_integration_test_case( - run_config=test_case_info.run_config, - exporter=exporter, - workspace_path=test_case_info.workspace_path, - ) - finally: - exporter.close() +def test_syntax_plugin(exporter_release: _release_extractor.ExporterRelease, test_case_info: _test_case_info_extractor.TestCaseInfo, syntax_plugin_path: Path, java_path: Path) -> None: + log = logging.getLogger() + downloader = _cached_downloader.CachedDownloader(log, _DOWNLOAD_CACHE_PATH) - log.info(f"Run '{test_case_info.name}' test case ... ok") + with tempfile.TemporaryDirectory() as temp_dir: + exporter_factory = _exporter_factory.get_exporter_factory(downloader, exporter_release, Path(temp_dir), log) + + with _logging_tools.log_action(log, "Run integration test"): + with _create_exporter(exporter_factory, java_path, syntax_plugin_path) as exporter: + _integration_test_runner.run_integration_test_case( + run_config=test_case_info.run_config, + exporter=exporter, + workspace_path=test_case_info.workspace_path, + ) From a71e2f122cebf6334e7002af4a9cebf1acaabd83 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 3 Jan 2026 00:33:28 +0300 Subject: [PATCH 21/62] make sample dir path as option --- dev-tools/_usecases.py | 3 ++- dev-tools/cli.py | 8 +++++++ dev-tools/conftest.py | 7 +++++++ .../structurizr-cli/test-configuration.json | 10 ++++----- .../structurizr-lite/test-configuration.json | 10 ++++----- dev-tools/tests/test_syntax_plugin.py | 21 ++++++++++++------- 6 files changed, 41 insertions(+), 18 deletions(-) diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index b48facd..77cecaf 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -46,6 +46,7 @@ class TestSyntaxPluginArgs: java_path: Path env_config: Path test_case_config_file: Path + samples_dir: Path class ValidationIssueError(Exception): @@ -229,7 +230,7 @@ def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: f'--env-config={args.env_config.absolute()}', f'--plugin-path={args.syntax_plugin_path.absolute()}', f'--java-path={args.java_path.absolute()}', - # f'--root-dir={_CUR_DIR_PATH.absolute()}', + f'--samples-dir={args.samples_dir.absolute()}', '--verbose', '--log-cli-level=DEBUG', ])) diff --git a/dev-tools/cli.py b/dev-tools/cli.py index d08d74e..6731eb4 100644 --- a/dev-tools/cli.py +++ b/dev-tools/cli.py @@ -134,6 +134,13 @@ def _init_integration_tests_parser(parser: argparse.ArgumentParser) -> None: help="Path to test case configuration file", ) + parser.add_argument( + "--samples-dir", + type=Path, + required=True, + help="Path to a directory with Structurizr workspace test samples", + ) + def _init_parser() -> argparse.ArgumentParser: parser = argparse.ArgumentParser(description="Dev Tools CLI") @@ -197,6 +204,7 @@ def _extract_command_args(args: argparse.Namespace) -> _CommandArgs: java_path=args.java_path, env_config=args.env_config, test_case_config_file=args.test_case_config, + samples_dir=args.samples_dir, ) case _: raise ValueError(f"Unknown command: {args.command}") diff --git a/dev-tools/conftest.py b/dev-tools/conftest.py index 29b760b..45f31f4 100644 --- a/dev-tools/conftest.py +++ b/dev-tools/conftest.py @@ -34,6 +34,13 @@ def pytest_addoption(parser: pytest.Parser): help="Path to java binary directory", ) + parser.addoption( + "--samples-dir", + type=Path, + required=True, + help="Path to a directory with Structurizr workspace test samples", + ) + def pytest_generate_tests(metafunc: pytest.Metafunc) -> None: if "exporter_release" in metafunc.fixturenames: diff --git a/dev-tools/example-config/structurizr-cli/test-configuration.json b/dev-tools/example-config/structurizr-cli/test-configuration.json index 124b326..7048708 100644 --- a/dev-tools/example-config/structurizr-cli/test-configuration.json +++ b/dev-tools/example-config/structurizr-cli/test-configuration.json @@ -1,31 +1,31 @@ [ { "name": "database-per-service", - "workspace": ".bin/examples/databasePerService.dsl", + "workspace": "databasePerService.dsl", "result": "fail", "error_message": "Database 'Payment Service' is already used by 'Order Application'" }, { "name": "layered", - "workspace": ".bin/examples/layered.dsl", + "workspace": "layered.dsl", "result": "success", "export_result_file": "example-config/structurizr-cli/results/layered.json" }, { "name": "reverse-proxy", - "workspace": ".bin/examples/reverseProxy.dsl", + "workspace": "reverseProxy.dsl", "result": "success", "export_result_file": "example-config/structurizr-cli/results/reverseProxy.json" }, { "name": "saga", - "workspace": ".bin/examples/saga.dsl", + "workspace": "saga.dsl", "result": "success", "export_result_file": "example-config/structurizr-cli/results/saga.json" }, { "name": "service-registry", - "workspace": ".bin/examples/serviceRegistry.dsl", + "workspace": "serviceRegistry.dsl", "result": "success", "export_result_file": "example-config/structurizr-cli/results/serviceRegistry.json" } diff --git a/dev-tools/example-config/structurizr-lite/test-configuration.json b/dev-tools/example-config/structurizr-lite/test-configuration.json index ba692ac..ef17b6d 100644 --- a/dev-tools/example-config/structurizr-lite/test-configuration.json +++ b/dev-tools/example-config/structurizr-lite/test-configuration.json @@ -1,31 +1,31 @@ [ { "name": "database-per-service", - "workspace": ".bin/examples/databasePerService.dsl", + "workspace": "databasePerService.dsl", "result": "fail", "error_message": "Database 'Payment Service' is already used by 'Order Application'" }, { "name": "layered", - "workspace": ".bin/examples/layered.dsl", + "workspace": "layered.dsl", "result": "success", "export_result_file": "example-config/structurizr-lite/results/layered.json" }, { "name": "reverse-proxy", - "workspace": ".bin/examples/reverseProxy.dsl", + "workspace": "reverseProxy.dsl", "result": "success", "export_result_file": "example-config/structurizr-lite/results/reverseProxy.json" }, { "name": "saga", - "workspace": ".bin/examples/saga.dsl", + "workspace": "saga.dsl", "result": "success", "export_result_file": "example-config/structurizr-lite/results/saga.json" }, { "name": "service-registry", - "workspace": ".bin/examples/serviceRegistry.dsl", + "workspace": "serviceRegistry.dsl", "result": "success", "export_result_file": "example-config/structurizr-lite/results/serviceRegistry.json" } diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index 18e5c5f..72b7b72 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -17,11 +17,6 @@ _DOWNLOAD_CACHE_PATH: Final = _CUR_DIR_PATH / ".." / ".cache" -@pytest.fixture -def test_case_config_file(request: pytest.FixtureRequest) -> Path: - return request.config.getoption('--test-case-config') - - @pytest.fixture def syntax_plugin_path(request: pytest.FixtureRequest) -> Path: return request.config.getoption('--plugin-path') @@ -32,6 +27,11 @@ def java_path(request: pytest.FixtureRequest) -> Path: return request.config.getoption('--java-path') +@pytest.fixture +def samples_dir_path(request: pytest.FixtureRequest) -> Path: + return request.config.getoption("--samples-dir") + + @contextlib.contextmanager def _create_exporter(exporter_factory: _exporter_factory.ExporterFactory, java_path: Path, syntax_plugin_path: Path) -> Iterator[_exporters.StructurizrWorkspaceExporter]: exporter = exporter_factory( @@ -45,9 +45,16 @@ def _create_exporter(exporter_factory: _exporter_factory.ExporterFactory, java_p exporter.close() -def test_syntax_plugin(exporter_release: _release_extractor.ExporterRelease, test_case_info: _test_case_info_extractor.TestCaseInfo, syntax_plugin_path: Path, java_path: Path) -> None: +def test_syntax_plugin( + exporter_release: _release_extractor.ExporterRelease, + test_case_info: _test_case_info_extractor.TestCaseInfo, + syntax_plugin_path: Path, + java_path: Path, + samples_dir_path: Path, +) -> None: log = logging.getLogger() downloader = _cached_downloader.CachedDownloader(log, _DOWNLOAD_CACHE_PATH) + workspace_path = samples_dir_path / test_case_info.workspace_path with tempfile.TemporaryDirectory() as temp_dir: exporter_factory = _exporter_factory.get_exporter_factory(downloader, exporter_release, Path(temp_dir), log) @@ -57,5 +64,5 @@ def test_syntax_plugin(exporter_release: _release_extractor.ExporterRelease, tes _integration_test_runner.run_integration_test_case( run_config=test_case_info.run_config, exporter=exporter, - workspace_path=test_case_info.workspace_path, + workspace_path=workspace_path, ) From 8ebb238284f25c5ad37f21bd53ca146b232885cf Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 3 Jan 2026 13:53:17 +0300 Subject: [PATCH 22/62] path to result file is relative to test configuration file --- dev-tools/_test_case_info_extractor.py | 2 +- .../structurizr-cli/test-configuration.json | 8 ++++---- .../structurizr-lite/test-configuration.json | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dev-tools/_test_case_info_extractor.py b/dev-tools/_test_case_info_extractor.py index ddf1f22..23d1e44 100644 --- a/dev-tools/_test_case_info_extractor.py +++ b/dev-tools/_test_case_info_extractor.py @@ -29,7 +29,7 @@ def extract_test_cases_info_from_file(config_file: Path) -> list[TestCaseInfo]: workspace_path=Path(workspace_path), run_config=_integration_test_runner.SuccessTestCase( name=name, - expected_export_result_file=Path(result_file_path), + expected_export_result_file=(config_file.parent / result_file_path), ), ) ) diff --git a/dev-tools/example-config/structurizr-cli/test-configuration.json b/dev-tools/example-config/structurizr-cli/test-configuration.json index 7048708..8c9adb4 100644 --- a/dev-tools/example-config/structurizr-cli/test-configuration.json +++ b/dev-tools/example-config/structurizr-cli/test-configuration.json @@ -9,24 +9,24 @@ "name": "layered", "workspace": "layered.dsl", "result": "success", - "export_result_file": "example-config/structurizr-cli/results/layered.json" + "export_result_file": "results/layered.json" }, { "name": "reverse-proxy", "workspace": "reverseProxy.dsl", "result": "success", - "export_result_file": "example-config/structurizr-cli/results/reverseProxy.json" + "export_result_file": "results/reverseProxy.json" }, { "name": "saga", "workspace": "saga.dsl", "result": "success", - "export_result_file": "example-config/structurizr-cli/results/saga.json" + "export_result_file": "results/saga.json" }, { "name": "service-registry", "workspace": "serviceRegistry.dsl", "result": "success", - "export_result_file": "example-config/structurizr-cli/results/serviceRegistry.json" + "export_result_file": "results/serviceRegistry.json" } ] \ No newline at end of file diff --git a/dev-tools/example-config/structurizr-lite/test-configuration.json b/dev-tools/example-config/structurizr-lite/test-configuration.json index ef17b6d..8c9adb4 100644 --- a/dev-tools/example-config/structurizr-lite/test-configuration.json +++ b/dev-tools/example-config/structurizr-lite/test-configuration.json @@ -9,24 +9,24 @@ "name": "layered", "workspace": "layered.dsl", "result": "success", - "export_result_file": "example-config/structurizr-lite/results/layered.json" + "export_result_file": "results/layered.json" }, { "name": "reverse-proxy", "workspace": "reverseProxy.dsl", "result": "success", - "export_result_file": "example-config/structurizr-lite/results/reverseProxy.json" + "export_result_file": "results/reverseProxy.json" }, { "name": "saga", "workspace": "saga.dsl", "result": "success", - "export_result_file": "example-config/structurizr-lite/results/saga.json" + "export_result_file": "results/saga.json" }, { "name": "service-registry", "workspace": "serviceRegistry.dsl", "result": "success", - "export_result_file": "example-config/structurizr-lite/results/serviceRegistry.json" + "export_result_file": "results/serviceRegistry.json" } ] \ No newline at end of file From 0c0f2854d529813304761f747210b84389f3fa32 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 3 Jan 2026 14:41:00 +0300 Subject: [PATCH 23/62] move test configuration in code --- dev-tools/_usecases.py | 4 - dev-tools/cli.py | 16 -- dev-tools/conftest.py | 34 --- .../structurizr-cli/env-config.json | 12 -- .../structurizr-cli/test-configuration.json | 32 --- .../structurizr-lite/env-config.json | 7 - .../structurizr-lite/test-configuration.json | 32 --- dev-tools/pyproject.toml | 3 +- dev-tools/tests/test_syntax_plugin.py | 195 +++++++++++++++++- .../results/structurizr-cli}/layered.json | 0 .../structurizr-cli}/reverseProxy.json | 0 .../results/structurizr-cli}/saga.json | 0 .../structurizr-cli}/serviceRegistry.json | 0 .../results/structurizr-lite}/layered.json | 0 .../structurizr-lite}/reverseProxy.json | 0 .../results/structurizr-lite}/saga.json | 0 .../structurizr-lite}/serviceRegistry.json | 0 dev-tools/uv.lock | 14 ++ 18 files changed, 205 insertions(+), 144 deletions(-) delete mode 100644 dev-tools/example-config/structurizr-cli/env-config.json delete mode 100644 dev-tools/example-config/structurizr-cli/test-configuration.json delete mode 100644 dev-tools/example-config/structurizr-lite/env-config.json delete mode 100644 dev-tools/example-config/structurizr-lite/test-configuration.json rename dev-tools/{example-config/structurizr-cli/results => tests/test_syntax_plugin/results/structurizr-cli}/layered.json (100%) rename dev-tools/{example-config/structurizr-cli/results => tests/test_syntax_plugin/results/structurizr-cli}/reverseProxy.json (100%) rename dev-tools/{example-config/structurizr-cli/results => tests/test_syntax_plugin/results/structurizr-cli}/saga.json (100%) rename dev-tools/{example-config/structurizr-cli/results => tests/test_syntax_plugin/results/structurizr-cli}/serviceRegistry.json (100%) rename dev-tools/{example-config/structurizr-lite/results => tests/test_syntax_plugin/results/structurizr-lite}/layered.json (100%) rename dev-tools/{example-config/structurizr-lite/results => tests/test_syntax_plugin/results/structurizr-lite}/reverseProxy.json (100%) rename dev-tools/{example-config/structurizr-lite/results => tests/test_syntax_plugin/results/structurizr-lite}/saga.json (100%) rename dev-tools/{example-config/structurizr-lite/results => tests/test_syntax_plugin/results/structurizr-lite}/serviceRegistry.json (100%) diff --git a/dev-tools/_usecases.py b/dev-tools/_usecases.py index 77cecaf..1c8cbaa 100644 --- a/dev-tools/_usecases.py +++ b/dev-tools/_usecases.py @@ -44,8 +44,6 @@ class ValidateIssueAddedArgs: class TestSyntaxPluginArgs: syntax_plugin_path: Path java_path: Path - env_config: Path - test_case_config_file: Path samples_dir: Path @@ -226,8 +224,6 @@ def validate_issue_added(args: ValidateIssueAddedArgs, log: logging.Logger) -> N def test_syntax_plugin(args: TestSyntaxPluginArgs, log: logging.Logger) -> None: sys.exit(pytest.main([ str(_SYNTAX_PLUGIN_TEST_FILE_PATH), - f'--test-case-config={args.test_case_config_file.absolute()}', - f'--env-config={args.env_config.absolute()}', f'--plugin-path={args.syntax_plugin_path.absolute()}', f'--java-path={args.java_path.absolute()}', f'--samples-dir={args.samples_dir.absolute()}', diff --git a/dev-tools/cli.py b/dev-tools/cli.py index 6731eb4..ace6291 100644 --- a/dev-tools/cli.py +++ b/dev-tools/cli.py @@ -120,20 +120,6 @@ def _init_integration_tests_parser(parser: argparse.ArgumentParser) -> None: help="Path to java binary directory", ) - parser.add_argument( - "--env-config", - type=Path, - required=True, - help="Path to test environment configuration file", - ) - - parser.add_argument( - "--test-case-config", - type=Path, - required=True, - help="Path to test case configuration file", - ) - parser.add_argument( "--samples-dir", type=Path, @@ -202,8 +188,6 @@ def _extract_command_args(args: argparse.Namespace) -> _CommandArgs: return _usecases.TestSyntaxPluginArgs( syntax_plugin_path=args.plugin_path, java_path=args.java_path, - env_config=args.env_config, - test_case_config_file=args.test_case_config, samples_dir=args.samples_dir, ) case _: diff --git a/dev-tools/conftest.py b/dev-tools/conftest.py index 45f31f4..aaf127b 100644 --- a/dev-tools/conftest.py +++ b/dev-tools/conftest.py @@ -1,25 +1,7 @@ from pathlib import Path import pytest -import _release_extractor -import _test_case_info_extractor - - def pytest_addoption(parser: pytest.Parser): - parser.addoption( - "--test-case-config", - type=Path, - required=True, - help="Path to test case configuration file", - ) - - parser.addoption( - "--env-config", - type=Path, - required=True, - help="Path to test environment configuration file", - ) - parser.addoption( "--plugin-path", type=Path, @@ -40,19 +22,3 @@ def pytest_addoption(parser: pytest.Parser): required=True, help="Path to a directory with Structurizr workspace test samples", ) - - -def pytest_generate_tests(metafunc: pytest.Metafunc) -> None: - if "exporter_release" in metafunc.fixturenames: - env_config_file_path = metafunc.config.getoption("--env-config") - exporter_releases = _release_extractor.extract_exporter_releases_from_file(env_config_file_path) - param_ids = [str(exporter_release) for exporter_release in exporter_releases] - metafunc.parametrize("exporter_release", exporter_releases, ids=param_ids) - - if "test_case_info" in metafunc.fixturenames: - test_case_config_file_path = metafunc.config.getoption("--test-case-config") - test_cases_info = _test_case_info_extractor.extract_test_cases_info_from_file( - test_case_config_file_path - ) - param_ids = [test_case_info.name for test_case_info in test_cases_info] - metafunc.parametrize("test_case_info", test_cases_info, ids=param_ids) diff --git a/dev-tools/example-config/structurizr-cli/env-config.json b/dev-tools/example-config/structurizr-cli/env-config.json deleted file mode 100644 index f3d6552..0000000 --- a/dev-tools/example-config/structurizr-cli/env-config.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "type": "structurizr-cli", - "version": "v2025.05.28", - "url": "https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip" - }, - { - "type": "structurizr-cli", - "version": "v2025.03.28", - "url": "https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip" - } -] \ No newline at end of file diff --git a/dev-tools/example-config/structurizr-cli/test-configuration.json b/dev-tools/example-config/structurizr-cli/test-configuration.json deleted file mode 100644 index 8c9adb4..0000000 --- a/dev-tools/example-config/structurizr-cli/test-configuration.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - { - "name": "database-per-service", - "workspace": "databasePerService.dsl", - "result": "fail", - "error_message": "Database 'Payment Service' is already used by 'Order Application'" - }, - { - "name": "layered", - "workspace": "layered.dsl", - "result": "success", - "export_result_file": "results/layered.json" - }, - { - "name": "reverse-proxy", - "workspace": "reverseProxy.dsl", - "result": "success", - "export_result_file": "results/reverseProxy.json" - }, - { - "name": "saga", - "workspace": "saga.dsl", - "result": "success", - "export_result_file": "results/saga.json" - }, - { - "name": "service-registry", - "workspace": "serviceRegistry.dsl", - "result": "success", - "export_result_file": "results/serviceRegistry.json" - } -] \ No newline at end of file diff --git a/dev-tools/example-config/structurizr-lite/env-config.json b/dev-tools/example-config/structurizr-lite/env-config.json deleted file mode 100644 index f13cfad..0000000 --- a/dev-tools/example-config/structurizr-lite/env-config.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "type": "structurizr-lite", - "version": "v2025.03.28", - "url": "https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war" - } -] \ No newline at end of file diff --git a/dev-tools/example-config/structurizr-lite/test-configuration.json b/dev-tools/example-config/structurizr-lite/test-configuration.json deleted file mode 100644 index 8c9adb4..0000000 --- a/dev-tools/example-config/structurizr-lite/test-configuration.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - { - "name": "database-per-service", - "workspace": "databasePerService.dsl", - "result": "fail", - "error_message": "Database 'Payment Service' is already used by 'Order Application'" - }, - { - "name": "layered", - "workspace": "layered.dsl", - "result": "success", - "export_result_file": "results/layered.json" - }, - { - "name": "reverse-proxy", - "workspace": "reverseProxy.dsl", - "result": "success", - "export_result_file": "results/reverseProxy.json" - }, - { - "name": "saga", - "workspace": "saga.dsl", - "result": "success", - "export_result_file": "results/saga.json" - }, - { - "name": "service-registry", - "workspace": "serviceRegistry.dsl", - "result": "success", - "export_result_file": "results/serviceRegistry.json" - } -] \ No newline at end of file diff --git a/dev-tools/pyproject.toml b/dev-tools/pyproject.toml index 53311a8..b56bce6 100644 --- a/dev-tools/pyproject.toml +++ b/dev-tools/pyproject.toml @@ -7,9 +7,10 @@ dependencies = [ "marko==2.1.4", "pygithub==2.6.1", "pytest==9.0.2", + "pytest-datadir>=1.8.0", "python-graphql-client==0.4.3", "requests==2.32.4", ] [pytest] -log_cli = true \ No newline at end of file +log_cli = true diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index 72b7b72..ffe97f2 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -1,4 +1,5 @@ import contextlib +import dataclasses import logging from pathlib import Path import tempfile @@ -9,13 +10,33 @@ import _integration_test_runner import _logging_tools import _release_extractor -import _test_case_info_extractor import _cached_downloader _CUR_DIR_PATH: Final = Path(__file__).parent _DOWNLOAD_CACHE_PATH: Final = _CUR_DIR_PATH / ".." / ".cache" +@dataclasses.dataclass(frozen=True, slots=True) +class SuccessTestResult: + expected_result_path: Path + + +@dataclasses.dataclass(frozen=True, slots=True) +class FailedTestResult: + error_message: str + + +@dataclasses.dataclass(frozen=True, slots=True) +class TestConfiguration: + name: str + release: _release_extractor.ExporterRelease + result: SuccessTestResult | FailedTestResult + workspace_path: Path + + @property + def param_id(self) -> str: + return f"release={self.release}, test_case='{self.name}'" + @pytest.fixture def syntax_plugin_path(request: pytest.FixtureRequest) -> Path: @@ -45,24 +66,186 @@ def _create_exporter(exporter_factory: _exporter_factory.ExporterFactory, java_p exporter.close() +_RELEASES: Final = ( + _release_extractor.StructurizrCliRelease( + version="v2025.03.28", + url="https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip", + ), + _release_extractor.StructurizrCliRelease( + version="v2025.05.28", + url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", + ), + _release_extractor.StructurizrLiteRelease( + version="v2025.03.28", + url="https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war", + ), +) + + +def _get_run_config(datadir: Path, test_config: TestConfiguration) -> _integration_test_runner.TestCaseRunConfiguration: + match test_config.result: + case SuccessTestResult(expected_result_path=expected_result_path): + return _integration_test_runner.SuccessTestCase( + name=test_config.name, + expected_export_result_file=(datadir / expected_result_path), + ) + case FailedTestResult(error_message=error_message): + return _integration_test_runner.FailTestCase( + name=test_config.name, + error_message=error_message, + ) + + +@pytest.mark.parametrize( + "test_config", + [ + TestConfiguration( + name="database-per-service", + workspace_path=Path("databasePerService.dsl"), + result=FailedTestResult( + error_message="Database 'Payment Service' is already used by 'Order Application'", + ), + release=_RELEASES[0], + ), + TestConfiguration( + name="layered", + workspace_path=Path("layered.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/layered.json"), + ), + release=_RELEASES[0], + ), + TestConfiguration( + name="reverse-proxy", + workspace_path=Path("reverseProxy.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), + ), + release=_RELEASES[0], + ), + TestConfiguration( + name="saga", + workspace_path=Path("saga.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/saga.json"), + ), + release=_RELEASES[0], + ), + TestConfiguration( + name="service-registry", + workspace_path=Path("serviceRegistry.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), + ), + release=_RELEASES[0], + ), + + # ----------------------------------------------------------------------------------------------- # + + TestConfiguration( + name="database-per-service", + workspace_path=Path("databasePerService.dsl"), + result=FailedTestResult( + error_message="Database 'Payment Service' is already used by 'Order Application'", + ), + release=_RELEASES[1], + ), + TestConfiguration( + name="layered", + workspace_path=Path("layered.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/layered.json"), + ), + release=_RELEASES[1], + ), + TestConfiguration( + name="reverse-proxy", + workspace_path=Path("reverseProxy.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), + ), + release=_RELEASES[1], + ), + TestConfiguration( + name="saga", + workspace_path=Path("saga.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/saga.json"), + ), + release=_RELEASES[1], + ), + TestConfiguration( + name="service-registry", + workspace_path=Path("serviceRegistry.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), + ), + release=_RELEASES[1], + ), + + # ----------------------------------------------------------------------------------------------- # + + TestConfiguration( + name="database-per-service", + workspace_path=Path("databasePerService.dsl"), + result=FailedTestResult( + error_message="Database 'Payment Service' is already used by 'Order Application'", + ), + release=_RELEASES[2], + ), + TestConfiguration( + name="layered", + workspace_path=Path("layered.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/layered.json"), + ), + release=_RELEASES[2], + ), + TestConfiguration( + name="reverse-proxy", + workspace_path=Path("reverseProxy.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), + ), + release=_RELEASES[2], + ), + TestConfiguration( + name="saga", + workspace_path=Path("saga.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/saga.json"), + ), + release=_RELEASES[2], + ), + TestConfiguration( + name="service-registry", + workspace_path=Path("serviceRegistry.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), + ), + release=_RELEASES[2], + ) + ], + ids=lambda test_config: test_config.param_id, +) def test_syntax_plugin( - exporter_release: _release_extractor.ExporterRelease, - test_case_info: _test_case_info_extractor.TestCaseInfo, + test_config: TestConfiguration, syntax_plugin_path: Path, java_path: Path, samples_dir_path: Path, + datadir: Path, ) -> None: log = logging.getLogger() downloader = _cached_downloader.CachedDownloader(log, _DOWNLOAD_CACHE_PATH) - workspace_path = samples_dir_path / test_case_info.workspace_path + workspace_path = samples_dir_path / test_config.workspace_path with tempfile.TemporaryDirectory() as temp_dir: - exporter_factory = _exporter_factory.get_exporter_factory(downloader, exporter_release, Path(temp_dir), log) + exporter_factory = _exporter_factory.get_exporter_factory(downloader, test_config.release, Path(temp_dir), log) with _logging_tools.log_action(log, "Run integration test"): with _create_exporter(exporter_factory, java_path, syntax_plugin_path) as exporter: _integration_test_runner.run_integration_test_case( - run_config=test_case_info.run_config, + run_config=_get_run_config(datadir, test_config), exporter=exporter, workspace_path=workspace_path, ) diff --git a/dev-tools/example-config/structurizr-cli/results/layered.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/layered.json similarity index 100% rename from dev-tools/example-config/structurizr-cli/results/layered.json rename to dev-tools/tests/test_syntax_plugin/results/structurizr-cli/layered.json diff --git a/dev-tools/example-config/structurizr-cli/results/reverseProxy.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/reverseProxy.json similarity index 100% rename from dev-tools/example-config/structurizr-cli/results/reverseProxy.json rename to dev-tools/tests/test_syntax_plugin/results/structurizr-cli/reverseProxy.json diff --git a/dev-tools/example-config/structurizr-cli/results/saga.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/saga.json similarity index 100% rename from dev-tools/example-config/structurizr-cli/results/saga.json rename to dev-tools/tests/test_syntax_plugin/results/structurizr-cli/saga.json diff --git a/dev-tools/example-config/structurizr-cli/results/serviceRegistry.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/serviceRegistry.json similarity index 100% rename from dev-tools/example-config/structurizr-cli/results/serviceRegistry.json rename to dev-tools/tests/test_syntax_plugin/results/structurizr-cli/serviceRegistry.json diff --git a/dev-tools/example-config/structurizr-lite/results/layered.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/layered.json similarity index 100% rename from dev-tools/example-config/structurizr-lite/results/layered.json rename to dev-tools/tests/test_syntax_plugin/results/structurizr-lite/layered.json diff --git a/dev-tools/example-config/structurizr-lite/results/reverseProxy.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/reverseProxy.json similarity index 100% rename from dev-tools/example-config/structurizr-lite/results/reverseProxy.json rename to dev-tools/tests/test_syntax_plugin/results/structurizr-lite/reverseProxy.json diff --git a/dev-tools/example-config/structurizr-lite/results/saga.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/saga.json similarity index 100% rename from dev-tools/example-config/structurizr-lite/results/saga.json rename to dev-tools/tests/test_syntax_plugin/results/structurizr-lite/saga.json diff --git a/dev-tools/example-config/structurizr-lite/results/serviceRegistry.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/serviceRegistry.json similarity index 100% rename from dev-tools/example-config/structurizr-lite/results/serviceRegistry.json rename to dev-tools/tests/test_syntax_plugin/results/structurizr-lite/serviceRegistry.json diff --git a/dev-tools/uv.lock b/dev-tools/uv.lock index 2dbfc6f..89f51a1 100644 --- a/dev-tools/uv.lock +++ b/dev-tools/uv.lock @@ -182,6 +182,7 @@ dependencies = [ { name = "marko" }, { name = "pygithub" }, { name = "pytest" }, + { name = "pytest-datadir" }, { name = "python-graphql-client" }, { name = "requests" }, ] @@ -191,6 +192,7 @@ requires-dist = [ { name = "marko", specifier = "==2.1.4" }, { name = "pygithub", specifier = "==2.6.1" }, { name = "pytest", specifier = "==9.0.2" }, + { name = "pytest-datadir", specifier = ">=1.8.0" }, { name = "python-graphql-client", specifier = "==0.4.3" }, { name = "requests", specifier = "==2.32.4" }, ] @@ -454,6 +456,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801 }, ] +[[package]] +name = "pytest-datadir" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b4/46/db060b291999ca048edd06d6fa9ee95945d088edc38b1172c59eeb46ec45/pytest_datadir-1.8.0.tar.gz", hash = "sha256:7a15faed76cebe87cc91941dd1920a9a38eba56a09c11e9ddf1434d28a0f78eb", size = 11848 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/7a/33895863aec26ac3bb5068a73583f935680d6ab6af2a9567d409430c3ee1/pytest_datadir-1.8.0-py3-none-any.whl", hash = "sha256:5c677bc097d907ac71ca418109adc3abe34cf0bddfe6cf78aecfbabd96a15cf0", size = 6512 }, +] + [[package]] name = "python-graphql-client" version = "0.4.3" From 6e2f373e1d418b1cfd14d286ca8c6eec070f3d3f Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 3 Jan 2026 14:48:25 +0300 Subject: [PATCH 24/62] move integration test run logic in test code --- dev-tools/_integration_test_runner.py | 58 ------------------------ dev-tools/_test_case_info_extractor.py | 61 -------------------------- dev-tools/tests/test_syntax_plugin.py | 43 +++++++++--------- 3 files changed, 23 insertions(+), 139 deletions(-) delete mode 100644 dev-tools/_integration_test_runner.py delete mode 100644 dev-tools/_test_case_info_extractor.py diff --git a/dev-tools/_integration_test_runner.py b/dev-tools/_integration_test_runner.py deleted file mode 100644 index e8c2ade..0000000 --- a/dev-tools/_integration_test_runner.py +++ /dev/null @@ -1,58 +0,0 @@ -from dataclasses import dataclass -import json -from pathlib import Path - -import _exporters - - -@dataclass -class _CommonTestCaseConfiguration: - name: str - - -@dataclass -class SuccessTestCase(_CommonTestCaseConfiguration): - expected_export_result_file: Path - - -@dataclass -class FailTestCase(_CommonTestCaseConfiguration): - error_message: str - - -type TestCaseRunConfiguration = SuccessTestCase | FailTestCase - - -def run_integration_test_case( - run_config: TestCaseRunConfiguration, - exporter: _exporters.StructurizrWorkspaceExporter, - workspace_path: Path, -) -> None: - export_result = exporter.export_to_json(workspace_path) - - match run_config: - case SuccessTestCase(expected_export_result_file=expected_result_file): - expected_result = json.loads(expected_result_file.read_text()) - - assert not isinstance( - export_result, _exporters.ExportFailure - ), "Export result unexpected failed" - assert ( - export_result == expected_result - ), "Exported workspace not equals to expected" - - case FailTestCase(error_message=error_message): - assert isinstance( - export_result, _exporters.ExportFailure - ), "Export result unexpected success" - assert ( - error_message in export_result.error_message - ), "Stderr doesn't contain error message" - - -__all__ = [ - "FailTestCase", - "run_integration_test_case", - "SuccessTestCase", - "TestCaseRunConfiguration", -] diff --git a/dev-tools/_test_case_info_extractor.py b/dev-tools/_test_case_info_extractor.py deleted file mode 100644 index 23d1e44..0000000 --- a/dev-tools/_test_case_info_extractor.py +++ /dev/null @@ -1,61 +0,0 @@ -from dataclasses import dataclass -import json -from pathlib import Path -import _integration_test_runner - - -@dataclass(frozen=True, slots=True) -class TestCaseInfo: - name: str - workspace_path: Path - run_config: _integration_test_runner.TestCaseRunConfiguration - - -def extract_test_cases_info_from_file(config_file: Path) -> list[TestCaseInfo]: - raw_infos = json.loads(config_file.read_text()) - test_cases_info: list[TestCaseInfo] = [] - - for raw_info in raw_infos: - match raw_info: - case { - "result": "success", - "name": str(name), - "workspace": str(workspace_path), - "export_result_file": str(result_file_path), - }: - test_cases_info.append( - TestCaseInfo( - name=name, - workspace_path=Path(workspace_path), - run_config=_integration_test_runner.SuccessTestCase( - name=name, - expected_export_result_file=(config_file.parent / result_file_path), - ), - ) - ) - - case { - "result": "fail", - "name": str(name), - "workspace": str(workspace_path), - "error_message": str(error_message), - }: - test_cases_info.append( - TestCaseInfo( - name=name, - workspace_path=Path(workspace_path), - run_config=_integration_test_runner.FailTestCase( - name=name, - error_message=error_message, - ), - ) - ) - - case _: - raise ValueError( - "Unknown tets case configuration:\n{}".format( - json.dumps(raw_info, indent=4) - ) - ) - - return test_cases_info diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index ffe97f2..789970a 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -1,5 +1,6 @@ import contextlib import dataclasses +import json import logging from pathlib import Path import tempfile @@ -7,7 +8,6 @@ import pytest import _exporter_factory import _exporters -import _integration_test_runner import _logging_tools import _release_extractor import _cached_downloader @@ -82,20 +82,6 @@ def _create_exporter(exporter_factory: _exporter_factory.ExporterFactory, java_p ) -def _get_run_config(datadir: Path, test_config: TestConfiguration) -> _integration_test_runner.TestCaseRunConfiguration: - match test_config.result: - case SuccessTestResult(expected_result_path=expected_result_path): - return _integration_test_runner.SuccessTestCase( - name=test_config.name, - expected_export_result_file=(datadir / expected_result_path), - ) - case FailedTestResult(error_message=error_message): - return _integration_test_runner.FailTestCase( - name=test_config.name, - error_message=error_message, - ) - - @pytest.mark.parametrize( "test_config", [ @@ -244,8 +230,25 @@ def test_syntax_plugin( with _logging_tools.log_action(log, "Run integration test"): with _create_exporter(exporter_factory, java_path, syntax_plugin_path) as exporter: - _integration_test_runner.run_integration_test_case( - run_config=_get_run_config(datadir, test_config), - exporter=exporter, - workspace_path=workspace_path, - ) + export_result = exporter.export_to_json(workspace_path) + + match test_config.result: + case SuccessTestResult(expected_result_path=expected_result_path): + expected_result = json.loads((datadir / expected_result_path).read_text()) + + assert not isinstance( + export_result, _exporters.ExportFailure + ), "Export result unexpected failed" + + assert ( + export_result == expected_result + ), "Exported workspace not equals to expected" + + case FailedTestResult(error_message=error_message): + assert isinstance( + export_result, _exporters.ExportFailure + ), "Export result unexpected success" + + assert ( + error_message in export_result.error_message + ), "Stderr doesn't contain error message" From e339b1a3d86ac6e266248e822a6e14748c3da98a Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 3 Jan 2026 14:57:50 +0300 Subject: [PATCH 25/62] restructure test parametrization --- dev-tools/tests/test_syntax_plugin.py | 250 ++++++++++++-------------- 1 file changed, 111 insertions(+), 139 deletions(-) diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index 789970a..ea7241c 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -4,7 +4,7 @@ import logging from pathlib import Path import tempfile -from typing import Final, Iterator +from typing import Final, Iterable, Iterator import pytest import _exporter_factory import _exporters @@ -38,6 +38,13 @@ def param_id(self) -> str: return f"release={self.release}, test_case='{self.name}'" +@dataclasses.dataclass(frozen=True, slots=True) +class ReducedTestConfiguration: + name: str + result: SuccessTestResult | FailedTestResult + workspace_path: Path + + @pytest.fixture def syntax_plugin_path(request: pytest.FixtureRequest) -> Path: return request.config.getoption('--plugin-path') @@ -66,151 +73,116 @@ def _create_exporter(exporter_factory: _exporter_factory.ExporterFactory, java_p exporter.close() -_RELEASES: Final = ( - _release_extractor.StructurizrCliRelease( - version="v2025.03.28", - url="https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip", - ), - _release_extractor.StructurizrCliRelease( - version="v2025.05.28", - url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", - ), - _release_extractor.StructurizrLiteRelease( - version="v2025.03.28", - url="https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war", - ), -) +def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], reduced_test_configs: Iterable[ReducedTestConfiguration]) -> list[TestConfiguration]: + return [ + TestConfiguration( + name=reduced_test_config.name, + release=release, + result=reduced_test_config.result, + workspace_path=reduced_test_config.workspace_path, + ) + for release in releases + for reduced_test_config in reduced_test_configs + ] @pytest.mark.parametrize( "test_config", [ - TestConfiguration( - name="database-per-service", - workspace_path=Path("databasePerService.dsl"), - result=FailedTestResult( - error_message="Database 'Payment Service' is already used by 'Order Application'", - ), - release=_RELEASES[0], + *_get_test_configs( + releases=[ + _release_extractor.StructurizrCliRelease( + version="v2025.03.28", + url="https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip", + ), + _release_extractor.StructurizrCliRelease( + version="v2025.05.28", + url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", + ), + ], + reduced_test_configs=[ + ReducedTestConfiguration( + name="database-per-service", + workspace_path=Path("databasePerService.dsl"), + result=FailedTestResult( + error_message="Database 'Payment Service' is already used by 'Order Application'", + ), + ), + ReducedTestConfiguration( + name="layered", + workspace_path=Path("layered.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/layered.json"), + ), + ), + ReducedTestConfiguration( + name="reverse-proxy", + workspace_path=Path("reverseProxy.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), + ), + ), + ReducedTestConfiguration( + name="saga", + workspace_path=Path("saga.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/saga.json"), + ), + ), + ReducedTestConfiguration( + name="service-registry", + workspace_path=Path("serviceRegistry.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), + ), + ), + ] ), - TestConfiguration( - name="layered", - workspace_path=Path("layered.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/layered.json"), - ), - release=_RELEASES[0], - ), - TestConfiguration( - name="reverse-proxy", - workspace_path=Path("reverseProxy.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), - ), - release=_RELEASES[0], - ), - TestConfiguration( - name="saga", - workspace_path=Path("saga.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/saga.json"), - ), - release=_RELEASES[0], - ), - TestConfiguration( - name="service-registry", - workspace_path=Path("serviceRegistry.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), - ), - release=_RELEASES[0], - ), - - # ----------------------------------------------------------------------------------------------- # - - TestConfiguration( - name="database-per-service", - workspace_path=Path("databasePerService.dsl"), - result=FailedTestResult( - error_message="Database 'Payment Service' is already used by 'Order Application'", - ), - release=_RELEASES[1], + *_get_test_configs( + releases=[ + _release_extractor.StructurizrLiteRelease( + version="v2025.03.28", + url="https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war", + ), + ], + reduced_test_configs=[ + ReducedTestConfiguration( + name="database-per-service", + workspace_path=Path("databasePerService.dsl"), + result=FailedTestResult( + error_message="Database 'Payment Service' is already used by 'Order Application'", + ), + ), + ReducedTestConfiguration( + name="layered", + workspace_path=Path("layered.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/layered.json"), + ), + ), + ReducedTestConfiguration( + name="reverse-proxy", + workspace_path=Path("reverseProxy.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), + ), + ), + ReducedTestConfiguration( + name="saga", + workspace_path=Path("saga.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/saga.json"), + ), + ), + ReducedTestConfiguration( + name="service-registry", + workspace_path=Path("serviceRegistry.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), + ), + ) + ] ), - TestConfiguration( - name="layered", - workspace_path=Path("layered.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/layered.json"), - ), - release=_RELEASES[1], - ), - TestConfiguration( - name="reverse-proxy", - workspace_path=Path("reverseProxy.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), - ), - release=_RELEASES[1], - ), - TestConfiguration( - name="saga", - workspace_path=Path("saga.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/saga.json"), - ), - release=_RELEASES[1], - ), - TestConfiguration( - name="service-registry", - workspace_path=Path("serviceRegistry.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), - ), - release=_RELEASES[1], - ), - - # ----------------------------------------------------------------------------------------------- # - - TestConfiguration( - name="database-per-service", - workspace_path=Path("databasePerService.dsl"), - result=FailedTestResult( - error_message="Database 'Payment Service' is already used by 'Order Application'", - ), - release=_RELEASES[2], - ), - TestConfiguration( - name="layered", - workspace_path=Path("layered.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/layered.json"), - ), - release=_RELEASES[2], - ), - TestConfiguration( - name="reverse-proxy", - workspace_path=Path("reverseProxy.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), - ), - release=_RELEASES[2], - ), - TestConfiguration( - name="saga", - workspace_path=Path("saga.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/saga.json"), - ), - release=_RELEASES[2], - ), - TestConfiguration( - name="service-registry", - workspace_path=Path("serviceRegistry.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), - ), - release=_RELEASES[2], - ) ], ids=lambda test_config: test_config.param_id, ) From ab4dcb30f06a54feb8f4c5fec1ea571e646af007 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 3 Jan 2026 15:22:26 +0300 Subject: [PATCH 26/62] add run integration tests job --- .github/workflows/pr-check.yml | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 8a333e1..81c0a68 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -310,3 +310,51 @@ jobs: with: name: vs-code-extension path: ${{ github.workspace }}/vs-code-extension.vsix + + run-integration-tests: + name: Run integration tests + runs-on: ubuntu-latest + needs: [ build-examples, build-pattern-syntax-plugin ] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v6 + with: + version: "0.7.13" + + - name: Prepare 'dev-tools' environment + run: uv sync + working-directory: dev-tools + + - name: Prepare samples directory + uses: actions/download-artifact@v4 + with: + name: examples + path: ${{ github.workspace }}/.samples + + - name: Download syntax plugin + uses: actions/download-artifact@v4 + with: + name: pattern-syntax-plugin + path: ${{ github.workspace }}/.pattern-syntax-plugin + + - name: Setup java + uses: actions/setup-java@v5 + with: + distribution: 'temurin' + java-version: '17' + + - name: Get java binary directory path + id: get-java-bin-dir-path + run: echo "java_bin_dir_path=$(dirname $(which java))" >> "$GITHUB_OUTPUT" + + - name: Run integration tests + run: | + uv run cli.py integration-tests \ + --plugin-path ${{ github.workspace }}/.pattern-syntax-plugin/pattern-syntax-plugin-debug.jar \ + --java-path ${{ steps.get-javabin-dir-path.outputs.java_bin_dir_path }} \ + --samples-dir ${{ github.workspace }}/.samples + working-directory: dev-tools From fa1479c5ba8b35a28cb212f56a5fc0da3d495dc4 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 3 Jan 2026 15:32:49 +0300 Subject: [PATCH 27/62] fix: update java binary dir path calculation logic --- .github/workflows/pr-check.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 81c0a68..d0debee 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -347,14 +347,10 @@ jobs: distribution: 'temurin' java-version: '17' - - name: Get java binary directory path - id: get-java-bin-dir-path - run: echo "java_bin_dir_path=$(dirname $(which java))" >> "$GITHUB_OUTPUT" - - name: Run integration tests run: | uv run cli.py integration-tests \ --plugin-path ${{ github.workspace }}/.pattern-syntax-plugin/pattern-syntax-plugin-debug.jar \ - --java-path ${{ steps.get-javabin-dir-path.outputs.java_bin_dir_path }} \ + --java-path $JAVA_HOME/bin \ --samples-dir ${{ github.workspace }}/.samples working-directory: dev-tools From 7a440eac5827df7bd7eeb37d08ccd18d98c6693a Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 3 Jan 2026 20:00:24 +0300 Subject: [PATCH 28/62] tmp: test running structurizr --- .github/workflows/pr-check.yml | 671 ++++++++++--------- dev-tools/_exporters/_structurizr_lite.py | 3 + dev-tools/temp/pattern-syntax-plugin-1.0.jar | Bin 0 -> 800967 bytes dev-tools/temp/samples/layered.dsl | 40 ++ dev-tools/test_structurizr_lite.py | 68 ++ 5 files changed, 460 insertions(+), 322 deletions(-) create mode 100644 dev-tools/temp/pattern-syntax-plugin-1.0.jar create mode 100644 dev-tools/temp/samples/layered.dsl create mode 100644 dev-tools/test_structurizr_lite.py diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index d0debee..009e1df 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -6,316 +6,358 @@ on: - dev jobs: - validate-changelog: - name: Validate changelog - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.7.13" - - - name: Prepare 'dev-tools' environment - run: uv sync - working-directory: dev-tools - - - name: Validate changelog structure - run: uv run cli.py changelog validate-structure ${{ github.workspace }}/CHANGES.md - working-directory: dev-tools - - - name: Validate all issues closed - run: | - uv run cli.py changelog validate-issues \ - --file ${{ github.workspace }}/CHANGES.md \ - --repo ${{ github.repository }} \ - --pr-number ${{ github.event.pull_request.number }} - working-directory: dev-tools - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Validate all linked issues - run: | - uv run cli.py changelog validate-issue-added \ - --file ${{ github.workspace }}/CHANGES.md \ - --repo ${{ github.repository }} \ - --pr-number ${{ github.event.pull_request.number }} - working-directory: dev-tools - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - check-formatting: - name: Check source code formatting - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: '8.13' - build-scan-publish: true - build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - build-scan-terms-of-use-agree: 'yes' - - - name: "Check formatting in 'examples' project" - run: gradle formatCheck - working-directory: examples - - - name: "Check formatting in 'pattern-lens' project" - run: gradle formatCheck - working-directory: pattern-lens - - - name: "Check formatting in 'pattern-lib' project" - run: gradle formatCheck - working-directory: pattern-lib - - - name: "Check formatting in 'pattern-syntax-parser' project" - run: gradle formatCheck - working-directory: pattern-syntax-parser - - - name: "Check formatting in 'pattern-syntax-plugin' project" - run: gradle formatCheck - working-directory: pattern-syntax-plugin - - build-pattern-lib: - name: Build 'pattern-lib' project - runs-on: ubuntu-latest - needs: check-formatting - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - sparse-checkout: | - common - pattern-lib - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: '8.13' - build-scan-publish: true - build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - build-scan-terms-of-use-agree: 'yes' - - - name: Run build - run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo publishDebugPublicationToMavenLocal build - working-directory: pattern-lib - - - name: Publish jar file - uses: actions/upload-artifact@v4 - with: - name: pattern-lib - path: pattern-lib/build/libs/*.jar - if-no-files-found: error - - - name: Publish maven package - uses: actions/upload-artifact@v4 - with: - name: pattern-lib-package - path: ${{ github.workspace }}/repo - if-no-files-found: error - - build-examples: - name: Build 'examples' project - runs-on: ubuntu-latest - needs: [ check-formatting, build-pattern-lib ] - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - sparse-checkout: | - common - examples - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: '8.13' - build-scan-publish: true - build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - build-scan-terms-of-use-agree: 'yes' - - - name: Download 'pattern-lib' package - uses: actions/download-artifact@v4 - with: - name: pattern-lib-package - path: ${{ github.workspace }}/pattern-lib-package - - - name: Install 'pattern-lib' package in local maven repository - run: rsync -av ${{ github.workspace }}/pattern-lib-package/ ${{ github.workspace }}/repo/ - - - name: Display local maven repository - run: ls -R ${{ github.workspace }}/repo - - - name: Run build - run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo -Pdeps.pattern-lib.version=debug build - working-directory: examples - - - name: Publish jar file - uses: actions/upload-artifact@v4 - with: - name: examples - path: examples/build/workspaces/* - if-no-files-found: error - - build-pattern-lens: - name: Build 'pattern-lens' project - runs-on: ubuntu-latest - needs: check-formatting - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - sparse-checkout: | - common - pattern-lens - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: '8.13' - build-scan-publish: true - build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - build-scan-terms-of-use-agree: 'yes' - - - name: Run build - run: gradle build - working-directory: pattern-lens - - - name: Publish jar file - uses: actions/upload-artifact@v4 - with: - name: pattern-lens - path: pattern-lens/build/libs/* - - build-pattern-syntax-parser: - name: Build 'pattern-syntax-parser' project - runs-on: ubuntu-latest - needs: check-formatting - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - sparse-checkout: | - common - pattern-syntax-parser - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: '8.13' - build-scan-publish: true - build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - build-scan-terms-of-use-agree: 'yes' - - - name: Run build - run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo publishDebugPublicationToMavenLocal build - working-directory: pattern-syntax-parser - - - name: Publish jar file - uses: actions/upload-artifact@v4 - with: - name: pattern-syntax-parser - path: pattern-syntax-parser/build/libs/*.jar - if-no-files-found: error - - - name: Publish maven package - uses: actions/upload-artifact@v4 - with: - name: pattern-syntax-parser-package - path: ${{ github.workspace }}/repo - if-no-files-found: error - - build-pattern-syntax-plugin: - name: Build 'pattern-syntax-plugin' project - runs-on: ubuntu-latest - needs: [ check-formatting, build-pattern-syntax-parser ] - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - sparse-checkout: | - common - pattern-syntax-plugin - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: '8.13' - build-scan-publish: true - build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - build-scan-terms-of-use-agree: 'yes' - - - name: Download 'pattern-syntax-parser' package - uses: actions/download-artifact@v4 - with: - name: pattern-syntax-parser-package - path: ${{ github.workspace }}/pattern-syntax-parser - - - name: Install 'pattern-syntax-parser' package in local maven repository - run: rsync -av ${{ github.workspace }}/pattern-syntax-parser/ ${{ github.workspace }}/repo/ - - - name: Run build - run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo -Pdeps.pattern-syntax-parser.version=debug build - working-directory: pattern-syntax-plugin - - - name: Publish jar file - uses: actions/upload-artifact@v4 - with: - name: pattern-syntax-plugin - path: pattern-syntax-plugin/build/libs/* - if-no-files-found: error - - build-vs-code-extension: - name: Build 'vs-code-extension' project - runs-on: ubuntu-latest - needs: check-formatting - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - sparse-checkout: vs-code-extension - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20.17.0' - - - name: Install dependencies - run: npm install - working-directory: vs-code-extension - - - name: Install VS Code CLI - run: npm install -g @vscode/vsce - working-directory: vs-code-extension - - - name: Build VSIX package - run: vsce package --allow-star-activation --allow-missing-repository --out ${{ github.workspace }}/vs-code-extension.vsix - working-directory: vs-code-extension - - - name: Upload artifacts - uses: actions/upload-artifact@v4 - with: - name: vs-code-extension - path: ${{ github.workspace }}/vs-code-extension.vsix + # validate-changelog: + # name: Validate changelog + # runs-on: ubuntu-latest + + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + + # - name: Install uv + # uses: astral-sh/setup-uv@v6 + # with: + # version: "0.7.13" + + # - name: Prepare 'dev-tools' environment + # run: uv sync + # working-directory: dev-tools + + # - name: Validate changelog structure + # run: uv run cli.py changelog validate-structure ${{ github.workspace }}/CHANGES.md + # working-directory: dev-tools + + # - name: Validate all issues closed + # run: | + # uv run cli.py changelog validate-issues \ + # --file ${{ github.workspace }}/CHANGES.md \ + # --repo ${{ github.repository }} \ + # --pr-number ${{ github.event.pull_request.number }} + # working-directory: dev-tools + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # - name: Validate all linked issues + # run: | + # uv run cli.py changelog validate-issue-added \ + # --file ${{ github.workspace }}/CHANGES.md \ + # --repo ${{ github.repository }} \ + # --pr-number ${{ github.event.pull_request.number }} + # working-directory: dev-tools + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # check-formatting: + # name: Check source code formatting + # runs-on: ubuntu-latest + + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + + # - name: Setup Gradle + # uses: gradle/actions/setup-gradle@v4 + # with: + # gradle-version: '8.13' + # build-scan-publish: true + # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + # build-scan-terms-of-use-agree: 'yes' + + # - name: "Check formatting in 'examples' project" + # run: gradle formatCheck + # working-directory: examples + + # - name: "Check formatting in 'pattern-lens' project" + # run: gradle formatCheck + # working-directory: pattern-lens + + # - name: "Check formatting in 'pattern-lib' project" + # run: gradle formatCheck + # working-directory: pattern-lib + + # - name: "Check formatting in 'pattern-syntax-parser' project" + # run: gradle formatCheck + # working-directory: pattern-syntax-parser + + # - name: "Check formatting in 'pattern-syntax-plugin' project" + # run: gradle formatCheck + # working-directory: pattern-syntax-plugin + + # build-pattern-lib: + # name: Build 'pattern-lib' project + # runs-on: ubuntu-latest + # needs: check-formatting + + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + # with: + # sparse-checkout: | + # common + # pattern-lib + + # - name: Setup Gradle + # uses: gradle/actions/setup-gradle@v4 + # with: + # gradle-version: '8.13' + # build-scan-publish: true + # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + # build-scan-terms-of-use-agree: 'yes' + + # - name: Run build + # run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo publishDebugPublicationToMavenLocal build + # working-directory: pattern-lib + + # - name: Publish jar file + # uses: actions/upload-artifact@v4 + # with: + # name: pattern-lib + # path: pattern-lib/build/libs/*.jar + # if-no-files-found: error + + # - name: Publish maven package + # uses: actions/upload-artifact@v4 + # with: + # name: pattern-lib-package + # path: ${{ github.workspace }}/repo + # if-no-files-found: error + + # build-examples: + # name: Build 'examples' project + # runs-on: ubuntu-latest + # needs: [ check-formatting, build-pattern-lib ] + + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + # with: + # sparse-checkout: | + # common + # examples + + # - name: Setup Gradle + # uses: gradle/actions/setup-gradle@v4 + # with: + # gradle-version: '8.13' + # build-scan-publish: true + # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + # build-scan-terms-of-use-agree: 'yes' + + # - name: Download 'pattern-lib' package + # uses: actions/download-artifact@v4 + # with: + # name: pattern-lib-package + # path: ${{ github.workspace }}/pattern-lib-package + + # - name: Install 'pattern-lib' package in local maven repository + # run: rsync -av ${{ github.workspace }}/pattern-lib-package/ ${{ github.workspace }}/repo/ + + # - name: Display local maven repository + # run: ls -R ${{ github.workspace }}/repo + + # - name: Run build + # run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo -Pdeps.pattern-lib.version=debug build + # working-directory: examples + + # - name: Publish jar file + # uses: actions/upload-artifact@v4 + # with: + # name: examples + # path: examples/build/workspaces/* + # if-no-files-found: error + + # build-pattern-lens: + # name: Build 'pattern-lens' project + # runs-on: ubuntu-latest + # needs: check-formatting + + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + # with: + # sparse-checkout: | + # common + # pattern-lens + + # - name: Setup Gradle + # uses: gradle/actions/setup-gradle@v4 + # with: + # gradle-version: '8.13' + # build-scan-publish: true + # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + # build-scan-terms-of-use-agree: 'yes' + + # - name: Run build + # run: gradle build + # working-directory: pattern-lens + + # - name: Publish jar file + # uses: actions/upload-artifact@v4 + # with: + # name: pattern-lens + # path: pattern-lens/build/libs/* + + # build-pattern-syntax-parser: + # name: Build 'pattern-syntax-parser' project + # runs-on: ubuntu-latest + # needs: check-formatting + + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + # with: + # sparse-checkout: | + # common + # pattern-syntax-parser + + # - name: Setup Gradle + # uses: gradle/actions/setup-gradle@v4 + # with: + # gradle-version: '8.13' + # build-scan-publish: true + # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + # build-scan-terms-of-use-agree: 'yes' + + # - name: Run build + # run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo publishDebugPublicationToMavenLocal build + # working-directory: pattern-syntax-parser + + # - name: Publish jar file + # uses: actions/upload-artifact@v4 + # with: + # name: pattern-syntax-parser + # path: pattern-syntax-parser/build/libs/*.jar + # if-no-files-found: error + + # - name: Publish maven package + # uses: actions/upload-artifact@v4 + # with: + # name: pattern-syntax-parser-package + # path: ${{ github.workspace }}/repo + # if-no-files-found: error + + # build-pattern-syntax-plugin: + # name: Build 'pattern-syntax-plugin' project + # runs-on: ubuntu-latest + # needs: [ check-formatting, build-pattern-syntax-parser ] + + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + # with: + # sparse-checkout: | + # common + # pattern-syntax-plugin + + # - name: Setup Gradle + # uses: gradle/actions/setup-gradle@v4 + # with: + # gradle-version: '8.13' + # build-scan-publish: true + # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + # build-scan-terms-of-use-agree: 'yes' + + # - name: Download 'pattern-syntax-parser' package + # uses: actions/download-artifact@v4 + # with: + # name: pattern-syntax-parser-package + # path: ${{ github.workspace }}/pattern-syntax-parser + + # - name: Install 'pattern-syntax-parser' package in local maven repository + # run: rsync -av ${{ github.workspace }}/pattern-syntax-parser/ ${{ github.workspace }}/repo/ + + # - name: Run build + # run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo -Pdeps.pattern-syntax-parser.version=debug build + # working-directory: pattern-syntax-plugin + + # - name: Publish jar file + # uses: actions/upload-artifact@v4 + # with: + # name: pattern-syntax-plugin + # path: pattern-syntax-plugin/build/libs/* + # if-no-files-found: error + + # build-vs-code-extension: + # name: Build 'vs-code-extension' project + # runs-on: ubuntu-latest + # needs: check-formatting + + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + # with: + # sparse-checkout: vs-code-extension + + # - name: Setup Node.js + # uses: actions/setup-node@v4 + # with: + # node-version: '20.17.0' + + # - name: Install dependencies + # run: npm install + # working-directory: vs-code-extension + + # - name: Install VS Code CLI + # run: npm install -g @vscode/vsce + # working-directory: vs-code-extension + + # - name: Build VSIX package + # run: vsce package --allow-star-activation --allow-missing-repository --out ${{ github.workspace }}/vs-code-extension.vsix + # working-directory: vs-code-extension + + # - name: Upload artifacts + # uses: actions/upload-artifact@v4 + # with: + # name: vs-code-extension + # path: ${{ github.workspace }}/vs-code-extension.vsix + + # run-integration-tests: + # name: Run integration tests + # runs-on: ubuntu-latest + # needs: [ build-examples, build-pattern-syntax-plugin ] + + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + + # - name: Install uv + # uses: astral-sh/setup-uv@v6 + # with: + # version: "0.7.13" + + # - name: Prepare 'dev-tools' environment + # run: uv sync + # working-directory: dev-tools + + # - name: Prepare samples directory + # uses: actions/download-artifact@v4 + # with: + # name: examples + # path: ${{ github.workspace }}/.samples + + # - name: Download syntax plugin + # uses: actions/download-artifact@v4 + # with: + # name: pattern-syntax-plugin + # path: ${{ github.workspace }}/.pattern-syntax-plugin + + # - name: Setup java + # uses: actions/setup-java@v5 + # with: + # distribution: 'temurin' + # java-version: '17' + + # - name: Run integration tests + # run: | + # uv run cli.py integration-tests \ + # --plugin-path ${{ github.workspace }}/.pattern-syntax-plugin/pattern-syntax-plugin-debug.jar \ + # --java-path $JAVA_HOME/bin \ + # --samples-dir ${{ github.workspace }}/.samples + # working-directory: dev-tools run-integration-tests: name: Run integration tests runs-on: ubuntu-latest - needs: [ build-examples, build-pattern-syntax-plugin ] - steps: - name: Checkout code uses: actions/checkout@v4 @@ -329,18 +371,6 @@ jobs: run: uv sync working-directory: dev-tools - - name: Prepare samples directory - uses: actions/download-artifact@v4 - with: - name: examples - path: ${{ github.workspace }}/.samples - - - name: Download syntax plugin - uses: actions/download-artifact@v4 - with: - name: pattern-syntax-plugin - path: ${{ github.workspace }}/.pattern-syntax-plugin - - name: Setup java uses: actions/setup-java@v5 with: @@ -349,8 +379,5 @@ jobs: - name: Run integration tests run: | - uv run cli.py integration-tests \ - --plugin-path ${{ github.workspace }}/.pattern-syntax-plugin/pattern-syntax-plugin-debug.jar \ - --java-path $JAVA_HOME/bin \ - --samples-dir ${{ github.workspace }}/.samples + uv run test_structurizr_lite.py working-directory: dev-tools diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py index b2c6a2f..9d3b6d0 100644 --- a/dev-tools/_exporters/_structurizr_lite.py +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -60,6 +60,9 @@ def __init__(self, structurizr_lite_dir: Path, java_path: Path, syntax_plugin_pa self.__java_path = java_path self.__syntax_plugin_path = syntax_plugin_path + print(f"Stdout path: {stdout_path.absolute()}") + print(f"Stderr path: {stderr_path.absolute()}") + self.__structurizr_lite_jar = self.__get_structurizr_lite_jar_path(self.__structurizr_lite_dir) self.__context_dir = self.__get_context_directory(self.__structurizr_lite_dir) self.__workspace_dir = self.__get_workspace_directory(self.__context_dir) diff --git a/dev-tools/temp/pattern-syntax-plugin-1.0.jar b/dev-tools/temp/pattern-syntax-plugin-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..c5047eac5904d3fddd3dfb4ed240912c6ddae8b3 GIT binary patch literal 800967 zcmbTdb983imN%M;@x-=mJE_>VZQHhO+o;&KZKIM@P;pY>&HJ6v-RJG|-R^tt9%DVv z{$tKL*4ksP`J0rN0s(~v0)m7Ddb5ep1p0b_|N8lQpuU!jh_V2!gsdn%2$1~W2w$t5 zUp&7EO1>7#KNHFb$V!NcC@Is)i0VWOKo2k=0R0YlBg8)~+^bm44awj0smbbyx0Q4S zd3;ihLa$>U%vRt?&~z)R)Gme><8Vi(o*r9(#Z-Ci10!oO>l{=)Y#VUboQtlcIHd}u zS9i=(C%Afk31Rd?=UeOiR?;~agamV`w$Y=C{hqCYB2zN+xzWk~_q~2??>`R(^7U?E z_b}=v_>-0bJ68|r} zP9C<-2JZi(2&(^YBJ8bQ%q(pGMG|%7_X-nmAfPZfARw`SOOpKm5h(0rEo5iwY~t=L zZ{TcXZsJI1WNqN&RHLTlhOC0}A*;nOou0?rNvpDB>jJTX#-${GTmbisU1&CKa7$%E};4Ji0jnU%}(EbK4-G-M!v zW3*toHt4%EAD4qW(+&v-35AucqYGXpy~!{q~*DM$Q=@!15dFYaU6_MZ6D5}JsY2Iuwew!hmI3| z-=NaF$2zkSVltBw_sIMBT~k3EJ`05>a@sgjzB;pmH#xv1qYn*C>qiU{1q;b{TrR8; z5OL};eQuW+Tj=S8ZDy`a4A_874r!MX3`jfnU~&l&bxurq)qY4NVj*T9`n#9y##%ctM5xKJARQX;N!c05%*Nd_&;xym7PQ|C~ zs|N*RFmFN&x6$GA|9b24ZD z`h{-j5y_LEGYcLpV6<*`V(zDbai;u<$bWyuIEeH*Ic%{nZMjJ1P-xUrn-Ru38h=jJ zIGx231_E zJpyWT7x5$E++PCN^0TxR^9E&21h}DVmq?}1ua9@3lnuw;y5O5cgy!>7O?9lizZmSh z*|@#30O$Ht^Hz+UT7}hIfg&z6k8GF$039a^Y=jM%;_NboveXZ!F`lCtoRe6+%#_bKo2F zZoLUf^0|c++T1Zu5ecqRn9N1_zSNE|as7gu^Kj-|aBjixm&6&MlAcdG4DTmJn4K%` z2!?$QxZ+PJ7CymtMvfaKsKAR5K_!>S@jo+i!xT{ut}eDthUAs#1`ab!NQQ|!h*!oW zhk7M_#w@eXtbRPCo=V(B5OF{>i?A%CnB7--fl-PE>k?Il5b*%2LoSK0sc{FfTi}L3H*15pekuvruQ2Vkk^+t zAoTAc**}n4>HlEuKVa=2C|055tU`j6|pHSq`0SahG4>`#OW?cOYPIT!e9raEuYdcQDIt13bSLB0VbQx8Hn|s)P z)n`U0<4!2djCuBooA}byJl>G1yOnj2bY1G5uiz2pYO*Hiez)^A-}%9&VRwV|p-Eup z4<80=I^eAjprau3?}hs`v!J@&T$cK?XU9be)14c|Yw zH(@Z<-Xe;Fs8UD`GSy6BX1``C9nhZwli98gzd4DxV|d~jB>ChdV8jXa^1GA!G|fqCFd62C?P)2U z9g}+zu?E<;P`=f2Di>l#BMoo%l1(Pa;fTe4`*uVk3yi|C7|bg5ZgOc(KRsmBinM7U zF3gb?wYDWmH;U+P#2+Op%f`zK`09unJ7}f2^KBj~qPIkbs<0Ex;dJEVwxRMY%N)eC zwA(bYamG24o+|hIJVN;tN7?;0S&1>REE=5yXFvl0J}o~26m8>Et^)W2U~pxguoFyA ziUpej%q^r45kjeB;K3TD89h7B;y>zA)>xpXg=hv`;ZhjN2nshubj;d3lko+MXpW+b z!8Yd}Lh=jq%?Z{(LQAlc)wqLgl?0WBpo|mEP##K=h4o{ENm?1?DpH=Za1N+O7-eYZ zKj92!?7Q0=u)f8rsG`R-MFu8MOj7CgR|WUjPSCJd4jfA_D9Dt%<0b(nVu|&3j3LF6 zrVV~U$x*ktMu)Jvb2ES`Zp%kB3=KKK0&{H@8MznO2cm~n)Kaz$Gpxzeq%5k`D1$tQ zCqSEG64gw(6xcO%Ofzh3)R6R-IgAnw(*BxE5JG@)*Xrk{N}O?qW!F}-s(p!7uZ5g^ z;JqahRV}y7NY&n)QP)QP)-}rDYps7OZF?HBQ7_!oK-q2!eQq8f%*+@yGepBUBx_)u zM55F%k>^OX*2KI|4M6tfR9G^p$dpTeAzO7t-VhFvqNG`rUF&pSc^4ioM{{AGABz}c zQ=^k#>{Lu1SA5XbRmZ$qXkiz5#?Y`moB7=_M=r(1DO36}Yp@8wZOC?rtW(fGZTeXj ziyV^uMyD$)O6$+Skn@oQ5IC{q!08WYJV`Ie>F_ZhD=+;?@=-HPK;&n%*ZlQ4+6+FJQOq2OLxSP3+ z7@FI7WcGTiaasJujS@w>Pg9v;Z_yoPV7smh{z>le*IAGb;kj* z!ptj(u4Iy-#gxL3k@3m;;He$Pj*#KPNzQ%P8{sZ{c;#oeTbRUo5rxh(MqXRD2Ozc!=2dM@o?uM`_aoCd z$yKD)?4uV!mBHnENHgX2oN7Pm3)8QqZ=$#n#Gt0AG|mM_k1FI(v~I2M@P9XO*WKn> zDqjW;<15DhHv#bfgmUr*j!q_ye-GnSt&}!JQFx!k@6<;JSFxj*G`KenuT8883SGnwDorhX_>b-r+0VOYV{S5>_aJxH4}b2BX|cl|1$|A6P2 zQ(GS8uVsU4)JEnI!wf)wqEdK_063-_i?`MY)ebPypj6QV=VTN}HEUb=5g5N(-Dm044+7f=I7~A4}4A#!<8V(J!A?**NF-}~51hn1DH?wq{CO>XPL*^j28$6ZTYZKB9 z-=M9e;RRjN5O|Dm$4#ErG_uPQ%w?$|-N7&bwX!dw8S{a4t^*tKjOoyy0nK5((C761 zA~kr#oMLlY109w4I?2n{j!PdrYpqwhY2&IMn|5y1y)g%#3={}B+$^u<&)_y`PnTlM zyn(&0t}Nf8^V{2Y%wv^@8t|H~F8KG@8{shCsJ~=w zQpAzEle2p|sPJ71(try13@7)|at5Lp4YijJlZ8SSPZ{m5$ta~uSbd=wSZ8JN#VfP@ ziUhn$57=?j)HVpm!>F*L^H}q* zhXcl8Es+7M^k|5*aWIstbpy8pIvQx_Vr;*~Qwu`t4y}l8x!wgQR&!F#<|7KfZ+|wr zl7y?#y6C{Dsyi#ZRSC zhFt1kqyYen=TC|ol6RSTcdWZHrQ0m^Q5&#Jjby%1vKp^v>Hh6LALa1qCema!zK?vN@Lja34Rs^Z(sy=}QBU&AzOb z+n3e){%^Tu%63*JwicfMYOSA4#4m0-G^t`(uv^NwkXTTlv=IoJjwNXywZ99^AyDo zwABZK3o>SoF|`jGiXqG2|?6jx|v3 z5KF*@s`{1i0}B){Xy>P4LhHp^(OJ^)x+Z>ILuf0;OohFzzKUlceQ?2c=ee7a0y<$U zH_ruS=P>~ z9n7%7V?VZx9$)nR=yu_DKK^vJm%nIh>OQfuqXTo8>s*l55^=ZZObs%>Ju0&j{PfPEXzH|q4w$XqcE(KHtW{473ZaAg_&)1HOoeHJm;$rL6& z=;=v8s_SJZKG3oGXtMzgit?E!LLkv)ihES?#C{Qfwfz2oBLzQ3%q><2;c$AbRXgSV zX0DOt2oCTTA7vk8eUaJc;ww2ZbFPKoqhh)*Ce9J%BcCiJPa<}j?e|rnBkh2%=r>3{ z%ay`mkjn!jcqQv0K;ZmCf6GnDkM0|yx&Xalhp|op;2o{dIg(lrOwC&xUSF^$%;IN% z=BBeYh8}#-!65Cp*pAz%dhQ zIZBIcS*?UliR;l?xd$sao`0Ai2V!AD2g6=}V(;DhN$bqX>MMl5l`}C523^X2grgJx zv1WH7MO)k07^j8H%$*>&<_*n5#KId}2@ie}vXccd3uXt5Cvk3~?DL&7VTjSGu}L=* zrnOxY8{YI(nWH>$3M&&!QcJ9nS&A&%5PrPWevKm-zSg0jl*xULM&d%ycs)O6DCiS4 zVPoP6;s${H+|8F7aH&q3ncbS$|7kW=)tJ>w#w%OwMTq_Q>nAd;Q2L^-U!%mcigg$2 ztw2dXXQkXhSCbadAlk$-WYD@O46N|}62KcGC((#q`LRB3fwz2Y|G$-f4$8_9n!$j8 zKmkBNg8$an{`$~=)ntSWtgY1?4eagzqg+v3Pnlr*NsM<$F@QcXO_>e9Fk^iyxv} z`8Ao%`Fhbf`{d)5H7#hOeCTnU3yjO6Y7-?y&<`)f}cX^&Gx>q zS%Y`Xw{HcsQgRs`g|yJ-h8W7X^CH9AR5N0%#~n@eSURV);-!@5nTV{atV)^@XiEo$ zg(8bB9_otAm^xG_#=QQfq2D_X@r6MiBhCByh)8#-BrE&BsSNxGz(;UE2*cbts`Cnnkv3;~CKV3R2@DLt;U;{4q!8KSxHC1U}BfJ&i=FXaJZ0<0K zJyS(BEq}Y=uLJQrl4H2JI>C|in;FJqvJk(X@)C}m5PwPkxS$_G8RHl_hgNBi&??+V zZn#tUJWB|fgsHBXIb3Hy8P01T9KcBUyY>(T{kVJyOhgk2CZ)&lQI8Q3Qk%HP@>t)Z zY6$`7NO3q+ak;WPr3Gi`m8CwlG~7u5(1J3xYH@TprEx@5Myt<+noHmfa1I({&?G=$ zFxh!Ay`;G|h zJJEA=V5NM$(K3NfP1B9G?um&+G53I4tAam(d+~=gTdu@(%&3_e88dP6(nKG?WzZu= zd11;zf_A~QQjVNnN4(9HHT9s_5c#IvnT#)!z(h-G<%hd9Np8lZZ0x9#l9SSnGY#^j ztZ6w@=pAQdD|3apV`Uo;{kevPZVG4gTVS!QRL8(;?7S5nrE@%h^mA5XSc5v$2tSFm zl3+m3gG+wo-SnfhdOos~D#dCC+P+yHcwP4=w>sr1LYnhLGMcTdIGCB{WpYEggsDOr zJM+gbBgX)^?_7!l=WS`y3~aAz3V^xb_y~1_3u+SvtS01?OYs@ zrVUPI{wi6ur;T@O6M4)mLau_c?JPyVsq2PiZOdmf@JI6;HtHZxBns|0~8$COO*ebe~IYpAE$UTeDk>x@x&jbLvA= zu2Gv6VW(J?U$orCvIcUPpDw=FThAH~Y{# zc(N@$;ebdiMDFAxkFGl8?jyo2%z}-GNV&Mw8F-gcvy5kr)_wlc9DL2Pyl7l&R(dYF z=N0`G>=3xa(XH$O2I0Yd{6uXy%z3|WB^5@XvH{{P#AW?6BQE7ud$t`RU=cX^quDnO9|v^=3Sn0;CSlI{^cNPNv?fUj zdVHR3FtjEexrJdJYVCS%10tPx#$M<6$P@AVyYc(`8~xwoh{(2|WGP>u(D4Ndn*V=5 z;h)q0BudVXE=JBSjuxJd%8mxMPNsH_Hva(@HL6x>$YL12p_^n5s3PBmnq_DwL*Cgv*j>XjqTwY=nOF?fvk7fqAQZ#Hn$V-JE@wu#wwzBmV{*fyVP* z&)xXD=V_Ap?sYfL@0&dmzp#9mCoC)%*8EWYJ63Q1AzG``O+>rZKs-PusMKac3GlGZ z%WM#gu!1oE1B`31>1@cUbn4Z~VROpSh|v~+(w;of+}+k{F4coTujxC}ba;m3A&Iyc zxxz`Rvm4)Iwc}W(W9y|cN(-4rD9jbzWzXwKQNnXuVlk{#N{*~m4?B(3a=sRT7HVVV zmsBlb+U6`SZ7fx_9N*5QxA)K&qp;nryE#<;UcBECfFtD&q5pEWe zUEy-YbA+iM85~uMZe+2Rc)aIqZBRBK%hix=ojD6ogzo?w=7Q5d-`r2*sfbdJF;H^Q zl+vV-yJ#$vDANxUfo6I74YzI&W3U!D4_zqM#@-`BQh-~|QA<%BqNA$2CS&!`U1ksp z7Ye|1QEd>PS&ZSW@z}9NXO%N=Z>gdD&e5qKZiwI?UgRS=ag2k&|+FUx5>VoNXs>ai*(&T5Evz z$sDxkn|d*ZtgYeoa^lZgwSp7De6zs)Dbojl7n+LF0-*L3OUwrdI*F^4VOsvg7*o`W zXqB+d!mYT9N6zH4F_G?le<#hg{&<`7I~H{kduiC_dZ*A9_l zWtuFgf`W6}{!L@hMBmV4YBd(_-HM8W1sb?ckmALPQl1Fl4y>8*dxWa8MHwD`y4p}2 z`Xv(uGod8f48v8q0Lwtx0XLCx=mX}wJXF#zRg?V8tTCYR(#on$UAxxk+_NaCTY%YG z#h-B`%7pFnQ~11ZC=@75c2i)GN)Mh$DfTxO5e8)FHfv@Dzq|y|;XqPREIBKUEu46z zisHA#SYitj4+rV7uB4mHtZM;K`~zZGe2B7sazIYXp;r(?4UYSnKgK>d?w_NHxD-wr z=G5d^M{XmiI_6`JJKvi#Ol@Kelm_tE3*>+@#bJcjYRZmj62a%_0;?9$H#MWmBtxBQ zYE`UGX-GYJkT`oPAu_TYBu;((x!Ls=dzA<<10k=={grFj!4Fsy!9h2`EPqZ4S;J5? z#y0Nx>3xT|oS3~|@dFa>hKoDQL(>9SGDVsNdRYos@=lok6Urp2Cp+Z<+th*#B@ zc1g-UE)EeLk}0~tlTzXOQvvUQD%W)rg^erI)<}jvy2&%Fmt62mVS$)?!2UPgj+hzq z)4hTobD<{2jeAI5=lihVMRmU!b-@|CuwZw)?`9Wpok1t?_8v${=oe=V2r7Ap*7eqP z8sNAh=@#bs0wkK*DC%A*mF2G)J2oGT@MRZGs6}>U=T=E#k<79e?9+)jfnh+XI%q`f zv8LV8e-lb4I@nJsywDZEf-|8I4y(oTu0bX0Tc!!=dKeB4v8JeE-xaqCTteToROSd} zX31-h8~3^7v}ter7CzJqH#dJr9`wtntJpX8YFEVLBvkvwlD`D(mCE4xhj4~|ADGri z3Zsnloq6XCYJ*oLclp+a98>SCBOuFCr;k=;g{w;rC$IA96H(n!(J&Ct;8OVUr!(*i{vp_iN!3QsCVMKa&rS;ss?!`??bZ{xQAQz&~9n68En z|2SLx)h##o)mKLM@9o3g#`+S=!fuQ0(aRUi=txLQJu%KX!Ci$=X;k8Jqawi}PzO|? zFM)%2BatG0DVkj1$s>pN`jwjMIrHR z;o~#J%AXM7VuE?OjTllBk+ilVZUU#Uc7N^{cglD_RY|xJw@`l45UzU-fXTwq;i3B$h+@_zPt@j?Z8O5uVu zvbzgJiLg{fk`NorU6tPfpOA1_Rh&0-iHC=C(w2}0%Yy{_a%6So5!7!79`Zm)nlt6( z%GTKv`U!LP5DJ16t!pM?fQEGkrmB=a)L1}ereWU9R|qQ;L>~aei=t;Zep<1Z;Uol0 zinNy!BG9s^=rN+-x4}^7icClja0wUD+mtcLpJ-lU#z+u`Gcbk3@xqUzxch&aNXGMu z=2H*MQ^z=fFY)F+Tw-+1}zK8O# zu)N8;nKaN^!4z-rPsLQ@Z!)uJ7#8B%>JL>#>H9m;lho$`&u;8vhXVoPg+FIE<5_1B zWj{v2EYSuy$o2-Q|3q&>m_28dIt#dm#42$OcAD>P%_PCTun1BKi_qBzpp%e?G&v7z ziYJPhmDv%huMHOkSg$4g`zu!Vs#GD2kMCBT#7h%;O;;8K%*nID0v2Z{A4l?An8{X)% zmI-dAf$NmzqHOjVy+;DLSB1rQMi7*6y3If(@x%k4wtFqb5wV@4ku_HUuyRu($*P`~ z@Zro?iF)-*BpOx#dKD_Tl=*}srinYtfcI6>_ez;eh#ylcx4g=!?5?97KgouNVFue* zr1TnlsVVNczsFFyW{>GjpfV;gjq(^(C2-`!&4=*f&Q~&|f9AoRzjrBA% zNGFrB2mS_k%kxH&k)L?eY^6EI>|YsEVf(&B@ubuZ|EDR@pSja z%I?L~k@NjBu8NP>DiW?4!*DL}G;#q+p)+*m9BM#>sY^a;ZYiPWU@NUF<;Lc-WQWkx zN?>0M#?$OYKtrY56!M=}hb5~-EsAku)AlJL!_%o^3z2Zp^4Dswls{J8Bu{sE^m;4JdIfamL_ zUH6sW5WxA~BnV!lD42b^cD!p$rr^K?p|>$34e{~8%(~PbS7MH6rgE_2cjd}G z4VX#I*OO1NB_Z@u2TD_A5T(gx_I2t9N=9W=CYW9b>5sr7Y5+DHwd_$h%*Zw7T6x0k z#Ab5b*#$3$8`Rpt7G!k>!7Plykn3?~mblyN1(y#@&u9Psg6~ji)pgv+fBosoZ#KXq zdzN@FU1~bvG$-z+g+C{F-tEHtss1a6!5se8T)!#JIJQb!Rtjm6lQj=QR$2~0LKo3y zUFN$ET#y4A_Kco@wK?+a@c8l&x6d6_TY49#j|)@xExm3t35)gW_=~1T{hzQK0q(b! zm94wH*!85XM0GWFojkji*8;+b`s6(?-Mg)9yrDiCjG53-rA~dzQ=*5uTv%|9IRtnO zd$#S|6g0|x<;0=PUY*af-4!HqnjNm1%8I*g-Sidj%R|$7*38(xw3kUl4-knNA8nTv ze#chmHa#xx4pk}15hk<7kG4ahIHcX9Hf2`~-Qxx(BgFSd>(?AXGUm{Ns%%RiFGQfDh*Mia@nN;URrg@h6T$tx-F-ATT#L|lxiS{#3bej!_vgkiEs^S_f$RVfa#fSY}O*5_WJY@1A?0!oPis z^<_29tG&YvLN7fCRHAL3d13{Od>4yY&O6lNS`pA9`u&PmbtC6Q8g6E!e2)Q~PhUCE zD_j1lgmE9+*+$-qZSS@@_q@1!9bW#rjKEPZ-HCPB#31SLN+V$M*Z zHqf*oV^kAL>XhlyQ@cs~uCNOjT)I$WBFX=rx(6a2$Cm5}9zSv5{G zbKyTVz;?*)B{W$161yUBDqVsiXWdd(BtquJn`DXcq^?62~pS)YSYT#528RID8JX1T!lxn)5eK3Fm~X zG7mB2Y#(~^!&%|nuh2PCl;{s5+_Cmp*PMVDMrXJ1{fmdgm-i^T76?%0e`J7DeH9bs^{~<2%~&A#$V_(A;Q_M6T9!%lTitdkNlNW10b%qpj6iTR)q9B zIV?PtsIr{@bY6|KY2RaZis_@FlSbpk+}v84dg((B<>dHk-&0WZ4DfV~U1TNN!cBSt zr#l1F!tXyb;R4Isv%gJb%ZuGUnND1PDz|inQdxX-$E?%r)&F@z=6yl`e-9P@8WQ<0 z*ZQBQW1zk~bQI{mHx{7Y$8#4w6JhU@&qSe{JWt2xg@R+HmZ>ZiaS%tTEN?uTD7f!x*HQM{!Bm&??owj(8;UEqtSC69w<;6U zwfoQG60`s?#V9Zo3=GV4OalLm090`%#(Ktj5DPSLID&Dok?8M`pujl)!$wfCu zopq9v_4|171?VGVgR@MXif5#YWZFOF-1SEg(I-Cq3_yt+nBz2mSZh2Uv(;$d(wFP< zwP*$2MX$XF&Wlggp{Lp=oVN&Q-p?#whb@8=o{zHc7e>eMCGzggoI)(TZAr{<(&NWDfI3jCHgQ zEk=3nv$0n0{aRJUd%cLZ#iU4m-k1Y%e&XsE1H56=X4Zc8*v@qSL5mLTk`$K#N#9fu z^dz>@=n0E~M5x+P#no9V%9rKT7|eme$GM3J%5Jc1Jr*c;3!y>;15gXDWCviB~?K$cVKiSLAA z%!2SRzyn`1Q>p+d6)|4H$2^t;2d67J+^wkAOKsG54~0`T7q>VGCmFs!brKNqNLrlM zy-}Y*vhyEtUG2lE_13BNb8Em1H~WFL*f+V=hmh)4|KJ<>OGvc^nDDU}!#)DmkL28c z2inzJg{8kcM*j90VfRDfIAZS1Qa4DMiqaD5KsUXX(e2}L?y0?17~;o^LL}#It&iN) zaB*vxf?i=dF8%1dUia)$^?;QwWdHalYyOuqEu|~hMtuzckU{_f5&bX9^bcbdqhck8 zEr!Co%2DlrW}gizl$j_-*$iut6@MSF*t8~rg=Hiz9*?u})hZ#*rsKM8qQlBx@);-z zn;N+U|Gt*D1aI?us@A5QvGO}Jx7$^=)0NSP-^csrZy?)44=gAErg$btkb&UOm}dp` z+G|}6t4+INT%^$7T)D_Q#DHU%EMjqkq3;_*8tK846Fzpc>o7I9oAPuJ0q$B3>kV`R ztHFp`K3;}uNDa$)_o5gaJ5`Cm*vyQv(xWb;4(qHxRM_H4k3PH#w;Z=Z0Sg>q1t@e# z(Ke>rFSZgIj$~wv!=56Il-=O_qCI&Hb7ql@QqTvy$Z0oxgs3m`Wcz|WpOCM*{VE`< z(%PdCqlqh=Y&3r6P;PPdH|60JB_#teAowHWjX1q&9jJBd(3pae+bpKn2~?7~_GG;( zbkb0j!G zmVBhgUE(VZ%Y$Dbm3HD)4Q$^8>8$IoLh!FQU~=`C`FFl~%Pl9!&g9HVRZ;{Shb(@_ zsN>45Zgy=oxt6x>?AZ6wYRe+BU*cjT8(f8R8@@lwFz7v9h<@3cNZFaD0N7ew6%k(! zA{1d4)c5M4PQyLK7TFFz^dsafIgYL)`gso8fwg#-k2}3fqAzjU)}qcP1++-U+B(X+ zVYnlq8`!VIS|ixL@BXZMp0chwxKZJrkF|Q6Ao>0rI9lx4^1LrqDJC|HL)~+9L#?~K ztTlG${sWe3raMR>+b?WhZ!NixDNchA$W`Xn64WHRV1U@3m20Hx)&Ik@kEOU5C86*n zjI>l^#frc!-06XB#*7|EzwntFkPByT(JRGXz1_2df~ZYbO2A|61^SdYj?5!R8Qu;e z{TY2DG_~ZxxiNCVN7+XR%Tel5>wvU^`6~iEHyqBbS?&x45${YX`EVB18`-72D9ZRR!fGy;!mja=Kjw!BQ4d7T4rMX3k5)AC43ju<3XvhQ z_A1J}GY4S5y(hWp6+%wQyiz~$8l_3QS5kDjiF}YE{MJJJHWa~YuldKmpV8-RR^q9x z$Ndfvv5bvyh#Q zy@j=jh`W)A{eSr$Au5}Wi>fF(qq0P!6zCA*42&_rEX^hmX{l(E=9CJMAzb^3`lYZu z6fH=gEk_B)8}~sQtInmY%$L&m9(zSx7qqz6VPj;>D+#fwD<;2bk1szz-yrs&bEAm^ ziUSc*i!hMqbkpmkcU#}{tsYH$*J_FLS>OSUms-GO)X{Y8(q_F~ z?^{lOjBeN~(9EUE(Ztj0lTXt=12gvqt-!Ock7^5`$|}y=VYX_VG#y#>f1_83J@GLz)$`5$x;-wmw8?rn49J42lv=TF^t|^tlq{If?e17;( zd}F3O1-7KM&TTQ{c0r;y(C8;cHKBX(t{cv>t-or?@zjG|d{wPSWQ{qabIPO#y~n7# zQ7M{J11)v+ZoOQlnZD&&^%BMFF@;wHL-V|CHgD;=eI+!qhTeso+L)nkG+1rc465JA zJ!hTX>mXye)XKGCt4uvf+8%XV1s&oIfEsjp>vImQTsPM$3jY9|MjcMD$(|rXlA-vd<5AGZGja*v@V~N5SfzrNYx3Z6lg&Fy3 z@Ty|F7pSZ^Vxzn}HljM;#}TGG_~SH)S8%oiUFNv`({yUI^%99$KOxjF)085ju`L!A zax1?Iw5J5$hjP&AWoSN=>_Wy{E?mp`0pt=!llest;pMmd5Wf8L8v}_}$)P%A8&FWJ zCFls2?P7;4KN!@q{HclF5q*krw?s8mPX+oX*~Xx}FDuH)C6b0F+#gfo^rOQ@?t)wb zqol-YBwaDI6n60&$8tCOLNkX%)j4V@I~t8HwmwUwK=!jJnhbo&EX?j_ETs#Tc@c=R zytj2$o*+c79iqW1i#;M* zTQ@fX}@s~w#!d_^qVUxk0XzuSnv`s)5O9Qy~sw|Dww!iVuM8XQl ztQtKwXBZO4bOMw2i`hBOWI{89Pdwaib)~-sloC!x6>P`bVz>d_ zu`VNcGTIaF@K8{Z(Ikq1ARDz|2JMv`oo>_R%fcSzuh|rCQ~8c4W*V2p>J{8o6@;lV zaUqja?yzBoW!%9f+=mBST~Pk`n|L!Kh3iz;YN>Qm6`PcO)ZttOHr6s*WY4De<;L-0 zfDnOM%BeGhUHXgaySrYip2aI_gYd1YLKO7~6~4R?^q3P}}nMC-PN#%#JW ztE3cy)ItAx1NJh)OApz45PebH2}oLT^||jloDcu^_so;>IG^+~Rl}|v^Y?TbJM+hR z9Ld}-*LjyPXKp4A3=6^>JeSBH5IA-Kbt$TC*I)|tV*>i#tm$W?RfgRy?SeQzV8f|} zvj93i5pkFDMJ{+U5b~h@{HTr4T$^IN$iO`|nf#e}e7_+%53-k6gru5{Asf2v56?#5 zgLrl*c&RQ~uRx~l-qk8wqRr3`V(|kyd1iDl`g&nwhY8mVRlcJ!EP_dBA1nE8nh&)B z=gwd^;hPV9Qih#(yqicjAI7-!Lw5U59FwRDF?U}Mx2zvOZE9iaV*VRqvg$y}XMROd zf4&eC<6m!sjDh`sxV$<_*eV#lvV4#d>@2V-&?#|+HU`L$%1zA#k@{eunk6#0zffn$3Fbp7`uMdCac& ze!joM10lQ9hXMs61_OfUiR?``HyW8tX2;Eb)-0?vG*izp9k<1@(<0zt&4|uNnu9We zl<7l~l=xH}C3j6(=Ys4StWs^%lF$8EYU9Ba!j=__XRrsCz*Wd{pAaW#u<)W@iIoX1 zFbGK)*Saz_U8d%`B16=iH`t@$8n9RfA=g3*<8Mo!t|(P}ji0ZZyuT0%{L= zE01|DijRr#jB7N@YSVSb>Waf31`&YejzizU5xvq};-1YInxSH2X z&UIr+PhsdkE@}#Pc82{ft2Es#1YP{4>-`33s6dwN!j7at$Ki@XG zaC3&7vXbflKa9O&kS(J$GVaBEJ0l zMP%-sYcIU-lU6rZWLT82cTJT*dr<;w+UTcN$@PO!C-=*Jfb?H~`_rwMNU1;D2J5e^ zQI~Dig}XhJq9-b*i!I%c2vc;`E!eb+vxyVT=Oe1n#)mS!2jYf8RSU6_np=CbVQQg) zPWvR?Fo9H;Hkfs|irAtZqffAJR+j3}cOgR4Mi7c$VdFl=ed1rxniz)gPs=KA%liQk zi<$eGs(_UPm5>9?gJ#b(l@Sfxr1KnBcAcY~q4~dkSs0xI-O^VO*Ke|Shfsz$CiTVj z;a-=OCs`(UVNn}k8*o5TJW51<4G{w1Fs>#UTG~EV?d|AIH$bj9N@S9WxfjzRzxZ{S&UuJ z+2%-W7JP$??HfAnAtQY^24CtW{l_nt#54SvXYDT%vk@$a243C>X#^aV$^}=Aa%5Ur zW3|4vsFzBCje`@dA4ISTRo z-jmRM==qO$Io+ketD4{|Q$cEau|!C!idu#)mC%2)l#0k)d#X%fm|K_fOSz(AOE1SO zPM^iaI|WO0@|#Lsp+`EhJm^ zaff&)c=tH?L_iN+nDPH8*7VOXb8<$yo>8gGFgbTC+<2{?W~RpN=xKyOSf5x+4F}K-&1~lgwX*fWBgdkn|$R9DPtIE~WsH~z?Awmdy zUltFMiPP*3#|8^6d)Rrw6y~YXA|mH!=hcQJ+0^62<|NFlv=e951)P zX3N^Zid1S>QA8{O#S($8GBFZ=y3?6|v%{H1;UfVt#LO9GOsvbOpG+i+#Vc}!A{I$+ zrAX~PUC`D*SruO?f864fJOyrkfQVr>s!we0MNUrSKyDH=c1VNaD3KwATgg^)B*-+c zG>_J_>SSP@DCRn2K!j3tmLNBXyfr}&rT`V;TkV+U*@CBzr*@7&9Qz<&e$OJvIkFLBZD z-tKho;N0QO(FLHf*W(wQ^0g_52Fv3{t?8E)dcWL>DzR5W!ct{OI%3W{_Q(r^O$DRE z&Zvdd7N&(#PyD9aJJd-`@TK(69=65t=))T3BWJd5oHe>Q&&Hi2t=* zrnRG-e7Z%UmqwxkI=_-$hE+vdN5h%MSag)H`~W=3qSL*TLR)pI7I0qTo?gbR;tvEy zkZ@fxIJDvjp6GhT9F>i?N1A8es8V$4{?C1dCuNy%hzSJq(=`P1616%$05R8+|kYZ~Ulg1_?F~$FbVZ^Ut86mk;-n2}y ztYJ~LsIdWnBzG=?s?njQX?f+)v9+;X^whjUW25x$^TW>W$dCr|zWL5I$?iD)^Y7=Q zYv=t3S=ZyI%rx|r>$@$6X};@_o-F1*jiMUL7QRHGPN`jA9Nk8R7)e{|4cg#N&4XZJ zb^RCz80%s=EEOmKYHUOa>-voTV6Hi=eKgmAHfi*{fKG9k z$tmbS6I-QO*H~m;%ENlAT>yfXu{4u{?(aP2ML10ivEtdWkb$NxJhE*(U=o<}97b`c zn5gPLRYs?>o)9El>9v0D|tGfMAmw%vSW33#lj zqm~#!`O7?20M;p0F~dq~Bi4}8d_tu2$b8+^ae5Xv30~y(CYKQg8~hwQSQhj}f@?*Z z4Xi8hf!T%t+K2U-5mk4SyjYsy>>Cq$@aY+7b6eBY8jA(ad!fxK(VSB^e^jGy8C(46 zwRn2jV!Tid*`)M74>WAMTxKrAym4@X^cHuR(RySxlxTBMOFDU4&uH#YzmojoCB%zM zQ4qRc>te2PBMw3y>_Q|Cf+IkD7$uBFeAt_K183b93bc-eTmzkAtc=><(N>iJm3ay- zrjALQRfxrC>|M#Wxq3I-mNb|W!!S2P#HwNz+A4Z8>Z$+^c2WAMbC?nhByq-o3dKK`s7(DnaFxu7`( z3W51L46x_9RRIEnn81O1W+*@oh@IjfDCo1wQbG4F$(>22+F;JekJO<>!Y@McWflmo z($9{@h<^hr>fVpF$}JKZ$fUa<St!)#FGk zHuYwsoRCBPu_XKBWRMG|Cz~v$PnS*&!L|q=U?;4p5%2d|0(fX5l6LuxGR)GXv@C~@ zmTHBlY062NxRI#V# z5-W)ci;Q#!6RW6bjK{y+L2tMSLrlhQyY`G*wJy$#`v({5sKTIKG12pkNT@Rmpwp>u z&PebxVl>?QMYeQNGn1OI|H7OzWLDkJggdg^k7%xigV0+%{KAh8GQhkebo|lPy+IYf zFw^?cfFry@$WLR6KI>X}FI&nhcL2F2ZgevkzRqM8e3&JdI~PSq%t~HAUtm3i@7?&R zjD-~ezhcWgx_bn@A1ao6b+I8w4#FCDB8TUl^FLx>JfeJHUL*h-G%AUfjgR5jusx~f zW>G|wh7=h$x5yNH3}$7|Od(D!I6J2r3mgEXl7ZM2>qcLFQ+!NM4AUA~TM7n1 z@K&_&zmmTtxo�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

@Vc@O;BbGU`iAB}*$7|Ei2W3 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%0A$~~0_)i%TlWWg0MLe+r~IjJQ42zEdEhRj1$1YD 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%0Dkg_z|z_*;RGCf(5p!F7Dy(}H3+?(CovvBXD7 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

XD!ldmt3jt*!-xqz6R!%Et-OvW4U0G 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

r_>^># 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�Yln5#^nx*`rJx)x6rcouR&H7_z< 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%0AIVF&=jum(`1H**oBQ1^{NK3 z*56KX;*b^)W^RIPzI~l!h_;32_>9ceyNMyfUfZ*?h50gq8h~D=#qp;LKa8K|nr}sq zeTcBGv@3LzC;sFIn1Tp@syntbn{-&<`aNBK*b?6U%Vh1Bb-2bi#QgE?yzpNi#P6qt zzKg!2qq(CKt%I|Tlex7qEy%x^diA@P9lZXkumSN+e`#=VbQJ zi>`Ovw_O7ta>(DY;(GI@W}WkHC>kc{#<}GElHbS?G)V!R3r0doW40kzs0lJpcUs%WDW?za$aa(71xbtzxJjxU^EEt*#+B) z1$>g9IJtV9Ie~;Lsz)6ITd*QOd7v!JRf%ApmV1Ad8qwPYMosh*A}I&qmd}V!Ws*g5 z`;a^2kXObyUAJdgd%#v7*!ZM!1qhJlWsful@n8m`uLp ztXRG-eO)1iFQzvzMjglvSj`TQtD|TRVO~QoE!lh|6)Qb#CBcD3lGKz=>CS%r*HxUc zL`&mo>^;A(1aSD>8lG`iqm>_3^(A1loAD&e^Z4@5o97#J-%qRe(f+%*6FYgmG+u<0 z-w?sqV4`1Q5jKvq2n2%qqUOdf7+Dt8NBN_52JwJ=%nba9X8BSEGwjg7+GK8blXo62 zHXeyxTwHrDk#v21;6NeIdAdnu%c+gK+zrwO!n|o-AJb;VLJrX;$sDEa?R35A#LFd}Nc5SP4=h23`}i>ghR(9sBoHq@6nTM;!!U@GU*;lh>$ z{^#CYG9rzx$9Eodd>1J0|5%_x#*T(W^#4o*XL)H!03W>f#`5rRS@XI^FAA~-Lg4Py ze4sLan1|U}{|1Zp2DLrN+pX)F@K7LcA0F|v2)~t~o+*p%P9`ho$3KizcF{RW7)CKi z)zbuW^11fmHlN!tSF`o;-FEJ@ujvo56voQN;;NTANlN7D^fc1^hw5%C*`K^+?S}NY z>}XM0U15^ft+&$kveME3UH%2ZU`gl|83-W^QJ45C@m*-o=@466gy52#lGo18!sm4< zDlr5r_a9DNH)6y!2Ol{Q99<^}3KBK5NB)a{dG%;8$K&*u-eyuMXuj+_&Z2{`5VXuD z{P*Rt< zkRvp4aUc`4m?vPI(n?0^AizX6HIg$%U-tTO&yfTYN4$Y<3Z@r4N%MhCBssp54-c)W zqQ@HUuNSqsiR_;TJusS#44q9=LRz9&itCJs1lTBSmKY;?(zO5X`H$Bs=>jkZ+_whm z&i^H!@_(xLA5r^f%%WAT-M%Lbd`LUTE@?o5#DM+fPywP1`~~;&8TiDI{PQ%R;$bAK z14fKQ-_2OI&PXBo%HVhZB8_5HN+^oxmg2!;B65h;ST)Ouhey-DkFvh+m9ihHDLtkp zjF&bovDXiio18D(j?mtdzaW=G0 zEmJGfuNNvFWB{K6gs}Ar0aogg1j>Wv42Bbj&a`nmOJcR7hLptT9LB0(1 ze59|Wp!biVU@7Y*{Fg6wuMt}>`4lCo1t`v$s)o7Q-R-&L=r|J^s0eei{!BOTN3ld? zc)-5w^9Ycn3B*x4f;N_rb)#M=eFJ15T~#_(TNEVwz9yIRz`;*G7kJJD6{hW-)d%0j zX*yG^_YgI6xw-pf zIt*^u@JGON#V!THW=%fq&hN^{d;-Gh$*l)s+>LMji+Ew|DHcbg}-$B+zK`5B!Ls#B}2 z3T6AIHLi7ctFlD~RBH_aP?Qdeg6pON@;Y+a5tLN^ zVFwiydIR9K3=&wPNa9-s7_wYL(jo*B!KO2x19>XGOVktUI@tCJr}eU!J0)UNj+xL- zY2=g!R*_Ifz1}Hdz$y-!TsCSgP=x-*Rd>I2P$G9zBjG$F56^#s-E0(|An4_~iuU*p z$9uFuZS2p2CdFP77kZ_x1}4Ay*-okZ!QDBw_=_7q~k@p!wKQ^GmCz~sEhcjqWy+R&G8NQiM!p_-E zu`NsO|EZrPVu`UY9$97$rLKcLa*NYn%Q>2m(CVvQ)j2#6mVcv)TH_Ax3`hFb#$lHR z6=n%QGe+5XVwz<`?TMh?Qk~o6_OCXsK5(NOEWObbs<%1y|)KB%T~4{#;K{&jm}Ivs8B6)gE>O*NKJ2QNz5CD(q}J z#+gJ7GyWjS+krsP&Rt;)_x~KdG);2W@gY=?SC4>PAu8nIHMC85{?)O^mI5i-T)jcq z0dUS8&~@G7wB{fwx!`)?wC_H6BuJnij)Iv_IOCu$vb&rf5cmXF4Lh;`Ph`BO_e8UP zM%ha6gr!e}9k)lIaX5>|5k%Dkv(D`6PHoVDbxsOhET zuBnOHoQu+$F4}OOM(V)bTv9NyGDT{?n0};qNO}89vg-rmB_v@yfjD_PW;}s2KITC- zE{*n>nAnf-Qh@Hx^P9GkKrSB11?YQa?^T=vevy*e?m|Z5jDv53DP@)haN~filMI*K2=6= zKi1EFw4dc*FVoIes+FZkGfj?mk`(DUK19wv(({O2iMMbroVnEq@|R!@dFgBGxBwA_ zJEEXWjq;k!>rWE7r+dcCI3&mJ!K>I3xNX@c>@ZDf~vgJjf{1hSe2O$lRh!*ho zsL^hI$;|4*{P=oQ3Ym%#0$*c&?Wn{wMOmvG4pp^|9W;>1AxnT<_9PuM_oihUt5wbc z$!I8Vd#JkhF=*CBdr(Cs+X&-cx1`(yT(iY*jsESEmI&Sh+UKYN&$6$N|CkKl-tM;7 z`@a44e9Q#Ruozk+8ok8kl}uP zKWZk-LP;sTPl^uF+~Bv3VAK)__&(x?TyllS)4B4~$H)YhpSM+en!o`6ydac$h*s*3 zBk!*M2(PWP@CIEGoH5xHf?$DCj}zTg9XmMlqJ3Xs8HtUIGH(~poQ63XjS03Jt_l4} z9k-9R}SZ3Gr8tv9m+v&a{YC)baJ78KIw+6+JeQiss4FK4)u<*{l3He-?Yl={_or zppoAWG2WDne>@|nMj9>HJAg$RbrbxMR3pjFzdSE{`w`xD+&$1+H25{=&c2KnzGb>Zqke)c;m$lnqApFyg)jg9gDZjgOTh<)3bAP3J_FM!VL*8d>H za_WQDlu!M}r}CVB9i08ZqTz(>GCP%u#lO7$c#!wk>kK4M-m$$`I8JU3Ap4L^$URO; z!@k#lNhT%Q6AKcK6|L?SP-5VDEep32W_x{CN!swWJj<+|FM_V37Mc-jhsh+vRHj0I zOEFq6c2qhV?-=XYJ0vp)SGCMr-25FF^*&3n%lvxS35e@q&Zb_BeD=be7nMEu1nTz&KjaEs)^i6m6IN*F_?q^uNj%{U`N;@^6XiXlQF^Y-DF^ zYxRGzFD&f2PzB$c&@|}(IUn#ZhZO(o{D0-R-1nFKGtZmV%=M6uFnoHZuBS~H{ox_% z$W$xRE^QzR6f)$v3e48+#Mof==`Vkc4Vaj2WedxBuBu#VS1zMkzWcp0_dj4k&y4coNp8)2fTXk}X-rABxmIemHt$g%Huc{PP$Ds=MQ&@$7rZu;!Aie2 zA)eL85NBLjr!N}aQ0-vrcs?>&9xt_`Y%O+{KB%A*C|iV2`J)UOMO&z%=OC!=7+uMv z1dXk`UD3R)V_XD%%r4SnS|1N9IHG1=ERt7{Z?8-oUcN++iv&vXfGmR^j;p9w1=6Nh zIzP3!OmReVo)$C)yj1>)kz#yul@)JYsA~}I#VI^O&!&Q(^$-U+>0YU2mPTSX3BShf z=>1@^u-dk%WqUj+H2`BsVIuZ}5$s$7(BQNM&ZytY5x1Rxz=lmLmy8aT!dGP2W*|#G zmD9H(*u%kz{S&s6G)mnpNu&^1QDg#a#6e3G$s}=daMxu23|-l=a&nTLLuODbA!qz> zDr<|SiP6Vt^r&RGp>qCnj6)`#zC!%5Xnst%TxY-{1lF_oXN($lzHBGs}S|m0;w|<(5k+CCslcR7W zE55FcUO#h;PQ$L^@V*HF=(5SNT*|eQDui*iWKRmmR6oA2NIu|Oaq5>pB*4pcfe*m0 zq>Gwhw9n1)E#Sfs&*)h#Z31~<93e$t6VNF%qCkZ-t7JFDC7rYwPDQ_=mdb*$cyzj0 z_bn){Zgwy+3i0iIw=k-#-;B&1Ys_4=UlhU2F+HO3OfVv;phdG6tCPU7qO|v0tEzvt z{uiYGnr$_FIDN8i3Z;?M66tb~zCm}04GuTrTpMCcmeTK>D&*7vEGH{atia({DteEp zczOpy>aEGsy13$KEC2i~UGSYu0V>0ch4`Pzi=&q*+Ei=$#8FNeYBFT0rZ}Sdc^T4e zN&piaO*;(c=*__p0rpPrL?%{RZQ5O1Gh3?_yP-NFXQ3Igx<5t@+A;M6UVaTHwb|bM z5ULHjERvjf%XbJ`M~@Rt@pQ7XrK0e=92^-JfRv(aOD8X6Ji`w3wW@S+D5hwr&ZyFA z0cf;yTT2Zs9m?(QndOuInjzgbj|_lTwk z4;(#y)kG=snl{JP0x~KtU#B^yQl0Kc_c1EzJGzVZNIi!^UhQjBat+Kx8ysoT2jGm; zSo#cGJp~7qZRvEZW9ezBM>-VC$4uldOcK60JF~aaI6DI_BzEis4v7WAfnbE{WJ`2{9ATaXvz-74DpOJNm)#7A%$bhuq5^K*V2 zxIKOKR22h5&yp$jZYe9W!bNst?uvuZR|NJ}>Xl09amd~|_gZ#a5~%j1?qYZK>4t12 zwuN(Mh4kgZ60%SSh}g5&aP0A9amf~?ft1SF3parpnXz=EYk&pI599`6?{VRc(Yj;4UUVkQ3<)+)*hR3nB))2C7W5Rh^`gocoRQJW? zCX^||a>a1>_-OHAW9MnBr$W?n6{~UhpAW=K?L?9OKL5lSV(^g{F}h2*@=vJ7RLAm+ zpV@;Vh^^m7<|;WWx9?5_I|n9lj>{8e;;NoZ{Ys>=%O)b$tTYEk7`h=&=XWG%H{JXI z|G8NS3e)TkV+LeNiGbluSkZZ<0u zjz)Dr?@w7i3uj^3>5j#ET67@l_Ta%{H#DiXSwK-g)|P(l@dHCi)=httXBHfZ@*L#k ztFLi+IFv-PoQ)Af%9hEKiMmk^&<*F!l{px6K|_@QG@|)SCBtU9!5Q*<5Q1051ExvC zQ1B}xmY=SV_T4lsuND3+mHmm+>OdfCs!c4U( z`=m>6t^Bb#d}7uq(<)@9C-;n~YW#xsi}1cU@zVViJ|)#92PgWt9d;COGo}XAs0RWu zWsxXli8w1-e82N|i2R(keA}WtlF^)FjN`X!gPLvQvkI zvnD3mfa)~ij3W+SP~ROe7A_nVoP@*g!z#T<{zNTk9i2Fo4l0o*E4Z&%l(Vq-L3^oj z7r8|ld{LAvElnO-N{p60{8kC=-K|yPM4H*vSN%dweP(MG0k_NVQ!!&obebyWitH*~ z+J+jbKne+`Agu}Js#xCTK=kD{Xv-h;*lffdX>^;06$T3;iVbC4iEhIJ(;d1Z9PKR+ z!pp6kjP31rae41}MLu5dC*$rivj6;{Q>I4dST=-rcOzwF>H)ZbSPiWW@`=-) zJ@VYUe*I;|r!EW*#oqa98~AVw&253n_M{~bU0Sg`S$#0tgBo0L!sw?X#BFG*`#dEJG~lkR z)R%kXUtH(#VKlk`XiE+9cCr718w%f$!QZuLw!5g_fFk{ zIgB)@MV1hN=adT9iu#eOT>e-aNY?O3cY$}sc)(UNe@X(XL+LXELg}92y-dyBo*T#B&sz`5^XV}-jjxwYR%c5&DgLgiW*R>-mEf{RR-rn-5z z7co_Gc`A=X!3p2@{-_!FZER#eV~^GE?Ws2|1vB_TG+IOKxy948F>*@X{oTHfclHx=C6Ju+oamx)P!2a{jhtB5DR@ruG-@^s?ooqe?;r?>tzFD zH8JuCgZ5qqhT;O^eUhiH=;&XOLo&m~&a-sq8AAKn{mkdmdc(NyRd&LE9+GYKX5J-( z4u>8~cXLUESty0mrx6YBqd(Vr(En-_qRtp{n?ypAq?>%9n{=g@D$t$rK&K!MG4a45 z0%Mo~jT9e^rL^%?K#5JXW@gCvSwO!wlkt8xI%}jrfI|8k|2U;cF50v$WRRy+p)BN) zrx;iVfIAU*l_$ODD8n@n8wcUGP$hp=kci@XF!K3vrfsna3!9GA?oRW@7ETc$;s5+E zo!Ni%SqpOu(i*;DLBTgtqW^!vga5eci|89V**duY^TN;hWV^xx4i1h4PU8YjA_9I@ zHP|q?zdyN;__crd8L*fX@cD`TrAN2G{*w&p$6+TiN$Me*asy)>9Rq|P)9DG(aq-0m zsc|t$Djh=|FY%l=oCUv+J;|txrE~$4 z8Y9D@#q0`C&F<%X!J$&?B(@&9m?0b|cbvLa6igJ%Bn*BZD2#*(I14y9-PA8+eWTqU z;f!{`|IrZ%vh-xn`Tp@5-)r8?|Ns5~acjH(je5Ej|Eu-P-5MS}{O;3>qSd4l9ncwp z#V;2S5s^n(dX^X8q?ka~_7dnsO!f-oljKHP-5eI&F*~)%={n8+GI??J^@h?1er#Q& zr$)zk%9k5bB8+~oFJXmI+09-g8Z%F2_yn;$O87k|5 zXzQ2TQQQd&)v88wrd_;quM<*GrI2_C*o$O2zZFeO3U7ik%3D3u4b;iH3S7T=Xe%L? z^g6XF2()+5C#@K$qh>Nu{>&4l!`~9Eq`h!5a4ig{WYPddgm(`e+KjtoJcQ+qb-BcP zV7v}A353SsuUuU18fxGVad#m7s$di!O!-p;5uZn)I)I4iz`89r;`rL%tt#&-8v)tt z*LTDdjh%&xWdJb4XDCGXXFg2KXRO=hNje~&&4r5FAD3NR-*3c8A!`6XHXZYaAo}sB zXxJRbTabN;NLL@n1Z^$4?5W3VNqw9d)smevY<9Fhm->tzaN^|b8gdDeCt+H->#8Bj zK_kdf>J%QwVZyHmW-Y~^)snE<-Ct`#>@WW@I~%JltET%MaEb2*_P^`-{=c!Ug0Y>g zqxpX)eX@eI?7(+BGg1sln19fgyA|!cA8R-gk~9i*5u~-bYAT_`+C>xTZ^lnwKi+XR zZA>CiWKZ|4^tG4m$?21okDq>&S?XkTO{Aa6mekJs7PJvVY%v9WI2k(|ehl6ma6;JT z=|bmI0`d7dTlOHh@7G@sLT-?PijhVt+ebPo6L#h=%lR`GoYP1MZxdl!8*gYxfyBECF8aaqu2+%MvaEc2Hf26w5?&{^T*?%_PPkZ!?%3TSEJTP1- zGfXSsWJDqI3o`rIWqde{CPU`;Mx}~k& zg8ynqgQ&q3d^$J`70qNFCCLeq^kh?Khw4zm5h=eHQUy2qGB`5G;HIIELv5&)@azaj zZ18TDV^QN@+C^=FU9K~>RSc_9pVDH{ykvnwQLTXTNd{4@4q-NDP_E(|`jn@s_?;x8=(L%UW2{(>pbmrZi z62;nfsZM8N*4o4!k0V#IjFG~#(9EivLLP^HF=Ge{BN&U&iA^43m<1>ksPiHpS{ki% z6Dh1^k@rkKp$Qe??oLu2Vmgg~h1`T+kXET7?lJW1@Kx22_fTDkhd+2TQ>Hl4#!u;k zQyD_;jtz7;10Z02CcXL)Vvdx8dZ|XvWGRPKp>YZ5Nl96?dU;M`;+RbP8Wc5*2vleC zGplr#6u0ZSdYB0?3v0)qo=leRXbHy!C+1DcS)NSvD>{R>A7J&sKy-@bhy4b$tW->j4#fc7u~vjBr?ML?FFHi-^^E#a=c`b0N*Z{%Odu zl|!&7&4Fs6Gv;cw2mDrKl6HT~tTF9}sZ*M*7sd}qA~(Gyo0HOKF5DpC90?09Wz;bq z%A?jvGZ^+usAtt$>Wm`tZ+4v!atK}cFw^Joar;Te`lf)T^D(TNU`FA6_(#y{gU5(( zq&XGo2xc)mCVa;^Z({P3mh-SSn5;@(J22Q=uB9I0j)4jF0n zOgwJWLbN#wDA-XD=qsf(c0eZ#tAwzLl0BR+`*j!?ba{*?mZ#HVB6ybd@ZOmoFIHoL z6e_EL!7L1lqWc%G7%)ac6gFf!&#b`~nFLbK{a6gj40?vc%ixkXnmO9Z4wBziE|N*Fdn-u;C~$M25r# zuF~-=kR7(*FKZH35ONZYU!*Gm2vkrJTktyvl)xg&=-IEWX?p(Jt?|=c+!)oabX^r_&>9 zED5oNtV)*_31IWLy>L?*uof$N(Gq=M z@ABh=)fs$Y{^T2xOxSf6<}Md_iFVT}_?sVtC;sSzNxEj-;!|}%ny~1zfi3wh)m>aP z`7+~_m5^OaV5v;TAO6UU!JvD`-WoGdQyz2KFTZfkVo*qu>77SQ zZ-9|rHRZCb>7!@!{9reQUGXhOALxV6Im0Q1fAIi zVlM-Dmy*$t)gz6x_xuXR9)c0$Y%Oypd*!~^^~5mFS7*qu~+SvG2y!WhT(Xa zP+LMLaa+OZsdeqrjQD}Bg0%gg8xsi_E>wLZR3j|g+pe~Sp5-?GIPc;%pmV3~wcEMj zIeLd}A*FU-#W)f+mN9PcB{o>2HQKhjYNpKKfh~o16I>^@HHWR*!FWI8zbb=bDb9ju z+E;@HZ#DefGI&22Y)5Embebuk;x&gdP|9cJ38>K4Oa(U)Owl-@Kp$Ud^%`k{2@eUn z!l+qdvx1zAT z?-}ahVMYF0n6q&;B4Pj?WPf!5~)6gkz1b#==2{OZMy)I zY23T;CFkNH07L|y62hraqzOiPNhIOhr655bA;$5Ajo942A@@DlK?wj~f=i=m6^xIo z_;Lt@_+K6yP7ykFL72SYx5b$PTX|!BktO4L|fw4{lUSdFJcqd z%k4AHyJ?dvN;fFW^?IwFhMu|H{bY|5eS&iV#Q?Oiw9^)vsSBt*P6h*&Udr{)0_W;* zf|PF+?AcwsDZ^W})mTaRB<2@1u}zc?%ch)$1Dn;5*uKRvs-~w}FrTi8)063Xv7OHD zl`xZ^wZgHsoF~itz=xEp-IwV_Ce3^^Hexjs0t+Il(kh`g*2v)?&Uw(VSjy+T(q+R5 zs5KPJXwTG}3jLh{T^kDnL>B#XZOe|rdxNlAl9}+ci*LVy1w?FVj3?>$r%2YDtpAOl1~Ikfd2nk#`g zzB96{tA!y+bB53`XI2{<$j>0!u6w^rFu?Odn#evW_EJu2(Fx(Q*_rJpJCD+j(l=JJ zx;niessm#qA#<_y#9#?0t80f4nvYU4b?#w{XdBle_0i0w$Exz?(yK%Denw`Bg3VuO#~oy$pl#+(>VAtj5si)PHbP6oMg-~aN>(G4!qB1 zV!fti%eKVN#ItN1am}W21hXu)(PhSU4b>`xot7{J*G~iPGIbU{ozZ*g9&@phNxRgg zn-=^r65z%_)wh3gDsqA1JBlW*QatCD*G`9IVw{Yp+KFrebJx)f6MSGHV#dqPH>Sapn_^# zl3ujuPevi|c)V{IMf2}chvHHHQY`t2Qb4s!cOssQZe%FKK%-cc0dT6u4veab7>S(b zfy=T;Zp;Gl%r(W&8HOrRX>6Trz{oF|Ja9OlP63)+$d7-x3Bw!`8U4$0UHp4ak^27{ zy8q_}{*N8~ADdY9%w545@9RCbF=ylijUv9Wo)5xOz%*=aeNp}x8ZSYf?xHu8%UKkG zG@6W*^UvsYZP?_QfxY&03nkMsYJ!x>$@GbX0DIO4&?)zmxXw#))noO}k-MFp9j)^H zNnHBY%V+14`|Be_RVVni(|ZpL#yUQ#={N1L*D~lq-;D=9G!5@Y*I^VhD^$1-k9fw< zh!250{KD;hTG~_mPgeYTtciZZ3*Q67a$@l&nxb)AI%GEpZLwkhTLZ`xP89cY(FUP)M1X)mMOFQ;e7Z`26t>&IQl_lO z+I~DIEoH5c0Kuga1#hZkZ30$5 zq?rl9@Q`M1Zd*5DXNN6czW@uC>5Z}90j%tBx={f`{Krv|I82fJNctR%uHC^A;!_E; zQQ!|Yd{F`W8{kx4iSTG9N4+CFsJTN+w361QF^nnFXqKgEm!xNSAnU~FY@8JER~~GU zK?Xv6qfOsPFy~4+)ob-8@lDvxX+7@hoexO$%0sG&ufBtLMv%q?)}O>Y>F~7f&u}vy zf-sSA`EN;({4?}5>dh-LIhz6fCEEJ^7`Z}E)qzhg=*o7FRs+w&mo&{it!MP#>j~*k z)_JMMm6JSKWcylHPeLA%^%MMB0mc^S1p<~y*%LYP0C-kt?xm?5ZKSripatlz!BxPQ zQhj*CRF0I-)&=l+de5NRI%80q=CbqWAopjOfrkIpw*@b|r!LBtTMmGkO&8`Vm)GLR z9wFh4&N^+ItQ~4<*PTa>kSFNqCBER|?HMS6H!k2o0OG9N?*X`G@}>f}@=5NfhY10D zvk$NF&ax$RhqF7f5jD?v6kLN+H%) zJYh9s(}HqM1ttw>&kS7>wQq+sO)MREnCS^#3 zA{bc@U<=6uL(nF+y^Fhm`JMa%A*tA)JfV&XA$2Fuz;i`KzkMoa#{h$=T@*0E-)3Q6 z;lH5?ngq#LmJWn+=md12r>s^*uG$UO>GYnbz}gH znR2ER?8=btX#d8cw45tk})um#--f{Tq#f9 zzW!StlrcP%mppT?&0jC=Q*lpWF#8jvTZg}lSZT6}2GXR{?G6~b1P_y#ag}#C%K5zl z3=4z;hy#CjoKyTV5Gff%)*l0q)-@U&00x# z`kGP_T1!eiR3)L?gJq@n^G1bJ5 zP9Qcu9n!7*%98jL&-ip2qjT*qnd*3HxyK4v$9{n*_&_myUIM-|T^uQLrjQGDE4x=5e;=!EL=HaE?haCXF0=FzM#*Z-I@eq^P|rcww(#MWB)u)BpJ6jxw^XmiQfhH z2-TNqsTOOgNttq2ib1JzYD_R*nH`9%h)inS4c#NX(M2|&>=9>uVnThX%uBZ~<6POu zav*c`VR{ecm(GsI5E^az*+klRM+HDCO6%Z98SvC1>a&I#)&^20$zWSwytHnjG6C1w zdv<64^;uq6T3Rg3nmVuNP)ZtUoobS05T?3u@LU+yDfZCL@~^d*`#COTUhy_p=FMVX zMl|AeZKHY5tU77d&1JKw&)d}UFU%IBO)KKD z6}vrl2Zj#}9D#N$scEv=k-iu%?(W+AZl2N5`97#m?%swQYQ$NtRXvMsCtI%NZ!ob^ zcPt3Or$m@aRRGJExzu3eH<0BSunz5DM|e`251T}$9av2+2IkG{mtAw|#1?IBH!a@5 zHHz98wALh=A2r0v*Ka$!z}$8*Vr&LJZT;_T;-AE?Z*QyrW9H7`o2_O4-#A|lzC@rS z-!*Z%?^5f39q9S@_5U)y&;#h3|2sU(P&%_)6GZ)Fb0U(EtE{)8q->_d7!k7+S5T*7 zXK}*Tvr+GkkU$yz$!(UKD=M4>+;@%Qbq&e``kSJjZW;^!Z;&1bbxEi`H3LIR`DEtD zq;qB4=Uvs-*NQj{F2LXQvFUSog0jY#X+)`Vt7g~Y(Q_(p` zqGch;1NOj?BOH-DePZy}JaczroqMXOR6yod88xAbVn%jg`$}_3W|Df3C8ly! zU_>(FW6Q#JJwjw@dE8fZFU09u^{pfuCdYVw3Q?(cfb;>mIpBc zC=xE(bdIv+|8&Z+UYf=xdCLuQ#ury)qBP^>9iC&(F9M>F0Xj#^rgT!`&3{ROFbvy6 zB<45#CKujIYl?m|;3fTGvz)RK`|g5t4ift%xOe_Jd_jFzHn33| zWZEo*3WM{AtSp*d0xM@2#~tr)y}X#w6m1TKolu%vZ*cs*y`%MuM_a zQtYAtH^*iL`exbJQP5OToet01TF^$eH8fh@WjxD}#g!Vzb+mraIrAVj^a#4HM{%EW+<5WKYTRY6E)1-% z`Z{H6dDAVpp}}k^?>W%j_=zB;Rly9YJdZ$>qg6Ruv%4g17D(J>bn7HZ;v8FNI5iy| zHT}j39MdJGTO81)G&|=>s7A6uK{w-;;j~38;LTU?40^5t`AgE`Jv?P#*P0`y=VDhO zz4H!~egfSsSttK%Ma5KY+m~MgVPHtr1=CG6k5y(o8)!l=KzoPk!hCx8i94TG(5pI< z3sL+^p2xw_2LCFCCDzbH*H0SL+kfwQ^xp6ukM>dalhT$2oyt0}-wrf51gq;*U@)qh z!DL;M5&cA|`45FvJHL*$SdHjO=G9JwA4|dYw!&-Av_Px}XuiuPf&$77&G z)U2jhaG4@xWD@_bBtjBIN}K;zdz6}Za)ILEL~;ufJF{M<1mH9Adh4MKwH0hB%FFc>b~VPMBohTc89pA}-BTXFQe3 z8TbDFp^wnbqJ47ACn~VaM@|H5%zG`fPG{d_P=&!8oNEwF!&OO~gvoy+Sc#)`{9V20 z0NbN?aT-g?<)_$jh5bnB-c!7Qo3b@jcJoz{*E$AZdY|0IsxqK;YgVe59qQGLdv19g z#Rr_+hN{lmf*Z5;!`|mc#%Sq8L|C|vDL^`SmOkSwQjg|0|s&aLNqf!L|7x97*mxwLZX5_^g`Bg%;bR! zeeCJ{GgzmyD!Rsakpk*pcV>OWTB3}C3CE$usQyP+V;z2^aL!7N?yxB24ctG`Spw>A z8cA_?<%dLPuK(s#VNsR*fzZEIpQd|jUnO|cVYv>AN9Az5Y^tZ5g(WO=+3l@!`UeG5+L)By zOY@+?PyRlEUPvwu-m)ZcqK^^|70(qip<=NkS9TqCqjXd(pbztME=m{=&tbL-9M;sW z&eX8pNgb~GqPs)#NmRGp7p)cN?FUakv3lDLrVM0(uQw8%L~f| zgVe|lU}8?RH*FPV=<_uD1 zsa%P__wuH$Wic~$AfEGZr@%qurzM@^er<7XIZtM8=yZAG0w?#SF|;DeA}Y>A;0JzM zeg>S8HJQB%n`*>s1!jWvF|7*){!OHKB=Xk=1E3{ke}Zh8v1`eZ$J^ir?)VxrT6oSe z(m0Pff>s^z2Q$!gnBS%*M@jr;XGs&Dn`mvcWUEsOS`sQyvhK$yrJb`d=51;=RfLlZ zNs{6pq^+e7oQVPgV?^`A)Wf{r(UZl#9jg}&SLVo@D>zW6lY`X<&4Z>Z!|Y4g`ji^gt13*t1U zWD{rd>8xdjWhBG_kR(FvMHMhmN~Fw8a;z=0HJw%@iO%2HjR>r!f=z)TefBRzogJna zE}gaw0&J%%mXaGbO4q{*tiJHoH`T#fXq%-d*vbe)wLHc!hC{d%Z^wkX?qk-^9TzlG zk2(n*ukRYAB|6ZvS`&jk$Tc;Ez*0^Wxpn?Zq@Z#cXK;dk;*$7%LKC>n#KjGyjXCrV~E54I_rUafzTm%|F?NPV7KZu`|1Cf@VCLVc_$F>3 ze4kIu|HJ$qgac7Gd46|CxxYoo+z)R=c?BZv3hJ z^$M~LT7gJC3^trp9SWRtE98M9M|3ZA|N6!kna-3d%b}#+!pz?=(;;=-qIeSK#0)P> za=s4Nj$LLzF^34mKh-Hb%$jP8boPGyRs7a143*~64Xno!>n7?_BdOcNnrHR4OHFE# zBTm7^42Rr^9Twe~R0g_i2uDz-tcJmL#Lkg=v{FO@}_BTB+9>9DS9XLt^2Oka#tu^Tzb?^A*Z{REt>`zsJI2D&5t& zgog0+Q$@+Lvd3*OfETLmj=5ckMSrkb*U>Z{@o}63Z zC{0%191Nm;#G9Cxp!O)-GE2n-Pshj0h%?9|Fr{fQ1)})Q+&y)mJ*o}~-Nv7Me5WOI zve|7|O0HrHl2>a-yM?9aV-IT7L#nz%a64L}Yzk`r6Keh%c8b|YIM8(SA3QB1u>p?S zZ&c;|ZjSuFpT3xtlePJOd;0N~-$;u%^aT-+h>TAoqb@`#Z-MfY;#rli=C9w}4w$a7 z2i9txAb&53%Di;}v$~PPAi{Q#-MWMT&MK3rv0Ka9`KNcAd(zw8(~mBASjMN@QM@XP0W?pSi-Vp_H}5CoLuC33ubA9+9ZcF{K8yO%H%=Mz!-R5SjL_CJAKTF zdgF{ZG=-Hq`4gZ%#W}!Qt;<05q6F!sYlOq@u(-;DulZ&!O7&haZIM}$KnjBUIxAe+ zuvXOKRUGmLt zu;lz3!U_jBCR3#@KhFm(f|=zr9OD|nJbCAA?xPwW{99>A->qn8j9+g`7qD^(A3xp} zqcH{9BkWO=`O|Bo<@X$)_{1kOw@b4A{LTc+6+tEMV0pj*-^>C~#1sP*%XW<5oK2Pc z#yKSu7Gb7AiCF05Tq$3%lX8%Yp%$@q;ihhgejEWaAatK7+q5RE0;S}66&(|)_P{C& z3_F0NknM~A)$D*yc|kDX<+DPxyOZBfjq*4d>U{l2f3T(vC58GM0JpwB|CPD+@4(_e zf%D%0_}vct7mWTB0i*w8*zH0FIA>bkBu3W&b2+pXG@1_yB;eADVSu8cY+0xs z9R(Q#p<95^N*+RdRosG7oAqW_HvOs^Wq}Ca7e(ulk6oASffFGYYHslYI~?Zj~XfsYJ3fJ4xXI zWVM<}f#_mvytb2>YEB|wNJ%+*D;*RID5&3W}71D{>u ze^Bude*CEV4(a}@70^F!{=a5EzpX+6)_P{&xBuVgPJ}9qi^hSgm-j{_2?2NKNXXuB zjDV=eKqOB3ptPi)0J0xF6ub`!C`XJ84Vapp160n&VuYdLnc>FjOl)H{ivt|>bZX{{_j)^{$?Xi;=UzO-<>Je4N6qt?+tdr6QDPevN99!;ub z0tD!^Y_KEZ#Ob>CM`ITV!@LzFH2u-=d~2kV!+00 ziC)1DNkh+izN*Q?XjfS1$0x*;5P=&L`$lZnC^kgpACkbxtWQP`*19>^24)BG zu1Y(-j5T67o}`rZErz9e5haSK?oi%?2Aost4%+YYv$CHH?#!`1Hv)2kx-Bt> zF(Uu(@3dM}1?e-Nfk)WyU@8Bvw9o5eEzYS;!oGMDpF0*on9<|lY)M;qACx`ctPzMC zYrDXZuqJJFIf-O?%)Kb-w{R|9s#F1IU17t8ZVXG1>RlQtC)r4eN-$)InrK=>pJ6A1l`;Y0ZquWiq2BxGinqH}lLE&j~dcO=hKqIdg1s zzgBRNr4Z^<>%?WT-Si3`$_vX0F<%RF(WWC3CqHs9pf@m1sFuY`N?s8$4|9&8QlI^i zW>`CSiWWFwMw82utS;avK(4_EB0m`l&)pWqvW}=GST~{~taeU)_ax0WEbxO1emE78 zsx9m!ZJTdGl*D?$R`hZ)GJh657RRP7l3N!NbT0)UJSr+Yfm}{Q0lq5wNI}M$%oX|9 z0=~KKrZC1p3QLcp_HKb97*w8V%?MN(b#MFprzJ~1hFMcZxbTEzp(wYx)sS9tVBC;` zoZ+!H@x(MY#5)JwbhM;UC^9vZr9mDeGw}r%;l(Q9TTh!~J49D6>i*5yk%YsBUT-n( zD=XgBKov7Vv!}?qq^58K4Q5%R!tk$WDL8V+cl6DsY<2qOp+F%x;ImPrV$EuAjcivh zHyYNMu)+BJT$lAQcr{>|ZzHM5%bp;IcRF54EvyoAPb@9N`l~ptrzb}b!QMl92Vtm5 zg5zcc0)1#3yL#D#-UEpot)%zntW)c(PA&8+nPK63F(0LhK8dEZpZMLZ*!UzRiLu!I zrXK2jSl`oR%rMXrIX<8xHx6v}_B=Qmx!HKpZoFlCH26lw;c+I;OfPInKF7DSjKQ$H zMSDm*RI(Bt;*b(#@r!J2UnbA*Yet*ZOjQ)KQ2=G8_nX)>@t1Qw(T`{3GIK?!Fx(Jw za$;eF)xldvG0fk$T!#iWXQq!4iI2~=bMSTHpIOJxq3b_8)~tk4gjdrY5@q(p@N@>i z^spkZPAv1&g5>aHsdeUVP(R~Y+2Xj>&7kF87?eYT*>h$qk2@UGmW&%YH9s#E^+JHqt8mR+A6DN7t1G_mwdLZG_9GrFkCB~2rup$q^N zJo(`3fF&*^|6Cj6GK)JVMPT%8t@`b127>$s+d5|KE`MEDI3Fp5VRm|Fpl^%S7Bl97 zwT-kDo}XcXY$!?EkD^BGc2vxmCpmLX#ogTc3r!ned5u!-v9!R$vB++{>9nFT1}+i@ z3(k5rwfA!8Cbt$j-Z|g*@KAn2=!vOd8SN;huxVMaJ9ZqwXK~CGgv$ThS(u$rOSItz zcyOSG+MAeiL$R~I#vu`~5&HywiP6sH%AtX+GsN;In5xcHU$|ijXJNo$V=a3JH!?il z=%bfxg0?bGPOmX~o<^CirVMw2T|zp+;bMTENqPzW8b67Xep;t61WrdAgZQNmn$dMC zW1p4Di-fLf=nrv>&87ekqh2nQR-dvI3r28Db;U}g>Ow>&8A%@98f4E{@lSERU;=s3 zYv?w+6A5swtVUHF4hsVV^H>!g`nB{C`6Dh4Nh)a^a+aA%JZXYxm82az3{H_!3;D3O zi1v%blqL$DE?I+}{#&NGMIWl6Ou*Q>-Ho<|Adcs(!pXBDk15Gu{FN8@BU$&!9)3xgJvY+0veO&54!fl+w@7!Bz(;Clr z226pMbO|bt!j3ttddAk#c2c+;cG2F+FNz$WvAim|9<1Imvjx|Q1@oHm#()E zvCX(zKD@7CJ`*M_kD7QYomCg%4r?xK!NOQ5iWlK?ft#ob;1;z-5+c6_&J-WKaowLk zz?Zy3BpS~JSmZ7dQ0jS{)Qf3_bF#}5iGKL;Bj|JLc&h+vMNOCGu+eXs^e7)}FW`2M zVt+5mWhmk_XqoAPO6Q#73g0%zfS;#ba0L0)-7@9gv+`|P7E%xgiuaF1W0K<0&aP}9 zTOiU6R4>h&%I&#m>c@ySbM8vyUbwR7`}|em;y!aZR)`yl2j5uLHLvz}q1e|7FBxdl z)(GB;lq^X{5wd%4Ovio!@$>X5ixA+;Ec$BtrB1ZnAyf&Ds{+zX?J-(M3@Y+MtbS4t zYK|cEptXF84_n3MS8+?YE-?~h{PxSZrgO_4Kjb4Klaqv=j+OTW-I)FtZI-#cee)U7 zpK^nGm10a9t6c)=D=kqI1%e6&I zm?7)&$dT8XgrTePoevBc1cGRU`2!)evhI#kceI;p3S8w`>}|lLS7cdKY(tdo157_a z`K2|6dck0TIyY6k&um}CtAW$2Va4K6kG4cp>TqFIvernu_LpV+f_}>TOZviI{UDd% zk1M>KuKP;q`L)dsi#mP3d#iE@*QJyph^btmz|P2=CarXDMQPs3_IR{w?T3wBmzF>z zpv?Vqu*u(jcsc^VbbvIj9hHxZX8ep3n*0RwGCiU<-J0c1MG^-&Hm#~V67r(2DKj!g zt({}GzQ3DpxnY~iQ!{v@ZC~4Vfni8d0WfXQCSBm4F;;#aN^HjGD|?!{4CH89TC* z+sQ3R92SwLZmndxn{%0=NBZZ9iestQJ;a*@n382CKSZhjmc?*=vV28MG>loq|3!_K z$cgl$J%e+i|0$%VvQRrG8v87kBSK8|+q?bS28&6K>9lS0&wzMR66F_K|V`O5Z5jRq>qXGKg|)#F*Qt80e7MX>hV?g`Ap zvq#vQB6;YgGxRi5c0d3!h^mzRw|}5)HWwz0(z@IR^9lwB7KyF4#l61=IS3IdCIT4$ z<`f?c*lT;JLY4)BYgZ`5vM&sm#{OX$zF-E6OvJCa*>I?auc1+sgG^Ai5iUqJ_lOH^ zzu7rDOu(=}-#0uX;Ga-afc&U{Mr*7hM)xge31ln+<^dg#lKfK5fsth?OFqT58IiaiR&QWOf z@G4gQZEG@7@8et<(}thwTG1#z;^!ERS2p)As)3>?h}u-2@RbFfnC}rn*k&pzJk=d+ zCeP+!&-NuAD|9h{UrC*4q|hSZLicmyx)HNjiz!kTuK!8`Rdz-;>SSj^U4v5zs*>?X z93!i&6gYNY?xf~>D_D=9{aricZa%D5tW#4b_HL{N`;|M2Kdlc%R3_}{mjP(hA0d_* zR@k^RRaCJ~1RHfu{G$KJXHFj)csY}2X63slq+ny*PQyC)>gD|Vpa%oOc+8Ro&h-<7 zq^@zOrevs*GT4!dhK|2kIbe#a15pVgBqI%qt?(X&f;BcCQAh;QKztaWOq5&hX3tE>6DvU=QXr^*!O5J5|C7bWP#4MlxcRnT(J3AaKb_68^=*+XXkHTAkCfXZb-4n z`hIk#z!UX$=t`lkU4#ks#z?|8xemJ~*pZbNq9L}v5OO#_Y+UETW1nvsj0}V11@DZb$x<)J30a3(D3qgf@JH)-Wh1d#u?jcWt`lri0--zs;yLIJ zMCBI_GKHsdlWo(Fs)_ggmX&4YP0A|#q0)|fJ6z(Tq90Jlps4#Zc1UBv*H=WiaYIl7 zhr4*^5$Q;e!$yRz{!lAS;)Tlyw`#h0@BgTk(qCkKynWY6f5ZLwLH0jY%Kv>2|3e2U zLS@Sy=i5=VvVL|ntpNp_PJ%ZggHQ7^*>VVBKB3wejysANwbK%m z&uyM%YGZtT{WKdC+*~27*A6LcFf7(PB=hwkY?SA*Ibh~W<#V1?w&)GE*+JQ^?X?!ebO}+7&NPLhvocgy5B-_9rN*_%081C%PClNHX2-8*?ZC! zsKN14OLd@uu@E9Enmt7qE1#vuiI1-e#EcfmCMj&ju&c~riPkM@a2Ln2H^1Cl;}Si#xIYp2s_!DM+XiqC)PNu|$0Y8w zoxKl_-NSj|EY)CE!@8W~f)^KI+$zb8+KJ|)Fz&ZWwns3Ii;star^AWQK5`uYD<_yS zTdaRucrw_q+>AlaP^K?Et3M~U^jIOX3}D2~o060h01`qY#e*N+BJJ<~;i*0~nFe+h zs9aS`&5Yqk4R=sLs58VPeGOT4!8^RG97|jRh#(!k&(J%%dKy=w#<(u5F`HNzW)8#v zb;6?N9r4NT4hr{6$z`lw2N4LO7{OW4(l6jyn7|Coz~XOmnx|9SyBjba+c1{K@O^Z+ zH3Ez}SiWeYP<^IPv{`ka3AB97)26af+6WLMOEb=do=nazzJjmO(3bTV?Dwq|3IP3a z_RW~(IZ1oj(>LM_Rv*B!>%Ba>RaTSFDcU_pwuRt5UGd zU(Ykj9>w^&62_6)Ei9P}^0vJDRs$lFg9G8q5nf9Fj$6bzR0Gx3jWyVaRPjveHK6Jx z#i`?UUlk*JQ`&9)TrRuED*n=@5y5p&@oVr$%>xw|f`@-)4Yg?GlL6Impfi=_=%K{3 zG1*4pz31OfXs1J>1; zaT3KyG#(G24A3L0M}}~M0fI7J8l;kKsL300PDPu))wJgG?A|o2d3F!snk9}KV3=_8 zQS(nS)OtH>ZHbjF6~-@_bJUfZJu`ea1Y<2+p`b&?!E1oS6UeQH!VqtKt^IAU+heQc z@m*V^a?uFnhcOZv4Ek>UOHHHkp*D^XdRu56xmWAVF9dC5VEQnlb|NKYVbv&n@>Z}*T1+U9kSmTEN-A5^V+q*pVG?WwG475jl5z<}L zq8G;{t|2=N?wR;g@U7PBGVl{lUCE(TG~{eKM^A6Vv0o9@Y;N+4$Q|xt39%(Ix_R(c zQ%&0gtimatL()&~G93mkFopwq?&gSeX5O@%^!kB) zPyoMoOJ!P(d2=`Pq*n*{BJArQeHIiHH;wY|RwL{;frI3KI6ft<0S5mmA{e2#CXFJ8 zs#S!?Wyl2v3Jn~(KJNrgyE#B)CW}7~8i9!XaKi8_-sc21MS3Qi*R=gTfM7c;1fBR_ z4Q8w-)1gL2((lRDGd1&zj9(uwXKx5Ul59nU`~e<8S9jtAm7p)(cj@Ar7#fk)zU?PB zx!0@=6kM%{`oXlTm3TCaf^#WwYQbm6fx0P9}oRl$+Zy-f#6Ss{OCa!pxOvg6bc2LHqYR*mS41B zgXcJ)42amW(uQnTF7GOl>wXh} z#^JTVI8WmvO~)BXTx*&y?VEP5yYH~%p44XZ>&I|?sC7tCB0p3gkyawNM>)YezFJ8AbAN^H6ma~2$$5dwpS z-cmT6<|3%Gc`r8YCC*0@R1`I#F*dr@w;nr;36-iXQ4(rZblgk#W)(Hb2OFWCwdhqJ zN8KBVQ)#HI7{VJ`l{<6?%324EKm?KwuKhqb9fDfwYayGPS_A|b9LBn1p^K{zl{_WN zm*uT<8Fi$;DMRplMb>fmW9B6E;smPT*hCBztuk!^T-7rsFg^t;-Fh9F-BPzij@BXV$2ta0r!Gz2 zApe_=@h=6Ko$xA_>hE37{~d6X{|~$UUp*}gLnp)kkUWWq>VW>1!0jc#Qw>>5ThmhTBmYif z9fICth|fQ#&UUz8AY|P9^-4!fXk(htX?GUvjxJ$**E@qvhG`}}3GmaE*1^M6{*fE_ zt^WrH z#2v6Qa&Zv!`~YVabnIs!nXZ}9CeqTQ>mAbDR4>a)gF7@Jx|%^63g-Jz8*-38Vb!MJX#c?RL6r2Zc&gVy5Px?yW@qI$I+TY%md^kXty#P z&fGZ7r)R@I8g=6G1ECf+pzA;0mHNj6!MP5iG#jRdaqMG>4jK524hm_OdYTLD)gdm~vF?=|4Aj zYiXF+-^&VZ^A*Uiw-@Y`cW3TC*8fV9qNA1=q9dDNU8d<{<$=T#VQ(i(m(U=D&pVVyTHWLlEm|;6O3a!mnHs5}=Yb^_@~c1}&9v8k zT(7{oTfXH9UQcR>JQ_f$e&YDXGqx=Xb}+}CAJ(a#Rw6TPHyeGE$-=bXMdAT*#znWC ztDr2ZDD8gG3ZMzeuGFR?-BL@X{5GAIn zMSzP_UQM5@q^r*Pl{FD(z{qMn&A9YwG_2LQEbYmSWf|`@KF?`t8fTmtYlzRn6$@@}i%k2j-m%yHm{A^`u`?Z1E|coB9P^wi6h=z{#38f2R$nRRk`> zbnTaw@mv^bX0No@UzfdUobydl46#os1|#zs1Bt9UNv9A|NX3f61irh&&Vp`e+KCq7 z+xPgI!z0njtBJhi&7<;y`W_(36s-h4m)(iH7b6P zci6nX+Zd6bJhSi4!`p|L>!T8*&NC7=O?kgtg1qGkw&nTE*17jqdAL&M67ieOrR0_}?2eL9 zMT}ep=CEwxkROU%sdI$P^{XTsmrkXTipm=S!ozTF2(L|{VEEz~4i-W-vk#WiSv8gJ zY#%tcS(X1!Ip3f0suVJhEVM&T?>MH}UdRaN3*O{Dh{DpLz*cSOP+WKd=!O7n5xTsZ z8&QpKY}DELTJy#^9o^|eHjovn4tnz3RwMi3^!4!3)*)G;|6hEaQI4L@ zuB;bT39&E~91*WjUd4Id(y35;W6I2taqHhLAelY88?<+nxw}2cVL>>t$8n?j4i;fc z+yg@g>|E~7ZzMT9%vl5d&S|apk*Mu?`B=}o*tIqHYXh1lVqo)Qa(p%xr!~>}tqb}H zTTcwB!Zpq{KGG}Q=U1#29)mDIBX^n(QxkNJkDOY;s`4KCCoh}vm##nUGGzj=2&DXn z@lgZ@(#50uAU}X?-!c9QJ~V{Ezhjh!K4648u=#?$Un7W{;r_xmvoFv4U0l~v?>$py z>I-Cvu+r=7v%UNEp42A(aig%$4ZDv9zc&N@fWdxth?tTl$W^YGMtl_tlZNn~cC^9# z?Ei?VdKyT4dH~(6>ZuL6T{0nu=lxT*mkFw@)Ga38J=t+>#-UY}oyY0@oM|CFIlSA+ z;+2EPT@qD>8*8=teodsPFM;QaQ})YW+| z+;8_C2wOK0cacEHZ=X$GC)?Yb5{gCFzyEYwC?mj$_5QvoWPcaa{FfRwlLwZpZrWfQHe&#;3SOp40|YDa#bo8 z@|JsQwz38=1@so*NB9HxWmWfG_4)hX@)gh^MGAwT@8{=;l~KyK67=saI*K!?Vf%MF_dQ=hT_8Q&JQvX&DJ(3K+*B1bb8REW1zbXV$M*{*&PP$Ym4!hBhU;9 zx2R%uwQ5M9+};~TSz6@>D$U>QbpoL05s30dvc>9P#DoAM+q)Vp0wE0T^1~zP60=;$ zX;u_48kVwJglUlrSl#uYs!iK+%4(j{NT!pE0<}hQeVT3KW$^cTl@7n}gQ63BN}P{SwjkrjC=;U!+n(Sw zl1&wA+tO)=T%9Jh_BSv#V^d9bv+VBTU{6R)+KR4TM|x8)uwCU&+tOcssx@;pOnMWQ zw79v?tu7YUX3~%ugcZ8PWLVQ6JQ-S6_4*R}iPDwXE>TZHg!SSZ^b*swHQdzBgkfM*t=aG9g0Dke$}zNrb?TsZuum(A-4(o}}4HX=Q-gXC}<%>?Rnj;aVF0*%oQfxVnQMf&9f>$RU@L=u~&A>U2$i zM_#P&N?=k=){p1Zad&pf#6lGWCutb5%n!)z1EG+Gb2<0xE)k`p#|KuzVi)R$ORXbl zZX{S%q`wRbfo8=Um$4bZ7?bzAu5u&-!p+}^)29l{Wxh|2gNrus z1Wg%Is}dS4cn1VGNCGkg*_Ga0ZZ2G{OWb=R-Q`z%j}q^w zoAHYF6<}Y(i+2HS?!;gWTckdwtl9|{Yn$mNE01ky+c0@EtV^Hc^l0opi}cYPvFFR! z|Fh8C7exrK??vhZ_iI~04NV3oS=!>u`yQEfY^vj*z0>DY6;Euul~Mj1pSJiNpJMu zB61F=Tk*9w?~m5-on2p0nQFa0_2e@ph@fMJ~)Q_2IIMTJmms>ZFt*dB`@fL#RmG0TGV4 z#x)Z1(kJ78S#+h>ePt?7nMJZn+7_F`PUvDqz&izvuA17U@5JO?+=?SE!?ab>djxzm zq!fqOftx|A>mHj>G8GEIqv^Pru%gPoivclsw&S4Wg<{-$W-l3TZK_ky!0te^JkVi2 zREbjQR6GG?oG4IF-~f7HM|mBr6Q^3HrEZ2~Vm~QGVvU8<@NMb^u=#ux75#BoWnwH4 zm9rwEp3$WA7LF$uah&3{`o+r*IRiR8?U~mylM1Oj$=><)7^q(c-+BT`bMoTc z6f8vx#f|ymxNQ|8$0Gy5bLn;=nyHvgb9vK-U7S&zlBmJD%}R|%#eiJr(3V~<#p4NJ zn{6ajFhKTe@Iz$dAE9wp7a7CjldF#_Ze1)XbETXsTzhYYR5x{_af2fgo0Pz}d_HrZ za`FkioezzH?zx}U;*xmrs3ltYR#oR_*4kJG#pJ4EOB60^weSx!4+<<=6bS9z!%52X zQZ6muuznq=p}`!$**p~G|Il`8d>`n_@IYH3Ri$jcIfYu%YR z(iM67^2}a60-SP7lK5eIhwe>1u}t!-hWIf~SB<@#4-I&BdeiSQDjDd^BN0IksdjN~ zkS@Yhxp2(@5bFGFsOFZ1B${8papd7)d$Lz$$wM9wjdq&KQaCaTxa$d^#?Tb|8_jl&daY>I(R>wjVf*?gsBveruo#@?&y(^5ZXY`pF2+}c> zO@5Qk)Kj6)A~ftvyz0Y~jYMi18f};5D!G-4YzM1G`#IG?ujG;qDp+|MH71OP)VW=&L9rCP^PRPNyI z>3%>xDo1CG^d{Ztbj9w!&=N)i^XAn+y0|D+Ek-!p!vu+oI(Jh4q@OX#k?PvxtmMu46jJd;eh*al#(&>vd_!pHA*}Sp$2q@?vkvtDU)*Va zcJ2P$3X^{GL^3(A#Ru{k$>&2YC~8XV4i&5P+X)7;)kmHlNW;F3kuG?pI|l7Ka5nVl z)hxj_2D%~Y9)@-Ewu0@m!wD|Db-$)f(*DSX5A5MjJ1rX2zH~K&7f6f5Va}rfgATp~G5$J8J5N=mAMizPT#qrFt}Np!Ny?9X zR^a>Dzr*8(I0QQQXkXI2#v^m6vNn!OL9 zceyMT3#L>l1MI37xxjHEndF)z7aSC`qMajiq0ujX7USTqNDobbu%B>>huq{%4Y z%QS$7p1JiC05OEsvWhFfSoMnbzb0tc91tJv83k$|nJ48SOPx2h&(k=o3t2CdDj+p1 zuz%YXBzpR}fncukxtzkpIK;wO@kBlZtLk~ELmbAlEUfWT9=KFk=6yS*lvbc{tqKl# zYxh*$(!+GLNz}r_3rj9K*1rIH!06Oms9u#+s!qNF8)mart1e$1Xces|{GI3yjRVcg zDM@@95lWyHaPeda5gZVvpvlaE?C3ADB|AHrznv;beE9KnB#H9o#nK$jA;b-vuGP#k zEmjDgDTmHi!XGh^Ay~}e&vRTf_TAKDa*Oe}!s-u;Uz&4%XF8Rd-L1s-5TQ56q~RbV z_BWb9(U<I zse7er;ko&!_;f8Fz)&9vF}IY!e^=BsxYCyQ`J=Jts^8ZrW~&3SB%$|ZP^K%&=PDc= zPkB5xOlYwB^(i04$WzPw&`3vOt7){fbUu#(r`0sIwsx;L;#~AI>c>u(*aDL2jYUQ~ z`c+DWGc0W=_uesl5+>kNoL)4N`$Re4aWRqZZSR|p!_DYKRSn7O5B!mm^$}zDhkMR5 zBkU7|;!bpNPgX4&p+4G?^}w(?sB+9c8&^pg#Vj%O$WbW@;o=ZUy_9&JBG*)spDag3 zWm6>u;LSi3dPOD|)gP;mabNaqgZtm{f@ zFJQQPF~}E4n74R;tk0=QRt(oy2qF6i#CZC^O;vxFcIkFMk!?ODB=&_9=dVrR#0f*f z>xSQqvN!OK?7nVVoL3FtRUVnwG(llXw;_GI!tVUj*}_shzPUAoetk)$tarr&_;2x8 zlytnkQQXRO-Vbu4Mf);UY$?6XPQJx&on4z!#OzO!lrgocB;+arA)AD|(|9P@LO{JJ z$(~JmfT%H6PMky6&jtIaodX4bSECS?S&o1!lF4Ngd-AJd>02AD+MANQx0+zp;{nnm z7%O(O&CsLBdkpJ4vI;7SbtN6P5w9R z0cfyvkWwWEJ5~CfH+pH{vJ?xd-Bp8f>B2@>^s!X60ycFG>4h{W`xmZg@uObJd1&P~T@= zUH*)8&->D@$TOvI9>XB2P!g5uaI_tAwe0{TuFVFT$YyP0hZ`IkoeW3Az%XHY+nVrK z^Mp zi<;Hq{VL?`1=jc;b$tddIVQ(QvhP)C-J-NfTDbMPS>H=SQ;U?xeZ1v?+**SP9>({Xb!D5@Qyx`D1~q+F)EgBtM^QDIxZyC82ZzR=e_^NoMx9+ zIVmz6O2NcXK$zhOD6<5v57UjD&kL~Q&BP9^G|{S+zEJBGouI{=Ol%DT}GveAo1 zn*u?$p`>;9H-WX;IwFJSI__dY3 zL}-@4TW#jfWt&>zS|Qkvt2*!xQPr%>zLHnzQnz@eiqnKc0)3lGWqq9R?b5n7j)r@& zT^kR7_&l8Uw^G8mN}`7EGkip4T6{x)dt%ztHhR)icFp~U-e;?I%5nWH7GHf^?={K` zD$dUq@TD~|OQ{NuGJGavEEB+$*F8F>pwY)unept7!&CTVY(AdK=#3|Q-7zShw)8z!ttno} zmEjrerxk}_PvZ3KO)=c34u_zxV-l>lgBuFUQ>@Nqn(rvh%!O{s67kdEAbo$!6Z6_n zHSNy~D`bv+BNjJNA5DP{uiW^g?Lt$YQ8L?te!L5D)=F`N^c?EgU4w>>jT&)N$76PP z9Y&p8lP(>dxY~7AE}gHIA3?MQ@>l1?5p?I|w*;Jp_NpH@2Vq^8x1(Aek1M-> zeE)lwk2^P>j^TT7df{6Z_P_PC74^SO4UGSNYVALI+SIrlxOon$6735v&`NjEV78DF z^9BY`JgW}ST{JyL-pK42yLE^0X;J44Ixa6l1+7IJ(iGAjx|Y{JK&9CH zaNZ{Jy?mtin+H-mEsKre*v7mG)L|9Q%vpFG(Eo{`!68Yy&uay8Gy=u_bX z_D+O6&jdcC&uTMY)&|rTY@UH>vv6??7`xdM^*hFUf+G3`?qY<`kTJhzu~w0KB7*F z#ttt3p*~4ggK|?^!sK>M=^DF5{uwt~x0pvZ7KA7yJoPgqPs~VM0ufZ}ErF|l)QDud z>!)62GwR~Hh2@n1t7ciW#swBK-Tv<;8)Z$6PIK*!_Lde4YkAMFcN599yiXoC#}!}h zzYY(l5U$&ByBN+6hqryNi0u!~E}{6=Cjd zojulNnh#v&9gxR<4(AILaSQcn5(9%GCj1c!ZdV2)r~M;V5Z^?S7(9y-3>6GDmM=J@ zl?<&I0^r`Usnj%XEpAGO#Ytfi(T)W~FHturT;Ntxn?TT`q7Ehffdq&ebO?lZmvhED zUB(!zq-HB%bQ8H+mM=*+Dp5v_RaZA{G^18%F)&Ik8j#c)k21ApPXLIRNMdJ^BQWC+ z8l`Z8*Punlm38-SWA$)0H13q7T2M@Uil!V(7r?o;2cg!z$8y{d zktUh#3c}sl$P3Ft$|@m$N!^-tFqvU-TmyBBy-%vLRmH)V!q$r+!WqTH<}qMVm)0B!VSGZpE=TXHqLB zqO8#;Xt6`2z@#ypy3KE-GcnwSGg;$z6FD}6^BgFEd1?Z?WeIhRhUJB=T^Z?`(J7Kr ziz|7I0QK1LwAyhhu3x=*@{?$6M5q5di5A*EmpY5k6Hz* zP3cz>cTIh~D0!H5n^x9Su+=s0w4~5R2yMn|0^i222E;^0?18+&*GC(wy>#r_A=;HoI$T1&xW3jiS9@66MUiEcO7O{(*3~NHhB}mYn8j{>=bQ zxJ{FNmrZ_^;Gadiyu6ssWqCao)`fYdsr`fbJmb9hLipgIJe^Pt74i97p`6mN`!ryR z3${kpb=7T643?Xpozk0ysEhBVwQ6LMFX?Ug2xL+7k?9>ubbl2VL+8iDiS%mpH&B`l z=BO1u9xlIrx?sJUcSPIO%jAl1I-yN+zCgM}K*pxKX-Sm$YFCjq>!{=~-8pv8<4G1- zg-4SfJw%1;?xs#c1K&rL34W%74b?(B(JQc}ZfHY|=-AX!4)btX?z1W|cZHjUCJpVR zzjpTy={1Q@$AkXO3O^y1&6rc7>4wqKq5C#@-w)ZyHabk_F-XBOkYXu)za_o9$VH{7 z$bbf-4(r*s1=pd!qtG#QOs78?OEEkOw&yUM&1b*b>(w*FY1@A| z$1JK0eqUN?^dy($E4UT&LB+Kd*YtJ;4LTYmW!{JYs7tc7K0&!A@t#Rh%wp&7$e?dA zt1JCj5qj_YV`sJ$Ndl19=%`MUfw1J3Jfo@dbPjW6gS)+W9nmOsNm4o2_=SsHbSCZ@ zjklFD7HWiMVYdCmnK;9s4DPz!G;SX=#7zys0|B&Sh;x=B@3rtwfKVuPwJnnk?Zufz zVB@PN% zG*+iS+h0zMVp zmz{xeIJwg>Yv4xWlzO&%>%>w=SIjWF!>FWh<4N^dfY3tXk#P0gU)JVrtVcyy9gJ9pUy2`C2JT?L&Wwb{++Tl30!xNT+AYQ(nqF>L+j z=C_l#ZT7S9PeocG^h+Leg}fhLdPNYd1Ur0hr3m4;h;CS>`F>=RTW{K}O%klZ<~dN3 zELLyO9v7M+(~b)}o?!#mFd4uUeLsJ=#J!3Df!23oAdpO(+weyse7_m$@B!>p*?f1B zvC=ied?5pKOlwHP<7h7PJQeRur@_+M9y!P>=pPy4o&i^VtWaf~5Z8PXE<^P5erCou zdncK&aI*aus@E|K*y%o^lx7JvC#_60ipzv4XlCu`QZk9y@iU`Xyzsnj5UPGtt}CK_ z+^O`l-X&S-LLY)t4+-5KD@3@(^7?J`d-+nZU%J-3 zGF!pLdpwIlUY@t&2r9u|3>$&Uup2SjYMKvp-rJ$(Z@ug~-v+!fFPF;Q7}_`ZgCR@5 z{{HB=hWhhX_e>(;fTdBdP_)o6%@5UsJ}Z|iLe3*ts~tw(2D#*An(Y^9Prx&Rt?7Q^ zu-$=Ty35eC2VK3wHSPl*P$7WZ|Gr3IIsIf2@Ixh5Kuyf^b*_e_LVU3`Nj81V0{V|H zfi<@4ja){Xf*<6~JKIz*0SH_qoRFwF#H*W3)C{Wz7WRsrbe5W?=JHnTp-UQQ-w&22 z0}1Q3(kBV=HkA~bOW`=rW{}q`wz166xY~RST~W+jmc(0WoW9a2SRNY($nvQQrOJ|u zfhLLOb32adLQzpUX;mxUE@NY1jb#D}HVxb{LND;nd5@ArtvF9lhBqax&bH)6Se$vl>Kcc&pizitv2;=eo_G|>Ip z3KcIzFFsqFVFQfEj-Nn5zb#rj?GW|rlk3W9+A~+bgrqPCvoMOc?3-kTZ_G}I%A;TNB~Yh`=<#367M{+@Vm=DeGo;6b7i~j1 zGWb}_gkkRNVS%ww8|5B`6aXekH29mEd2k{;@r9sal5<4$I;l0IBW7L=S83~ZU81Z&{ zL6sF1$N#$cZaLxo%lCqqXX$!&ucZzmV=<4yqemU(ZH*h&kY7dADIOjo+Qs@bOYWv`|NCmpBCtNE&T1FHZRx_c2kl=u1yAwWaBb`3e#2qk z{PcHKC;S?)`p{ht{)Fv*Y4pp>Q1{d>1{BQ`LQ%)!O)WaphE-#M^EhV1|B}(yJjE!Xf3*IMKZbAZt z9)P1-f$XTeV;ZKV!-=2*>4hHTjMrdQ1xP;?(ZeBy0b!Z7S# zhgq8sVx#}p5D>^kuxS_Umar<1dNzA#Lhac8jtV~kvsfk1y9U~r7PPDIz}`>UAH=kR zLRsCsd79GvSVE^KXatj?lf6f#WndMStPF_IVZZs^?oVcE+Jq zoNMzq&tC~sqFKy}fNS)Jph?55!$S>ctdoOPGFO|B-`Ny3TsU8U4X)uuJ@gei9pMJ zFDWTzRwT(i7Xb>vBx8~f+QZbtI+)XI)9zcd8MpV6&~aWF0hk3c@xxnKOGd%^Q2>he8Unit8GP6^I@4a$gHDrq#~qIi z^O20wuSRn}34ggdTBn3F@AsHcpB~ z=+BInycLB8)qMm_*x*-NYlfCUo7RSie#a)gK8t&E9^<%k?@E!icq7>-CjAEAR}-|; zO923qV;pEiB41q*4z%Y;@AeYb7H;%s2~I#MW>Mkj#zx}+wU+Bs%+ap-(NZ@o1bKL~ z_>syyWjbiu7)=tBcABthXba;!!U0QX9Cd!8y|T4zB3!-vW``AFGAQk2Sly3EL1Z1N zlT;Gh1Xpo@T!ns$Eo7=L4jKi}WwK94Y&WzF(1xMrg|pq2?6NJcCFJJ_h`s4;{7R060j!bnXvTY`$<8D# z6Z90jCYuJkDuC9#jZdDMvy+fCV7EUlVou>QCW$hLd2fExwmbCpoY#4rF5%F}BK`Gl zO`M3aLaA?sU(+RU+6utXs<0fCde=<$=+`oCqU++p3*!*@V(9qI>jI00((At%KJc#T zZ@mG$z1`3QF$xQVDxD~7hSj`_*33=fu%?HxL}2clu@JDAEO$Tg6fnHC!kK(lHB@J8 zecANF?^I!1oKy~Y`$1Xg>=+JS^qsP zFTqh!o~UQXw>jr59ryEpXPfNhrtR^1m0o`r2Okv3w1MbbQN%%b6){+Q5gJg6b19Q> zHMKOXaQkVA5PjU4nqec*Kzhz&rNlYmFiTrI@1S*kCKN1{IxYD7cWF?+ zOBzy|T2ehM6b_mIDDBIt1mW)Y#QBWD9CzlDd}kLgj%~_r zJ>i|~oLqF@a~wfix6Ga3ldx z!7Tu$Co!_cO*Aft+kP(meRW+ZHy^uiZ|xg(0G!k*_)<8Yj=PyzSAb9P;6k1FvPucOnsQqfEnOF!&K@zgqQ4*6HzaU-8L@i3blryvh{! zfxUuap=zKDZ=raW&UXWULAh!oUsugQu3S`0^-9WSlF9m{Z=RU zYHWH-&I#WK+d-O?*@qe3L1*jeQc}9Q9`toN?h_zTbPe*4>o<$`~8BXk!;>A)sk}|9QX0y<{g=|Z_bV^+e4w3Q7ku*nD+PIMuc(Jy+^PM0PYS;q; zR%>iosr~7kOP9uTl=jYxpeO41*xOPhc@&fT(xczKk{n}Ol{jCo2tKvF&209fDPDaw zXlc}>Ry6C2GIWQy+tfq|tuF(Y6t*H=a;FRn*;OXA`@P$Wf=dm$)lM2cxu12k)lk=vmhTz=q}!wf7_ly``P zhx$QxkOr%Qv6p*{*0eRfg{x8Chnu0)mzu46P@Cf}ibpH0V2$HIL-K zV1KVlC(DAd8LcLbEYWq24!=<)~xn@fjVe7bVpOS$a~gT z)A zdX{KgL2#p_Wt2!J`Ek-U((L7tVdxk7CyIw_b3dQ6`g91dBPbD@*olUlex7vSW*_^C zCv}9m0)iV)mE5-*4?X*qK9=&#t6$PHcjLnT#WPp4i*_b)CD41pdfZf%N3`A=;@_x|Zn?Te)(*Nn+0829gx)W=tq@#0o}0$&6}3})VhCkv`=es;=blw~UX z$|bH3z)9V4)dL8oJMR9#pL$Q@9@JG8AAI_($l^)C=+VEl#aeOd^)!8|g#!X*rq z9(^}0h#-EimkU2TB64Au8tVr3FAOx{(XqEOBT-|$ES=A(E3~#d}CZ*wz z%n&+3nfdhLAKSByiR_$JrosvmVeDt6EXnq|_mBAP%s`89B-6%lhLmaj8k?2;#I`MFwNETa8nU3k*rXdREBxS=9anT5t*l%??CmM8 zX$7=6!j&lS2RZyzLAJmv*%BopSoz&VHO3_ANTwBaLuAK4U3sXbTz3Bn7lXDD#BIy8 z_HuxqltJ_UUnM!tD%R4t2D+JZo{A4j8+*f?i&F*hx7s z-2(d9&f7nuf|fOtjbz?!X|omZMm0Yr3Zgj;B?#jl@og@vtdafvPknh< zK>v@0?{riDyEjk&FM5RkmKe#{I*Hgi+Zg>b&^La=20)J(;>&6cNU_GAFM%R1){J3C zaTw4>L`R|UR{<+0MoyisA+KR^X?iaBjmBCIiu@0(?{Fq+X%Tu=li|$j!_?%>4exI+ zkXuj)V=8*4=|7~~vTYm}xvNSQjVI|+2Js$xYR~ln${|ao3gYik`HR=ETm0W9u5M1f zq=0;b5Yek!-RV3=bc)$PXs-~9pVE0vaDziar7DB)UDt*n$`pD}RKfa{+z421W%`X# z)GK<~`VTL`sp#=(YUQYc-tvkA&{(iObjV0EQILOH=J3&+WFC>LJ$>g|$8e

W1aZNrl209(TeHBzJ9H0n6WW78rpn?w4`$v1L^3TRbdr`A=HIlNTm5B;7l z{F@r+8GaC~gs? zs40n@j4@+|OQeHCaib8jUIlMR8()v?PkRt_P}y1w`505@m|r*;Hu_2+cEoawk93dj zK?T+6jXL&X&X#lsK@ZEOczuEN0BLgI7C)IOOYtk~>FPkCDp&e&WfkkC~4~aEX(5&#P;=+QB@8a|?64 zYs#*PKd2>f)MUHPWDTL0lmb&=T5@ z`YgT=#9vEhwl9C!7FDZgoRogbjuiUC&KT;H7luXwV2@rI(-~SR2o^d1PA~5-N648s z`Nr;g41<_>df>nx)i)e|qxAdtX7lb|Sg~UK9=oN6s2yq0wYykyhvpo}D6I1Rr^B2~_;>2&dpCW)5A)A|v77%@ zIToC-V+r`jR%U8Bjy+{8FS0b3c(f?fmOtuvMLr6n0Q2{W@p-LlwVb7FTDNUf_@)G? z$<4a{C9`*-4I2bucQLhbJ!a%}@%egt!|gTXx|ic$3O+D|V-Bg7{E88E%$Y7oO_W5k z3|R-HOLz~UUq7azMP5i?-j8PTJ|I;T@9l?V^paZxc+ z5x}OXcn{dTtq!97so1v}?*+%xSaq>q7=d@eg#SBZU}wOS%jh)Fw|iyRT;}t#Lx}DP zD{6eIN+7Sn^^O=BoI+7;n41rHU{dCwlLy8-%=q?l3!g=|@Ho$pjxj$48jyKaEsLKv z;<#`fN!n3lF2=KlH>S|hA_l~F9|IPem*tS0CK=7YQbS{Y$FU1jTN}>Z@C16+G`w&X z<^=1D&jlt_KutAb=C?}XU~sXcmZzM|H#r%G5T z$L2H(45;MCh74Og4ii=CnVg&T2>K$4i#Sxf!aa{=Y!!E#AiN;XUZaBtaS@5n1RoSX zAj0qYncOgHX<%n3(ze~%2RrDI^Xs=4VO;Uxt-h1sDHxzKAtJXMjF}o)&%gZ6|15F7 zz-slal8dEsZmnyeQk$wX0~U7`YcYSSIvKP5?>{W{@Hw2DZwXT(?!N$veE+Z%otzCs zjctq_^qp+~z0{kn?y0Axoc=d^l87~Zv*e1&Jfq2cfrWbP5UjYGi9EPP4oghHT0%mj zOooK@s)^C@Ae%GEX=O{<-rraozf4R`7%BV$7_C`6pG!$8PWxrAW)}oC_kyNsqUNHb zE$QujdNX~JsTJWRcKVw@ck{_}=4i|HOyt*WVGBtNi2<2GCY;{i6*!k!kR5Jj;d|0N z08yP*Dc3@u6VaK80z5?>2tJOAW|kNA&9kX5Tdlscle50XSQW_Te~QW{$LyK$;e#9zRddUPs0_!wmf)=~v5> zLjsiH78S`Ya0+@_Ubl7PFhf86$%LP34%FfVFBqdoYCwyGT}&?H#)aKX|R%`6R|$ATf~IY$Hao8Vyy?JL_MAXKEW*4)t3j1V4XE? zf;@)_Jg~bP|7vDdNmq-8K{!-E0Ab%1*>aOIYsxSKV8KM#G_ZklMD+ip zlx3$;Qrk0Kvr2m;8nGH_&T^>A2Rk5FmFiZx?2^eZcCU>M@bs=C@9!QPBwpp?H6a|3 zDb^+h7}i~eam*do+|h?8TJT;vI6a6=bMCv0_#F)vhQA_(PdjK;$eoaW!Rr%P(K6b% z*TE^eO<+b3S3R=aCtWyL$*Y}(b}vY**Ek}OQ`TG%9Pm%GHrxnK}F6ryhS?SOc zpT)eKynZs8u-8{b!F(E7VJ1CpnC?@%QC>h-&yt4OPl#WvF9G`L48TRC)G&$*O~np> zpbFeQ9_xc^DN*RwwU-*l>fzEMp(owDb>yZyBoc>)N)dGp;HK{hWfdtxM}q|jE0S+) zS&)wGho@uE^XabST&GZ{yBQ2R2-G1VGQS;8Fvs^vSM|=-(^C%N*zy|Y-{ucFwW;S9 z(x;1eMh~bQq@gub(;JtrD{4fx44YX9-4y0bbuxwV8tgp* z_%**|rMf_FjIe{RX2^ur z9X#*Dr2<*sQDM(aeSI{tx6xXW36EZ3?5k841=>Jv0G~Uxv)(a}Y>}gZ0w*#6{J~I+ z+_Qq$B)Nl6?bk5>PHCxKyxmxD6QjV-Bhy_GuvrPl#u^ zmXnc?AX$}VPV|a5yaII~D$z3(;AJn7ioGgbA#F|GYvR6ibY}V)D#ImVy(gG|-x=Oz zs;A!+_M$B(hS|n}yD?^USRFXm^+%TVwnGLzsa}0AvULxni zaqXb0v=`hABDJkgf%c(kNh4yy8( z=y0pF7sQV7;;^Fmggr5$hfnT4b&AK_;L9Bdc!lN3$w&eDo>lWL@g?IeVTBI~HuR{h z)Q1vEX1WA+s>l2bMVGbO)M(UghlEcgIdECsErv}BsIQOB!Z*~ItCnq)QLD3+a z!vZPq|6%MMqcaQJHqDBiRBYR}ZQI5Z+o;&Kt%~hbY}>YNOy239)&2E+v)26I`_I0& z?&CU9lkp<|p`Ie$ZFC6Uw&y-7sUQB0cIZdje|zDzy~-H$hJfm?YxWoIdlc!Y!hL5zT-RmGrj08ZD-*LvdF?aL z2=IktLAf*0J8U*H6)*8~L_WZ*BUT_om*o&%3>lL;G|9@C24NN>G`jI}0!Ovvv438A zE5iT9H%1RLbmTlzza4wpDr7~3GC=zhQCe^8Hfb?e5}rA^C@p-#l_mqj1b%#r8@3%{ z@1V2(&kE+&9*M5hWsw>!74*r+eY{<59r1n;Tx zTa(e5{rEp&Z-_}=6apCD&_#0Bu#o$Q$^^{%-~ZN16_C1;aAI)`X)|2Lqhi{&F8hp> z>s36g|H_N6V<6@(Oc{|K_sJuc=PM-6udB37h)wz0X~5q)nO85Rn(FhB%nA2CI;CwF zmdb0cI)tW#1LPO7Nrma2bMW|Dps}Zq4@)2K{E6Qm?9Et)w`z)Kdt%N{SNH4~^!uo$ z1a29MO@qwYL4k`&GR*#1ngKz926mU8&oaE!FZe(Jk_wMn_PMa^6fNLY0OV z{YfUF9NcS&VsLg{^CFWR2?oE2LT+dtbfH2wH4B|F2zV%RkNZ~EG@Uih``e0bz^QEk zm6S2vq(`f;_)!hy{)Bghj&^Z<+}&*O{p&dr`f2e4eF*qdH@JHkNo_+XMU1RzrF_EqNwUuUl=Vz?stZZ}JNXCHpOlMAtxf#e(Iu zTIy}C!C%ZL)3x6aFe86?G!NsGYhYBG;QyE{?jf#^`ams%#nTfkyiqhK+y7<{NQ4B( zL*WBEn9um=qjAsq07jj4m>s)TN}4cd)vR7q;Z_X(Vw6HYXs>pGUVeZ|WQ&yq?DRrD z->+FrECD*(^!1zhBhGY@Zqx$fVTz}yjt;SOkiOY{X<9!(2Kvt4f zrMraw9`g9bTW+?N?{X9%r%juFg9_=u%Ne{vk%Y?im=XMo7MMbr+wK2I?|WhSx}lua ziFv(_ExoC(Hqea|&n&S&huUByY1x&-BKyc`-(lHWSJhJ2;tEDs06Uig8NS`6{3!n8 z1CNie%@0G6237_Wf?r0>8zV2jYlwIM;H1nUH+G(EjdxA84@k#Z1Un6+m)oay=`GX^ z8PPSD*>5Yg$SplY4KnAYhc!m@+m_zk7DwpBe|-7X@GiU(g|H7@&HDlgVhPN?gNM^2 z9^W_25EHxa>K&l*e0$`pmH_cGmovb^7d?E7>F5r*-P3>Ih_ZbE(%O3k(t{#}>*~CjApzLnw#!Xy6p9(2{kN6J@^&`9FYgqFdPngz4GlIM} zq2>pW_i1^@yF37FYMK@nif9mV51Tado6D-&VXa5CZ6n)-%=^JrOm?AZh}_z6%ES$> zBpq1|a*g^SEeao)$T1#YJr6W@rEG%rz0^3QD5ct}Eq(6hNGp>*{U3WXb`std=Jk-H z8kazqW%j*5T0j>M%2U_PQL0J-{^k@{4bJb&jQG>}{^wHNvrc2GM)7N6NZ<;~x@aff+2m3(L%dB_~kMa)SRH%d>|85t!rtta1^*zWmhn6ACfhX)g zTk@{ubRxJlDMCp$QGVF_q|@-jr+Pz+TaLx-nkg4nz059{ zih%B$VhJwkpKbcd?5lTfXqhiCkbjpxa_C*#)lg>c3G}tPyCX?UN`sNrDlFAQsYrU# zDWEC|H&P<-B+$>lpLp(gG%ukuAZ#C9aX0R{%?4cW5^-6AfVjfsZmr)M>jdW3W__Xv zzhFM?qjL;&O{#l?)9*v-^{&6V|3m$EU~of~_~t=&SJTLDYoMVg=KE=V1x{IY+ik5< zZuN>vaJ;?%|7hk}g?6pLeTohkd_MSev)lTiq0XvrRsxrIO7%ddjE?GSrszc!? zuFZeij~hrNF(@gQAsO7I8osP$`?f9ZIaX<){~)ISPE+)sbA${{B%Gb?l}sI6Or8E`8C!6?tUUG)G2dPd zvX)@?28S+AiglC-7|?6==eSXvrLrk5nMCF6EeN@^ZFl{X3x-6C1W_&VL9tNhrm9G( zq`r1L@$$HjIlVu>$@@o^MtvuLrx3#cl(g@moCDpEWH0e%r=I*>jFd6IvC7EQ6*Abf zkU4@$%tr;dQ$RqYiM&y5Er?8#2v={!wv{>tA^OxWo*zO98(6YW#tPDFe2X9Lr_3>^ zUUH30^%g2$&5kG0e3iB@D5V@pQM@Dr!O!d8^a(=HnI4iAvC%x@tUwIGdziw8bj<77 zZA!#pX>V+`%)bcRf%I~5-Nn_u38mJ2=zfmzCJL!*~jSt$>UN zn6IY!e4)Aee33ri;izbOQo{i4udqG|3?|QaeQ7$*Utj){w(l+ zmrVMf1^$l<3SexiV)0Y=YVtogVz82|{JOwzpTt&&L=OC*>697;Ey|)Yz9elby0T=d zVtYtvp)58t)#jqD5!XL{z?a1ZI2^=+@f;5j58{Mo(d*EN{>7S?o!K7OfFZx?8eb5N zz6u;AiS=3>9>EZWFQTWQb<{6&Hy`piqs%yuQg2jRVQ3%o`D7CUK-9Ckly*DODZP<~r zcww-9HZhziqbPS+*14?o()B^WhZ&4yUaP_H!O3f>jQJ9{odBkhj9Pv zweTN`to4B~T?F;(SL#pr+JDC#|8obZ0ZiTgAGu(##;cpkA*QdbSzF>LSl`I+fPttH zrt~H;sEh##Bmp62AX!Mb@}$i4OcMhp=BW)r8a1ou$)(~lij@KzL6PRZAS}qH$i_9< z%dNGpZ$ZCPPMp*G&2*WRbR7Aqjd$AXx6bkB&CbW(bL3xF1AZn+KTR*%n-wMVvyFHQ z$l)4X9Dm_Jy$aXLQtJC*BVj9mG1;JCz)TrRhC%~y9dxnhl#r|?S(BGIl6Rclc(U!_eqi#f* znk*`T_N5a?k_Bi>7A7hwi)UE3iuQ%r09+)joS}f#fiC~}yZ*6&aJ1;i2t@{T4K8NM z6um$XOB|o6D+>eE34XiJz@yv#4B2{ZGzfP~kj_X(BpD+IkHf%q^@10fHi!sZNHT~3 z=x1EWmLejH2WWIsH&i#h(>=va3wm|C6lhc@0nmH_>!fMHr${8kXKoY|b*xcxQA%*P zNNOqdf1OfLMQmtIqswMnqdG`w(wgWC!@p9)B5~bz@xW+XQ%AXqPS05b(&mT=W%1=i zNGjjsZjKt|TgZ#yhSKPIvx3MltC*1(Qe|8ljk}`YpxO5LprntC$YW+-wg&KI`!-4I z8~?eNSG!A!LF_A476c~r|HYFX@JeIK=r+{Xkd7$F&Ad?r%Z6n1-bibr%^%~{m7TW# zDJ6#=Xe2}Ir-g2gz@Wp38X^{RJs_fd!c&;B8Bo7C1Zj{ButLkxh4L{bLXMSTE`wMX z1+MP1mFG}ka7CuSaMZx9=x0aTzPP9=b%9w(51 z25;%<&T*|(ex$yUm6&r+5e8E!_73+GQg@upiZ-$RbUSdc2#pR`_OqQyF!Pf`i8E z>HuJR!=I7`{e*#z*`e@)kxpc3M_cA@dWn;;c-n&(ypsjn?qkdlN{Df1Qa*VNemgW| zu<0+`PDS;`-ZlhwBxM>^xTKS`JJ@l^io1;nNOX5u!(7r_pV6qfi2vC&d>Chyhd2$3V z10;iEBz!f`u~)XaYY>;Dk>#YL6mt5B^~U$0pqVzBRC5)O-yT{^^ zRY${{fK$furpg;z7q6#d?3-Q7nJ5|B7^@g)#gAwIi3`@&)UR-lr`yN3lN<_bA?O}| zZ9zll_&2gD{o@sNi!|@^gnitPd*dnbjBWcuk};;ZK5#sMJ__bh%ax3xH}qdNE`K)N z<%x;7FLPZmQS^#Ik{P*c!(rpQ&R;;=(!Ca?UFr=~TPTFHs?FiXW)y=)Kdo>V?Fzb{ zpVQjP(HBRyDImo-hHRb4#Wb}t(P0!rB750a&6YRxz%LIzgyAvPIK9;i8g95C0zQUS z52l1?0@C%i%^%lh#D7LtNrdCiv&1N5hm13c@|6f1ufw{?|g>1o! z>mJylJ;FmXiBv% z2I%2ismtBwg{Xr>C{Z0 z4L728pAFQTh`p8y*wy9DYIe&3SfI#VX5F9> zBi8+5XPn-D%=|#s(TVGoh#!W-RF-Wn4yWr&=1Jb59)*Yx&) z)jv0~&z&f~CA@X-?j_QrXVc0~DHJJP;|fWIlpO)IS;M4b9avUOQ*zVFrKkC}^d2?h z_S!5i(a1&b%WM~QI|*$U#a!!>2HL0x(!9iMy7%WjWz#y>Oj=|0Ks^G;*;Eg$KOl5uXehENXc|3ppGVm)J=_?{_)a^09s6{@ZXIuXriY>3Gh-bx zs$RhAVabs6K{ZT84HAX7Z;F|3q7^b54$!mi=@~hm9FU+VS^+q)*s#;bsI(82bV)ES z%dMFAcP-?F7tJ`&mPUp3NPD2aG=_R|rGM;3dWud7>-~x=Dwj zb5zzj7T`I!!hkM@HXfr|>4EamxWKBn%d95@{r_Nk~ zqsS2gv)K6uNe(pR06E%hN3sb691L>xBNHmAs(iBS4AH_Vg&z^bz_8kBqZSSgKbt|s?()e3k(wLTd;6&l z*;5Aqmu7#MpWWtJ)goD%4-}1tExAM4E%CpyCAM{L5_yNXptw~+ zc(g=W0+3%CQDFrq0CZvv&9XuRi``-760r@oMSTjQE!KJpV>QBy^h>2BjO3Cwv0{J? z7cq{VpjL%T4o+Cub4Z;X$>N3`#@rwwL)`SU!@a<06UwxmHxax>)Oi+W1yN zS2}=U7utZBamuwZS>Wh(GbGBYLUXf2%S=O=V}=TR=Sj59tnqol#3f+#PpmjV2^0#Xq$_o}z8 zCdsD81XGxCt1QVX5T}CCcyp(Qqg=?2@j`!3V_-=A7U|=TFZc;7Dl0K~xpBO|HY_iT8Hfo`)@FTc3xaSM-GJoQRR;7pfIxZT`Uk>sqQGP{gXI;w;YM6MO&946@H%dDu z-X&WT&_qQmFP34|KOoX{*B0?C$vt_1|4b@pSg;CmtpbmyNC=QfKOZxz>+3LT$z`4# zFP>w(JkEbUNyYk%l>1kpU-(sOP_5PqgA9&^Oqny;CD_Wv9trGQIB$3A#taoU@2vB}NY=Pz3h$`|dSleM6^1D@ zO2nD~k4cS02}qx{8CBerE83-FUQN@Z22dF`9O%_B$Aqpy=qDuR*Ncx=;{=sjaFkZ} zfO<+((JVL=r~^)VBce_F`x8TcX?0k6=aJC84|@JgD6@+vnVKc1_uv(*$mFx;> zWV7zD(h_IKGTO>HXSj*2Nbz~cmUm7&i>)N#5+=n5yOSpu-J(v7ZH3)SoA zJ1pB-ciMIyKK4Z?ieFWXl9i^(R!%|9nX^|@va^=k>#^b}&|)Mw(9j3%7&3NK(iG25 z%vgJptLC!Cv6`iKw7G6$W~~UZ^<0vj8*D>lj&+%{1oBgYXp)pTF862$HB$zu{I-i) z5)oPiRmgUW9+?`$Hg4rGo8E*H#fu#nXQKH}>#A#$=)K{o)tWPDb*+u?PJoDBH@E|V z%9cNbJ9*urlasw8f8t|X82Vuy#a_c{2%IeH?d4jvOJ3Qcn?A*2CvcxSaT7*1!UawP zc@j)o4)5G9*!$0S@aDR!)UW5C3`&cx6P7e6FjjG*LQQSyj|$;>weP+?=>AwTY!RPQ zLMV@{nt=;_zlnz>SOJO^l>Kam#AOA4d#S7U^MJoQ-*BE&2+E<=$-} z*WC+!Dzum1E|kr-?kb3{WsAzD~Y_H@iu@~+$D{L?(aZe|CxE5s4J1;)3TeP!6_?{3nC zRW1splXZqh&|Qg?4L3v`%Dq?!qPKwANVW8^L|^F*SB{Te$v0u>Gi2%poN*up-@oj1 z@YU!lc6fkdC{1RkJ_DmQa5I~5^S=hD zP_{|=g7&!qdvNsmtV9~6{QBncHV4&n#VM&b+=~(T>LVPptCCA#lK`7m5*&RYNybw> zr6Kz@8vJkl_E`u^p1UlHu3!{}gg>|ypBq`wo=0hu6bC{%?g%vV2L}gDW>(%7TMjhB zeP`zx3u^j%0S_XV`TCO~%r+KE0UMsGVt0(l#zot z$0g3Z)GyvDcOV4vO3*Og+Q8U+SZ7s_u!nJ5fUy=T?) z!Ua^0K~3<|-djZ{Ni7!XK)>LcyO*zhOoOM{4CP;6oN(AIwJ|+6X1PAeRL%=&iC{`G zm@Rg3bUt__6m3^q4rWs{m5;r8N;ewUKqfRC-_Es*UIjx{(X|T-x&qa9?L;fsnTmM64|=`7J^J=ROiMf>zFnT8?^2STFO=#}!glno9#A zp}(IHLz6Lxi4JXn6$) zLwhJiJ)HuxNZn%qReaHAzq7~iZ{75w3WFbDe%&5A%F5wrlxCYi-2yv%`4}S*J?;P5 z0bX9ag?Yp2Jw@0)eJn8tQhP>-$rI2Jiw9PD*cdV;dJKSC5gB}W_u=?L*fF#tIQ{<3 z<^$6A8HP5S$??fH^^L;rD|CK>dywP?p#H?+d_ceX`&<_4Tb?un$+<*1do8jfRM2SS z`AYW%{c_freSPF*kchN4@t#CZGrYa%O`k+gl_4E7U8YpnkA-_5GehENIe_)3L5;Q5 zmv(t?5@ee5;b;l*+SP2XjxcXLvx0n1aAP38FGy8ILB}H!%!=wpewwKbF8)P;t(})z znk$JO77qPTV|cv%=h`km0kuBR2ut z@QqUTh^Cf(CYo)f!=`rr4jXmC6r$YXZ_k5H?sOnAK2;d1xY+Ldua>Vcp+`anUr_xI z4v_6emTmyR8yS@fsXSn<-21?Cv5ZmIGHE0 z$Q)s&$m7am(AOldog zgRa#uA-5CbcMhxDs5j9Of9+Amgzgn{7N2^8uX{-0#3_%=;Ela{x^dXo=`YS0@XA|$ z;*5$IE)tZH80dc@4X8Pc6#?Dcuph<5yHgh}9`lkHeJenf?I zpu@s>#eH#f=z@2D8)t{)fKA{LbjRb$m~&qf)hm8oI*+;EiGg2mL0{}`Ep5ouS`o%x zk;c{equwNENLPe`u9!7EuSb`U-I`>32<40|KXC4cgnKaRJ}#ecNGG09k;m?V)ipkU z>hsipYBmFvGdR((I_R|0@6;Am;SLSanss~+tJlNqL6|!kIWtT*)bZhLdray+n=_j2 zjkbmUh;wY(nTq|&mDL`cdXL)~aDAXUmc1?J#supU|Eh*&Uc}lB)U|jjD{FzjhWuB9D~n?LUrBpr2mY`t&<_Cs08O zqFqYaPBrx|ie#G0-SN|8nim-=>_um;HF>BPxWR*W(V#nSy0Ex2T+K1F{@I8DKeVU` z|5Tmo$=g>*DfyRFX``xCL#0^3Gf(j}u%mZ`;bQJ6Ctr4#NOQ}Mh?;*F=0I^k=A3!A z+|&m#>nrMDHC<8lUi+TbD5RV6UZlz&D#hI=Ig-$5eJI*AhT>CU> zAPKz~Rh)CZ{2Wy7qg3A7acv(8NKpAccEo1FgwZ&z!l+u%X|T!wcUcyFN&0U9 z(3Y%pTV%$qp4Ry0!VtGZLn>X*ds!ke$#pJ=c=A|tziMhh*ZQQ-86n@mc@T>@en>F}-M)-z(?Lj4R;-tX&m1bwZH12K#0H%&dlTqQkI`WO8jr~0Qc z93^D?f<-O7q9vx#el4wBEv|}*-TD-^l9ZzqP8KVGvSoSW#4evqu!iNdnVpXu*Mk-d zU66S`Iu?>2_3@?!;CY6pC_&WyispDc?{wU-jXH0fx;(QcV6j@Pz7;&S$m$f0rQ9w5 z`d_ZyMA`cLyz5$S^StjDxS#SWfFD1erO8 zFCPOvNNHxSjN6f_lzqYNRO$xq>tOIDZj6!LJEPh)lUk*2#01hrj*@-O7xn*|Q~saw z1%&_NkN8P@xBf56h5w8-xg~6IkblxphJMme2>;)QOV~LpyBXRGnw#4GPsu{G29!6- zBJP(S+o&}gG9+OfC{z&lDh_p67-%_R2-1i@XkjlE?hl;XxTx-E0Kcgm^n9pY(?a;G zW*seFQE*9y0pt}{X49lsrRBA@v{lMmnc{0_R_~THNzct}_jUZtzx92|{Oxt|`%ke^ zI)sNk<%qiCA0hua+%?e*`aH0f*Y=jHna>h|T`6LVv-oTgENjq0GZMBDh)EV9LH}S}$=A`;?kDGVGlV7?B}U9* zV9^W|wlYi;yK33pYer%*d+qyM$;xwDG0YMw3Ux-fd9WjVgv=gT;&#RBWr(P}Ev&p! z&qi`I_)wyfEjyrkO+nJ~gg&;RfD*>Cmdl58L(0BrOyJ1LOR+{XT|0AGKZ)2SP+>FK z1vF*kx?=2vW-=Cq{gx(o1^;v=vPIx|M|a)j3IjGox$fEtWd?BrDJF`lk|vtltWqOB zG{{!m=yn0!%Qjq0;Ec;;7F()BV6^hGWXiqp46T7ip~@a^#00csOsHj^GQq$IF&4!? zm|9)q3!nMEYjOJ8ZdaBFXZ8gTu5~>RYu1@+>$}{NgGyO4HN>Zch&Lr3Om&!Owxy5@ zCS@nk=~hB@27W}=&~mclS2Vx~Dfya%Qdwf5&8KFic+pJCU}IM2_5Fvvj@}Yn?(L0_ zK8YOpz4b0lf9Ok%&A}jqKZpM0+rX_b6s7rw?B^ki(vAdK!NG+@|H(1(gRxMf=A)U^ zdiOW8S;K>ZlQflMt5mMT!v!Y&3ad_k!O-UnN5H1r2&R+ zasdRkL--iT=2q+xbI@1euEoX8K|cKi;y{?3H7_?whtN{-K}T0nVXb4ijFc=lw;aoW z^1q>;P=O2l_4t~}qsM}In^2(m{Rk*2e{Fg9j1I$`2hQ$nIcuEJL+4;sCqLnU$6T;7 z2n~Qy0VN@`v<%Zwc<45@VnGQ@e*>S~psRxY`;(Yj3QSnF4LFJ1;ulBilDrdF5i#wc zxL7V0gf;?Jb}DMa7M>`$BxD|oE*!Fa0;}b#ZsBRgNTq0188mI>p~aFB*ENQr3j=rN zr7^CPOBo*qH6smQ3oOA4ALz4QqV(`%bQZr{25B#MgIIUPx;WG~S<-4;Qj@!^ zr-=sQwe+k-r+alNjiBG9vt_K`caXMaEH|NU2;p@<;_!reI#@p<+K8s7eu;?iVxUpr zMcnn)42p6#msWqzXwH$<_FQLsYIJjhn#fUT9Tfh!+K=gMJrzN~>rqGbmK_Xqm&kJ@ zVp9q=mN`2tXIK-KcY2c2eM-Q7PZ!1}YR8eo%8q`r#eC4@7>~AtMA3FJ{^w{MgxPPl z(W=N!ti{0fI|7!Ci#rV)0>k0Sbu*fgtU%Vx&T*dw8r}?OxOp9y`4l{`$|?{VK9>7p zfcvouBJ@Uf_441~FEcV?t0xC<@ot}ld#O8{zkiNmHckyMRpd=g5u&YNGU9cib4rfW z!`rybK;K-jwNDgzYW5)91zm^iH4y5Zv7KCp zpq!Z;>El~Q?Lsdo^b~J}SJ5`jM#vs^!lL%~-DL;QUl^r>37k*4WycBSz?&!)F4+3I zC&gAgO@UsKKU8|BRX%Y3*?Z80e6S4Mr8SVjmo@0kxz8l1Tsg{x!~(NW^0@MxzLE}Q z*wHvN{fjoY8d!eq4!U z88ttKxc|-eTFyW$%PY!8a575tA1L+1Q6*&-aDXN6=Z?q z1Et89NlYIZ<8-ACI_(X&dW?Ijd_|1V4=}~;zhooiHJ@j9Mf zc_?D1{scM}hnAP8K)XF>Ls3@Bluu0RliR|BJ&QNNll;vP>ZFAyE_XMM&*rW^@eYh~ z_g>?DcT43?dlMsYaV(4XHFPaxZ$crIYfqqhgerB9T98B8@isN^^u1 zMM`y!BFzIHS6I8;@?XpAe4n&c1>TT$KD)<+w=+_Qh1j0uhGEi>*sjrE>^MCMJg~;D z%NQxotV4AL4xknA_vNa5O}Bu_-A|UD$i&(xzdKKGg#Fi)b?M53jvz7}DPy{R6dk!l zI^xCTqK=dYFMH@}qTxjg;w)^3Y_M@Eu}+MJK@&x(EoB9wk}#&NCQUbG4{>pkw%S-V zUNixuMi-+D0ueM7S2QUqgc_!Vd4(Ii2vkMFt=`H<=oA+!3(C=OT~g)x6fq4bGB!?! z7^HaOk!}8nr^mt*9)Z)7GPlLl9K2yphpg>YhKMTN=q--sNDgqQnc)7kPCX%Y*LZc{ zW6K=Hv(-?Km^{Y|oWU!@B|Gryu`xt6LowUgM3vboihK$=?B3zGUMR4*%p{wHPMGL^qEG1){%$G;8&+gHfZ_ zb2eg#*On5?5y3|A#_Ta2+Pe&PX#d7p)R(DR3r=uT-rQwr$=7ulrzww2>vv3Eh72AM z8|0(+=F@G=NQx)RjJj1Dj(9(Nru;1q|o-MjaSy$1J=3E_FD@Zb`dYAJJ@61r)@F%H+@VI zVt3-1+;C#aQoD1yP*SA}M~{b*rUOWy-M2B|C1r99;(a^D_jKd=Lx^?wr52}E4pZ5Z z-}c?$cLsVc`}_fx5phNyxU@rLcvO8(jL1VHP3 zvqa6I+VWA{<&XKSyfbud^a0)|Jzr3AnyX#EY|NN}b4aMf75W~bb9g$7IN+x9kf--} z@cuOKa0cD-gt&LFMxv(~(lg!b^$ELU7P<#J>JK8jM{m?5ys;{EO|{r*yx0{T5H^Mf z!`kt+9W%6`G1^@9IxAA2g}n*?Ov~4ciDupQ4vz9G^jH{NNqI_HBgn?T2zQam=WNrX zZR~Li`@F$I0=l5_6fD5shdYKbh6);0eOuw5-aBF6CW7oE2g5g;uw3cse@|@@D=9t8 zu%(i!MRH2gG`aHidU^|FMHT$Nk}JP9CcA&k*+W0|9{=Av3VTyW62|{2l2y@lLRQ7_ zmCGDC zN27m%i?`Z;;EChnCS&sFY!=Z{_)i>Ma9(>%-FIK#cOQE{J&WUmaKwx|1To|hRuTu4 z^$e)qXPkPZlt#tWXAF6WtFlkHYPY9z`j=U1=p9iQ9(K1H0W%J;k~qT(p-a3;6av=H zhb;S(kFWr8n$5*%py2gwS~y+|m4xNSpoIv%73@5u+9Hz6s4M8LEHuL!4z${;sBKz< z7&%C3RJt|e&Gk6krmK{w?vlk`gvH8G7sK;d@Fy7ktvy@fH;^K0Uq2StLkJ=TmTGjT zCQvd5h5n=%VF?>$>*E9KH1!N6gVs$_mhTdGXzW-@4bdbDp`cqkGRNmsCt;)E_dS`iwRg zcdQhN%n3&XN8Pp|jTU`NIk5G76QBY3$5(;>5&9y(_J#g_U7xXaKotr%MhVzI<`{PH zLl0iI$AdJBH}DI;hcvtJpI)-&u@swpSY{87rH%iPoC~;4(_*ubOqr-r_c_lSE-dj zARgIqsf_cvQjX)>a5nbK73b9htIhP@lxB>DOJ)+5fKH?#zT@<3d})^1D6g}#sC%m)4!wALW~KiN=}&9;A7Rbl@SdO0VK>j z`vcNx&)IC*0#gLKYf388?#xco!Zp3OJB#HF^sE?`&?QI;{U`J7^QduJ62yuoA)i7D z%@Q~Gw1;t$pe!8j`-;*Di1n8cLvbvatF|;OWEUdrbnOxsZXI#&?W1~<$~bGeg!bj2 z#3zCT!fk?>8YWNd=Ikp4PAT5G_jmEQ=AxmKB+Q0S(_$^pj8g5(7 zs5W^8aJY3lU?ojs^%hwV9rEIE9}CvX99TaI_+qEU7@BmWhubuXflo&QZ@-&rkTue* zVrgS}<}!K9L<3`f@%1nSPsoZf8C69*le|xqi4My=FGe{=!$d+AZ)x;JVEL3lNIL|C zAiHD*nJ(~I(HE{6Gl{^6uNi>km7CE>3h#4RmNr$%l^^v%`|nB6Scnu+;n56B;o>LM zx{%6LjE9lPqN_onJPhxpusAlwB-VwDuqGjZp7|8gRHQ?C<5dopV`({Oh5YcCn18AU zA#K4_T&-5j1tGxVRW)SfD$7xum9=Xng}CRS4^xk{R?F3zetPeJ+0L#fvs=v1G-Bb$ zuCN2WLuMzkN!vu^!CRo1CZZc=ig&GX@deqX`$vo?>(Y{I_mEH;noVA*FY~~yCl z;X~n~B_yEUJF--;D1qC@hg5O##Y8roIsRovVN4MtVfudXa)9MmlKXgLd3T&UheF9Hd@`u9!aaOIe6oe9f=24%VW=?h79isooH5}av0 z6ZW6|8=C|gK2mMHxo8`Tryb^2x&B8kzQ}1P9KWQr)M8FstQ1bPdEhUHIW~wd-WQ(k zyxmByZW5T;zCv!XM$CMLzu1V>Shgr-Su$>v7iPHY4lw&83Cr;^5(qhnkwJml;lQph zbf>X3XRWCE#00`-1C0~$G$v!RTIee5ZoAlAw*8ltZEDtCZRJi@{Df#}jqDB;nCyju z%6J5E|I#yLF8uo>9_nw}9U!Dkh*$IXxmy!QXLE~e#~pv&l)Z(iJk#O2?c=eMix`Q8 z(N=gmw@tIQNYGx**C9VMAIf4D!LRnzcMwRzJ_gq7@gyzYwdNVRQSmDU{8g>xT?y{u z0ynKkucOYfrJ9S25hod4+-ISMdk4K^W9hg_6EG|WfMJ`Qdk75!dB@HLAd#CDcvy9e z-JRXelXkS?F5DJXN^5b{mDFsn{oMt))=jKFj+UWbG0(qV^dWGdi5e$|o7A=_NhV{y zC&@5@Opp40f246T>DKBUJaEv#n|SLj-9}`=@C;dlerCkrOM1p*va*TE za9VZc?+-_yM2y}lUwKLo%acgL1S30U!tfLKuw&vJ2_>sl&cS;c7l-7+B*k(MsnI*` z|MsN}UC@V8c@dMhOV6f)g5PE5@})jRqpC91@vYfMcq#m&-SoknXqF&Yj-$%7kdduo z2?26v{vq10@A3g>=X92B!3-BW&#f&}zT4_;BU3%d@BD#$&EV*e*pHLBV~I^)e;SSF zW-<4(ON9GgbkJanNsu8}qDYSCv}gEw^&6&gi{X(fmp}=)Aox}S zgfkyXc4t86vVjzd(JN}gA}+^kKD6A6fjRQsaca}p+!9b9pPt{;t&++41{7y3*8KTU zvL84v-r*+$l=k8omy@4qVtp4lH)c%UrZ|(|iwLsNIEyM~FiSBPA;}@Ns?2rL24fLu zoL)U9!w=!iELRNu9!3(wm;F6_(!Dx#-ued zYD7V=?A(e-EZIjnc-f2F(~vQUtGjxvqVZl|e1+irGl2$N1VYH!%RNB<_G^iW_4?o)zHIv{Q%Yz1wPGpD+)TE$Y4 z6_rb+Zdn#gA&BSoXKL?p2NLp@9coN)Q|*a&wC$~O??JcK&o#HL{y^4!k2Z2lS>$04 z0}y{{j`-*CLHm??9lQc^>D#7zgTG-(DAxNagd}wtO(cIXZi;fRrSppr8n>xAoM=$1 zMKh9eBveQG?b#qg{~|#Bi#qxH=q*%XwhJP;L*ek5ZY6LZU)V-_li&<&?Yt`zyp9AR z*08Mw@Ed#ldk*#FM?vDR5TVnxgu zbM{yZ1JqCqwWivx(*dQ};k72}bV2cGMgOYKC9OV~dZx&nh!CQ!KEgi1Fn&^44{cl( zze@CZ%#&^vqK|@>>&&1ZJ#HiKCv-xZahrkf*FjV)n-F6?9J6JT0oExnai}t+<@jwM z?e{S7ItLq|M`JZ&?-dG$vAwM(r$Ptz3a-c6Y$YnM-Zzacx`ox>e1)$i;p)@x`D&vz zHbm*VpU(aA;8Ra6CzC2U+uP*S>kK^ds5Tif1^%HOjF}kcLm@vERwyL3kC-H$v5v1b zzG09_QVdC37soJFJc(yaLQXvD3p>w*hT%~Tn?Pnwz;$BX@{!+5YF>rUOMBIrgv%$zvNVQn@HdHLPu%>{Th+8%Zb7fnHWD zGO3r6BD5K5*lN7?p*c0cHS?ijrvu7kLB3kLaenz3LI)csc9kHn@TN(KhurVdf{Ka~ zYY^v^Yewg|ro=k_rk04yV!dg9bpG+T{8f!3o~mr4`*R6i$wd=>OYAQIoZ|Q3lM7L~ z7*X&R?@EDpdlH-xbvHn7w%F#L>}DKFiX_r}b6Fwbq;eaYGm5Hd!kXASneKYs;3*#W zOvieON!e>$m)=w1ulLj{{jy+yy?eUkl=Vjir3Aw30vWaI!oP(ZN%iG3nlZ=ldB5`* zi?>s%%hCE3PqjQvjH*BFe6_#uvXhw4g0jqUSMYd7^IwSgACQu7>JtIh#~YIH-!`&>T~Z9Lrd)i)2bAv*a+9I?6jf!BI9+KAP$$c>?G7J1Ou`UG|;d zKcydeR0VeMe!Mrh=Bjh%irXW#AAh^_ZmOyI=2qH$e)14Ho$cEll6ojR=Q@nVIS{DIqib$`LpQ|Xr#wJh2`y0FC@fl z)p;wFpH*$}UR3a;q*i*;cM4tq@5o^DE2zNl7kPiuAZ@EagLaG`er`fRPZG$%=F!>^kCen9IV)d7O|C>hjui)98k5*kpzAka z=?7KDju)BRttRTH(HPikm?hPx=-sPa4ENv&RUj3<V*Y+ zbqvu^o68M2Q1s=aZtwA^jI&OJL%fEdYLhkl)|$alUI#(8@h@9fV%fi!2g0=Ar-RMa zbgo#feJgKxv{4;kWYKY>Ncur!j()Y&q{L}|9G*ZuF2~CTTM=bz3G2QMV>{QGS2PEX z>jf`i+1^0rAQEMrt9M!d&nEpVFpT`)H_7flbUXhWJgkE$_*MGz<=dZ!=Kt?ULdGWM zHpYTh`i_ob##aB(*@=>#fC1o#t87kv6uTH(9qGWP>81dKLS=i!Xrg<(f6Giy?U8 zZ@BdW5PmNzfQ1fasi0d8!Nb}Il)Hz}F695&sQ;*8Z)(3QrhZP+`%e>#@qfPN|6KZi z*0oiN(zf$IbKmE!_UWJ)fWTzB{wic)z@TA}4vRqMlmzO2NQsaoQ4NKf>>c`D!4IbP z0(-r%JEHi*E<$n>ePS=QjPFlV>uI+aF*)1aKyJ~S99T+Rtot7K*`tAdu;1i4e)^W}JcchT(93C&m2nm* zoxbc?U;amvJ6v!UJj7jqGD3+M=6^q0L^LTxESyV^waRl{`9t%38Y2e@2#Im387?vl zuq+vmpGMKFxwK4ADkZV(iW;#`UIm8tTA&7w#HNv2%JQbYXw>I?zIS?*lgwwWoF=}a zO!;jmcc^k09wtWQ&P6zwrh5W9j5H6}TSKBXM*pP4hel1efs}ucvdM%D*i}Pev#Bb+zW9> z4-D4`7fu)nHZX^I+%<0%UToXqwYvsQ3>$MH-A&7-V|O}*c*WA1?k!>7h9zhu?bfer z3RZmVY7lDBD40> zHtE5A5p`}o(OJ~(Rfh&D@6X0Qlpt~bZKraL-Q!wWD-t^SSo!`Hn}k^pBGl{eKcQ=% z5bIy{?NP@I&}M)Apmrq|?Z7TOGkt+a|y&xcOg$iwHP@D26376 z#aO0Kd+F|3i_nIBalcFLDf&)cMJ&^t$7K_}OWvN+=1&TTnqewB^YAlJlF>;1DqBk` zyM9m?71rw^7BLD#Mjwm!;GIM7-qAn}@To6wjo6a^`JOpenLYSgwlRmrV4GwxdgE0m z5>{_kO0tElnsAeyt`9Z{Mdgm6L_BUBA}C4e=X(~?beoL5YN0ndVF(xa{$n&71bil= zlguSzNi-m%=S@KA2Y#7h2C90(yEV-RkpSusLz#DS786(|U!t&U8~S6Lngh=}O+_UW z6Qr=KL}Z+$caXXj0(C@O4rq0jO+1Ml@L8_CJ(S(A?2%emY#+5^cFu7Ni*XLBj&Ha* zNG&k8L}i1>X+5Ab{cY&^L^6%E2D_A5e-1i@oP3*k-XadTue*Lm(Fvsds0lg3}PvHI-6=z;W~!z28GU4aeAuU~zTzkV_N z&%@(?ya25K6&+PHT@{6qzDT4U+P`Jg;q^Cbz%8 zzJB}Rd!2_sQbTM|Xzc2*_)2FijvIGbjZie}geFlr+VHrf|2+Z4rH(cEgDSCc#wlqM zg3dMKB-j$e*eC>A{BhG?(o3sltgh^>8LQ{;{aO8|r!5sIcqX6Fz6HL9z%nQ}Qs(va8>q35_T!*ROzpYh__Mt&C zFmc$O7w{V$hW%Ft4TSZ2aEfy0AD&>BaBn3_q}D^dEfv%nq`5yn7s_z*^mt27)u*&l zy8GxEeUuwunjr6J9!pSr2OK5HB1Aik$;KKwSbAW}AiGqoPTA0ZQ&rdq<)Pl-g{5Mn z1kR%u_{7(eZ4N?-Aan>9IU>OoCmimu6>dNUM>wkf3^>3-*u2>CAfb0wPGH2YI)W?shN>5K3yNT~8!jZn!ples7HR~Kyc+hU;4-spb$eA<=1nH*ggNf`l z)v=M2PD}4;gD6r|?{Eie(?%wnX(s8+UVeloRUozLBc?rzSRkqrTWTL+#r=668v-pw z)~b?>o%~ESM`qTHUyVWHQM!faDOMzx)TFUw@1Iw8jm+$Pi4%z&WwJ0CD)dwX>S2aKcjMdguaQf@0F}8X=3<@Hh z6F#ClIG0X%5}ME?9@DA%9c^06)Ykjhe_V2xTC&mkh{S3XQJy_pn5o zqb~bT;6UvsJ6jok;*!20m~C+Oi-vCD>s*6?bJg~V+5_9_yJ~{8@&oZ>X5K1t#Dy(O zn%VBr_qa21yk&H{W#el^+8?oWWXgdNCwQ~kJ`=fC1G)X+T`eN5jfuZoh{}W@+jK(d zn@IZYDqRnm_V{=@Ko7`pu2fMr@v|MEQ1eWfCFlipoa4#4Lbw9je0Uhz{mmd&zIfP1 zCq3BI556HNTS4L1u|;Vb+F;S>r`b9{(epWDT@k~Q6DzN%E+V-2wV~Xz!kr$l)-mwX zAWyXVcEomMH|@{h!3xy=tO?|ifJA;E;0QO|?KeQ?K15Tpg&m{-px}dO&3GZ5fgWT2<@2)s6|N%q%w*Kdqv*RP zqGM@4!(#z#Gm0T8h3lN$vNJgr;O<~IJpCOxGglhJAb-{`lM7f2iBRLb!t>rmyYR1b zQd=Q)N8gbUDGiccOiq(VegguQBkrGZh1nD!UoHyLVu!VXZ!?`jI&{m^jsh@$pi zpzXQxySw>zsmA$g;;l1vP}#Logj+KChExHB(K|taM2(cGQpv_VG+Oy}ZC;Ic1Eq?B z7_7>3Udr{75u6>HmijHCE1kx`Tx$#Q9$`67dZ6#)H6lG8sK?S}IqTSUnxBTM9yGlI`B&`g<jBiB z%8ww#+l3~W@IwW>_d&9?I?wnJP`@a`&*56pI)VcPlY_h zt0s~z7#pNf$8>xfcxG0tFM7_Ya8;%cE^3#!D_8BGxT{nQAjZftEPR?_sg<7p+Du@lIb<8wmn@dggC=9R9 zz{3&`{u&-M7_w`OFa7Jf$0Zn3juw0h)kpiZH2Bxsy8 zH!6KG@e;VN2ws3zKw&{0fZm=NjAet;MAUf$!{vP2Rb4Ru9#}V_F9v~pQ+OH%v8drk4!J+<+{SbI-1U=QuqAaL&&-74f;lBik$;bn zT`94uJT+Oe0EB*A&~NEG4`YU`=}r{?$g%@6`*Mp85g~^@2JGEB`*|wz^g7y)EuKHU zqd8kr3H4H!%d8fmzc2&seBYLPXWc8HtSJ)?GSW!5)zXQy(H4rFV2K9mSaV51$7}FS z(A+X)q4-zj7arYCOTQU2R1x-pN%1m}C6VXTBZ{v17~G&k z_$4rdYq`2|9SAk1J2e^T8<%OCX3oKf>c-%_Q}*z5&JO+I+Y>oYHHSiKJ+~8(Tx`wo zkQ{i`Pr9PA1=R}WNy@|ua)t}S8rJo~ux|!uSpI}LuAjWFYIYrD?N+0UqB8dnw91gm z?9iAaEOx04bN41_VNNFSke*v-Cl-x_(2Bvl`H|u?`H0pEC;|so&8wiksO+JyKt8C1 zJbU%z-?PgEz5DRp5X+bj1aO94e}!h#e<2L4-iQTW@AT7DU4h$cWIV>9c?C;4EcvQT zH^YvtMkmn5#y4~>Uq@xdxv*oNg*uJ?rN4#9`D7X<{BVWh6;=)G>A$IdXHoUcSoaQV zvkK%L`GC2)@PHAf55?CKK*wCb^Ty#v#hd+xdJ{(!4px~Ykol2ovWatrR4cFta@9k; z-Hto*TsuT?%OQ)J-+F&R$TZm}@)kz8l_PbA)ZOvTfiYpPW(5)53$DkRSa>Vw(aSjJd2l-Bhsip0t?^?N;|s7eRn`X%-PnETe!EZxAXYhe$>>Bx_K;yzn%7Yg+oRqdjLOAMv z%g#{+3f{Mwn%%_cc{DgSrF0FDKOzMBCJa-eF|h~JbBbio!p)lWrG{Xpz<~8j2S^>H z3Q|e8om&oFf|U}CBIT-8zH83dtbXwRcGU&+=4;7mR)r6kh~<7wzi)xF6DPTdpS#5f zGMDL^jcJ$KVD_-sJorcEQ{l{LFb-1FM%$BH7BXTL(T03LnVQ?69@e6}5?$)k7UKDq zWsHzt%yDvR2}ug5=eC;+LzVAY{hoT>EU7VC(5sI=8Nbs>Qb;<75{ zwEf~!C;?+O=iA^05p-hHyD99d4uIre!!K35UBg6{Vu?FT2YQ+PBZeeAwrAw@HAb)r z$2elorw^8|+~%CQ6am-{3!x`y9K_@U;*#$HyM0K_CHNVK<9^huoJNer6I5YC!hE;v zs9!m^)elR(rc=_|33NcJ&LU96s}H9%GMBnJv)x~eSf+SHPdwk-F)$j5oZ&e z&JKy&ZH9L=m%BC8{H*Vi3=z5|R%V`g*QtNqv{$wrK3@+@Bg zWZmJ+v`k1S6*47!4iRG7bQG>LKJPU1IXrM38Epo#>y25hbxZ|uXo5W8uTLLWas_?7 zn#v1Liw#iwiw|7fDoAG8>4lqeQ)?v$w%y`uEl*DL-kz&@-Ex zMyDu+%$p?-v1Zp&>t_Ug_xuG^GZJNc@H{-^_=Y+f!YiZa$$`q$S9>?XaGCuHbfo{r zR{+j9{loQ_0O4H)MzpeWyjnNZy%Ue{4o^C5W&X1vldvuSjVvK?6%ko`ByD%d8K;{8 z0aNFn2Hee^)da#)WrW7?Teov+FLI|_L8+u&-BfH8>+1npo9aCU&DW6Blq~Iu(a4Ry zIibeK8;EWP$A;fcDIqTs7>9^Pft^?b>h(-5)7J$?$gPubC}yrf$q@(UVN0~Rn5y)l zsPvJRnU4r*zG;lQ_zg7_JhBR+@@wbD+azB(emVd9Bl65ls-;h+5iserM^+SLKvqC`a z1DnM&s9Xrn6{7Cat7Jv$6M+|O^4I7f%BZcs7@h*{+dBEYgM9<~n3G*9>rd2h;+S`N ztGZl}q2(Pqec&dg1Sc}%c@T7P`RloQ?7sD^<@5ENasBII&kvby7Z|q&BP4WH7rtIo4#INa_Zzq z*&3yao_5GKes{zq82VI!PH=tyj|O~ft?;l4Fgi!Yo^)y1pQ2UA5rt+GjKo?VTgo!> z;LXL?s$0}iK%Pd!jzAc6PPqJ;wM6|J^0FTde%Gg~^^w|b_}n9cK`)^ja`cXwvD!GL zOI0WBCM!KNqh z7%hECjkvQG!i7F1kOy@6#h%uHjcAt`J;XjxUlHA7K&3&;{@LtqL;T0+lyDbKFeG(~ zlQ=rNK}r+ZnMYrSGQIEdD#adnZB^G-9D?Q(GSs549J{a|cO0ZDE zf80cbl=?oMA+N%Kyk##l5NW%4uFY)A#gysG!ZLY8U=G-+yE`<7J`OOj4@nC zE`$-v|3{9x&Z13@w4DZ~8EEPTG7 zS2HzRu1a2*>>?(kv73f0d3ZZZyoI}LHk?=P{He}?Xb=r;=sJ=&Z(y{BzOQA7QDXY_ zXpsV&(Z|c|#GW$O%Aa%ooTf?b@JQHGSh*{-Cr=8}ngR}T2?ONV{EK!fB37%RF-X*c_bN=NpGu9~nQvbR2$_eQ3ps$x2yNQF$f5p_ zH7UO!@UNL-+2a7%tolXXM0^Adgp+bEDKGDvxzjw>W_oXIUW?+xu$fgYFyWO!{MLa19+MXQ>8Z#*(P#WzhZ&aoU^8wl^&Rut zm7eJVOm?^bFtJel7dPaI`qT9@?|ECqmQmLCtI*t~FMV8PPf$RZQNT;ehbUqMn-61m zU|-?4(=*`S#DhPK&xxMjFMBg9L8bUneDuD0&kl8$96$yr5X%qBh6cZ4Bx{#H@6M z{-`y!50QZs4Pt9`hHPd0?&81p*7^cu+8Q`C{$lyb&os3B;-FoSV)p4Bc5zQ{l1el( z4IyT~dU_*t%R+nN9$lUG0iyR{^B?`Vz6a612-bWJLBGM?(DxWbS~AH~kwh!8-ag1f zDg@%))lLwb(nWEaOYgWK9u81s8QBPcvqzXG<2gReVV1>tXs0^GRbaOq3TfVYq`!pM z*NyfSY=htNUBpkCh_yUIN#1M+IgNIt9nxU@U4=8ISOau>vQW+n;z}w@qK%4ptl&yh zRK_O+aq7xPJl%8yz41PH2Su5h;Ym?9#d$${4qNsSTVQh>o=yJ#gKpq|;Klg9{gBQ- zrQZ$wuU}OE<0SB3MW3pEGs10Y&J>Xz(Y=#gge)*6r8M8Oc}9>yCIOnF(GO?4Qt|$u!^jSB}?E0vU?0OvhsF zHCLSz_tnqS+h6x7%K(`}xan|w0l|7m_<ZAqC7HtEUq zX@?2sgc+<@{$gA7tdo^>21dZ~jE`ZD?h|UjQD$>+VS8}-fP&A&)OKW!H)1<&t@YWH zXG;((CE6fC;+yqWu5;6e=(PydPYl!&&&KOxr&q)yby;9* zc0}R7XUJz-4O$aC^f%$yFla%XtQYHYmQxx)4cEdA<(=|0@wjX>iam99)H+G7d*g#~ z{G$U*g_YnR_OLMweGCg# zL3mHr@Y%8^8JC=`Mw~X*b?Yej8v>G6v}GmzSf|LOu!Z$Mn*zEgpY3-gz}hFZg7jKETJ2{XD`KQ?!jZLhD9pK%+ao~)WW+IN(tyc zn_9V%MrKl^9~FH3kU1ObzNBWQtQ({55;;I|EF>{7 z^;U9?TptxFq^GA0I!JX?2D1v!>|g^9wG~n~LZFtAt@%v)WCqM$Y2hZL_rf!Hqz*=P z#HFInQ++AR*&#B$T^&%QvJU}Fs(jcu4Y#j_-(tnKY=jKf_;79rm!A^af`ER(xXHv+5TANzgILV@NJtXl{Ia&P})qs||cC&ka%OV)C zX)6>V>0jhjzBGJw7@FqSp_9{TkR(kvyb)1Q+4S#QfkCcDe|FMAFOrHiJ`}KKyC{Y-h5(ZttQK_AOoS zt3{gidFN>M_9R!9r%xd@NN@GrW z+!9lglj`&ZoolxuAt6=KAFHcfeSi4x!m4k9X%j42(@#l5qgfg@^8rpKjtV23#Bz{) z@(Bj4rWzZq_mumauPLGnY%~lXLD@5I(v=d6hj&U^0qLRLNlbG;Q~X}b1}{zgqCD_( zyIDWL7TsOTpyACjUVftXKhWBJ%YUI@F8MkbG0q^m?^_3d;-S4)Ee1F5+8bs(|DK3PFKkkC@{E3;XL0sqxi?O#&?96y!BlieG zy#eQwr`=14{8PviB+Ez<{|2R#Pb2P)LW{V5EGFt*je6^@po?dX|4|rxL=Ii`(Y#q? zm>x`Pak6-046VC(1JT0F6~#yR_R=QV=V`~}hDCHe=TQ0wJo1MGn#B^JG#hRk3$c?y zVYq$A5ZrU07J2XFsrQ={;p1vYTed6Me|2!jQfwMJYqd|%)x=okiO$Cx_4v1|o&E2W zHN_A7Z^ZcQ{l75PR|dDx$PqXqH<>-rZ|Y~sj|6WsKLfIgpKKH|jGXol;Q&cV4UzVk z2k%2IW&31pJ%Z)_uH%8@ehZvcdoaRdXc6&fvK458Lu^pDQq{5amjDJKVM^sACM(Cw%znyWdbvSdZL=| z`xxkeZpvYwSUo!&5Vp3QWZUcrFT{ifH{UgEL_XB^b5qP;-_!@tY<}DPI;KD`+yvhs z|IB9~4e6w)_(|K(KM&piJ$=jR8(Qj{8viTFZ3?E34=uAs_?&dMpdcWCZAGlpKgSLZ zLALfxal(XhQ^k$>H|$Q{;NF=Y38Q1$7*}=+ryu?q0GGfu-rqS5V@LS|i3r7Hooa(g zPGdLX{Q@bs;kQ9`Q@C8A&@J!0BJn{7#~n7(g(dU2Aui=~@G9K-FHb=;8L3Le3aR=X zuN)g7CGbt(Z}6x#`pl@tiiW5)yqA}L(bcvP2*4ELz-dd|xB@|>?tg&-Wx=}oQ-64F zg+Dwu=6`45|HyP3`f)h+uV6(et)0j$am0nVcl(~|q)=#_;xQiR5AWJRe% z4P#z%kbSCiH=X72`r#_mPm9C?h1iwDW~Ut=ADen!eSN+{>S10}-pG;l)ffN@3)m6c z2q%|Kf^t_l%}6JF#q30M%8B4aoM;T*Wh`i?`Ah=kwN^yd=Yap1+9>m{mPsR6$dJwS z5BABwONb=zT$5spr-G}WdtMh)&oj<0MNS5b6FEs1jxP$%w4_iFS_S=eS|E~g7EuN7 zIo~bF@Sd{JC*Y96_LsFTm-@hkBeb^jL14io49s)vmN?AC9jjIj8fC8#`?V~0*p`k+ z7i8Z1+eFUrfLN=qOT*F9QLqg=dP^=kJJ~Y}(V>l>75jt?NB1s^S6zBf7wSI^X~ySgJ#>H6vQw`OZC=)B{X4{uv!b`w(hbK_X`}& zAM*e5^@LG1LqDBPz`b%k4QwE5qZ~?nCVpm0N&_#ZN!lb&1UXC>{+0tyJxDdrE=qJ|ryN*>K+C}AA zCUfeqGeFUT_~RDZiQ#QCL8%rUkDlFd^P)8~hZ~|t>M1GrkkQGh{VqZPiB>fng2LLJ z1C2D^E|(ad#v}v(neJz{%ZGMhO!j{Uk+Oa?QcCaAR!Mv99VD-%eitw6qHqk7PFsz< zz9PwCO`7XfU#dK0yi~<_GMGP{Bh*|{hDAq1U0HN!-@G9(6|b%;xykEwS-<1r#ZcK! zFl?K4WeA}6Dy)C4pumJp3|Ak=Ra7e zOWgUz@G8xkjABGr00?$4&XeId4S~fR6BTAQi+{1N*<=0SJVF8S=%2DJXZ!Z3vVhHK zytt33Yh}@6GVf~E|Gkai%V&)oahfpBH^Q^Ocx?d+$ocJ$aetvM*$$ckgCZ8yr;if$lhn9-NP|u2L{o-`qNf7 zLf1>pc)M-wXG);9hi+|d$sPXQy4yx(lwPkIeR z5GVFXq)QYdk6XO2jPtCy10>B!)HSf;alN`>n69}g#h1EoWehCFgF(QelPNuJb;zbn zXw+Sh`^_9>o!VCk>dgwuJ>mj3wDP`Ch|diHs4`bZ4=x zob&#`mp>XUOWlRZGi#~~@fz>x8Zk>$7Qss>rA3V<1>ud;+9+Xt*U%d;h@XkRH}FaA z1Hi@gGvrn*gX+;|8$_6rjqT;4Ka#pC1Wm@sE(p(Z^Xn*0Jpu1nuJBH%Bsag#p7($^ zgg_<7xij7{|2a6C5Dqa~{V;k%ej2&|c5wVJ@U}}yTNaTYi95x|sspK%40mriywsW> zB@tD@FuxRF9t~(^a3qg2vG3BRp+ort@e4JFF8!o~cihbs1p~7Nr3CGJWXIvY3R5kxmrSY)+p@Sja zvu{vY;42S8=`J+3Oeuo}f=r{fX@#y2Ta8MatzZs~&9qI&S_2J#@&suam4AKn0wnBg z)buy?sX`0EG! z-FtIhOP&a3f!(oEpQWSkZE&N#?k%f@iV`r<>9(X!+f0PwuQ|ZKpW z>lCy1SWB(s1*zXUf3igUQS060o!h_YrS}mvFp3%lsDi$Q1}8B-H@OhsYhKJC@`4=SUHPVUochzweG5@~Uc4n+_a{reuD)___pnjqtz>3Gv+E&8UBaU@@^9%3N;^x6I6&brwMnu%R2r zIG`IxcS?}o%2gLh=5IkmhDsl>MzRmFPj#MAg72nUvRrn!vvHiQL{U1Pxe@O4E zRA|e8gsSq3Sb&KwE+fpULTy(@HQ~aSmW&w#lZ;t6H}O_l=I3F#KY)GtdggIJWVxx| zntV%-AAUa5R(OGf$v&qclN)W%(^G+~*&U6UUHzuiAu$+7o$?2)t=fA!&(aQ9;76?^GY)+Yl{*B2j_sxj!cg`g zm&+>~lKbU+i%Ucsffazw%V zQLyW~zC1EaP2kl!^E1&f!O;Y;7I2$;eVLkiY>8KK_zlgwNDVkSO>O8#f)!BnW%xlr zP*p*f>*z3@9vKqkICD1~FpQ0}eF4GNjDm7Xb4I-M)+WTC~9}XbO4x6}{LIsO=^{q9BQ6Z%R%DqDq_t zGud09#JFzBiiHs5Z2ZO8XpYtLJ4l>GcoVgzA{mWPxo^|gW%0VRsF04tY6%x?ven=ivfJz7azw(rPUcR~Z2%6P2G#K*~GMy8rSHhvD7*PIiI;V@em!jz1s$)-yuEG+nj)=Mq^K`!aj*BPy_C5}kV zWb;fJ&R3q1-hC4Ru4Yz(O)#$KhGlbial~`gZHT70PepC5h))n9wuwF%WpitG^-Q2e zefZ8Don+5PmgBZ&JRcLrR%lN$Y?fpXO9%}@!}Elp!qE&2#KxT!X8#`K>|R)0vA>l( zLUx_Ew(^TQ8=w)o<>Z2gVgtjp%F034ry8XVkWqm*1?)r;_{-j=0eiOqzVUn_F*(yv zAb|?S@<%5EG>`#BF;ON#J@{jM6mH_G59FqL3KMA0Pmz+vBqWMZ2$&b(yTsJt&Gz9AUK*wYnt_pV^veTFIR5f|eSW=nMTE(F&;MyUbqltBv{!m8g-36s_^<)%0XlK=3WSTjY1rRIiUD_g>=#~VF?!T@I(}`aPcw! zh}HuQ(ZYRKEd{!}l9w9ByWgM4WMkPzsS*MopOuX>?CC>e@)p7>mjlTXuPhM|t8w@@ zWIQ3HEw6LDd}&8Oz#ZT~La{F?oPHtj$ddis=r%>T`YbX1ut8ad$g#I6MbN|#- z_)k<|NJ&!`Q6BC~Msvl5T<$7#R64d9j}ngnMV=}*76obuBYU!$J9)^sMI9wjcjr*| zMvsnOr&lPF=9CdscY)*}RI2WdP>Wg-rUf)f5vEFd9a<3-RwqDD5FY5#<58%hI;Ef~QQi zu~NYTTxm0t(#!>@scZu?YU;J|bYmW6MUI%jc!r-&p+LsIT{ga4qlQG)edE*)OmIAp z7GFr93~&3))QrwS>{^ri+T@KF=}{<{GZjx)ZQ}601=3cIjO2 z$scUN30yNpS45UYyy_!}#)Aal3@1WQX+n6K4sE0v&a@>+LkiMKYRaj5!v&AfBIAVxHSgAhS%rnP1Ij8x4tD?=ZnWIXnxs97ym=38IxUNfn z65taKU`()vk88xjkoVFk+`$<677n+-VB6nDu)s5Z7Wf%*l0Fcp*s&+y$oki(56l?1 z!7|(V=+`r0u&n|m`fgw)T@mo%^HNa3^b`axvnseifiBSdMvhqz6s?E|_-_4Tg~LA`ItX(V*+55Q7xL7zf@K~# zQ8yMn*%S={ih?NJ_7`|B{^0IyOq4M z#7=S{S3s|Yds@OyKb^vN?Wex!{5*@XFj zX%GG9fUAhUp_8qH`#-j@y41kkw3Ly*Y)we6rw)RO6N)dL3OpNrn~^ht*Ad~fFquOr z0?m`%F}RE4WKCvFcba1YS6C5{Ih)G!$(KQhfyFB+Xt)~5ugW9wqo8gevjU&7KX*wn zj5Q+hK3JOm-0HI*dyca`NuPUso&kPY3R(YhzahJ^xWU)WJ>l{W(LtQw_h!c4JVuw- z#Ov9L%y0?tD`~8pheh@Q0e}XX0Zy)WqcASMNN=ri%w0 zA&NipGtc0Rqz(WlB!;`N$grD7A_Q`Vh=xyP?c-*|ZkYnuZ`772)Xz}S;*aai41282 zV%qnPGG|;eBmznWhzU0U@NL;@SRtWpnxvei!*nDA;*O)+;|5eNvR0H{NRl>eQ#l6& z)6f3%ih-h+*BePr4@u@7+$D}n2W*lg!>Txfk5!>hPg&7?Xa__#r~vAj#wT8F#{mR< z3js}87tXbkd~P`t=UjV*(->8{XvpT@m`Yz@gORU@Zk;?W&VG>yFHI`#S!?1rN1zyK z*T9^caZAO9C5R=P7VMw|25eO^`zW394T_)S%={)FWC6mA5j}7VDCv+qVe;i-DWX@5 z90P45<2o{F)}jBb$(`7_g3)WS6~PP$8GXR$*Tg2?H-@p4r=n*p<2xl%gU(tw?G}cz zmb^bF?5P}`b!ssgG^Md{uaiZfcR1r-;X<5Z3u22%maH{jZho2S^y9ap#uew0fD@zX zlE55`7s#LhP$`OtYS7TTF_ve0DyzZyXtUKTGhGvO@7clkX@t+%J+Nl7z{c6gAM-pI zxp2oav6d`@MY5veAGF`+0G*XCbryha&KcJXP9=y7rU&Gj&jMkpRjuCgXcZT=GDzp^w<-t5XV@J{t*qsGTws_VLep)6{G%V67C`jtcr^{qg1O;a-OuhsQV3byy$`H{`$<2A<;FW5RGq6Sh_q1Hc+02mFTrR`^iU`h zQc$K_qJS*Dq3Y4r^f+ryX3e1h#Au)W#~Q-`ZS?Fi8tXBoFfQ~|-hr{Bkvyb`0~zJ< z?-?0s?@_a**dG`%0Q!q1x0t$$f)sjlYRkhPn+xm}ac{PyE15PPla%J>qedycaEm36 zm|#dd{8#$sl1DWQ2}7r=ymp2&fMWx4-!9pKcYF9TSgUjT1afyqYh}Bzbu6QxB2Uk# z!dXW50%R?gvSzf+i?#N|D&0tFA1!}MWG}IS5PM|i!Z0}uYD$w6dkHs5qkHp4rmE@B z7qD}mM4K*g3#H#aUYV#o^gc$|*lY4Mc^O+Y)O&S`(DZ#zV6hEm1s6 zZ%{SbIfs=~;m@!3gtT5P6Izm!b7LFQop-O57G}+*&+>t~2SphTmChO_G2ygrTNP=l zm-)GSl+~pZ#Z<~0{~u%T7#(Z0ZHum~*tTukwz*;_E4FRhsn}kzZQHh!6ENcZnh7!>P-K?1eYZ37>dSr`6)_2l~TOogC`6etCSE zE#uNS^8;_mbNDNtatX6DzcQ^1?}$qMoyBWj2!8F`&t>oW_=s}1w7pZ8>x%^= zbEr>6pFxDAzxVb4F-TF@SCWSe6rgVpu6 z6vWNgMpK8Q*xGv7i@@8=(O-)5$xSj)7mcz!<_=oN@7F%aF0XGTXc%NV4CYFbVG}8wo2*I(9C4?|aJ>yymI~I_9)hUZegn``jKs0G4lJj=#bml& zA=fEbPejGp#H(1yXcc5a8D-bg+_?~n{Y{DES@PSgXQCT#Xd{*c%f7nnACK^xlAL3; z3zp}w&7rN{_=6Aq2-;p$Sde;42=83d@5hJGPbfW%{j z^`9~(V)wl)9r@l)h&kr&n2*JV53qPIV&}pHmcJ;l$d})3Hr?g$GFI0!V-1lW)XiT} z`L3?7eu*ZTbW$%(Dk8?njDgczd5btvWB?K=R(n7|=~>jjdhnw(_k>DOhQCNUEL(oIlWh6+L{H)X zG8V=p>w1q$;F+lxQTzZ|JpRR9S2P=g^A z@rq0ittaBjfYD-a1Y#zuNUUueluNH@95=3ATUO9ge_aSK z>!Qg0@C;qYSb(XUqU=iT!YBCa-5~jdyasO?a3|l_z!7N9h&v#Kt_+hR0{OD zABY^?k_mzl$*a9`X`@FtQ+n0m2_j~q*humkjvU2pZK|AXOuFPD-NCM}kz6vs{j+@u z{T9?UdguLIfhEL|m~fk7i#uTR_s!p^UBg#xtTL=Ya4~z%OVz4so`ZtTJ^Hmj`qn-a zU;0(w#;3t?*9zM!;hRAqv8f7S?e^(7xW<}h$bO*^>7lhhVilZuB3RvE&aXMJZa~(q zNr>Dc8gj@!j_rYT381HEs=t1Zj@`8+9Q~R#|4lMY0)fRSu7YU6mvAj1^Rn`HRKIPw zH)*LFVNv8Tei%IVAz2-9N2+(p=UV?tDY#g08dH&XA>p(EuppEbqP*4?o+TU{l%TEO3aQ( z)WCwmrw5|N+4j%}xVkNNjjQ#_C!MACUuT=-4|oL8_)(TT16Z*&Lq?T1AeQfGtl0@z z{E1lnSibhoL%e_a_8!(ok=7cHRLxGhA*z{tm;A)++ofH>%1zfOJ3}PM2p_4}>4sZp1 z0{{0j_?kZp1@Ygfmv!HR{NJ5o%9=Qt*&2(PTRHt#=QQ_&?J^%27#K2`oC_G47}#Lt zK;6LJ-ozf#$6Ue$&PPE0dxVtt_Ci9`J4*9JX2JrI3mBRh7*HJ3N9I6>llNC)<-!4y z7}(T=VeCLhQsx4R7?=hueo#RELIX}NR4L&SKrsqNyZ5C?bhJzWSQ!%&BwltI_|(YA zSl?LR^aqewu1O_~6#*JBcbu`|&UYiYG%(1w#tH%P<3BnBlaPb4+rH5-eyi;NmXZ7u zm4tzfvDN<@7T!N#75xve{`tHA3m4aa$JI2^QTKkKA{L?zi|?diNfQ4LTnGyaJWR7` zLuQ6hj7)Z|Y9u9SNybOVsP)WtOiU2O3qi&xhpFUbhd*=%Q8V>4lQPdzAon2ho+aQ5 z{iEak*x5K&3*( z3)rtj5|6>XkX`J$mL+JU{230vQ{cDCfv})vL3?@O#^X4ZzWOk&x9#(zCDH+kkpfEv z_ZZ=Knw1uJ%BiOAyqBu2qZY$J4o5a|HWS6*TuKN?{{@A)GDys_*OKD~7`)O zTWG=k|o!leK17GFWX6#o1g>| zhn6w}IdQx@7)K^Tm@I`f-rW{c_G{OtiRHOJT20r1o$pkVaPFyuj!bI-F+@@@fXgQd z9?9RRu#qs*B}Uy3nX$ZG2F_-57A)D}<@-0$x+PPA>}s2b3Cqp2uH#TRFMKfN`G-L; zcZ=%Q|>jwTkfxIBD%O#?me{o2ouk6 z)^7--GUf1_Cq_)XH*fR5WM;LFn9}+F;1O6-fKzy363`~%hW@0WQz-%#zNrynPKPjrpzq{fAi_od zSY`Uc`#b+<4`@}qfeB@t&;urdFNXYI%@-{Dk_pwmLs9%&ulv6XMdtr(6IYS7UHkSE zvxERM#1cY!-Ao8!!H_UZl;ZUxQl*Gjki-tBaNV~GCpIEpS2-lV?>?B5E`L-w+;A-V z%qXvqoDYiikrdRtdY+ufI8N8;`h0!|?P0be%_GPsDmMUQ47m@#St?x#nJ??G$+2VB z4_l-ehHAnj0{yT7Z8HTXk{H|YGbliFc zmh64A!8+0N0QN!)##(5i4lgMl{Hr9uLwFGPHAz}eXAVPT9HFXRT!dq}0q3)P+uHG} z$80^w81Tn@B{bxB_!B}D*l@~p&DuM7rz%)5e-W6BDrsg0%<3#v;Ff67YeVIlF?BTo zp0Clo7nLUuhf8evx(e}Z9ajwEz3B9o{N<{zk}h!YmcBZ*3|@t#h)8j$`x{F&9ej)U z=G7;it5r**B?2`d&8pRV`k*}}ZTx+a&^Anli-$YLyq(V;_D;o$f#&NWjKK_ccvp9` znB#9nZhrz+`~(BBD6#mmC{Vw3+a02&)8gqRod)V!x(C%4&j3ZI|}hj_V{L8if96|{EaH@a1a{-`)vbxxXbC=DJW>E4Kj zkXa~Ci)Q7}IVs$Mz6-A`XX zB{j-MNuyvUPRj)5#QH;X%a#Cq5SJ2c>dZ`bpvS3bq$O=8M}^;|3z6jie+YUo)tH$|ISm)n%Z=pyRyHnTYAdJ4DMgl5NAjUyHp)5~ zEyjD^yvv{hQ-h~3#*nJ-uL==!I@FkPf7Nd`fpw2}5wu!G@q@af44@syWEW?mSWNZQ-NiGLfOGXWOK&h+a{1CBHF@(^ZY;RMRrJ6K)vRHnbLfIfK1Pp2 z|NKWb&oBNYS}?u^8v>qIf$2x_^0t$~?QwCk6kL;Z(=WNlxj9A_9A?53pEY@x-ql7XE%5{^6frl6-IUI%FGzyu;05ZvzvV_kM*D ziFgSr&T~kM`|-}Jj68itLOFZb>b=S=KL0{jQo_ElZolIq>|5gdw=F~eEiV4?LBzz# zz})J;Vj@BDyJZMr_-h_*Ejv_!Mzpk)!psw48hrcDDKG|7q8O}x_;mv>nl{fBptBj% zB3}D67x|n#L?SF|d7Cbeey(` zdW;#vOo&urkb~;Dp+u+Vk|Q`)2lmMdxQ7e3Bb$kP4^2D?nju{c48iG1RU&B>jdXMF z!ughLV`;?dWM8H|5<$UBFD>0h9%bVl(dX&}Nh2V0LaV;srezdfiFxxJ_(Z$ksAXU3xF8}^RpK>e2$$p*=DRkO%>Cv#A~2x>K1g7S z*yNa|`Uz>i>Y*O7s)3tZl`-)aXz1}c3gKO`CWbV@R8uy@QU)x4vOimeH^z?KK&xai z$JMh5Y`p}OrJnyz!_!~Vz{x;=%J}8YP>f9Ifh!uVH)3S05F~BfhC8@@O zVba8Oh0$IlFt$&9h_?>579LU6eTs6yXZ_UlD)Hl5Qh5FsxoQH-Prc=PpGE$Tqkrod z^50@e)yCZ3*+kC3`ag}A{x@Cv=Qf-5|Fg{^0a7*80cWXc8Dsw>P;+@XiD{{Su5yx+ z0or{dJ(<~1B#SIw2ui)AqUr9ZOMo*r^pb!BlgAwy{wUiu+%eb(`IkMm zBev-4i2uhAyM+IN`v0Hv@XsxEvJ=uvW$}goJ=5`T7I*qakfaa zACk;ZBs5?un9(2@W9D>%7U-6%Cb}6-*D^Fz!9)U7>&E;hi>k(t#-=6<^opiMwJNBS zFZU^4$74Arf3wRscWY+HRL5!e>|>tsC-A8WCy?!3&YY~q#9s1V7VL)24Pn%>U{-OS} z2v&bAzjb5`o%ovlF@?gsBAfU{i((+MK*9w(L!%n^{s9x*$#^?uv(J<@1xu2Rxr-1L zu){_Ur51N#8|#|ZR?>uaz9ei5xIeZqi-#fSj>NEe+M+5pI;DIovlyeW?BYV!3!>6m zHo`TyIS{PJO`$}15@6Mk=5bR!tkfGgF%t%H>Aw((bGhb1h$nHn6VkBEgvc1P@?P~8 z(PDy9f;F)N8wr8yP!7XQj)CxD81+jbSK|U5B4HV;5%CRnV4G8S3b0AYq1QA4c0A;y zb*mFM6}${M4zL)4#<2s#hO{Y_+Zg513<&OMtp&0ez($yEYuuW`))r|Ex;jepJjg?V z_!&}?gr0;}fG#qFbuVNn{hz?~l5(2?c1A%*t_wFu%N8W~ImUg)6vlBR?$J&Sc~jS{ zMNXFGkn_0^?sc{r@`+9~O2)&e96=XnB*>;SUWGfEbTFbxNV8e#WD`V7iA1owE|Oe2 zSw?-M4CvhJ2o`XS!Il+9D1}eijvo07LGJe=XR9oWCc8~>)H>l7+(~EigQ8?f z()B%&a+lXToysz$eo{D{O+{sm#7GWNd~DVDec0Uz9vX&yN*t&~dh2LVVnPYcqc9O! zO9Ww| zjD#tO@T<%qmu45HWQe%jrvaQz|K+*B;CV-VqPj?nxu%905xy{H z7u|h1QwEj+3d{9(lwb?YBWIjvrml3h6t@`Tt6+`GtQ;Mw8LyGQHPHVxP)Da1g8tu#yXZl{u5A9tIUGe z@Bxzb=$K}SDZ^n9hfOO#CKRvVf|xbTYS#(L-V@z~rM0zie9}#;!f&rp%C~@K@dtKS z#RuDlX~#5Sg4SLNZTU|L9VHPj$Bx|Xb^Em{5v0HJU@H}3>;^g!^v@Mp~aEGIsMDx9k2_og67D0zI{Pt zynxVn7_WxPB1#M!v9<#1b>T)_iL6X@l8_%ki((G1VUTb7`~c@d(aEEw&v{!#JMH0x zr;~8?R%|?C4=&8iC10v8K!K|;yT#a=2d3Q88e_`9a|37ou^X<;jdS#IQl z-1x^d(=~oh!Xd0R?Qdi=C5lT<^`aqSfphkkj)#nm7g0+VclWcL7Y-Jnz$ zx7DDWerkLDF|5!YWs(&%b3N1;mU|#rQXH^_-b;;$#H20fl7aX!KwLH2tVfaZ{*LPzL%%thQ@i8Hsrqie|-PA7XkSS zPlj*Woro}Xd{=dRuR$Gr#ejuJe3B7grnGN?09P;5g@%G;>r>R>o&9x`XYiuQ7z3ob zjWFEwTp5|KVD&a35^|9ZY+cAXK@T|Q{*Yw94ofN6h|CK}kEp$ok>B6Pz)}5Y>1p_` zo;D9)`K>p7G>XxN!Cx@M9H!X2N*80|4A_S&=i*X6sos$}l_?X_$u@vglZEDpO#`VP zX9kt4f_P|pN<=ZW7ZMDYa5(60$6%NSt59ObmJEG*)5a^WP!Li!Os zexAcI6SabpC~GpWfH_i4Ur0ko;h8xD53D(h!&gBpvI22w%EdjZ&pcui!C3G?1^?7j z?``;+4wey2@#&VA$pJ88N>3z{92T&eT|`Pu9;;w-PIZf!G&VUwUiEU=sEEZzw6-&; z3ASMKh|_m}0gdj3U9fE(MXOgfpS)x*`o2gjzBAxfk6FN$58iqhdNUmDt*8~Wqx-Q}Xs>L2QM9XMzp{M;C z(@BZ?QB4d}53*Z**C-H@iz%C2H^MA)W({uPnVlk>!Cg`XYm2u&@8QrPy>ReA>lj0X zvSm_h>)t9A{o5M2u}{o(i#o@ZRv54bE4ao+gPsOUrQXjU57m`4wMfg)4p?7ai8?(D zI@1D>6$cbJz3K2d!g=~1>@vdc^h5_VI#zYoR@|?|B>7w@@u1zx-Mgo?Vr>J)sbb=q z6yo_6sTmhgE=6-lzYU^$N6BY4g8uXZgv&w-2Y+Q;V7XMWmO4k)jUe+#j5+cK3IwQ` zd_UM^AT>-aEPF0&4X1x@#16R7x>!$vudphEUJey5ydZ)v$=IB*VO*&qTOV~9Tj-5~5>~M<;KAMsMz@S@9~u=@F`Fs;_ciP=V7bT@+bmgAH6V<9nO1XF^~|<} zrvFWjLLA_EE4m2F9kyRton1!X@5{CdEHi ztpiNMN{B90Jg$1Y0ZSWo02Qt!hG&#VwG-3qrNp!eW~{Ky#!1HT9y^9qd(Q z0shv1e)roPdK-KVr2QT zOyV?AbUsLKVJ#`egKf;Hd@&^Xht?Wmt*O?R(uX+hQF=$zbTdk=kOiy1-=JC!v}_ke zd6BecK}h||LCH1LLcYW}Psf44S;5;_7EYA{BL9vmnO;yeo%io zzRb<@8rR&WESc?rECdh)8Al|FsJ90=c+=G;N%-UeEtxGTuv8h1Mu+k0TJl}0YAStM z{_L8}mRugXktb!bkV^6Ij{bv;m(_-tfIp*%Y>c|y1I=@W`?L!e+KD;C)8d00C~IvU zMKH8+y&L=OHQDva2%)#ovOb927~v6QW-x!Br9K{|BR}6*sOd@!t8XtUWcVUt=onv$ zR0^c)sV6w{%NK&556M{WsLcdhI+{T)l8qjzf)IUfDr9|Nd+Fs{I*obB<^?qXyUXeC z9zKCT&rK9lM|alt{qlXF2o>4f-?83r5^CX}n`J(&!!6hcR13l)Gh}_ByH)LLbBkaD z>noS|ZuO>~d?$ZhHN1#K^YaZ1mm0C%pIRG5%UX zDBy)@`}gg~yW;)Sh^~lGH0gtykgi-ax9rwny9sKljN%`1xG`#Z{UK)9Pq*qx__PL( zXCRH>J$e1E33$RV2eSC2&&Rw>m!(LvSpGp@<7@nkcXQ2X$?*1AKUm^OaIbfAGT#*Z zp*QTk$Y$WXp{Jqq`<^>8U;hp?UIIr?>UqJz&-78f1A0OgCyFN6GO~N+lH^*C=d$-> zGT-1YA<$MP?DmI~^MTpENni8$il27&TW(BAdg<@WR7Q zy6rWr{59CG#L+LAHnSjF-a<=XQc$mwU$6ME*_D3X=>yyQSJ>}YWMAO4swG33RaTJ1 z{Qwan4oLhN5-$my`x5OOf#*0eU?1b#*aDdq_u@g2zO1jb_j!tE(H0|ry|$ayZ(pmt zIu;go{v(mZDbWu%7D;(ubEw?7gu*3+)HxJr8z@2+0QtadSeKFG;xFC}u+L6W0kY{B z$W%%g!yatuWliD6U47zB8K&USGzLVWUtrBD4f=hvHV}!uEg*ra;xqVp;q)b-SF?2| zt4D~VM9CKFB{T8MDCS7#&BU9~VQy^zg9v{jWy6maI*cTrEG2Vod}dxEX&APkX%yjs znHH10ftGE<$DmfBcY?Z~WDYVeA}~fZuieyaIPf3y46Vf&gknTL;kipJ-D_n3>R@N} zXp!EA7&cH2DR^Y!*fe*Rh({s2hhW%3bwk|OqG4zaG8ut>zNYX!0wi#$1#pp(De(UA z`G8K=D&3W*8ApsNx^~i_oSG%7i6f;MMwA%>l9@DJF=YO_?o|XS{Y9J~lnhBTh%hu{ zQ#2VnZA&cOSXII0BR|;PAD~$m*8r)ZAA;wN%B0_2M%sT0wH@bLgq2|Jbzq)%2y{!nO#tQYIMSE?g*^ysH-aIkV^)YJq)#Ye?ecviIUHnMHHLefvVl1S!`i7 z!xvYA)ieyl(6;YhLaC}qJtXsZAhGqVBCHL$%ZuhDFb`&@$x3~Yfm74==FA8ishrpz>{==R znd1|6yH?w}^2LvMsrmTpmg-HtlW%)6(-*2OXA>goUd9!S3ZbFdv?BFO zqn2Pb@`P<0b2|dgoEHzFE2L7Y)!BS618!eXF&LRVH*4@1RPx~GKg&^3Q7y+SY8E?Q zq*LiNn%KCE#a7=zNvWw)xNY+b!s%JL=x9{X!G2BaseNA-Qnga0qo|8UN>1HN8<{Ht zUqw@7xu zZr)SHKt5fMnA*Iyd7VY5`TkX^g;Qlw(D_Gj)jTOc4^w1)z|mQ;U^({HiZ%hBzi2U`ODm~IH>p}&gsaF-A)n933XFiTu=X1ng1skietNHt%H@ZOj3~!d* zXr{34V!kAtQ^(&O#El*+@h4`#sv1 z{X^Ki6EX9GDTg%}GH+G(X??>E;h0XeMd}5FJd%mCFTol@^6)*J6b9egR5v>$1q5Q; zXr%5LA=q=zPRt`WcVO#n`{@_$1nsT*rK|f%v<8%AnwYfSxWgdANQr3oDn2=$>uSONu1vYiy^(q+aAdlz) z3zaR23dd+tYiurn&?KUGyQ008OC|1oyj`3Pmu7UhZIMSJw0Vr${=(Ft8*GtGiJFTU zYR?7uh${Ib-ga(_2CY=9+TV2S>>jU7YI#NJi+a(8m#5T|Adnlf`=;zV1xqc7#V_yj zmP(h}n<}TShvd{0nyQqZPOQ@?tl4aIFXhI^d+`s zXI=qj>wh4YXMONdBHJljf~l}Lngk6gOR)bu?1u5o00J)W<=BM;ErPyXOM~Nd8w9&G zw{XhXOKEDJE4tce`U8gum&^3T(@?T!q|anikYM=*S+xNOhZLN{v^Tk4Y~bq$F0SVa zhtSQRvFu5{vff0eq~oau`ET{SNm`=v_cf|fb7u!#NX;^u4BL4g7_}7eiDvk*hV!z+ zOJqqCBBT2gC)k{7EG~Jh%b}-(9&6i7GdDq~XW#2{mW`%Ja2}mV!x5AA?tEViEp(}ib7{pI26!g@daGTK<4r|InIUp0FYz86 z)Rfd{{Xo+2O=T;HJ+;n*ounnlX_EKHcx-!v^f*bpsut#eyC}0cHLFnV?nyja;Cdkz zKVcuw$XJ~24qk)31V4M&K~`gdy%e0Fjon5$?iNBVlKrh3EhyHf2e{^FExX@K}K1YDxm0ZfM1&rHX4D0-x|{an2VXY6Q|1@&v@ZsCC>@V)pM5vlG(6{D-+*KJp{W-|9^WzhFGvg_+ZJTp zJ@FV9R)(N0)3{~digBR?dG4XA{=45e#}96w$W6UIHgrkzw)?yGoF6!NKAtD! zJ62segLiN%GPikpqVW!ZvEosCIPMc~Af9`o;*SkSw=Z{a@9I879v}bMzUiF3&Mw11EP1=r9i{d*%Z<{$p+L{dN9?Kv{& z!1SKP)knxduW>Xhka$*|E}v!}@y#4w$3$A-w=^zFt5t-ygV>Btq@EBQpRo62KO0L- zJm1JRWZ=_^m1be)F2Nu|b>7dw=j1ymDyCA(S5{r=!1#!fcGcm#4;_YyX}mzid&U^P zpZ5kc!y>O~d&6+W^NNh#6UDJeUwjn8wfoC`9C(q0sH1COSnDx>dSInh(zsr_;NA>O*e0(s~N`~>rD+}hu)c-au zo7<2%aM&{_MD7OGsac6-QN6q*++y$1_w@t1kOhBAkMJ~k0me~gmwR6|aFc?W>dG?i zjx_FG4u$v>B2vKpLS2tRz9Knu)98!gABy3Z+^B`|nT`1(J9H>Nb89?nN!9+@dDy3; zZwCx^O)|`o{>YHNr*oq_!7fI6-<348z37(w92XaLz%6di&{r>T9C!%Ps-_$obO6y* z*@Cr)ucY=R!!l48BpfwJIFw}uLD_hMfWPA?ZC&<(o#XJ`Lr;P7>j+=$YYCFN;<5J( zV0bxA_Bde*SzppEI#dJv%7LfXtm49wEIAAaVJL z1jOSva3qXG@2A2C#PlLEa+IhKLm%`b2P)AGQD%SM0FOQe=7lk#sE@^I4_|8OXuWds zSLG?guXpGytY+Mx4xv)zELkHd^Q zMIbhSZrmwA$=Dcc3kV&hl^J#)hfCu2^evZno;NwWCML0XO`bos>@vtWC)=lK(VpCD z(-PW&@fBs~P9e-BuJ2eFO%I~~g$QGMJTHtsgwsuXh&ngoSD%9}sO2+K>ArMcat_q- z?t^s)7Tx~%E?1WnR4XdEDM=Ix{ys^IKIcKW{D5zdA1i~9SH$v07#~>V^fd*f&c4hd z+@P`ikStnFvN(u&D-TgL@@-f^TZp_KEg!o0%){px8;4iIUhD&jpgyO$#<$C#23Sx` ze&h#^7>+2$6DLZB#nN?>Pvo*gr4{c~i~q7MfhE4EPflfyf;4%ixF!zA4|IDsC_1_& zuQdY5)y@v}0#ClnAKHZa$@0_+lYaztmU4<(y;1&9yS#Y+k$YZJ-YM9L)%>C{ zi+u(*i#mtzV`a6VXiJ<0ZBD>Md3LH87r(&F00xfx%Ub&P+yEtDi3cxWv;)ud4orQb zzb42wDA^0S@;DmdNVX=vdCw{fH1(RTC0qP}hE|B|SD%1Aj7`#9cW=rk>>N)T4^aUD zFps>K{}8!83QHtC;)X>jD>Ul>3Eb)U7E4U$s2V`PLh{wTC$`rLSeIpIuOQC0hjpc8 zDuw-{iEB@~RD9(g_x(*5l}YcGh6H`am3<=^k7QiW&$SC*K)kL5`!WB-B@ue`Dnwi| z>QslMnT|tX$^^aec|M0gI}+VRSQB-3EkN#BQ4pQy?tu8-@o#BT#g61*Cu!H7mcagT zK4d1it`8r~5qds;E5yezTUxJc?pF&6s3&Im*J4eC9%RW)1;IddazJLpJ$WxBp!k#` zcb-7h(L6+D!9%O?p-JMLHeRZ?Fi{hZZDoSy>6oE#!H-;7feC)a;Drk{MLIsc|CHXT zZ`vgQTlD(7;7*?w;_|)>T>d*)0a7OMtEyrj&KsWRo)+q94E#c!HOeVt8-}bKbndx| zA>k^>-U}V;)m6dU#&O_YNnA#JYL1EdvUKY7Nf{N6)30*w9#wNpJMN1nszlhy;p>-b zu53!Sl}1lo&BeL@-}#} zJMg%XtAgz9SdUL&tqb7Ziq=MwLIU^%g$q2&MW)e>ZGCCTclX)vOQW^wKs@wML-QO1operGX+x#or73Ec45 zMD~H6Dxu&^PR30@T~p@88R3{K%7~{Z;55XlG;|x@cwj+^-^7QYAui;{-ML&Og5X@^ z`^91w`p!Xql|dk|8>iu`f`w(gm+ahiq7EqZm{OpNtvFgSI$@w*a~dDHN3qf8mVKaz zU85^v>ecl(K&B@UhU{Id*M}+&8iu{Xm|?EJIxh9Qe&bJO6i=H28DM7&WC6wtyaH3RC9Fc!*9S`Ix5Fklk3TDYeXsez1^Zvw-^F_0?md3QBr{}Ax|l-M!T@b zoCsA8{S>a$y?D>B|8$MOflZ0Y3{l*G#W1Y@*lwf@dcvA7v9m#;L2$*dse)h&^0HQhfzu4$?5 zyR|h0&$p90aB|r$H`Cb#p?y)}3IgWMVVBQ{mUHt-z zK*U7WC!Z%yK1b)GGO)6sI5I2xd9m%l(YcmZG{iZ<{8@YRg6G`d#s$&785#({wJm7o zLhg3@TqozUXfqSJsU$q}#&~2BxT@fibxV|LSoy=AuP_{X<|lp7PkThM`%4Dl3%}q! zqAJ|=t8N@R%MfyEj{ZE&r@2fO$dAUf3Tkc>fDyNnjhzi7>Uz@>?s6f?qmF3;&L z$hyd`z3Y26&jK63IpLm|VQ=aQ&wO_g;4At!2-sAQH8?jA*p!c>t<~aHS`ed}d2FDp z1=!kaD%M!1bl6o+%+V$iJHs=cU((cb#p5b_n3p6k18UFyY{0QBEtr26BW@%@m-WNh zkRxhRoAX36f?Hz^JmK8sGooL`J=EZaQXyg#rZEgf-c6Zdt*25CS{F$TbcB{&QHC%L zH_&TF^{K1A@B;_IxF_UTSDaIb=j?u{c)!*P1$UtP(V-&w4 zYAWd{42BG^Xm>{ew?k;wwFdQ6QG`D2T-)3?*we0RcUXvyV7INxavPBN|4fFOx0VrQ zUU9ufu27E8+LwGmEhhki>SZyrx9^uCzNVpyxrCMDUBcQgt;1Jo2Nh<;uOxGi8X!RMZt%sx3a^9?P2 z03!+K&&Bx+V}2x)L9^w=u|{El53ss4ZgoIZm2ej&hL}9fxl{CDMpVsUIzpxK`R znO(qTd$uaJfmRa@Lt)*-KVHC-!hMPKUw=#qnK{wvcB^|Cm-N;f#Hi&b=d&jDI$3Aa zh{J?FXky|a+H9MG=Uc0xA~jOyPY$;yVX>P-UrR{PjuxKH*bS{P3iNv>dxJ^l7&T{p zb`r8yajP=L>ookI(15QL(^^`+aXl$AFk+;PEpMar)Q{PwRT6Q`SU4QPL|(l8P0h zgqDPgapko^)PV_%*o<1oYP4d6%fen2e(qe3q-#Z7I0>m^d8hh zXpNhVZkaDJy%63jlM@1-&h>KiEv*8^+WBbhN^{rb<92Lor4n+Wk|401gCfhq%t8%I zF{)q#A=m6EhOS!IAk=fCL!hjqCa?7o)+jOJ?R^;JU(}hRK*l&EzEm~GXKqixsEYPJ zL^Xpe@uNd-mg-{wIz^QWWsfd-&IBjogs8lg?l1|kRSDj3fzF^p6$&EgHPEyOW8_4# zX75qRbCAY0Ps}U)`4Yo{62tWIQ-Y5`oA1BC-by3AwJ&a4JO0W&hEJmkXuMj8fW65( zv%g&saH}CBc%Z-4tz2VrdI*yr^AQK0XKf&e+T;*&wGRJ2aJ@xoyO`WL#q`oA$1g-B zeSwL#u>gNY02{>1IsSn^G_wPJ0&)C6`M)T82PWI1E!}pfZQHiB)3$Bf)=t~DZQHhO z+t_K`tUC4Ly>s5JiaN38A6OCJ7`=}^$83$KntjdmB_8kS;EX7Thje}fS=#9#e@nNU z`kik0i-wi+)hdS}cIN7^=pNIL-JJ#o_v{eLi#BI&Y=X<3L>XmGxz4?6#0nh#+7n^Y zl)!9;A6VPB)}7M-n6U~znGlsjIs@_oerC}^7=AfC55#`#HI#>T{gs>PDZXz7J;wYaLV+@5+NpC{I! zVmegrOtKX=34}imJtRE<{j3&P5D)zl-4GNH_Lf5`ERUc_rlMD{C#-C92(7*mx)whm zC;V73vOz1#js=P37ZYaYvzNaF`vMd>45{$#Np5_s@t%HhM0%V><$aqxjfW6<73Sus z3S@LzURE${9VpSI1#{cN9R0LVgJy(cBdjzX_(RiQh0YSqMKOEd-<;AYO{lvI3Z-t1 z>xh)NRehG}zd5zjjsdTr&muO_Po@VuKnr`JvCU~oyK2Pb?+xiSikavv%rrJuU6k8A zKyylP%SS!#ncSv$x-qLt%71l@k{MCHwlkw-dX}}Mlk$Et3ZEUCzA#J5Ly55$mLyhb zp$G~lzpwoQYNYp=i;AtV?w4Bzf7L(|**9TVx8z@$3!grs79G|sdMewE1Ke?HRPw(8 zc!4g9?ZtNWPfR=J>%o0%a~|3_2yYP%Z*hKqd2`!lripGLS0&iDxUp}IH2h;0wLRu45IlnuWV-cHsZBrPuPK5S za~U}H<-cm36HSrx{%gnI^fv#Y&JpmHrz%3XcAz)+;Y!Ld<|;m1?t*W_Pj45|Nj#+= z{)%z&eL_Fp1?1j?q;j^}A7*{&^iQ?_)w=Vke{~2|BbGH*Dliob+InyXd!ym`Qgdgu z%6)!8E;Or?Q5!mvr*_PW)2Kgel}d%6B|4z>yajXzp+OXUy+|!~goSR6Ua;0DmOyfU zh+!oyy_^U5t%rLe%&GkPk4Uz;+v(n#ySdwpjf)LI3|%6_n|2?qLfl%&LF&H#)Z7J` ztPH#KS39e>bS-|-A7?A3(j@MD{{S`}*|hsmQk4;J$(2MuQTMiCiI zoH^!>Lj>stf*3Q0EjMSPHW;P2I62{-gh-hpfGsPcsEb~VDhCN=&p`}vh7(mWsP^0a zQ5~eUK+xrBLdeJ}0gcdvsKij`hphSbLE0dnh|%6zS|?z=h%o`kh%ICw8!Cx$sd({e z;E&^-4G=@71f%$aWbx@;-x+C3?E-p`eb;^FH~1zk5}4DuRqD|r8*5&`iIG_^PJ7aJ zdLyTTS8ToqcWl!={LH*hc+)(jg4YBWBOaiWDqxa5ekGO4C{d|h5#b!dg-l{*e-gyL zxZiB+4-E*~H7vYXMVmhZl(vNrtHkMWeahK{(bi=!a(=s1_is6RR^^my@9x$f6 zPNDa*ESV$22z3SS1%`%CH3Qc|NlR6o4uOc#tfV?bdL4wVa-%fp^jTIL@4W74FkQhK4o63@XGohBMA}@^}pB#rFYh|`PjbsmA?SK;DLn1 z+!QKNu!EH}U{uTSgG5XQ83m|_yQAA*xEd#S46E-z4HkF>il0d1KT%CQYzt&x6L1ij z7?_PpQBL^R*C6L7V>O`e%_8P!F;4lL%QO3++Beui2WZFx%<&~&`8%jPWl$=>-nx)} z-V-zg|3PzVUZD$ixgRkIa*-_c5fs@DGP>ecih0Hnz$pz3hnFY^h#;|{NOZn7jw$8% zERom@UwrZ{5BT7dM&m85XI{T%nAMGq;lLc4z#AvN;`ZU^%SIVgQLbcu)Fp575lnwV z*uRWHkn##Ff5Qt5&yiR^-W3DVug&@)YbI+M-4v1wzzc9uY=TEj3)kS|!`ys=5QHT~ zs4E8$dVT{pr)Y*6dsifJu`7ioK3Gf8xrafz^?o{sL2C!@#4%bEgOLC z9B2>Kn|`yzRInr)Xy$Zacje8_O%e|R@1kHA%9~np9;_DN&8>{`Bo_?btmNviT}vRg zO)GTs7!9tt9bRxO)LlB*_}-eCo!)k-1VfDy9%;>|O7XMP6`>NbLLA-ElLSn$Ub`E^ z_L4q8XRfv3w^ASfzV^AG3W_nFgJ|2*$m<-B++QU;w-rbnq@NED&|6`wVUqx(1vrPT z+`DlE#f$oMgcEorgl|-NgX$P$JAk}G|>ifSx1Sca!!B{mv;yTaP1xxG#dH zu#-vY1wBL%57fs?C={&QRD}#Rj1>yIKrhGiI1O<|*}5rRn&bc{_*M&3KgFxKheN?` z2O=Hiq;gM)driY!@`S9U8w;{zYqM6T`s`{J9TW(W>U<=e{d=}MCo9mD0U-F-fY^r= z`Mg1&G8^r}Q9oJdeASvkrC#7Zqd=Q5juJ;ZT(mKi9SDHi9UbniXyQ(6)r@aDVOwZ> zfGAI8-szrT9XovyJ5z=E7u=^^_kO#O`z3M@o^@JJRn^6z&skk$O$yhhWB8)}8=deu zi?b_RkElD*yompNPVUE7b4<_1)VF$N#pR7Ik9JZJb6E64-BgbYUt=fJ4ive0zlO`l5>_o z%LI>z31YZFtMT8G)qqf(k<#Df@s^!!+Jr&5e~LR4p>N&2#$K}syA+}C+YAVbFoN?p z%X=47_6u_$i5`vNXDjsE|6t0v!6cqnx*j4p_>MU#N=Xz7Wwe6aE;v#p4pytP&vtUjT zo$I_p!l(@FT&8S!NxQ9<00{2CC}(EI$yO@L)6}bS38IGCf=hCspn=d4A-5+niN$q8 z>Kj^GXR)W~C3A4jP&b?lZ=u9(pv#To3#de<7_p}*)?azRLVnbh1PxnhN$5s?dHgU# zV4(4};kkO)(XxwM%<$)H86_>Ekdrt_UF01XcYbFWjMzhuq`x^wE`Yp6no^D&LRH#U$;hjlQ8&B|))Vg>9=Az3Q7&z&AQFWVR`xZBJniwH%wJ`EnHgy4vhEwvraLKO&Xae_jz8j8RBE((AUyjC~@Nm#ksvgmx!TdwDX#fkA+`3 z8*IMJD>w_Aj&g~)JAQc&GSFGB1cz-%!57c{YM(r#E3N}lpYr5$cmWQXYa||M7Pf2_ z*9UgdUxJJ4WV@7~@SC~3AT8&-{u_Vsh(6pwaTk36V+hTDm-2?tpSrtAe`9o3_k_xw zlDMgUb9j~Z0Op*lggd3Mpfq!F8d!cHXdc9@V)_g&zYs|roUL0l^*RbI6F>_M-b|zi zU@Z)#u;e(2GVM{A!{J66$1LI4_<|$7w?-i2yl?LCzMnAz_KVoJjhxN+gzWu*y0TlRd&!qKq$*10*2OZ{}}dwnSJ)A5I6G z&_b|M;j~T5+|JsbQw_tFwh)YjbNC4gtN16BZGotBd}UrbH=?i5ELUa_DQ3Dl7|2cD z%jEo8`3`{o1F7@L^r(=NkHl-hln5+%b!b!Bg-EZmQG~iaY_Su^0ugQg;7YRYl;^)G zLTE=Hcy$yZqaqEs&_X;Mn?(?wbwj{q8p?#iMOP}VL{chf=_(-q#Z&jibNdqF5+2(P zHiLOR@CZG_dL?q$Da%}uVS46yN+l3Ml&X%#b&gUWTj~P=%9wd>5WBY@dp3{1Q8Zwd z0tHArI6%vW+#a8|ngmJK(HXrWCt=ksNo*>GyM_B)9o%U^M}V1YT3n2tzJCLIXj`6I z{PJE=-c|`A_EioT&%2NV3YTB7@C-~GLgDrmt971+8T(ryAVeAHtJ+y6RqC=YfV;kE z#Fhq*ojnEXNgF8cLF&*8-XRM_ofZ$;5ytQLid^dHcrc+VY~~?mwAM*K;0n0fAtua( z))vI#=)dZIwU%VuP5801WLINdyOr_?Odc_0`cB*c< zhH-GsA!-4#s^McB^RQ1=*aSCLKbf9ff^z9*p`l|ad9B0#tHD0l)$aIN#n8}vcIMGd zx=;DnCJTVmiqLHncAd$qvvQY_xw)cyA7Y zP9w1ko5UryeYHZ0=%U3ObL7;?)EXJ>I0f}`Va<9TaZ;4)a%I0H_{wwG1bq^+#}kje z@pPaw_xz70E4%<%YUQ_>Yf_)yiWmB|#xIa+;b@XPb5_rV%CKZn`6tpc5MHEV%V#;~ z$vn`7L`*fS%?K-{P>G>o*`*28qU2@S2+BIwBqePD+>w2h)kJG4{zi5|8Y({9; zNITOae{Aw7Qf%qMEIr-KR6!_RNhn=WD4!IV&lL3wEiob;l?x1N0x_yF$?dCLE`e|f zIdZwTfJnfM_KR3&inj?HoMs29()G4?ya8z{{N zgp9jK;aijy2k#6A%P9F)nt%IRRTHKjq1{b*rU&}fhcpk7U|8-n-8mIy>+lkbPR7K;k zo#s}B)O>APQl^5jZ__Em2am}#*rgI>#j9(*vu(YT%(iU#o(KJnii`Zb;uMB=8M35v z1NRqmFRL+MXYhpk zAI346knnI7H{Q$7|EgPeRxr~q_(3LM{U8%a|3^fPtbv8Gq0|4JMicbkVG{mlEvM*no1KWQEilsu zPl3)Mr|D=UWSl1^#X&ex$NqZYU-6YNGSUMvP|Y4l@!ixi+0pxU4vqDKApf9hK*N}B z{}mf(li?h(`9mwyg!n-R{xANfxQ(5&lcJM@vA*?x;bxSz{~?q|bil7B6k8N)lIszW z%U@C;Nz~v&j>-k)&#Tf-Mo}5CY46~#y>iMtOH%DR6Snm{sLC=gP~4EISx@_l_=?g= zDyfMFCiM)&U z!V}vx&RO<{N>!#qgQOsp3luS$w9jCjx8o8X#d&s$>m$el$*goROTHG=dYx##pdg|r zh(}WLiF$Sp&ASSNrbE_J)1`A0>%Lm$+fGZ=Gw>4;i9Mg7>93kRRCfdy{i%nkqx1{l zIGja0a9haBA388jiP?EGAM+MdMd23acE7$~V0`dx^D%knlsNWQq8?)HrEt)7YcR71 zum*AxetYkn)1L~9YFZzTpj_1fh)m>I$iCJqu+?FbdcZ2p$D}uN7~6wLK5A-HMGqS_ z^B$tvF7NFTrvcZ^CgArQ?IqU}fBc2>-?;=K{KX?opPJbm`B;*qT|dXpyV&68q*iX^ znbu_6ZDvW~E&8MvAeaGk{S1SN-IsCNjjbQ_= z0Te9~zJN&YhV-4n{Vn{Q6?y`OvOP|l#VM6l2W7BJt`q(?;@Op77JoDcGBJ1jgDEx< zR|_oQwPMn<_cTaI)pzyYoS!DILK}LKTaIZqGRf&?GOiPObPuIHw;3My8?QCawYnl- zB~kaXC% zX_p-qsBudr&7G4yi$Ma1Ofv_qygBf-*~lU<%5=(A%B!k*$~}s^PU+--IP3XOZ@BwP z9?SVv@5U*8gpLE)jh=hV;Mjkp6)K1ddVyP%>F4hO88{{(FSoSnn&w58IGX`6CZXq) z>tS=-Q`C~(h-aIGS@&KHW!7{`#hvqa6SW7h8?ZDyxzg#&%C<5hBuuk$w_ zQU)HFW#L{`?gi7fPvFzgVo@$X5UkViW}mcvTpn1qR?<4g{nhn^osF0K4@c(FrvYsYX~1X>{%v1;*IYAh*#kKTu^` z&)#4}t0|7jDA`&2BBXq%G2TJEfu!fY+!(VXy+?$U|0+n2y#(9rRkXUbf2{-$%}fE^ zNm1(bm8GSyd!BH-ff-2*Q?lp8&p~cWjwPUIiH#{Kf)sekKiu;7%NN|kozTI~?Gq-vE_CVxf_lxgrA@vEP{c4?FE_|&zd6j|;cQkn zxT6h`BQS4?O-qxmEKmVrW`G@22QvQKc~0}xHK=2DL-0H>nW|CAm^1j4lR%s`ES8;c zZe*qW*O$mMr-=VG!qT=pOr>Ge7w-Xu|IEM2TSsiuju-#KU;5);|DPc`|ELJE&QAZo zz0z6{OBwl(4Wa{qb|DNfj4<^}a$t&@gt;_4OQRVxFf$6}VhV|sz2&Hh3!4V#0h;sh zSI{5l;)R({M4XX5u$Qr&1F#Fnn_^~?vgou+Z;t28lb>IM>-Woh3(+sA7sg=tenbQy z?@-9dEyf;(hUNtAoi1bL&%ebxW^X7vO_M-=r}5e?pT>Sh%Ox&`$-^B;bDFbCrztos6-qmR)M{co$iDj_Z16q3vIiG)TJTyq}R2ySe zJHFF*9uhn)j>UmwPcPravrW-GV z5SCdByF;6j48wGmlEY=)QqZ^Bz9yLrI8<2FEb21a!6x*H*IjE~OE*}Yg)VS$Bi+^e zsos|JWr9|?M4_U1_Sn2huONy&?zSn){n25I70}?Due8EdTNeyrG++Ds**QMe=!Y>0 znK=&)bWN5Elt+6HUJtt6>#ibykq|g8!q7!w&%e9rW30Sy(6QoSNdfocmK@Fi^j-%# zS(M>_g(a}ngRqT@DOJm_ z;X7VAU&%83Qt_3`>i6{C=oor3;{>yW(-7(?7*)6Wr^l3)nPXV}VDO+RV2Nz7Xgx~F znF>ue$|KWPq{AcymsEX)fLsrJVEYX_onyGE7xXXkp#V`I zlX!1Y=HtcweIRI)ey38mBiwUxlp1Mb_H42mcl6d?C>Os?S_ABe)P9m}j1-0tY*lwg zZGpJV=FzdjzdXiZiEoF0LN0rV-fzY}$U18rodPl=Qg^FIW%;8|@pc7o`-gBP5`)f; z94qrC)r#$KE>`uhDZCca1yMpaQRRsuPtCTGJJG%` z=;VOVtA7)MJNYy8wU5gDSvtm80xumd{CaUk-Ok2^`A3nopWex-nCVX{PmjAAUsW!!{6FcGd z!LlXNJYuJ*s5VFA@4LYvZ<8#$FSpbsM)S?28D-Y-^_>Nc8DwA|O-l?mBHZdjIXH01 z6LglGVDW)r9Hp0fWcsLyT@m>K>KawI6R6g4x_YX?QEW|snnVJs9X?%$@!vj@9Id?u zy?6+AIBfL;18C=@4UBiN;iIt1?$*xRuaM6VseedTY$Mr6-X`0FHrje7i)ar)lIliP z7+R8Rp}}0&TvDB5KL7r<2{-`2HAJa2fH~Uv=U~ZMUvPZ?2!|-K{|B7wKL_g{{dtob zlpFSsamcjc%!Dn$D1pSfr6{(zh&V%9K_ieAVu&;kQA)tfBDV^B!zf;+V@>->e#3vi zz!#sq)OU|0mpPZ*+K*X|27g_HuN0ie?NtB(*@7n+jI8A z_czD$CYSr+z`H9DJMN9gE}tKi3`$UHes2eDBf%m%tZ*=~P}0`c-Tw5yA(LyBLc^K-wA( z)=qqV7%W+5=+^qxHq96w3HIEKi6aV@OhZk5^m#0pv>7193Mj^avj~L9K$iAr>!}2! ziBN+mkjWbZSjgXKcQJDE6q_mPcVq%w^wL94FDS?`=Hg)zel^9cq9A)F#oJ)@(tdau|3HGqcW*C#1{| ztyB3sIPdnmQJnQi*?_p3kf78QuBJ9_eYVQ@>pcN*Fv;Mt zJkq(#(jB?&&Y9sp3i`Ba&P)wTINT0qV=8@?PdUDvMLA62yEq&{OSJ7kgL;y?LeD~4 zGuw!*!!E$Tyi>DD)C=>kZsf%e+st;)M8qIl21XdP9}~(ad(F-P6>G?L+AvXbDm$Gw z9Bil0n$`-1Km=tn+v}JS5+$m^OT+RWEV&^a4q*u=p{1-97xE&b2>@#6S!pxu1`EbA z?Z;>0@i$K_)KhWd90LiaVkuz5KEei_`Jix=x84?=J06Q$k8x$I1w1oiuODT`Ao+T1r!JX2l}7!#8Iup!}klbY5A90?0)ziqNY zPWCLt%se=qF2RF8!%{P6mq?<6&~{p)esgg^k;Ra{rDtqKi~sR}tEBmFhzn&uWG76g zjn7KLXPaK!Btv8XZMSGx!p`r(K^kI$8EE$}$j_C+(jK3AB;7vowv||F%w(FGGooq+ zFyr56ETk2AGW8DgwbO;f?BBC=O!Fu~&tVmE%XhILCi~N=Jr~ARB&q$Wdxb`;+g93c z+WdcgY{sR!{@V1Xq_Ck(#>+jD->_n#oAd3r9N)68%;T}{L~?h{A;)78|T&cKj2P3K zE@G(mG`ElHlgB9BHWta1VQ(5y`VdHqTPA7!C(L9NvNJT7)?}NOAWSkXZNiS3w#BdE zW~`(VGHZ0F5xea2eFkRay|hrtMv^M#r6D2A9SSIPKf4F2FR5d;)`9F;6`L(M$oWIn zo{-mnU!Q?@v^-7Mklme318;QxL1MB`8POqWZ^r-k&d(E=3Cg(xY=Qp{YcCOJBS3ir|``0hmtP|KY; z)j`ZYdAF+a0qp(8_<7sHx#N)38`Gtczxk{IW@9R-bTMo-V=C(0NW*WvOQ`@-MZ-(? zgfcV`y!=!tZ8!e3FI>aIHe7Ri@8BJOOG!O!oUOkdvh+Vas;zKtw$g|lXN1iwcyYMy z0Xr4B4@#IW=yOSu)%6CtB^Ogyz~;>`Lu*LMS=ZzVY_>HQ%{3(^^)(IZGiroqMAMvX zVwSemMbHb5D!cX2y1|BWk$)ZKdaFZaR*mKd!lad;sW=NqO4_H9DGu)p#z^|5NMl9? zUaS~QkYv%@ey!`lvyyHd3y!|K&Nh*Xey@^q&zcizMn((OX%$9*i%DO+I)F+X8+xiR z&58|0?jKv=t|o&@8@O{m_j`ad7>X^DrT;p;)(=i@?^Jm3%vZ`Sv znYkPWxRD`5>ca&*a(Y_@c37XmoXJm{SWRjOsmb*bb%9AlWH0=7_kep`%5f&e8NcC+Cy%N%_P4a_(mle_h_h`lLx3~n?u9R5F@ReuxaVng;P=)bf5%)UAoM= zXg`u)sM(5)ZV@D$zx~I3U7O?>dvi_@M#-~}6diz{SFU_}kHBn3P4TVsPIi}cgV&I8_ZwInIAEOWiY!* zVJe^n8@l>*t(o04x!~NmIAm8lVYY`Ev?d5_8`RRf*{cmbfs`HPTNFq~WuwY(5u=AD zCjU~Y1@`2l_y~gO2-E2pzUi2zePv;G`yp=^UfbTKdSa>W;;Et?(%E-;Mpk6vV=pf+hFkjTn>ml*wF55^;4?G{p~QeDf&Zm#N*V?_&qz&Zv? zrLY~UNmAfNP|OP!KIFQarx&#VLcZyDDSo`}u#XW-H1Kq0PgmSdChQcf6Yh~;rHUZ; znCtl$4s>XJV*BaO@wDz|j79z59ZwaF4V@j#o!t2ioy=`*9RFX%jJE9pJu>&T>N<68 zWuh%BXyP2QIYMZQwBXV&2#Q*9VedT(Y3buJ;!$zRW?c|O=rFK9zjz_-vxM@;tnQ702Z(2zIV9`QIVv}bx-w$0-}mPEK+2m8fg zpDJ&~xHb+KVqR75vm=#DX{rvKh<6Hk1rfVOgHD2j9q%#u=QyR1#cjYmVqXmSC15ty z6<%o#LozZ`z&9Kg+7D>9%Om*h<8{{I)m!_S;!is_q}LTmSbZ;*t(Ra^2NO)C*IcEU z*xoF&16e&c{kJp3@)7X(c2Bi-j}1M?TzLQnQ!@}ad!IB)<;!*-b=iD-)X^ytGf-se zG1Vk%0rw98*FcagO7&l$|8yN+7YZ3gO7e zxNZ)aLtEpkW?j){J&?rYh;aWgzeshaLC_Min6SLjn$Be6`g*;1hx;YF+bqYw#5W~? z0~35j!f#8m3bbq&sb%&oIfO7*PL2SRirf)X&QHmt=H3l&-E@$cby= z{!W>Y*wrMbxwCa;UOrvBsn6KMVT=8x>--IP3tBlI&j|6gx9O#hf(WGPuH{>KDN5^4{jkdGgiFc(AuN(cmnMuifN ze?su$79fW}TN0mG3K#me!VYxyE`YZe@5t>TwOOGqGRxe>(eb*?^k!`Fb-7k!Wx zkOe#W0X>#83V>&Hk>8Ohm%`>-N^nY1 zXl{S@!{k=`AH`+-0$;AD$c!@);9K!vDO?*Xe`O=n+YH8FT%_1GHV+mjvnM>o(fzHM9#zfZak352r~w+Ffr}hp3+=s*A^1`61;_Yeu)zgWHU9U^c%mpCY@fQWM!4j z2Q_YlWbUOx>MCjbdxH6Qj z_lBnrARCM=cH_>=CJbm33tprKwjl0r3%5i%LFauPiMIgqNTHO96ZUwU(Cn{g>+Y4j z(L}9q6K-G)U+VoH62G)``u>+SSRpdSE&n5ydHpacbCZs#I3r7=j z21X(Sx~=*s(Q1T~$0W5zSh?7+&DwD#@4hP3Sw$GuJ$McLOd}*yUmsX4rQ2?UK|$Fb z01ZiI?c&xqH-}X0VV1r|k6##pGr)!QyV5-lJ>a^b>QK?a8R5iDK2t`m#eXr!w5f)NlnQfsYNUZuN^w#sHYc& znxS%Vf#0D1bs9~3@0Qi}3TLeoNu7r|d(YfmU_!|Q3;ImEMwo_tF>qohFhu&=r#4+? z6M3dNGx#Xt)F)nQ!kZrzCguIveKr4hNqD2l=v2}9OUW&_SC2d!f-_5h_M6^hRgmzF zJ*`sOeD>*8L^X^<_gP@)m`=D+(Ax?LOP=Dj;bc7;EjDIA00a(0Vxbj2t6>EC=DR`o zMAB4Fw~hAM5Ff5qNK^`Fz`Br`roH)>aJ!{_VTKSJm#{2?E4X{gb~*9_va_M{FOy1` zT=WZ|NsJx27l~Jl%>o9=Okbfe5tctI_IMM>ss@oV9GoiF@p#2^SgQ9Ww;j3f#8l=Nk;BOMO^;&B&TG0SNdCbLtfrs!~5 zH!;$S)4#6FTfhiDC#J)E;`F2X9tG`?*o!&nTTZNIAx&8dlHAaz=KfMJ6Qm@v)L85*xYmJUHKFffZ z6Cr#fQEPiWQ6HbO&%X?@TeH z4xf7^4ISn#30+QoLYRxz%hWsG0Kd3^pO8{l_HaOM%TY+Fgvno?C&fvhJMZ-NpD1YE zTfR4J)q<=XkQp|vBzA-Ye+%7~C>+Os{a1SI%gWKYPQy_^S(1{Hd z8@?)mP71?o{tV5#IzwiAJX%%uqC4c@fAaT5GD5%4+5>>l);@|4qqKmIP(M}&{vq=9 z32pV}hk;UqUclL>%O0@?A&;R7&Rs)WnC;j5C5KV9j@Lf<073svCF@GdC-GDbfNZtd z2em;|D~iuEcQtv#5HeU~shzA%53}!vyVfKjB|J3bNwbOqoVfK?k+TUh@ZckSvk%KQ zV>^MWZ}Ca44B$i2IJe9}7vl`r^eO-%&0dnFRcW_yORp~n2Mrp9hM?{ zq*YMV#D5PJGP%eUH8%+~Vz^Dr6^IJCPQrHP(a3UWjUB)-SyqpIr}j3f5YT3!K>&Rh zi6D-^`Chwn&Vw$ZPOM-qw`AB^e2&5SB-Lz$UZ!p^dRosT(RW6zHw8n_8?w;@*y02~ zMdh>RGIM`@4#Z}>Ekoh@glD! z4TEAS8Vb zRgI$Uy*8u#)LaW&jKuD<#c1pdeS6(y^ysrE=o~zbO~@$jKAaAUHe2&iL1Q@*9_CM6 zIE-;5lALxjB?Lnjmdq%NKMxOV4I_&L( zr|YyK*&=r$D2(kD({&dndFV8pnPcc6@4fq&xfI%GxT)%aqONRXPMig_dk%4venSNM zNFL8m2(~ly_571`{X@kjP8)o=S-sK^W#&Hva-So~LX-o2mC@B~7MAPBsCQ-7boVsf zWJbD66lWRrzFKR}G$T-f8(h14b*5BqeR3V*Hx6#e=#6mI6Q4LCx4(N4qxb-zW8!F0 zk7@wr3df=kIwQpvC`U$1oL2Hv^VF7Bg7x0s;KREa1~b2KT6z?Cf{fQ42O+!$nAV$K zy2CNE6}7?`P{!vrNiuIvu@DvK!Gt*QhXIah<&Dt{1vn~teFtI5#3UikD6622&xfq@ zmyk397!i|}=Xl9s`a^}u~s8@Fx#$Lw@-N{2Ief?=Z+|j>wz8Lh z=iJ5qkMJcae=1@LqyI?;jxH3IXF&O~ACa<@vnkn)B?wv*rEwriKncYovhsEp|S3 zc`gPZIBw(#X~W5Sjo#Mw_p!_}mJ#}mF^ixN z{Q5K;G?EIP8>A(63bWK{D|EnKBBbQrhC6W#nfI3=v6s%B5s8Dg!xoJemJ45NG=++l z!idr(oAAA9oG3$e3I^!JY1DQca*xT0Msi?#{sCn*!dg4H)x7uA6A8)Bo2iy8#I>Y> zix;^8QBIy=nD7=dFkq?IIHOh*idlcy(awVivi>6&9bK>U+bcJ5PlBXH zf7Oz4%;vzuq|&y&Pi4&|jp=*rjjFZo&>pT~r&bd3DDHE+0wGa0g~n3s=+hayy(rN@ z;81_*V5$+AoV`u{{i-YOdsA4Z)Qn6rFBjbez5&L8RRX0UsFY4I(s}cjV0~tO% zyga<_oF7YK)w5GOE^5iyRxDlQcAC&{^@*FR>IX{2X`j{%A|thM&^faS3HiKT%#X_X zapK$&Gzl|(e~S6>j!SXmhIei;nmn+4-8T!fhse_8?)G!QQ;PqvmRu1UN+11vFkxZL z*%i=07pwaXa#MY?AJ9~0-W<^HD5YAg$gI2>r0!LmI;a^XQ1ImH@E5F0rzUnFhyE5V z{3U}n-v>Ep?1>cz5{UVkV_e7>90|P-O=zSSf_fMARqImDrXbnuv8ev>fXWL73S|?6 zLJ@w)*-Q>r2_onrIKp>0`(CYFxGN0ywTsj-j8J?VDI54;Gx_lZ~1UvbUZJb8`;Zk zXkr53DAQ|~mt9OdlU_`&w7k4;*SNllFS9^knb@=-%63edYH}${Rw^^=bD32o1(M0` zOn5j;@f?yZ51-HjQSS0Ea3QMvFvy@e^x?(I zL?}3E>a+2z1jEjPE$`@=dAIB%1i>C<#Qby>Yp(>(V-Xr|LZ^QrG3`?QOqo5mGp86A zNy66)F_1K(AOXz?Pd8l_|Ayu7_%RF9Ecruf*ah|(qCHrOC5nnsH13m+EI>x@VK}IP z3bRs7b(fMXlow6GUJWi`LdquTsjq9L_vUN92d)LXM4upIk32w6y;J<3&dvlJ%JmE2 zlQs$2vy|*vlC6{y+1HSzP}E>Bwy}&YsYuo$OOdT?Z3;=0iVCSnM5V=6LP@luQvdT& zH=p@t=s(Xh&+T^a{LXpLd(L^!yL|6wdUB4+IY;qTd&RfYt##Q}9v}Tk;2^zDM5qy2 zuI0VZ{wy&fZ|PaSr&89LS#l+7t`7OiWcT$1sNK}NrmL?NIZHv>j`e^@--=NK*HWU$ z=^n;`BRBM;1xp+PPH}$j6g@j=8e89BF8h4(X|mqN42#AXZZ%ekmeB7yCgs&$v0aVt zZ@943)-g0db~^HC>#C=40rG6dh?uiuNAr3PsMJcC@6)dj@S0T^{l21}g;7-UO!ci- zw>n%I3L<%x9zC`Cut6k&hs%QJ9LuF--p^-4pM037rTd0i?sLS~$9v!2b2Dk}M_&Vu(;Hm!@7Bl} zY)a60a5_`oe7#fD$(5?dKIksv3~(4e6Fa!++PUVJ-n(m|j=!{5VB-J0pw2nUl2^28%nM$E>JoEZ!S7XZdYOjo}cx6%F>q4tl!` z!*6(0j^-`xxRkId?Xq|KX8nONI z&fKY@>@9by&EO_UHspd0C%(%)HE*!- zyUo5}BUifKQ@XXhmJYL(y%%3fzs$oc^Y-StGTo0Sb?&G&yIydj-`4oZ#oD$$ zk8|JH%0dgYhws`NJ+BbhQF}3sUTJ8qHN!%+pVCHdFO%5W{bg;k{cndXW9gV;KBTIEY z%x~y2W_%@6-$`;FS-h-E#iMJMNAq_n$iO;qPC>=aoOP=k`Jik^*M@nb4PI!E~MtYBP(7sQ@O+OaR zO3Sr1u=v&*kx_Y`cV&}CVrtPD?^U)-i;r#!O^jWtlAfkZpXF|mN-ybfqF&H!T`9p- zH+R9{&4inZn@6mQN9HJcKVP{;_qo>K#@rmA*}~nYulOv@$*;2MPjSe9_@0GzgW9gM zNeeP8a$*BJoowI832kdRKzMPuV)opQkkCP#hknPxZB4PB>SO^K1EC-~zZaf-ImHbp>t?tgHc=p*w~X1w@r3i2jqTMH`#aByhen6@6$|8NYum7% zj$`P`D!6&>?(Ap32p&eiMCORGpIA#Qq}tGDbVsfEMMxurz!*-293s<_f$ zx|MszcD>Jdia%ze1%8-72UBZN4DOoXyH2#lAU zUi)~9OSndvXh!8RJxcFOT&K?l%zW+GK>$R7~8e7&E{>mjQZ3!?D#*1!=m-0Diy>5~Cg0>v zY92VA#VC3tg{Sy&75_QMR!jP?x6iAzWM@VMGU;UOKNdk=%ByTCgP-kTZz&~WTAFII zb;U_bFNMzz2~|g4eq+_xa7ye*7@Je8M?cxGex4Gyye<>C#O_T z9k+>5%4U|3j_Jwx*kk2to1Yz4)n6%C+_K&Ibm=II=JomK8JS}8+e}YCQ(UIrdRw9K zc9GPY*&gpx!q1A{x>8?KT(bX^^Ky;vKLk|+R8AiBy1KAt&*BfRe%6l~-Uvr89jPkj zGM40jhi@(Mv|ehU^6s|nf`JokUp}fQHcK2RK5D^P8^IL3T_w@{&hF(^EshYqNG-kCOktb1_xx673}B1>xI!c%{wJ2@}p=&@6@id+1)mwA~GcX#{-wQb&a zQ{z(kH80X1shzvbsEdD*ibz-0<>a@DTU*~MND>;dB{T^7a!yV>`gF^$NMA7#Umv{o z5O;+773Mh~tDOt(59t}D3W_LmA3gDM#f7#0PXsOW5^mdh$3=@A-nR3K!izzNtUVoF zRrIUgm#IYLSn+quC3XzyoX)tvl5ECqd`E9#d49X;f%3At`TLi(^>SM;eCD~^@`{1M zU5yrt2B#}RBh7_r5uZzXR*o$^rg7)dvN;Yqw`0Da$^HH%oI`r`X-x&I7>V;L2jPV4 z<@r3Jfzd&kDqS~g-^kwEaMPwoMbGe#;hJjBO%^Yiis|vLN-BpQ1PmPxi}+v_{_SZ> z`Z3ufDg0YkoQNy+ATz{%n3-Rh>ka=2#~bC>1Hy)%jp*j<`?G5#CZ5mPrJP}I zebMw${_;M>o7<`vi|l6IVK>D1M!Qm3AC?66Uy?Xway=kvrJ0`2gI8=7p@k1u*FJJ_ z^B~!3;uTr1kMI)gSGZf}^0g$&UkG^^EZ5IWIKS%y6WhtKV=jhn%eZ;7^*;(8BIyM% z7@K9)c8gflz1Mo?6aI44=&}>{(fdYMW0_>4>)!NVWvhr7R7gq?zQCHjha_muoJjgE zkwuQ_w^*I0x?z{LTx?zT`q3a??;sOJ^PkT%SI9+JNS+gYY2ID7{QJGK6^GOK!#_r* zHaaM{H#VehkGg&{SfnMjm!a&&hG+p(M;Q}6>HGE<#Gb#2x^VDS-6y`ngF~KQ?%J2O zK3?K<`NgfDC7kp(g7@7Qth#k{JD+sn=s-vCRk)YJee8L{isg%fNc|0f6uRU>%%iN8eH*Giuntp9Kc!j(=>Ol9m zs9(wbN?gnwV0)=+uX|Iqn3*Em zkJ~SMQgezvr>7ex7OeZZC++dK7W4Xb7q70eN#lOhe5QL&mEu(i&OP0UZ$-UU*Icbx z@U&4JZ!|k#k$&pD1^5+u=fvfk8Mn1xWpBTJA$M%YoE@6Rd~!AGVv`>{74ca0Ir{l| zqTj`y?JNAvvqG5Tgm4^gdqNu%HIJJnHPwsmVraTEV(7{HPJRPNm(sVD?1_g)LRtmp z3~5}*=+YUH)BA9L8?oCpvy($P@3~m7TgRJc?=O`7(!BE{>6&%a@ux0q;#~6ig;^ih z3?&p35*1D#N-*$!QuI}f_eu|2R^WoWbok<;#hk6Z#YMb{owx#r``hzA1b#bwfZ_Sb zgS!DZvroJoy0`bg2#Arb2rT&EA>XcXJE$Y>15thtQ{@Q>k00v}Tnf7_tw67}|Gso{ z>n^6}q?fUGf8IBvuMCTgIo)Zzrpe2Gp3UZ;%7@0*ghjcm$lGdFcZv7m98IEj$Z^{R zZx>h!haZShOZZ?fZF}P&uBgWEsOlJ-41>+KJIQ?A9h_PDcaE037}(TqN)58zC$;YF z&G&n&j5`AK!ostvw1=hC{kbbko37(?To-43VXcr@lHK{$(j;hZO9kDDEp|*-j)#;V zy)&mT>42QIUen-0%ZTrdVc(-bT* zO7)bumlk}VNW@LD<~vs|QZ&Zz6VRdmxavJyb%PeK}LPt$>B{OA&0u_nmM#cTCF`IKZI@pto1S2-vTOBMn z#%kAX8QdZ(R@kkz*^ZuLj+4tU9c3?PT zg#G7=(~qJm8xysTyCj+4f7rXDWvzVtQepDm8fm^ZX*nGx;yi6K@5xU6T^}1x+>kf2 z45h0ZVRChRDRi`9r}EoM8FA0xmds^AY)2k9*UGaUzoR=OKBrAOH{oIY0(BOZZ+nh8 zdTeH~JvI9k6Wuqlxt%1DPh8BM?w`Asrr)}1)SG{+O^9X7@qBe+<$m((V*UAV)(Qq^ zv{=0eJYaW2_=(rt<7eAHtk7TiUDcoI_@MjOy@3pIU*?V(CtZ&$)QL$GZb~@u>n_`e z98viLB<<|HgKE%C=`8k<7k*jcl@zahrSX+`QLrqGwwrTZ*jT;qx!VJyQB& zs@2*)=adH1>N*{XL)-1=cLmoys*^sGuP8mb(CVJX$-X!4z1-I~y_+NH*qPV8A&9f1 z>zz|Uv!`&>HDSp&Ha{|M^Lv+bJ>JpCukp3jK8`g=**#A9t8=S;YWm3hp&jUzF2*6T z>!)FvHES---A!*I-i^46;4uDz_y3MHnQt>@SL673lH>8?nw48?q+AY^3M`C%A}v6? zaoD^%X{hsg@zT1(gyedo1tZfXI$ z^JHWEB}5tt0>o^-4UG2B-)Hh^37PuYEa+%I()BaMrpxql#mK#U*Kg?=_`c2Cgzg!! zXTMlb-K6})F!!)yUz^X^xn6eXM{Qk3;Cg+AN7Q1I-io_$c>!8)7!piGt@S+EW7-S zA>Xw?WQ-#@%*aAh+S9_u^j27}!i#I_8^b>n%i=?NMV?r7o{7L;wyCzmw-Ymt+{Pu0 znq9r{BI`v>UF0f@a<<2LwaEvL5{tB=B$$Nalj$BT5>BWPjGjg3xIX@2^^(3rdZQwS zK4QnW%SR1dtln8LXIAouC>`#+1*_DYMOGM8w&2cxo|_e?zj#c6`_yWks|i0VoDJ|V z>Cedq&dC{Ke^Qw!5u&^yNc<49RHILd8?SPRoP&L>tSgt@#M8}3j3DLD4u!{4qA296HbE_*SnXxT4@EC!XidpIARW)0{&rVDjf`FQvtn zYY4eZ+G2V1%zTPVSDLJr6Rh9 zeXIrxKApQ!dc!+w#cwn0B*?pF)8%_VmIW)d$i zT3s;bpj9B-fb@SZ@I%yw-zk?GloYz96aD>~oaR@0m9 z*VXl93R~Un8H(w)4SrgB!S3luiH=1QPj51#?70R(pQBngXX}KB%$e^aX`9f<)D&E0 z7$kirLN+E@l&#Xl^diF-jhp#&1FsvhIHU^n9_OUmFn(vTy_p_rF#6D%BZ0L}$%SxV zll6_3-nZ9;+|0zK8d4I>JFFyahc|sr-(LM*KCL5;Bgp3~V-zDHmUw!P|VAp?6fP@=g2I(5C|7Ykf~Lsk=RS`+h;l+ma`C z=VZ)Mm<(>~CiJhm!rPN{t)MP3=KDF4now$>ii1&L-`CsMUhy8yS5CGy4YHRwRpF_6 z>`}7b&|_EoST5By=knTKF__P-y9%Pm9H*cHp@e?AohCSRcJ`y~MK7Ig)oH zAYBPSlPu6LGK6|z+D?X@l{j{JSX|o~Mxs{uT)@SXU|4V%RM^>d@?M!!<1%zMc$W!3H z#_+=} z1uM&pU3vUk;m(m$7x*_nQN6!?o3Rb4Yw6bS1)*EZhjgsPwhy=p#7cF4TE0dxv@GWo z9D{x!oE&lgmvhK9vd6v1_BYSH`FyJ?ex8(G)7aR=aWrO=rrHX>r?qQ;`LmunGdiNH z`QEK-7qgR4%h)J=Z`keJxL%)>m!~8nF8VjEoK<`M*>HS;dd{ycWY&wXR(-ogr}C@o zVRuYTqRi{%g?I06T|9K@R>PX^*!%&G1kIQq>)cqnhlTdO9%d+XAHCjld*d$8gTGGD zEq@co&F-9((IN58gJb{Jdd`k^lA%jioF!jT5~FnZPjA;6_>h&SuM2|Y_Pl$^kS*gio#dHE~__P+p|yW zA)&45xKep{tcMTzNY47hx&etfS4U!EqS8jW4eHO%U9d)?%Y98pQru=Kk+rI~P6n-I zjGg`QwI=7aTfIWZ>vr49baoXgfA?R^`s;@3D3jOu=lv=_CoOc2xkp*U+9nPPVL@d@-G;{#+o@!mcJZ<*P+zqR%)AjORJ z@i)PN@E5SNj6C5!bCQXhuM^Qj1MlXh=ix}2s75kOZIJ4FLv!IJ1B0xZZ#6n{DkVqO z%J3c%kP#7Mt4K(wFiytvSURQ+thn$?pFJvS(NEmoqz?^#AxB*VDqdU(`kLwUAmd8q zo?jyiI%j8Iy(7>suvMLZZuk{5FTntTk_W>su;Y6{R?3ah(LSx~y z+z;8Kh4=ck&#xS9V~ETBa-!r#%!45LbsX0PjtP9$Y~+kD?vO}PSRTEkvSYMkp^*I- zy)OJO{oUV?yo=yS;0`{at(6px>>vAG>u3 z^Yb^g-;}DmA$eXS{OIcaXKmKqJL|V*qmk(ipfZ%A2DJ9Id4Xk}NB^?w&f&eY7aOeA)73Qljf#!MG*oSRU&ZKT<_I%R1ru@;gwb zszI5$;oqEP!W&J-op8ce^0tm{<9ounVbL7n>V0ah0j^7)-kukwMYOABW_g)sQpc4N z&hf;r*^gyEx3D7zv0MG&s=jda~NbPbG6l ziH*Hr=4$Uig~iK;t6#m<6G*zx@$l#d$NDt7E{D7C!qP6j`@ApQF=UJA%FA2C_T0Mj zAeQ$jOR9-fhVvsv?9WT*L}^oC{&%fVAeo(yhO?=r#WAfgE|R21{+QyU5?@g%!9|)6 zhygh_G84{firJq$RNu6{T$c3g{gC>-`tqap^SvT&yze@&A|$1GES~xJ(s;GKjjjqL z4Z#=T`x8Q+6N(nSS$ps*cT>rmd$}UneEZp|ae)_CK4f)T$r$3ylIxl_>@E2!w?~Ml zPEkqFu=LZw<`8$$!(+$U`)bHDxop$x?!=f$WpBR-o`0jEU6sdkZZ0^0KRw>PXl zC)(^Jn@!6H4+#d-RT9S*YvW>yPcGYDTNpj(XRQyl*d|HhJmFqwA?-wpL zRcAL6OqSPKp>>6!;Im#{?p?WBuTLHgcVbiDpHs-_FpoRJvc=1$DvmJlGwieY)3SFl z-N}RD{)f5cOx+GJK1zHo`ri0+Ql{*?HwTXm>aJ_pF1T&(gT2<`O4fvLqkMzMD;Rj* zEbt3dEKgq0@_ba-Hu$rSCX1?Qo`H^m=r^UOqW(`m5-Uaa1__s@K9pFue`NI&t&!UK zqHh+wEIW7Y)62-qs%+JRb6mo9&em@&J!Y2C=%Dua%x9O8#2Xc9(TU-e^zX_)n5TXb zvtP4q2UFax)yn-JOX_m&C$}`4{pcM{vp*!y{~~Zq{&@SnG0UL}g;GXV_9rK53Uc1O zlUKCSFj#RdaKXUVq|m~lXAK8Vq~bVN4_RL4Nh_Ky9gu3;X12fZB~QD?N4Gl`5370F zUtc}i%HUVzka>XXa@fWJpQO1-?Yq8IoHsOHm|62A;McAL-F(;fCjRn0O;jlkf46P- znEUpRhinA-qxOn$#WoIG4#%`!j9$5K(UM{111I}054eqdB`gV0dTetwbiL~k!&m*z zu02kA$*Lg1Vs6DS7s4ZK6NA(R zlVO&$H|<>w#`bYyF+&vt4sI zm*m$RvmDW!n_?p}t8dSSudIg4@#GJ@!jb&x>Li}S4y?M~vkyCn9&V5q=%^YF-ZOSc zZ1y!(&!x*B+-uY~PL3BTYG!Ci+w4+=4S*nFqNU5epC1RPUW?AqLX=SaSEUJ=KgZInpt=RS|xcm&M;x%&7{gqMb z(%n_H=w{&P_4@BeTiN*eyI%(zj5InwXt3DLae4cS0>{OxeTFIOoEHf;B73UY=Fo z8sqA6pY3Sipx_SM+|Q!E!CE$ZPZm^~JlS!kpVacj;zy=b_g1r`I-gZr)^x^=DA-oP zxndK8S#%t;8E`mydfbmGwJGey|NgMx2Go#0ZqhPWlh!lRmYMpq@A>3!yWoGwgD(g2 zfBydDhDgAl{`=V`H6uN3Ei?0#o3y7AkRSXhilLhQ{Xqmjfq$dBFz5M2m|3lNqO@rh?CIpa8 z@ML>ug7-v0IkhqQiT5{Eg4#jg3>qk*J@o%1bfR`O8=pr_%zCf|x<_}|M#0&=gMeR$ z5;za8disY}BCWC@6Wx5U`w=`QVwuX1mrnXA4kx&r z;>RR!rvKj;Xe51A$kemm)7I~@ue`eJ{|R*%QL0;>UqOi+=3{{7_59O_AOU+L*h zf}SK32|nYQ<+llXLsPacUi9@rE|{|sa^%XteE5^J_%tT?t2ZJdz};;!d+P8BA|`#7 zD&TN`e?Iwl3!vE?3^!gMhyS}Bz9N%;1qm1RJM};^LCxD6ANVIcod0Z{P9@@QSKkwW z7!-uaUyCA&!^z~onqUx-zp^Je5G+g$Aya$6ecEvK#H3{Q+m?vlQrC7=eTHcF1}W=N zQZf~1E@k2hYhApDgBzC9BZ68|%nM>*C=i{G!wI1T^+W4uHHT7hdf=&873X#WZz&{2 zbR%d5*b_Xd8zX&d_nU`c@-|2k{C|P)r)L{cOeD4a z*MZpjt+t^zNd=>hf_~g6Rv!!+lk`JaoA934l(%Nv&1&G+OQDM(`%d~?)}^389(1O} zAjZERb=XM|5cTjyCyf$4OpGDq3rZAXcYZ_H#O}p7TsHI?S|b(%N)(CYhK*srq#|hx z!?Fd?|4C)ALwnWnGb^Gpvcfh3A6E}F6{TEr2nVPABH1& zmSC$MzNxly^Pwt}((L2mzSzcv4Bov6aL|d9KEL*$P~>r4DItgr+U0~272vt|(VaLP z4Ahf8r^C3{$ z3Xj4T!5a`z8gevYK+FR@e?LkxSsMh@@N@5XZ73On1*UpJgYc}$Nd*!f?0+C736}8@ zRB39;#iNiv{UIO2s5$9ltbj&o6A5k(6Y-+wK_pKc`@!f^gt|uU`Ncx$i$v%P815&1 zq}E_jH6SLZh35A(aoh)B12`>O)n)5u0F}k=6mvcL+x=hweTZaYBF50UKoUoWMtHircOU+E+SSSL~x(mo?DuWv)72Z@beFS`53fYcPG%E8NjOGiRf_DK8gvRaGIH*7gsdDQ-|cS2>J-!O~+HP(3BQM2DZxU>?PXZ z(9f8r);x=I&=d&g@p1*5)2hZib^*Ft4m?=^Wx*q7DLK;(;``c4#2i7RNI;U?uPr^9Qw~dp=?;8LMs*WVlqk} zKb=wnTmmmdK_TRBN{f0_B1<7F z8$$p@8_e>}WSAid?*J*-jOgy^hLM92y=>-7)5}9Hj{y!Bs+kx2DN)$!wAkqLZUR+q zQ@9n+H%i7d&hS&AnTH;dm@vhlkOObB_!~%@NDf3tBDMT2bN7tLMQ|xLir(v*MK_6J zL?UaGd_5edS=U&&bwxct82ks|giuy$o;?|7MnH}@Zy|X5z*vygIl+=&#Wz^!t6U;nZo;Dx!hv7fAVPu(%+AYH#*J zT0BbakeWf_oy*Y{pg{RPWxD%_Ycg$o-Pa9Ib;jlUMR@;n@Uaj`iRj?&T0EJ9tlIrv zJI7egnYu{Hj%wdm=;punvirRbh+6qY!sg-E5ifOchRrad38MfK%P;{G3nkiacqd95 zA;3cMYdzV}wsaUjV7+tF=bR8W5LuPOBTI3A)<(!s2HN?OsRVjdUeB&p5ReSxCMO0i`a^HbEPI>jMc5S9%3sTYANYS z-GIX}YR*^!rG1b<`eU;5{d5n@R4dj{Yy$^7`qm znukDpIj9Mc7p49E7~=m;9yUKrv2M36w8fYr`5tt_=KtBkz~(&`@(FQW0K+Nl&7*S* zhYM96l=J_+19NH@N^B*!34n6PDU#I07|?#S{ZwgIbLe=d-M`0asNE_(jlTSS`&WiRZ@ zQ%Mc2HJgjyf%EJH-(CCHiQrFG*Jxw6!u{pQius>toA`HZ<-7Yk`qLm!vqSHrrKDY- zk(7xk9qb#>lA`XH?_CY!mo8*dbecO@JtHaOwKy#a1doyj+2F;SVKhMJ>TH;TVED*? zo%-8a6TwbP1W7FDNivvf0o1RsrZMT044Y8Xi@@#x3wIx`TA;eYKq)kd2}@m1sZ+5N zD3b1mN_RL9fj81d1@EXM z|9GE>p@Y4a2iZFi8-6U)J_uGYacd!^tw-tm?)?nlzhC+Vg+d^Wq8e$%(|3W|7oqxk zvU2KZl{7THAZ+Dt-|E#^0m=_h#AwW%*_bYYte-=0B2}k|nj6u{1KGuzM)Rag{a*&a zJe)A9z&6gL57WHqrKrR4278Rc6tRi6ibEwC;xZ4&V3tWA%>^?h%l*Csbm}l58TF~3 z1?-XsUvyfW!!$ixhuRKnm*(c)EHH*GI3s$gY#a0RSUpE->ROfDyr>7<$6yY$ku_PT z=j!{qdr~7`+d4PP6v!_r$WPd3MpnR>haufJbW3iF1(4@Z*usZvdNRc2R&2LER!P4& z6}Y#7i?#&|&kVRElB+M3{qgw6RXqoQx(HG=+TlL)O;0u-HESw3EBc`fTW2&?&F5y+u_l-&6p(@Mgy?Kph$kE}n4%NIJTK}zya)NeI*C$G zgsXjP$5LfzK8_;$;vscnm{XJB=}oZ5lL-#fkeeDl)+1ZGUn$7FepJXl_TEHKWbF7e zh+yk%cIfoUI3V``Sq|j_wY#Pxn|Kq* zMpofM!DZ1vgG6lL@6FvmPtr{te0K7eua$;@=Q(`Q21rWA2Ksus5s^-t*hiuf|4f<+Bsu4jMfaMrAJ`ffGi1yTjEW7C5K27MY3@F{u3crADPYf^9^00R!`9O3{ z6s|N}4H+r?A7^?aIrkJ4KOLk#ioi-2?}7~(N3HKLQ_{Y#kS-@5={PhptLhzbWCid8| z@F>l^$pJ>ovy4-tY!&$5%;4DMp-lt4evrvVVbKw-_Dk4A!XlIGVIu<%+Zj+P{iiu4 z9Pv3n{vw-Y;2M#TAkb^qd9YzJ9UR$VoJK%$MjIV?FHQ)2PY@N;oVYpI0+90%Sn-GS z;f;)q_1b`=2U829aKccyW9sYSL~T6`F+g0-maVoamyz--@S zMzXDQCFJp)x$n%NIi03V04FB%Fuw) z?68E{^erLapv$+Z47h8-qUc=`Lp`e8iLj#OQAqgDC(m!a0J)F@hDh{Qe9|UNw6Q1h zEC6=yo6USI3KYWmK{tt@tQu;C2{XalyW*W_^wX@KA1CdAmH-72JV7w&!vsq#82$8L zD5?FoB}mHzh%abfI{oexkcZ%lwr&+XCxs!y3>L=l@N~}KOigWTTU?;jl@U757#sq< z?t963rs(lwg49o*F!16_${~8oAT6L5uQ}XiDncFaL*r~q8BehMHt1D0aFcbDdH{CA zNi&r&zMlP`-LSo9IN*xp6KI7xBsa9NntlFB4s~PQ2-Qki2gcd}%|YkqvA`LN@b&h= z+6x*_E9&RWc%TV4pk_fY7f0-#DSx7#o5ofa^vY>+(2!>!3@vChWTt|QAo&m+#(Rdk z#g_H2-mxFbyG9U(4#53kGZkcP=K}j@)MezCyv;)nl)z|%lSMh0b@)tWP^T-!Dh_M} zau%c!^d8b}IB_zw@J8rr-cG*AayYj08akBUP=d~=g&L7Pl<&WkAAlR0J{4p<^s8I9$xqK!3kCOTqnBqP{`kyb3*!49Pqc6ePg z4R-t_AF{WGZ3o{q@z;?iz`U+7u%e4`m1de$Y}`ppp(Q^-$sZI! zQTLQ4ZhWzhX1s;V-g~J6-K7F(^!UutHUspuLAUZ&`ZFuwM*|dWGhG_7I$h z0gvwCp>H$6PoG$JD>To00Q0<1m^q_|oV;H%kU%TD%(lz9dzrW3Tr#*l?BWcN#Rk4w|B?vL#C~!Q=HL z#srmWazv!al(AUCAsJjNbRoLL3o{RliHrr=aV_=|*wkxB(Fe#|HellL$T2Lq z`h(*9_lUPkUmnC$H+<2hEDH?e7>fNz`g5|2+WJXz&dx%8=()>aRditenko6ey;5vT zApVi)%d2-27MR$fN<=T)9ao!~{@5LM+Iq<-94E)MfZw4D(9>IKbK%$`*_-4BPxJay zGtJzQ9yd55jav#4gog9OQ3zT_pA5%1x`S9Gb6$Fz7Qh85;Dy^~4yW=w#rsu}K2Kpu zK^n}09z)f3%p5-P3<0*`HM+HLATwldn2e+MVBGLCm!R%OvZwN7)lf<81~`B^{_Gff zsp=A(m!GNeH7G8;nsk*)OHDzN9z=QujHu{RxP~}$5k^$kYMb6k*PjOdVvecBfUWn8 z`Pk;au3Xso8ZuOX?$mhN97G$f6+p1}#XM<^cxA#@=^a0y$WR57EJuysdopNqwc+_? zDr?pz9z!w8P!RFL*#mSjS_$V4X?5i|lxjtdD7-D^KwB<5&4wpvH~SKN3DlyW zMO&bL7-9$}TvL|JRu|2XOyz(BqWAidqT|SUvSLWP=!Ccn{)(1O{^*VE7~cGIeu}fKDAeayNm+90uM&P#rzK z@!g>fh6>1=^1u!~{>oSYShpnzr`QucxqrAW+bgi22O(W~}?f-r^R#n=ci| zmI)c&v;xAVW6{*ToItjji}9g0HN*~qZE6`Y!ac1BbV|l zWdghT=)I4@&bh3dR>1gmW#e~a&~T>5w}sQ;oD%LiGyz?0 zT~?e6k%Ys-BX@K-WLA|6~fod_)tU-xMR^!(hHhP;;HA+!N)rL$_&2^hcB zXIcq|)^R*QB(#A9w70fuO(y|{ZRB{`v@+`5dbjj|3`%dM*Pl)Xa(TzJ0;0Cff|n=5 z(O?KU^sGh|RY+7t`9n*9TO3(<#2wMI3nKY8#7$hZpwB)XrM zSxhIxh-Bt#?>xRCtL5!YZIAg2-6FRx=z~TIPnx%NItgaZByYHt4mp5FBi^*)SI$B1 zWZ49rfQ~n%ZPQ8^zkX+05&6-th3KFg0zd?M7z*1loro!mXVk`ssbvLvjib#TQ;ZL? z;^~g}q$n!d)YhNe4gGo*`V~Dc^S~iR49EPB1cxh#_TzI&xc&zo;=mr4=cJ1XY5|`I z_~@06*KpVJ4Eg##-qas1MaE2PtB{?0A;pP8-G*+(KBpN=*@UP1ICq4APFEka06CU` zUI8->_y@i>m1(!$PWh+E)({JL4Z08y51J_++x&G3C+5uNgF}_D5GjeOlbJ(klVJ;) zhCvQ{rn!ehDVMG`bwkf8oi-Qlf3T-k)qCBTKcoX@&VUF)2dL<^X{d0JK@(5Li>TT8 zAaMle0I&_RT{NQZBMgYh4GC*d2C1x=sR*RV(sCQW2@_ig^KM^B2zOjLREg+hIS;N+ zq2=_5?i1}mgixQWTnSyZ)gC-%9n3h<63XglC}BK)sY_^Dqi%rQwsj5`ebEx!9?nq0 zc*aK#7-CzAfya&!c~ay#q-1o7xccb~B^dd-xlwPzMF;sk&d>$Hf>W~s9&Q+!Q8yrP zs=o9{k?tBC7Q%&6j3+$(Gvr%%5aFsLq{p#sRLPcbb1OsyEPYOih#{D@&!`C#BFvqM z7!U9vxwGk(hxs#Tg&cG=Izy*Ip!|ynTDIbZm-vmq$o`#cY9hKfJTocS23l#N@#7sh zku*4w1S*~x=;lwWy*ag;T8bVwKSGX&EdnfhK-n;7daT35ut+0++U4xBdjM0_OR$E4 z&iE|zX3D2D$kfsRW-gOH5^R&n_7itKds9>dUNPcP`@t7B!FmM@r;|S0u>lh+)+BE# z%|*6Rbz^x(kt-Azf}aUZBEkl!0H#vNji)*U53FTEgm=)!J}?TpCl{FLC9w!0nmkhi zoNx8eg=b|ct%ra)&NbcZG=xhpQl{RCWF{=d%dg1K^Z(utFe!LLPuiI{!xNf8DDO7u(xYv!i;W;n%xBL$=<~w4wkSG>qL9 zM7KMa@Aex24LLi6rj_lcLBrTiL1@+6xAC<@A1442y&AP~9}SuYdE(Xzc+((qiyU^x zB)A=3Q^bkG9fR0LFUz@vQfFhcwj@9IJ^_$lDpL=KZ%M&s`T4*#lH>kONklU85|_ua z_OMoF4A-@ZqxyJl8C4=OQfW97>@jOt#GacKY6KO*8R21-DbCncgGn_Y1p1S_9cVm? z_-x$>^9e{Yy@FHk>avD6@L@QkAt8XW$%t}Kl0RN48#KH>2m|pHe9^hi+X<66{sJ7z9vNrdHA;rX7@RTG z2j~pnBV=RiqA+FI(lIF~~jo>#P;+EzyrHjP$}n_B!pWi{z@Egh4HpYp;Nq>;iq z9}O>rM&?2aMt8v{>JT+EbLww{ST?rWlMlzQ+I;4>MYH|M-`~PV{*N|&^M=HYKAT~%qyrv$FG4Hzk&?gJr^~X7v}->2TY6wQSP~@iYgVm z<%kpE)-N4~YY1^RkY&-{{;8HKZhU}2nvbpGsI>NqbYPwUCVB>uc#kR*&S8_`S|@_B zBXwn))IKUc2Iv`>-JzW+;64rT#Kq#+x^m}hy++P=8d3yNd^1(#@9GVkcr7q79l1U0 z9e6!DAu&CsN}Q-Nuz^>Gp8fOz7$bxb+Bw&^(f}e4GgI%Q!ed&y_d%Oqfg6dS-00JD zs!%w~PQ7!2Y~PEm0X1QcJ;gCEby6i#-!T8oaA8qC;Gh?#OlzgOsp8DY?$jQ(a(v7! zDF7XfY|f$^%+*JOhnx;J#O{~=_*YWM8rucXQW#~zfVb3%<3$QKaKnX zdndi43Z(v27LwQ`cpC}G!wY*Mv7uY-I7l5yZL?}>8Nh~W^{h{5;`n=xD3(A}mG?v= zPa-^om2>oRzXIm(|9h9+#8Sxklda?V2iu0WmU$_Uz=q0TLv%h9!!1CKv=i$6#bZBi zgycxWx${h3gIBA-x;8ohRcF&=suSQPd{oK|dA}hgn110_B3mmcI}#Vtgd*cDcH0@; zUN!|lXTws`l(YJg?9(F6NoL4x$W$Jt7g_INRRNLn8pbm8nwr64n&|PaqIK@FZDFRJ z4h+4!z$efiYPN(X8IlpU8ARPL1?&f1-$3R-&zN2aO-CGGR>#Jkj~mc$0!34xK1Xl& zoLo*5Yf8YwtDfKuM%Y|OwU^6{!CR3NBk0kxawSdf_$DR|@OzotJMthD1VCwYe%iW< zCKziAX=><0KAH5{ux2ul0Cg5c+`BJ{Xh7b{vL2ihT@ATW{#XO*UlEguNuoB%8~Imk z;|Z^^oSz3o4u~S2NeaP5R_iHLqK?^kc(?;u@6?BWKs%w31|{b2J29xo;sw=ZNARGO z1Jr0}#pvORt-lrjxUH}URV05uwzQ8##u&ItaEf!B*n)}CazM@*h!~Pcp2(SPcttLy z;SjLkPsvm8(i$9c*&;gqR9n&lL(~~lxe1ZS^i@Y7RA%p>z36Kp0X5Pt*`*QolGg=XiEX zF({M`twhf;+MZBRZ3%Ehl#Ej%f9zSTPi}!IxF5CF;FH8xJl&*+$$if~WM`SG5hx~>vq1X4#Pzoh@ zs*l5%HtAFLVKSHu-c9+88X3Io;3OfXCP)(xbq1_MZiPAr z6)FsflRodhP->zHmv>`xJe&HfUO|V*00%v)%EEi1|8~ekiyV<>pd2t^Q_TY*Jn3Wd zgAxXpzq!GkJ``ENK|#IiJoq|t9t3?>DUt@|_gl5$r5)tyUaIY=SF^Sl+N=Ujh!zn3 zle(G{0`xqPTP>&AOuKNE{g@QApaZ_>XpNf1Kw;EBc9;+VPK{V)8VQy9Y8*>p&Q%C~ zhOS@c&88t?;;1|sPa3~X3ELx*#CwCjL)S%s^6234V55PaIN~yK6%;mDX5jePcQCms zOqj(c`35{A#y%~W%AN;1`>t*0peq?ECTbsesWT^Dd>y^ zPKBW632*2l!|T~FuQ)<7sMe-RZlvrv0bjKB-s)p(1?4pyeJ40f+(m|My^yFaPR&sL ze}nvorfM2uQzvLJWFl-TZqCSl3kNTh#NnY|&;^W*6)oxv-^RD`hU~pv&@l($iyj2_ zZo|gIT1)_yYG~b_!MMwy>tfIqz1*g_9UF$+L^W;Fwp(d+^blY}AlijdPPE#V78cwc zyQhu_|GGa2K)BBxCx8OZ-iZyQ=HrMrSw%H183Yeagen@HHe_M$KXn}S1|K&g``W>= zyNNfYP^w5fa2z}-q5cFrRNx@XI#+^+=chp<3&3h+mBK& zq_Ot#Cr(}mY8Oz^jSck1)(Z(lqCLUf8OCQSi!jzd7Cp#?qAeLR8oED%$k@;=M1nt7 z#2^h9+iLsr0Fds1ub|zv}9|BLaAIxLGnZr63YD% zN44eC_<0(X`2b(^Q8zDY2zdD;JZe2Yq0}X~(XiT3(XV`DrQtht1iFeO6j4!+l06}U zvi*qic_oYd;q_`bA?Rhafc?cY7N8GDQst=hJ8QRR4)PYln=s{;M|ow~rGFBz2D& zVmD}^p?}E*FqjDhiz2E)hwuCo-x#ih!ti>e*9G_9TIdUH7=o3e6(|`;8fGd3Tl?h^ z*Cg|SI1FD|6xsYSP4e#>mT8BBG5z&h@b+?CE`$Sm5oFVof1uL}2m^uuJzR{4OM#_J z^t5X2(|-_wgaj3jbrh~qaD$MGfKEnBuxS5B2};q@n3PGUd6R}Mfq@Jn>{Q}~r8l;*yP7xPx8 z2%r|iR{*|$KZV0os5Hvu_Le0qfuLUpxE;D&CXdjf{kAE!G2NeI&Ie6EGC;hbv8%q# z1S^l-`L4H)2yOwa4!AHHTL}lyFuQ5I?SHhzc>VxMdQsULNms#+>%kE4^yH+^_Fpr> zjt|!pvw9HcM}(KOW9whPN`>zh2!R(bP6Wt3;rTIW<^eq0D7A+{P`L;)zZ_Equ@og}3K+lYOw5Mn4 zd3gGgslDkJam-rMv7Q!WM1v6-ZD&@)>G8(CweN4(49Vp?bSRp9-*JZIRoHgcjPYHv5y+1y$j-zWl2>DsMYjYO(*wDc z!pD*%~Hp|hsP49Qd~HI9gHd(uJQ5sDtX={ZC4T5N0Vc75d2 z5BfS%RGFv9GbEck6KG9S^zS{g-wXNb6jV^?ZT)UIFM}C~Qz8aibH*XD>!-omSui-G zeJ_7MRW7`c%8j^-;4nVsP>V#PkqTyH{W=Xcz0ewGgwKpjsqxe)KAL+!b|H>Pl5v7Z z3w`ZmJcy2X`#>4{Ri1bynn(_Z6YoclB=c?vH0S`;@vzlk= NABXq89)t9a`yU--q4NL$ literal 0 HcmV?d00001 diff --git a/dev-tools/temp/samples/layered.dsl b/dev-tools/temp/samples/layered.dsl new file mode 100644 index 0000000..b7145c5 --- /dev/null +++ b/dev-tools/temp/samples/layered.dsl @@ -0,0 +1,40 @@ +workspace "Layered architecture" { + model { + user = person "User" + system = softwareSystem OnlineShop { + consumerFrontend = container "App for Consumer" + sellerFrontend = container "App for Seller" + + orderService = container "Order Processing Service" + inventoryService = container "Inventory Management Service" + + databaseMain = container "Main Database" + databaseArchive = container "Archive Database" + } + + user -> consumerFrontend "Uses through web-browser" + user -> sellerFrontend "Uses through web-browser" + + consumerFrontend -> orderService "Sends order requests" + consumerFrontend -> inventoryService "Queries product information" + sellerFrontend -> inventoryService "Updates product inventory" + + orderService -> databaseMain "Read & write order data" + inventoryService -> databaseMain "Read & write inventory data" + inventoryService -> databaseArchive "Archive older records" + + // consumerFrontend -> databaseMain "Bad relationship" + + $pattern Layered { + layer.0.name "Frontend Layer" + layer.0.elements consumerFrontend,sellerFrontend + + layer.1.name "Backend Layer" + layer.1.elements orderService,inventoryService + // layer.1.elements orderService,inventoryService,consumerFrontend + + layer.2.name "Database Layer" + layer.2.elements databaseMain,databaseArchive + } + } +} \ No newline at end of file diff --git a/dev-tools/test_structurizr_lite.py b/dev-tools/test_structurizr_lite.py new file mode 100644 index 0000000..a485e7e --- /dev/null +++ b/dev-tools/test_structurizr_lite.py @@ -0,0 +1,68 @@ +import logging +import os +from pathlib import Path +import tempfile +from typing import Final + +import _exporter_factory +import _cached_downloader +import _release_extractor + + +CUR_DIR_PATH: Final = Path(__file__).parent +SYNTAX_PLUGIN_PATH: Final = CUR_DIR_PATH / "temp" / "pattern-syntax-plugin-1.0.jar" +JAVA_BINARY_DIR_PATH = Path(os.environ["JAVA_PATH"]) / "bin" +WORKSPACE_PATH: Final = CUR_DIR_PATH / "temp" / "samples" / "layered.dsl" + +log = logging.getLogger() +log.setLevel(logging.DEBUG) + +downloader = _cached_downloader.CachedDownloader( + log=log, + cache_path=Path(".cache"), +) + +with tempfile.TemporaryDirectory() as temp_dir: + exporter_factory = _exporter_factory.get_exporter_factory( + downloader=downloader, + release=_release_extractor.StructurizrLiteRelease( + version="v2025.03.28", + url="https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war", + ), + temp_dir_path=Path(temp_dir), + log=log, + ) + + exporter = exporter_factory( + java_path=JAVA_BINARY_DIR_PATH, + syntax_plugin_path=SYNTAX_PLUGIN_PATH, + ) + + try: + result = exporter.export_to_json(WORKSPACE_PATH) + print(f"Export result: {result}") + finally: + exporter.close() + + +with tempfile.TemporaryDirectory() as temp_dir: + exporter_factory = _exporter_factory.get_exporter_factory( + downloader=downloader, + release=_release_extractor.StructurizrCliRelease( + version="v2025.05.28", + url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", + ), + temp_dir_path=Path(temp_dir), + log=log, + ) + + exporter = exporter_factory( + java_path=JAVA_BINARY_DIR_PATH, + syntax_plugin_path=SYNTAX_PLUGIN_PATH, + ) + + try: + result = exporter.export_to_json(WORKSPACE_PATH) + print(f"Export result: {result}") + finally: + exporter.close() From 00641acacd9f39e08ce182867396f4b5989d9bef Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 3 Jan 2026 20:01:26 +0300 Subject: [PATCH 29/62] tmp --- dev-tools/test_structurizr_lite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-tools/test_structurizr_lite.py b/dev-tools/test_structurizr_lite.py index a485e7e..e728687 100644 --- a/dev-tools/test_structurizr_lite.py +++ b/dev-tools/test_structurizr_lite.py @@ -11,7 +11,7 @@ CUR_DIR_PATH: Final = Path(__file__).parent SYNTAX_PLUGIN_PATH: Final = CUR_DIR_PATH / "temp" / "pattern-syntax-plugin-1.0.jar" -JAVA_BINARY_DIR_PATH = Path(os.environ["JAVA_PATH"]) / "bin" +JAVA_BINARY_DIR_PATH = Path(os.environ["JAVA_HOME"]) / "bin" WORKSPACE_PATH: Final = CUR_DIR_PATH / "temp" / "samples" / "layered.dsl" log = logging.getLogger() From 709c15bed4cbbee3a41aa41afc7e62e966498950 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sat, 3 Jan 2026 20:05:36 +0300 Subject: [PATCH 30/62] tmp --- dev-tools/_exporters/_structurizr_lite.py | 4 ++-- dev-tools/test_structurizr_lite.py | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py index 9d3b6d0..5a2b27a 100644 --- a/dev-tools/_exporters/_structurizr_lite.py +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -143,8 +143,8 @@ def __start_server(self, stdout_path: Path, stderr_path: Path) -> tuple[subproce print(f"Command: {command}") process = subprocess.Popen( command, - stdout=stdout, - stderr=stderr, + # stdout=stdout, + # stderr=stderr, env=env, ) diff --git a/dev-tools/test_structurizr_lite.py b/dev-tools/test_structurizr_lite.py index e728687..af4dc32 100644 --- a/dev-tools/test_structurizr_lite.py +++ b/dev-tools/test_structurizr_lite.py @@ -2,6 +2,7 @@ import os from pathlib import Path import tempfile +import time from typing import Final import _exporter_factory @@ -39,8 +40,9 @@ ) try: - result = exporter.export_to_json(WORKSPACE_PATH) - print(f"Export result: {result}") + time.sleep(15.0) + # result = exporter.export_to_json(WORKSPACE_PATH) + # print(f"Export result: {result}") finally: exporter.close() From 7bc1e31ff7bcc73a3a19ea26257176ac65aacd35 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 13:17:06 +0300 Subject: [PATCH 31/62] tmp: add delay --- .github/workflows/pr-check.yml | 63 +++++++---------------- dev-tools/_exporters/_structurizr_lite.py | 21 ++++---- 2 files changed, 29 insertions(+), 55 deletions(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 009e1df..8a43fc3 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -311,53 +311,11 @@ jobs: # name: vs-code-extension # path: ${{ github.workspace }}/vs-code-extension.vsix - # run-integration-tests: - # name: Run integration tests - # runs-on: ubuntu-latest - # needs: [ build-examples, build-pattern-syntax-plugin ] - - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - - # - name: Install uv - # uses: astral-sh/setup-uv@v6 - # with: - # version: "0.7.13" - - # - name: Prepare 'dev-tools' environment - # run: uv sync - # working-directory: dev-tools - - # - name: Prepare samples directory - # uses: actions/download-artifact@v4 - # with: - # name: examples - # path: ${{ github.workspace }}/.samples - - # - name: Download syntax plugin - # uses: actions/download-artifact@v4 - # with: - # name: pattern-syntax-plugin - # path: ${{ github.workspace }}/.pattern-syntax-plugin - - # - name: Setup java - # uses: actions/setup-java@v5 - # with: - # distribution: 'temurin' - # java-version: '17' - - # - name: Run integration tests - # run: | - # uv run cli.py integration-tests \ - # --plugin-path ${{ github.workspace }}/.pattern-syntax-plugin/pattern-syntax-plugin-debug.jar \ - # --java-path $JAVA_HOME/bin \ - # --samples-dir ${{ github.workspace }}/.samples - # working-directory: dev-tools - run-integration-tests: name: Run integration tests runs-on: ubuntu-latest + # needs: [ build-examples, build-pattern-syntax-plugin ] + steps: - name: Checkout code uses: actions/checkout@v4 @@ -371,6 +329,18 @@ jobs: run: uv sync working-directory: dev-tools + # - name: Prepare samples directory + # uses: actions/download-artifact@v4 + # with: + # name: examples + # path: ${{ github.workspace }}/.samples + + # - name: Download syntax plugin + # uses: actions/download-artifact@v4 + # with: + # name: pattern-syntax-plugin + # path: ${{ github.workspace }}/.pattern-syntax-plugin + - name: Setup java uses: actions/setup-java@v5 with: @@ -379,5 +349,8 @@ jobs: - name: Run integration tests run: | - uv run test_structurizr_lite.py + uv run cli.py integration-tests \ + --plugin-path ../temp/samples/pattern-syntax-plugin-1.0.jar \ + --java-path $JAVA_HOME/bin \ + --samples-dir ../temp/samples working-directory: dev-tools diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py index 5a2b27a..5109bc8 100644 --- a/dev-tools/_exporters/_structurizr_lite.py +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -143,8 +143,8 @@ def __start_server(self, stdout_path: Path, stderr_path: Path) -> tuple[subproce print(f"Command: {command}") process = subprocess.Popen( command, - # stdout=stdout, - # stderr=stderr, + stdout=stdout, + stderr=stderr, env=env, ) @@ -159,28 +159,29 @@ def __start_server(self, stdout_path: Path, stderr_path: Path) -> tuple[subproce return process, stdout, stderr - def __wait_for_connection(self, timeout: float = 60.0) -> None: - elapsed_time = 0.0 + def __wait_for_connection(self, timeout: float = 60.0, delay: float = 5.0) -> None: + start_time = time.time() while True: - start_time = time.time() - try: - print(f"[Connection] Try health check server ...") + print("[Connection] Try health check server ...") response = requests.get( urllib.parse.urljoin(self._SERVER_ADDRESS, "/health"), - timeout=timeout - elapsed_time, + timeout=timeout - start_time, ) response.raise_for_status() + print("[Connection] Try health check server ... ok") return except (ConnectionError, OSError) as e: - elapsed_time += time.time() - start_time - print(f"[Connection] Health check failed. Elapsed time: {elapsed_time}") + elapsed_time = time.time() - start_time + print(f"[Connection] Health check failed. Elapsed time: {start_time}") if elapsed_time >= timeout: raise _ConnectionTimeout() from e + time.sleep(delay) + def __get_credentials(self) -> _Credentials: response = requests.get("http://localhost:8080/workspace/diagrams") response.raise_for_status() From 9515709dd1c165508174277ea5b74363bea6d671 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 13:19:19 +0300 Subject: [PATCH 32/62] tmp: remove structurizr cli tests --- dev-tools/tests/test_syntax_plugin.py | 98 +++++++++++++-------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index ea7241c..39b478d 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -89,55 +89,55 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re @pytest.mark.parametrize( "test_config", [ - *_get_test_configs( - releases=[ - _release_extractor.StructurizrCliRelease( - version="v2025.03.28", - url="https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip", - ), - _release_extractor.StructurizrCliRelease( - version="v2025.05.28", - url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", - ), - ], - reduced_test_configs=[ - ReducedTestConfiguration( - name="database-per-service", - workspace_path=Path("databasePerService.dsl"), - result=FailedTestResult( - error_message="Database 'Payment Service' is already used by 'Order Application'", - ), - ), - ReducedTestConfiguration( - name="layered", - workspace_path=Path("layered.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/layered.json"), - ), - ), - ReducedTestConfiguration( - name="reverse-proxy", - workspace_path=Path("reverseProxy.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), - ), - ), - ReducedTestConfiguration( - name="saga", - workspace_path=Path("saga.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/saga.json"), - ), - ), - ReducedTestConfiguration( - name="service-registry", - workspace_path=Path("serviceRegistry.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), - ), - ), - ] - ), + # *_get_test_configs( + # releases=[ + # _release_extractor.StructurizrCliRelease( + # version="v2025.03.28", + # url="https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip", + # ), + # _release_extractor.StructurizrCliRelease( + # version="v2025.05.28", + # url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", + # ), + # ], + # reduced_test_configs=[ + # ReducedTestConfiguration( + # name="database-per-service", + # workspace_path=Path("databasePerService.dsl"), + # result=FailedTestResult( + # error_message="Database 'Payment Service' is already used by 'Order Application'", + # ), + # ), + # ReducedTestConfiguration( + # name="layered", + # workspace_path=Path("layered.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-cli/layered.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="reverse-proxy", + # workspace_path=Path("reverseProxy.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="saga", + # workspace_path=Path("saga.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-cli/saga.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="service-registry", + # workspace_path=Path("serviceRegistry.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), + # ), + # ), + # ] + # ), *_get_test_configs( releases=[ _release_extractor.StructurizrLiteRelease( From 1926729a8c230767129e4dc0007a447b46b90c86 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 13:21:27 +0300 Subject: [PATCH 33/62] tmp: fix structurizr lite --- dev-tools/_exporters/_structurizr_lite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py index 5109bc8..db5d8b2 100644 --- a/dev-tools/_exporters/_structurizr_lite.py +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -167,7 +167,7 @@ def __wait_for_connection(self, timeout: float = 60.0, delay: float = 5.0) -> No print("[Connection] Try health check server ...") response = requests.get( urllib.parse.urljoin(self._SERVER_ADDRESS, "/health"), - timeout=timeout - start_time, + timeout=(start_time + timeout) - time.time(), ) response.raise_for_status() print("[Connection] Try health check server ... ok") From 906d917bc174eb8553b6b171eb6de38f3208629a Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 13:32:47 +0300 Subject: [PATCH 34/62] fix: extend error information --- dev-tools/_exporters/_structurizr_lite.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py index db5d8b2..9359660 100644 --- a/dev-tools/_exporters/_structurizr_lite.py +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -29,6 +29,17 @@ def __init__(self): super().__init__("Connection to the structurizr lite server timeout reached") + +class _StructurizrLiteError(Exception): + def __init__(self, source_error: Exception, stdout: str, stderr: str) -> None: + self.source_error = source_error + self.stdout = stdout + self.stderr = stderr + + def __str__(self) -> str: + return f"Error has occurred from structurizr lite side.\nSource Error:\n{self.source_error}\nStdout:\n{self.stdout}\nStderr:\n{self.stderr}\n" + + @dataclass class _Credentials: api_key: str @@ -150,12 +161,16 @@ def __start_server(self, stdout_path: Path, stderr_path: Path) -> tuple[subproce try: self.__wait_for_connection() - except _ConnectionTimeout: + except _ConnectionTimeout as e: process.kill() process.wait() stdout.close() stderr.close() - raise + raise _StructurizrLiteError( + source_error=e, + stdout=stdout_path.read_text() if stdout_path.exists() else "", + stderr=stderr_path.read_text() if stderr_path.exists() else "", + ) return process, stdout, stderr From 105e15f1979d6810510741c387828371a7788931 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 13:33:06 +0300 Subject: [PATCH 35/62] tmp: run only 1 test case --- dev-tools/tests/test_syntax_plugin.py | 56 +++++++++++++-------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index 39b478d..be460e0 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -153,34 +153,34 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re error_message="Database 'Payment Service' is already used by 'Order Application'", ), ), - ReducedTestConfiguration( - name="layered", - workspace_path=Path("layered.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/layered.json"), - ), - ), - ReducedTestConfiguration( - name="reverse-proxy", - workspace_path=Path("reverseProxy.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), - ), - ), - ReducedTestConfiguration( - name="saga", - workspace_path=Path("saga.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/saga.json"), - ), - ), - ReducedTestConfiguration( - name="service-registry", - workspace_path=Path("serviceRegistry.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), - ), - ) + # ReducedTestConfiguration( + # name="layered", + # workspace_path=Path("layered.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-lite/layered.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="reverse-proxy", + # workspace_path=Path("reverseProxy.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="saga", + # workspace_path=Path("saga.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-lite/saga.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="service-registry", + # workspace_path=Path("serviceRegistry.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), + # ), + # ) ] ), ], From c9abb8aab9898750e7c692ceecd519862ef05b9c Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 13:34:49 +0300 Subject: [PATCH 36/62] fix: logging percentage in cached downloader --- dev-tools/_cached_downloader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-tools/_cached_downloader.py b/dev-tools/_cached_downloader.py index 82b5bf2..0e604bf 100644 --- a/dev-tools/_cached_downloader.py +++ b/dev-tools/_cached_downloader.py @@ -78,7 +78,7 @@ def install_file( if percent - last_logged_percent < percent_threshold: continue - self.__log.debug("Installed {percent:.2f}%") + self.__log.debug(f"Installed {percent:.2f}%") last_logged_percent = percent self.__cache_manager.save_cache_file(cache_key, output_path) From f441d673f9e8483ab2ca9da246ae110436f96f96 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 13:36:17 +0300 Subject: [PATCH 37/62] fix: add timeout value check before sending request --- dev-tools/_exporters/_structurizr_lite.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py index 9359660..94a14fd 100644 --- a/dev-tools/_exporters/_structurizr_lite.py +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -180,9 +180,13 @@ def __wait_for_connection(self, timeout: float = 60.0, delay: float = 5.0) -> No while True: try: print("[Connection] Try health check server ...") + request_timeout = (start_time + timeout) - time.time() + if request_timeout <= 0.0: + raise _ConnectionTimeout() + response = requests.get( urllib.parse.urljoin(self._SERVER_ADDRESS, "/health"), - timeout=(start_time + timeout) - time.time(), + timeout=request_timeout, ) response.raise_for_status() print("[Connection] Try health check server ... ok") From 485bcaee54fdac288f637abf8c7530635765e298 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 13:39:02 +0300 Subject: [PATCH 38/62] fix: syntax plugin path --- .github/workflows/pr-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 8a43fc3..943ee94 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -350,7 +350,7 @@ jobs: - name: Run integration tests run: | uv run cli.py integration-tests \ - --plugin-path ../temp/samples/pattern-syntax-plugin-1.0.jar \ + --plugin-path ../temp/pattern-syntax-plugin-1.0.jar \ --java-path $JAVA_HOME/bin \ --samples-dir ../temp/samples working-directory: dev-tools From 7e78cb41698f852138bfa333c7f3bf7588765df7 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 13:45:23 +0300 Subject: [PATCH 39/62] fix: add path validation --- dev-tools/tests/test_syntax_plugin.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index be460e0..b56089e 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -45,19 +45,26 @@ class ReducedTestConfiguration: workspace_path: Path +def _validate_path(path: Path) -> Path: + path = path.resolve() + if not path.exists(): + raise ValueError(f"Path '{path.absolute()}' not exists") + return path + + @pytest.fixture def syntax_plugin_path(request: pytest.FixtureRequest) -> Path: - return request.config.getoption('--plugin-path') + return _validate_path(request.config.getoption('--plugin-path')) @pytest.fixture def java_path(request: pytest.FixtureRequest) -> Path: - return request.config.getoption('--java-path') + return _validate_path(request.config.getoption('--java-path')) @pytest.fixture def samples_dir_path(request: pytest.FixtureRequest) -> Path: - return request.config.getoption("--samples-dir") + return _validate_path(request.config.getoption("--samples-dir")) @contextlib.contextmanager From 941f67fb268152361eee2d78b370f8e485f304f5 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 13:48:37 +0300 Subject: [PATCH 40/62] fix: update paths to temp directory --- .github/workflows/pr-check.yml | 4 ++-- dev-tools/temp/samples/plugins/layered.jar | Bin 0 -> 18361 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 dev-tools/temp/samples/plugins/layered.jar diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 943ee94..e72abf9 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -350,7 +350,7 @@ jobs: - name: Run integration tests run: | uv run cli.py integration-tests \ - --plugin-path ../temp/pattern-syntax-plugin-1.0.jar \ + --plugin-path temp/pattern-syntax-plugin-1.0.jar \ --java-path $JAVA_HOME/bin \ - --samples-dir ../temp/samples + --samples-dir temp/samples working-directory: dev-tools diff --git a/dev-tools/temp/samples/plugins/layered.jar b/dev-tools/temp/samples/plugins/layered.jar new file mode 100644 index 0000000000000000000000000000000000000000..a05cf8a765f853a45c73d3c5a5ef582f8795f0b0 GIT binary patch literal 18361 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 nPbPobXn!&3r~fCDzbv*g;t;P Date: Sun, 4 Jan 2026 13:49:36 +0300 Subject: [PATCH 41/62] run only layered test case --- dev-tools/tests/test_syntax_plugin.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index b56089e..d3ce96c 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -153,20 +153,20 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re ), ], reduced_test_configs=[ - ReducedTestConfiguration( - name="database-per-service", - workspace_path=Path("databasePerService.dsl"), - result=FailedTestResult( - error_message="Database 'Payment Service' is already used by 'Order Application'", - ), - ), # ReducedTestConfiguration( - # name="layered", - # workspace_path=Path("layered.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-lite/layered.json"), + # name="database-per-service", + # workspace_path=Path("databasePerService.dsl"), + # result=FailedTestResult( + # error_message="Database 'Payment Service' is already used by 'Order Application'", # ), # ), + ReducedTestConfiguration( + name="layered", + workspace_path=Path("layered.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/layered.json"), + ), + ), # ReducedTestConfiguration( # name="reverse-proxy", # workspace_path=Path("reverseProxy.dsl"), From 92f48c9c24e293976f9583bb68dac8c2584ce5f5 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 14:52:16 +0300 Subject: [PATCH 42/62] fix: update base64 encoded content of workspace --- .../test_syntax_plugin/results/structurizr-cli/layered.json | 2 +- .../results/structurizr-cli/reverseProxy.json | 2 +- .../tests/test_syntax_plugin/results/structurizr-cli/saga.json | 2 +- .../results/structurizr-cli/serviceRegistry.json | 2 +- .../test_syntax_plugin/results/structurizr-lite/layered.json | 2 +- .../results/structurizr-lite/reverseProxy.json | 2 +- .../tests/test_syntax_plugin/results/structurizr-lite/saga.json | 2 +- .../results/structurizr-lite/serviceRegistry.json | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/layered.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/layered.json index b44065b..6509a53 100644 --- a/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/layered.json +++ b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/layered.json @@ -1 +1 @@ -{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Uses through web-browser", "destinationId": "3", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Uses through web-browser", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}, {"description": "Uses through web-browser", "destinationId": "4", "id": "11", "sourceId": "1", "tags": "Relationship"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "group": "Frontend Layer", "id": "3", "name": "App for Consumer", "properties": {"structurizr.dsl.identifier": "consumerfrontend"}, "relationships": [{"description": "Sends order requests", "destinationId": "5", "id": "12", "sourceId": "3", "tags": "Relationship"}, {"description": "Queries product information", "destinationId": "6", "id": "13", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Frontend Layer", "id": "4", "name": "App for Seller", "properties": {"structurizr.dsl.identifier": "sellerfrontend"}, "relationships": [{"description": "Updates product inventory", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "5", "name": "Order Processing Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Read & write order data", "destinationId": "7", "id": "15", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "6", "name": "Inventory Management Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Read & write inventory data", "destinationId": "7", "id": "16", "sourceId": "6", "tags": "Relationship"}, {"description": "Archive older records", "destinationId": "8", "id": "17", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "7", "name": "Main Database", "properties": {"structurizr.dsl.identifier": "databasemain"}, "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "8", "name": "Archive Database", "properties": {"structurizr.dsl.identifier": "databasearchive"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Layered architecture", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJMYXllcmVkIGFyY2hpdGVjdHVyZSIgew0KICAgIG1vZGVsIHsNCiAgICAgICAgdXNlciA9IHBlcnNvbiAiVXNlciINCiAgICAgICAgc3lzdGVtID0gc29mdHdhcmVTeXN0ZW0gT25saW5lU2hvcCB7DQogICAgICAgICAgICBjb25zdW1lckZyb250ZW5kID0gY29udGFpbmVyICJBcHAgZm9yIENvbnN1bWVyIg0KICAgICAgICAgICAgc2VsbGVyRnJvbnRlbmQgPSBjb250YWluZXIgIkFwcCBmb3IgU2VsbGVyIg0KDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFByb2Nlc3NpbmcgU2VydmljZSINCiAgICAgICAgICAgIGludmVudG9yeVNlcnZpY2UgPSBjb250YWluZXIgIkludmVudG9yeSBNYW5hZ2VtZW50IFNlcnZpY2UiDQoNCiAgICAgICAgICAgIGRhdGFiYXNlTWFpbiA9IGNvbnRhaW5lciAiTWFpbiBEYXRhYmFzZSINCiAgICAgICAgICAgIGRhdGFiYXNlQXJjaGl2ZSA9IGNvbnRhaW5lciAiQXJjaGl2ZSBEYXRhYmFzZSINCiAgICAgICAgfQ0KDQogICAgICAgIHVzZXIgLT4gY29uc3VtZXJGcm9udGVuZCAiVXNlcyB0aHJvdWdoIHdlYi1icm93c2VyIg0KICAgICAgICB1c2VyIC0+IHNlbGxlckZyb250ZW5kICJVc2VzIHRocm91Z2ggd2ViLWJyb3dzZXIiDQoNCiAgICAgICAgY29uc3VtZXJGcm9udGVuZCAtPiBvcmRlclNlcnZpY2UgIlNlbmRzIG9yZGVyIHJlcXVlc3RzIg0KICAgICAgICBjb25zdW1lckZyb250ZW5kIC0+IGludmVudG9yeVNlcnZpY2UgIlF1ZXJpZXMgcHJvZHVjdCBpbmZvcm1hdGlvbiINCiAgICAgICAgc2VsbGVyRnJvbnRlbmQgLT4gaW52ZW50b3J5U2VydmljZSAiVXBkYXRlcyBwcm9kdWN0IGludmVudG9yeSINCg0KICAgICAgICBvcmRlclNlcnZpY2UgLT4gZGF0YWJhc2VNYWluICJSZWFkICYgd3JpdGUgb3JkZXIgZGF0YSINCiAgICAgICAgaW52ZW50b3J5U2VydmljZSAtPiBkYXRhYmFzZU1haW4gIlJlYWQgJiB3cml0ZSBpbnZlbnRvcnkgZGF0YSINCiAgICAgICAgaW52ZW50b3J5U2VydmljZSAtPiBkYXRhYmFzZUFyY2hpdmUgIkFyY2hpdmUgb2xkZXIgcmVjb3JkcyINCg0KICAgICAgICAvLyBjb25zdW1lckZyb250ZW5kIC0+IGRhdGFiYXNlTWFpbiAiQmFkIHJlbGF0aW9uc2hpcCINCg0KICAgICAgICAkcGF0dGVybiBMYXllcmVkIHsNCiAgICAgICAgICAgIGxheWVyLjAubmFtZSAiRnJvbnRlbmQgTGF5ZXIiDQogICAgICAgICAgICBsYXllci4wLmVsZW1lbnRzIGNvbnN1bWVyRnJvbnRlbmQsc2VsbGVyRnJvbnRlbmQNCg0KICAgICAgICAgICAgbGF5ZXIuMS5uYW1lICJCYWNrZW5kIExheWVyIg0KICAgICAgICAgICAgbGF5ZXIuMS5lbGVtZW50cyBvcmRlclNlcnZpY2UsaW52ZW50b3J5U2VydmljZQ0KICAgICAgICAgICAgLy8gbGF5ZXIuMS5lbGVtZW50cyBvcmRlclNlcnZpY2UsaW52ZW50b3J5U2VydmljZSxjb25zdW1lckZyb250ZW5kDQoNCiAgICAgICAgICAgIGxheWVyLjIubmFtZSAiRGF0YWJhc2UgTGF5ZXIiDQogICAgICAgICAgICBsYXllci4yLmVsZW1lbnRzIGRhdGFiYXNlTWFpbixkYXRhYmFzZUFyY2hpdmUNCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}}} \ No newline at end of file +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Uses through web-browser", "destinationId": "3", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Uses through web-browser", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}, {"description": "Uses through web-browser", "destinationId": "4", "id": "11", "sourceId": "1", "tags": "Relationship"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "group": "Frontend Layer", "id": "3", "name": "App for Consumer", "properties": {"structurizr.dsl.identifier": "consumerfrontend"}, "relationships": [{"description": "Sends order requests", "destinationId": "5", "id": "12", "sourceId": "3", "tags": "Relationship"}, {"description": "Queries product information", "destinationId": "6", "id": "13", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Frontend Layer", "id": "4", "name": "App for Seller", "properties": {"structurizr.dsl.identifier": "sellerfrontend"}, "relationships": [{"description": "Updates product inventory", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "5", "name": "Order Processing Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Read & write order data", "destinationId": "7", "id": "15", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "6", "name": "Inventory Management Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Read & write inventory data", "destinationId": "7", "id": "16", "sourceId": "6", "tags": "Relationship"}, {"description": "Archive older records", "destinationId": "8", "id": "17", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "7", "name": "Main Database", "properties": {"structurizr.dsl.identifier": "databasemain"}, "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "8", "name": "Archive Database", "properties": {"structurizr.dsl.identifier": "databasearchive"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Layered architecture", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJMYXllcmVkIGFyY2hpdGVjdHVyZSIgewogICAgbW9kZWwgewogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiCiAgICAgICAgc3lzdGVtID0gc29mdHdhcmVTeXN0ZW0gT25saW5lU2hvcCB7CiAgICAgICAgICAgIGNvbnN1bWVyRnJvbnRlbmQgPSBjb250YWluZXIgIkFwcCBmb3IgQ29uc3VtZXIiCiAgICAgICAgICAgIHNlbGxlckZyb250ZW5kID0gY29udGFpbmVyICJBcHAgZm9yIFNlbGxlciIKCiAgICAgICAgICAgIG9yZGVyU2VydmljZSA9IGNvbnRhaW5lciAiT3JkZXIgUHJvY2Vzc2luZyBTZXJ2aWNlIgogICAgICAgICAgICBpbnZlbnRvcnlTZXJ2aWNlID0gY29udGFpbmVyICJJbnZlbnRvcnkgTWFuYWdlbWVudCBTZXJ2aWNlIgoKICAgICAgICAgICAgZGF0YWJhc2VNYWluID0gY29udGFpbmVyICJNYWluIERhdGFiYXNlIgogICAgICAgICAgICBkYXRhYmFzZUFyY2hpdmUgPSBjb250YWluZXIgIkFyY2hpdmUgRGF0YWJhc2UiCiAgICAgICAgfQoKICAgICAgICB1c2VyIC0+IGNvbnN1bWVyRnJvbnRlbmQgIlVzZXMgdGhyb3VnaCB3ZWItYnJvd3NlciIKICAgICAgICB1c2VyIC0+IHNlbGxlckZyb250ZW5kICJVc2VzIHRocm91Z2ggd2ViLWJyb3dzZXIiCgogICAgICAgIGNvbnN1bWVyRnJvbnRlbmQgLT4gb3JkZXJTZXJ2aWNlICJTZW5kcyBvcmRlciByZXF1ZXN0cyIKICAgICAgICBjb25zdW1lckZyb250ZW5kIC0+IGludmVudG9yeVNlcnZpY2UgIlF1ZXJpZXMgcHJvZHVjdCBpbmZvcm1hdGlvbiIKICAgICAgICBzZWxsZXJGcm9udGVuZCAtPiBpbnZlbnRvcnlTZXJ2aWNlICJVcGRhdGVzIHByb2R1Y3QgaW52ZW50b3J5IgoKICAgICAgICBvcmRlclNlcnZpY2UgLT4gZGF0YWJhc2VNYWluICJSZWFkICYgd3JpdGUgb3JkZXIgZGF0YSIKICAgICAgICBpbnZlbnRvcnlTZXJ2aWNlIC0+IGRhdGFiYXNlTWFpbiAiUmVhZCAmIHdyaXRlIGludmVudG9yeSBkYXRhIgogICAgICAgIGludmVudG9yeVNlcnZpY2UgLT4gZGF0YWJhc2VBcmNoaXZlICJBcmNoaXZlIG9sZGVyIHJlY29yZHMiCgogICAgICAgIC8vIGNvbnN1bWVyRnJvbnRlbmQgLT4gZGF0YWJhc2VNYWluICJCYWQgcmVsYXRpb25zaGlwIgoKICAgICAgICAkcGF0dGVybiBMYXllcmVkIHsKICAgICAgICAgICAgbGF5ZXIuMC5uYW1lICJGcm9udGVuZCBMYXllciIKICAgICAgICAgICAgbGF5ZXIuMC5lbGVtZW50cyBjb25zdW1lckZyb250ZW5kLHNlbGxlckZyb250ZW5kCgogICAgICAgICAgICBsYXllci4xLm5hbWUgIkJhY2tlbmQgTGF5ZXIiCiAgICAgICAgICAgIGxheWVyLjEuZWxlbWVudHMgb3JkZXJTZXJ2aWNlLGludmVudG9yeVNlcnZpY2UKICAgICAgICAgICAgLy8gbGF5ZXIuMS5lbGVtZW50cyBvcmRlclNlcnZpY2UsaW52ZW50b3J5U2VydmljZSxjb25zdW1lckZyb250ZW5kCgogICAgICAgICAgICBsYXllci4yLm5hbWUgIkRhdGFiYXNlIExheWVyIgogICAgICAgICAgICBsYXllci4yLmVsZW1lbnRzIGRhdGFiYXNlTWFpbixkYXRhYmFzZUFyY2hpdmUKICAgICAgICB9CiAgICB9Cn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}}} \ No newline at end of file diff --git a/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/reverseProxy.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/reverseProxy.json index f767e23..e579caf 100644 --- a/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/reverseProxy.json +++ b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/reverseProxy.json @@ -1 +1 @@ -{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "Customer", "properties": {"structurizr.dsl.identifier": "customer"}, "relationships": [{"description": "Sends Requests", "destinationId": "14", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Sends Requests", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "Some other container", "properties": {"structurizr.dsl.identifier": "app2"}, "relationships": [{"description": "Some relationship", "destinationId": "14", "id": "8", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "4", "name": "Web App", "properties": {"structurizr.dsl.identifier": "webapp"}, "relationships": [{"description": "Requests data", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests users", "destinationId": "7", "id": "12", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container", "technology": "Java, Spring Boot"}, {"documentation": {}, "id": "5", "name": "Container 3", "properties": {"structurizr.dsl.identifier": "app3"}, "relationships": [{"description": "ABOBA", "destinationId": "7", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Database", "properties": {"structurizr.dsl.identifier": "db"}, "tags": "Element,Container", "technology": "PostgreSQL"}, {"documentation": {}, "id": "7", "name": "Database 2", "properties": {"structurizr.dsl.identifier": "db2"}, "tags": "Element,Container", "technology": "Mongo"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "14", "name": "Reverse Proxy", "relationships": [{"description": "Resends Requests", "destinationId": "4", "id": "15", "sourceId": "14", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "s"}, "tags": "Element,Software System"}]}, "name": "Reverse Proxy", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJSZXZlcnNlIFByb3h5IiB7DQogICAgbW9kZWwgew0KICAgICAgICBjdXN0b21lciA9IHBlcnNvbiAiQ3VzdG9tZXIiDQoNCiAgICAgICAgcyA9IHNvZnR3YXJlU3lzdGVtIE9ubGluZVNob3Agew0KICAgICAgICAgICAgYXBwMiA9IGNvbnRhaW5lciAiU29tZSBvdGhlciBjb250YWluZXIiDQoNCiAgICAgICAgICAgIHdlYkFwcCA9IGNvbnRhaW5lciAiV2ViIEFwcCIgew0KICAgICAgICAgICAgICAgIHRlY2hub2xvZ3kgIkphdmEsIFNwcmluZyBCb290Ig0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBhcHAzID0gY29udGFpbmVyICJDb250YWluZXIgMyINCg0KICAgICAgICAgICAgZGIgPSBjb250YWluZXIgIkRhdGFiYXNlIiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiUG9zdGdyZVNRTCINCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGIyID0gY29udGFpbmVyICJEYXRhYmFzZSAyIiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiTW9uZ28iDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcHAyIC0+IHdlYkFwcCAiU29tZSByZWxhdGlvbnNoaXAiDQogICAgICAgIGN1c3RvbWVyIC0+IHdlYkFwcCAiU2VuZHMgUmVxdWVzdHMiDQogICAgICAgIHdlYkFwcCAtPiBkYiAiUmVxdWVzdHMgZGF0YSINCiAgICAgICAgd2ViQXBwIC0+IGRiMiAiUmVxdWVzdHMgdXNlcnMiDQogICAgICAgIGFwcDMgLT4gZGIyICJBQk9CQSINCg0KICAgICAgICRwYXR0ZXJuIFJldmVyc2VQcm94eSB7DQogICAgICAgICAgIHRhcmdldCB3ZWJBcHANCiAgICAgICB9DQogICAgfQ0KDQogICAgdmlld3Mgew0KICAgICAgICBjb250YWluZXIgcyB7DQogICAgICAgICAgICBpbmNsdWRlICoNCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHINCiAgICAgICAgfQ0KDQogICAgICAgIGNvbnRhaW5lciBzIHsNCiAgICAgICAgICAgIGluY2x1ZGUgd2ViQXBwIGFwcDIgY3VzdG9tZXINCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHINCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}, {"id": "7", "x": 0, "y": 0}, {"id": "14", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 1, "relationships": [{"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "15"}, {"id": "8"}, {"id": "9"}], "softwareSystemId": "2"}, {"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-002", "order": 2, "softwareSystemId": "2"}]}} \ No newline at end of file +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "Customer", "properties": {"structurizr.dsl.identifier": "customer"}, "relationships": [{"description": "Sends Requests", "destinationId": "14", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Sends Requests", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "Some other container", "properties": {"structurizr.dsl.identifier": "app2"}, "relationships": [{"description": "Some relationship", "destinationId": "14", "id": "8", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "4", "name": "Web App", "properties": {"structurizr.dsl.identifier": "webapp"}, "relationships": [{"description": "Requests data", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests users", "destinationId": "7", "id": "12", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container", "technology": "Java, Spring Boot"}, {"documentation": {}, "id": "5", "name": "Container 3", "properties": {"structurizr.dsl.identifier": "app3"}, "relationships": [{"description": "ABOBA", "destinationId": "7", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Database", "properties": {"structurizr.dsl.identifier": "db"}, "tags": "Element,Container", "technology": "PostgreSQL"}, {"documentation": {}, "id": "7", "name": "Database 2", "properties": {"structurizr.dsl.identifier": "db2"}, "tags": "Element,Container", "technology": "Mongo"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "14", "name": "Reverse Proxy", "relationships": [{"description": "Resends Requests", "destinationId": "4", "id": "15", "sourceId": "14", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "s"}, "tags": "Element,Software System"}]}, "name": "Reverse Proxy", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJSZXZlcnNlIFByb3h5IiB7CiAgICBtb2RlbCB7CiAgICAgICAgY3VzdG9tZXIgPSBwZXJzb24gIkN1c3RvbWVyIgoKICAgICAgICBzID0gc29mdHdhcmVTeXN0ZW0gT25saW5lU2hvcCB7CiAgICAgICAgICAgIGFwcDIgPSBjb250YWluZXIgIlNvbWUgb3RoZXIgY29udGFpbmVyIgoKICAgICAgICAgICAgd2ViQXBwID0gY29udGFpbmVyICJXZWIgQXBwIiB7CiAgICAgICAgICAgICAgICB0ZWNobm9sb2d5ICJKYXZhLCBTcHJpbmcgQm9vdCIKICAgICAgICAgICAgfQoKICAgICAgICAgICAgYXBwMyA9IGNvbnRhaW5lciAiQ29udGFpbmVyIDMiCgogICAgICAgICAgICBkYiA9IGNvbnRhaW5lciAiRGF0YWJhc2UiIHsKICAgICAgICAgICAgICAgIHRlY2hub2xvZ3kgIlBvc3RncmVTUUwiCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGRiMiA9IGNvbnRhaW5lciAiRGF0YWJhc2UgMiIgewogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiTW9uZ28iCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGFwcDIgLT4gd2ViQXBwICJTb21lIHJlbGF0aW9uc2hpcCIKICAgICAgICBjdXN0b21lciAtPiB3ZWJBcHAgIlNlbmRzIFJlcXVlc3RzIgogICAgICAgIHdlYkFwcCAtPiBkYiAiUmVxdWVzdHMgZGF0YSIKICAgICAgICB3ZWJBcHAgLT4gZGIyICJSZXF1ZXN0cyB1c2VycyIKICAgICAgICBhcHAzIC0+IGRiMiAiQUJPQkEiCgogICAgICAgJHBhdHRlcm4gUmV2ZXJzZVByb3h5IHsKICAgICAgICAgICB0YXJnZXQgd2ViQXBwCiAgICAgICB9CiAgICB9CgogICAgdmlld3MgewogICAgICAgIGNvbnRhaW5lciBzIHsKICAgICAgICAgICAgaW5jbHVkZSAqCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHIKICAgICAgICB9CgogICAgICAgIGNvbnRhaW5lciBzIHsKICAgICAgICAgICAgaW5jbHVkZSB3ZWJBcHAgYXBwMiBjdXN0b21lcgogICAgICAgICAgICBhdXRvTGF5b3V0IGxyCiAgICAgICAgfQogICAgfQp9"}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}, {"id": "7", "x": 0, "y": 0}, {"id": "14", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 1, "relationships": [{"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "15"}, {"id": "8"}, {"id": "9"}], "softwareSystemId": "2"}, {"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-002", "order": 2, "softwareSystemId": "2"}]}} \ No newline at end of file diff --git a/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/saga.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/saga.json index a068e40..dadf77a 100644 --- a/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/saga.json +++ b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/saga.json @@ -1 +1 @@ -{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates Order", "destinationId": "3", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates Order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "API", "properties": {"structurizr.dsl.identifier": "api"}, "relationships": [{"description": "Sends request to create order transaction", "destinationId": "4", "id": "9", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "4", "name": "Saga Orchestrator", "properties": {"structurizr.dsl.identifier": "orchestrator"}, "relationships": [{"description": "Set order status PENDING", "destinationId": "5", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Reserve funds", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status APPROVE", "destinationId": "5", "id": "12", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status CANCELED on error", "destinationId": "5", "id": "13", "sourceId": "4", "tags": "Relationship"}, {"description": "Refund on error", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Balance Service", "properties": {"structurizr.dsl.identifier": "balanceservice"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Order System", "properties": {"structurizr.dsl.identifier": "ordersystem"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsNCiAgICBtb2RlbCB7DQogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiDQoNCiAgICAgICAgb3JkZXJTeXN0ZW0gPSBzb2Z0d2FyZVN5c3RlbSAiT3JkZXIgU3lzdGVtIiB7DQogICAgICAgICAgICBhcGkgPSBjb250YWluZXIgIkFQSSINCiAgICAgICAgICAgIG9yY2hlc3RyYXRvciA9IGNvbnRhaW5lciAiU2FnYSBPcmNoZXN0cmF0b3IiDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFNlcnZpY2UiDQogICAgICAgICAgICBiYWxhbmNlU2VydmljZSA9IGNvbnRhaW5lciAiQmFsYW5jZSBTZXJ2aWNlIg0KDQogICAgICAgICAgICB1c2VyIC0+IGFwaSAiQ3JlYXRlcyBPcmRlciINCiAgICAgICAgICAgIGFwaSAtPiBvcmNoZXN0cmF0b3IgIlNlbmRzIHJlcXVlc3QgdG8gY3JlYXRlIG9yZGVyIHRyYW5zYWN0aW9uIg0KDQogICAgICAgICAgICAkcGF0dGVybiBTYWdhIHsNCiAgICAgICAgICAgICAgICBvcmNoZXN0cmF0b3IgICAgb3JjaGVzdHJhdG9yDQoNCiAgICAgICAgICAgICAgICBpdGVtLjAuc2VydmljZSAgb3JkZXJTZXJ2aWNlDQogICAgICAgICAgICAgICAgaXRlbS4wLmNvbW1hbmQgICJTZXQgb3JkZXIgc3RhdHVzIFBFTkRJTkciDQogICAgICAgICAgICAgICAgaXRlbS4wLm9uRXJyb3IgICJTZXQgb3JkZXIgc3RhdHVzIENBTkNFTEVEIg0KDQogICAgICAgICAgICAgICAgaXRlbS4xLnNlcnZpY2UgIGJhbGFuY2VTZXJ2aWNlDQogICAgICAgICAgICAgICAgaXRlbS4xLmNvbW1hbmQgICJSZXNlcnZlIGZ1bmRzIg0KICAgICAgICAgICAgICAgIGl0ZW0uMS5vbkVycm9yICAiUmVmdW5kIg0KDQogICAgICAgICAgICAgICAgaXRlbS4yLnNlcnZpY2UgIG9yZGVyU2VydmljZQ0KICAgICAgICAgICAgICAgIGl0ZW0uMi5jb21tYW5kICAiU2V0IG9yZGVyIHN0YXR1cyBBUFBST1ZFIg0KICAgICAgICAgICAgICAgIGl0ZW0uMi5vbkVycm9yICAiU2V0IG9yZGVyIHN0YXR1cyBDQU5DRUxFRCINCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHZpZXdzIHsNCiAgICAgICAgY29udGFpbmVyIG9yZGVyU3lzdGVtIHsNCiAgICAgICAgICAgIGluY2x1ZGUgKg0KICAgICAgICAgICAgYXV0b2xheW91dCBscg0KICAgICAgICB9DQoNCiAgICAgICAgdGhlbWUgZGVmYXVsdA0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}, "themes": ["https://static.structurizr.com/themes/default/theme.json"]}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 2, "relationships": [{"id": "10"}, {"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "14"}, {"id": "7"}, {"id": "9"}], "softwareSystemId": "2"}], "dynamicViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 500, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "description": "View of transaction", "elementId": "2", "elements": [{"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalBoundariesVisible": false, "key": "TransactionView", "order": 1, "relationships": [{"description": "Set order status PENDING", "id": "10", "order": "1", "response": false}, {"description": "Reserve funds", "id": "11", "order": "2", "response": false}, {"description": "Set order status APPROVE", "id": "12", "order": "3", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "4", "response": false}, {"description": "Refund on error", "id": "14", "order": "5", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "6", "response": false}]}]}} \ No newline at end of file +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates Order", "destinationId": "3", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates Order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "API", "properties": {"structurizr.dsl.identifier": "api"}, "relationships": [{"description": "Sends request to create order transaction", "destinationId": "4", "id": "9", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "4", "name": "Saga Orchestrator", "properties": {"structurizr.dsl.identifier": "orchestrator"}, "relationships": [{"description": "Set order status PENDING", "destinationId": "5", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Reserve funds", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status APPROVE", "destinationId": "5", "id": "12", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status CANCELED on error", "destinationId": "5", "id": "13", "sourceId": "4", "tags": "Relationship"}, {"description": "Refund on error", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Balance Service", "properties": {"structurizr.dsl.identifier": "balanceservice"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Order System", "properties": {"structurizr.dsl.identifier": "ordersystem"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsKICAgIG1vZGVsIHsKICAgICAgICB1c2VyID0gcGVyc29uICJVc2VyIgoKICAgICAgICBvcmRlclN5c3RlbSA9IHNvZnR3YXJlU3lzdGVtICJPcmRlciBTeXN0ZW0iIHsKICAgICAgICAgICAgYXBpID0gY29udGFpbmVyICJBUEkiCiAgICAgICAgICAgIG9yY2hlc3RyYXRvciA9IGNvbnRhaW5lciAiU2FnYSBPcmNoZXN0cmF0b3IiCiAgICAgICAgICAgIG9yZGVyU2VydmljZSA9IGNvbnRhaW5lciAiT3JkZXIgU2VydmljZSIKICAgICAgICAgICAgYmFsYW5jZVNlcnZpY2UgPSBjb250YWluZXIgIkJhbGFuY2UgU2VydmljZSIKCiAgICAgICAgICAgIHVzZXIgLT4gYXBpICJDcmVhdGVzIE9yZGVyIgogICAgICAgICAgICBhcGkgLT4gb3JjaGVzdHJhdG9yICJTZW5kcyByZXF1ZXN0IHRvIGNyZWF0ZSBvcmRlciB0cmFuc2FjdGlvbiIKCiAgICAgICAgICAgICRwYXR0ZXJuIFNhZ2EgewogICAgICAgICAgICAgICAgb3JjaGVzdHJhdG9yICAgIG9yY2hlc3RyYXRvcgoKICAgICAgICAgICAgICAgIGl0ZW0uMC5zZXJ2aWNlICBvcmRlclNlcnZpY2UKICAgICAgICAgICAgICAgIGl0ZW0uMC5jb21tYW5kICAiU2V0IG9yZGVyIHN0YXR1cyBQRU5ESU5HIgogICAgICAgICAgICAgICAgaXRlbS4wLm9uRXJyb3IgICJTZXQgb3JkZXIgc3RhdHVzIENBTkNFTEVEIgoKICAgICAgICAgICAgICAgIGl0ZW0uMS5zZXJ2aWNlICBiYWxhbmNlU2VydmljZQogICAgICAgICAgICAgICAgaXRlbS4xLmNvbW1hbmQgICJSZXNlcnZlIGZ1bmRzIgogICAgICAgICAgICAgICAgaXRlbS4xLm9uRXJyb3IgICJSZWZ1bmQiCgogICAgICAgICAgICAgICAgaXRlbS4yLnNlcnZpY2UgIG9yZGVyU2VydmljZQogICAgICAgICAgICAgICAgaXRlbS4yLmNvbW1hbmQgICJTZXQgb3JkZXIgc3RhdHVzIEFQUFJPVkUiCiAgICAgICAgICAgICAgICBpdGVtLjIub25FcnJvciAgIlNldCBvcmRlciBzdGF0dXMgQ0FOQ0VMRUQiCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgdmlld3MgewogICAgICAgIGNvbnRhaW5lciBvcmRlclN5c3RlbSB7CiAgICAgICAgICAgIGluY2x1ZGUgKgogICAgICAgICAgICBhdXRvbGF5b3V0IGxyCiAgICAgICAgfQoKICAgICAgICB0aGVtZSBkZWZhdWx0CiAgICB9Cn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}, "themes": ["https://static.structurizr.com/themes/default/theme.json"]}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 2, "relationships": [{"id": "10"}, {"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "14"}, {"id": "7"}, {"id": "9"}], "softwareSystemId": "2"}], "dynamicViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 500, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "description": "View of transaction", "elementId": "2", "elements": [{"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalBoundariesVisible": false, "key": "TransactionView", "order": 1, "relationships": [{"description": "Set order status PENDING", "id": "10", "order": "1", "response": false}, {"description": "Reserve funds", "id": "11", "order": "2", "response": false}, {"description": "Set order status APPROVE", "id": "12", "order": "3", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "4", "response": false}, {"description": "Refund on error", "id": "14", "order": "5", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "6", "response": false}]}]}} \ No newline at end of file diff --git a/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/serviceRegistry.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/serviceRegistry.json index b8ddbb4..1b6c238 100644 --- a/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/serviceRegistry.json +++ b/dev-tools/tests/test_syntax_plugin/results/structurizr-cli/serviceRegistry.json @@ -1 +1 @@ -{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates order", "destinationId": "4", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"description": "Manages services registration and discovery", "documentation": {}, "id": "3", "name": "Service Registry", "properties": {"structurizr.dsl.identifier": "serviceregistry"}, "tags": "Element,Container", "technology": "Eureka"}, {"documentation": {}, "id": "4", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Sends payment request", "destinationId": "5", "id": "9", "sourceId": "4", "tags": "Relationship"}, {"description": "Checks items availability", "destinationId": "6", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests location of ${destinationService.getName()}", "destinationId": "3", "id": "11", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Payment Service", "properties": {"structurizr.dsl.identifier": "paymentservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Inventory Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "12", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Orders Application", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsNCiAgICBtb2RlbCB7DQogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiDQoNCiAgICAgICAgc3lzdGVtID0gc29mdHdhcmVTeXN0ZW0gIk9yZGVycyBBcHBsaWNhdGlvbiIgew0KICAgICAgICAgICAgc2VydmljZVJlZ2lzdHJ5ID0gY29udGFpbmVyICJTZXJ2aWNlIFJlZ2lzdHJ5IiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiRXVyZWthIg0KICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJNYW5hZ2VzIHNlcnZpY2VzIHJlZ2lzdHJhdGlvbiBhbmQgZGlzY292ZXJ5Ig0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFNlcnZpY2UiDQogICAgICAgICAgICBwYXltZW50U2VydmljZSA9IGNvbnRhaW5lciAiUGF5bWVudCBTZXJ2aWNlIg0KICAgICAgICAgICAgaW52ZW50b3J5U2VydmljZSA9IGNvbnRhaW5lciAiSW52ZW50b3J5IFNlcnZpY2UiDQoNCiAgICAgICAgICAgIHVzZXIgLT4gb3JkZXJTZXJ2aWNlICJDcmVhdGVzIG9yZGVyIiANCiAgICAgICAgICAgIG9yZGVyU2VydmljZSAtPiBwYXltZW50U2VydmljZSAiU2VuZHMgcGF5bWVudCByZXF1ZXN0Ig0KICAgICAgICAgICAgb3JkZXJTZXJ2aWNlIC0+IGludmVudG9yeVNlcnZpY2UgIkNoZWNrcyBpdGVtcyBhdmFpbGFiaWxpdHkiDQoNCiAgICAgICAgICAgICRwYXR0ZXJuIFNlcnZpY2VSZWdpc3RyeSB7DQogICAgICAgICAgICAgICAgcmVnaXN0cnkgICAgICAgICAgICAgc2VydmljZVJlZ2lzdHJ5DQogICAgICAgICAgICAgICAgY29ubmVjdGVkU2VydmljZXMgICAgcGF5bWVudFNlcnZpY2UsaW52ZW50b3J5U2VydmljZQ0KDQogICAgICAgICAgICAgICAgcXVlcnkuMC5zb3VyY2UgICAgICAgb3JkZXJTZXJ2aWNlDQogICAgICAgICAgICAgICAgcXVlcnkuMC5kZXN0aW5hdGlvbiAgcGF5bWVudFNlcnZpY2UNCg0KICAgICAgICAgICAgICAgIHF1ZXJ5LjEuc291cmNlICAgICAgIG9yZGVyU2VydmljZQ0KICAgICAgICAgICAgICAgIHF1ZXJ5LjEuZGVzdGluYXRpb24gIGludmVudG9yeVNlcnZpY2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}}} \ No newline at end of file +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates order", "destinationId": "4", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"description": "Manages services registration and discovery", "documentation": {}, "id": "3", "name": "Service Registry", "properties": {"structurizr.dsl.identifier": "serviceregistry"}, "tags": "Element,Container", "technology": "Eureka"}, {"documentation": {}, "id": "4", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Sends payment request", "destinationId": "5", "id": "9", "sourceId": "4", "tags": "Relationship"}, {"description": "Checks items availability", "destinationId": "6", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests location of ${destinationService.getName()}", "destinationId": "3", "id": "11", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Payment Service", "properties": {"structurizr.dsl.identifier": "paymentservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Inventory Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "12", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Orders Application", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsKICAgIG1vZGVsIHsKICAgICAgICB1c2VyID0gcGVyc29uICJVc2VyIgoKICAgICAgICBzeXN0ZW0gPSBzb2Z0d2FyZVN5c3RlbSAiT3JkZXJzIEFwcGxpY2F0aW9uIiB7CiAgICAgICAgICAgIHNlcnZpY2VSZWdpc3RyeSA9IGNvbnRhaW5lciAiU2VydmljZSBSZWdpc3RyeSIgewogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiRXVyZWthIgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk1hbmFnZXMgc2VydmljZXMgcmVnaXN0cmF0aW9uIGFuZCBkaXNjb3ZlcnkiCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIG9yZGVyU2VydmljZSA9IGNvbnRhaW5lciAiT3JkZXIgU2VydmljZSIKICAgICAgICAgICAgcGF5bWVudFNlcnZpY2UgPSBjb250YWluZXIgIlBheW1lbnQgU2VydmljZSIKICAgICAgICAgICAgaW52ZW50b3J5U2VydmljZSA9IGNvbnRhaW5lciAiSW52ZW50b3J5IFNlcnZpY2UiCgogICAgICAgICAgICB1c2VyIC0+IG9yZGVyU2VydmljZSAiQ3JlYXRlcyBvcmRlciIgCiAgICAgICAgICAgIG9yZGVyU2VydmljZSAtPiBwYXltZW50U2VydmljZSAiU2VuZHMgcGF5bWVudCByZXF1ZXN0IgogICAgICAgICAgICBvcmRlclNlcnZpY2UgLT4gaW52ZW50b3J5U2VydmljZSAiQ2hlY2tzIGl0ZW1zIGF2YWlsYWJpbGl0eSIKCiAgICAgICAgICAgICRwYXR0ZXJuIFNlcnZpY2VSZWdpc3RyeSB7CiAgICAgICAgICAgICAgICByZWdpc3RyeSAgICAgICAgICAgICBzZXJ2aWNlUmVnaXN0cnkKICAgICAgICAgICAgICAgIGNvbm5lY3RlZFNlcnZpY2VzICAgIHBheW1lbnRTZXJ2aWNlLGludmVudG9yeVNlcnZpY2UKCiAgICAgICAgICAgICAgICBxdWVyeS4wLnNvdXJjZSAgICAgICBvcmRlclNlcnZpY2UKICAgICAgICAgICAgICAgIHF1ZXJ5LjAuZGVzdGluYXRpb24gIHBheW1lbnRTZXJ2aWNlCgogICAgICAgICAgICAgICAgcXVlcnkuMS5zb3VyY2UgICAgICAgb3JkZXJTZXJ2aWNlCiAgICAgICAgICAgICAgICBxdWVyeS4xLmRlc3RpbmF0aW9uICBpbnZlbnRvcnlTZXJ2aWNlCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}}} \ No newline at end of file diff --git a/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/layered.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/layered.json index 7be2163..5025f3a 100644 --- a/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/layered.json +++ b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/layered.json @@ -1 +1 @@ -{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Uses through web-browser", "destinationId": "3", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Uses through web-browser", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}, {"description": "Uses through web-browser", "destinationId": "4", "id": "11", "sourceId": "1", "tags": "Relationship"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "group": "Frontend Layer", "id": "3", "name": "App for Consumer", "properties": {"structurizr.dsl.identifier": "consumerfrontend"}, "relationships": [{"description": "Sends order requests", "destinationId": "5", "id": "12", "sourceId": "3", "tags": "Relationship"}, {"description": "Queries product information", "destinationId": "6", "id": "13", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Frontend Layer", "id": "4", "name": "App for Seller", "properties": {"structurizr.dsl.identifier": "sellerfrontend"}, "relationships": [{"description": "Updates product inventory", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "5", "name": "Order Processing Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Read & write order data", "destinationId": "7", "id": "15", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "6", "name": "Inventory Management Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Read & write inventory data", "destinationId": "7", "id": "16", "sourceId": "6", "tags": "Relationship"}, {"description": "Archive older records", "destinationId": "8", "id": "17", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "7", "name": "Main Database", "properties": {"structurizr.dsl.identifier": "databasemain"}, "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "8", "name": "Archive Database", "properties": {"structurizr.dsl.identifier": "databasearchive"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Layered architecture", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJMYXllcmVkIGFyY2hpdGVjdHVyZSIgew0KICAgIG1vZGVsIHsNCiAgICAgICAgdXNlciA9IHBlcnNvbiAiVXNlciINCiAgICAgICAgc3lzdGVtID0gc29mdHdhcmVTeXN0ZW0gT25saW5lU2hvcCB7DQogICAgICAgICAgICBjb25zdW1lckZyb250ZW5kID0gY29udGFpbmVyICJBcHAgZm9yIENvbnN1bWVyIg0KICAgICAgICAgICAgc2VsbGVyRnJvbnRlbmQgPSBjb250YWluZXIgIkFwcCBmb3IgU2VsbGVyIg0KDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFByb2Nlc3NpbmcgU2VydmljZSINCiAgICAgICAgICAgIGludmVudG9yeVNlcnZpY2UgPSBjb250YWluZXIgIkludmVudG9yeSBNYW5hZ2VtZW50IFNlcnZpY2UiDQoNCiAgICAgICAgICAgIGRhdGFiYXNlTWFpbiA9IGNvbnRhaW5lciAiTWFpbiBEYXRhYmFzZSINCiAgICAgICAgICAgIGRhdGFiYXNlQXJjaGl2ZSA9IGNvbnRhaW5lciAiQXJjaGl2ZSBEYXRhYmFzZSINCiAgICAgICAgfQ0KDQogICAgICAgIHVzZXIgLT4gY29uc3VtZXJGcm9udGVuZCAiVXNlcyB0aHJvdWdoIHdlYi1icm93c2VyIg0KICAgICAgICB1c2VyIC0+IHNlbGxlckZyb250ZW5kICJVc2VzIHRocm91Z2ggd2ViLWJyb3dzZXIiDQoNCiAgICAgICAgY29uc3VtZXJGcm9udGVuZCAtPiBvcmRlclNlcnZpY2UgIlNlbmRzIG9yZGVyIHJlcXVlc3RzIg0KICAgICAgICBjb25zdW1lckZyb250ZW5kIC0+IGludmVudG9yeVNlcnZpY2UgIlF1ZXJpZXMgcHJvZHVjdCBpbmZvcm1hdGlvbiINCiAgICAgICAgc2VsbGVyRnJvbnRlbmQgLT4gaW52ZW50b3J5U2VydmljZSAiVXBkYXRlcyBwcm9kdWN0IGludmVudG9yeSINCg0KICAgICAgICBvcmRlclNlcnZpY2UgLT4gZGF0YWJhc2VNYWluICJSZWFkICYgd3JpdGUgb3JkZXIgZGF0YSINCiAgICAgICAgaW52ZW50b3J5U2VydmljZSAtPiBkYXRhYmFzZU1haW4gIlJlYWQgJiB3cml0ZSBpbnZlbnRvcnkgZGF0YSINCiAgICAgICAgaW52ZW50b3J5U2VydmljZSAtPiBkYXRhYmFzZUFyY2hpdmUgIkFyY2hpdmUgb2xkZXIgcmVjb3JkcyINCg0KICAgICAgICAvLyBjb25zdW1lckZyb250ZW5kIC0+IGRhdGFiYXNlTWFpbiAiQmFkIHJlbGF0aW9uc2hpcCINCg0KICAgICAgICAkcGF0dGVybiBMYXllcmVkIHsNCiAgICAgICAgICAgIGxheWVyLjAubmFtZSAiRnJvbnRlbmQgTGF5ZXIiDQogICAgICAgICAgICBsYXllci4wLmVsZW1lbnRzIGNvbnN1bWVyRnJvbnRlbmQsc2VsbGVyRnJvbnRlbmQNCg0KICAgICAgICAgICAgbGF5ZXIuMS5uYW1lICJCYWNrZW5kIExheWVyIg0KICAgICAgICAgICAgbGF5ZXIuMS5lbGVtZW50cyBvcmRlclNlcnZpY2UsaW52ZW50b3J5U2VydmljZQ0KICAgICAgICAgICAgLy8gbGF5ZXIuMS5lbGVtZW50cyBvcmRlclNlcnZpY2UsaW52ZW50b3J5U2VydmljZSxjb25zdW1lckZyb250ZW5kDQoNCiAgICAgICAgICAgIGxheWVyLjIubmFtZSAiRGF0YWJhc2UgTGF5ZXIiDQogICAgICAgICAgICBsYXllci4yLmVsZW1lbnRzIGRhdGFiYXNlTWFpbixkYXRhYmFzZUFyY2hpdmUNCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}, {"id": "7", "x": 0, "y": 0}, {"id": "8", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 3, "relationships": [{"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "14"}, {"id": "15"}, {"id": "16"}, {"id": "17"}, {"id": "9"}], "softwareSystemId": "2"}], "systemContextViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemContext-001", "order": 2, "relationships": [{"id": "10"}], "softwareSystemId": "2"}], "systemLandscapeViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemLandscape-001", "order": 1, "relationships": [{"id": "10"}]}]}} \ No newline at end of file +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Uses through web-browser", "destinationId": "3", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Uses through web-browser", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}, {"description": "Uses through web-browser", "destinationId": "4", "id": "11", "sourceId": "1", "tags": "Relationship"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "group": "Frontend Layer", "id": "3", "name": "App for Consumer", "properties": {"structurizr.dsl.identifier": "consumerfrontend"}, "relationships": [{"description": "Sends order requests", "destinationId": "5", "id": "12", "sourceId": "3", "tags": "Relationship"}, {"description": "Queries product information", "destinationId": "6", "id": "13", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Frontend Layer", "id": "4", "name": "App for Seller", "properties": {"structurizr.dsl.identifier": "sellerfrontend"}, "relationships": [{"description": "Updates product inventory", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "5", "name": "Order Processing Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Read & write order data", "destinationId": "7", "id": "15", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Backend Layer", "id": "6", "name": "Inventory Management Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Read & write inventory data", "destinationId": "7", "id": "16", "sourceId": "6", "tags": "Relationship"}, {"description": "Archive older records", "destinationId": "8", "id": "17", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "7", "name": "Main Database", "properties": {"structurizr.dsl.identifier": "databasemain"}, "tags": "Element,Container"}, {"documentation": {}, "group": "Database Layer", "id": "8", "name": "Archive Database", "properties": {"structurizr.dsl.identifier": "databasearchive"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Layered architecture", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJMYXllcmVkIGFyY2hpdGVjdHVyZSIgewogICAgbW9kZWwgewogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiCiAgICAgICAgc3lzdGVtID0gc29mdHdhcmVTeXN0ZW0gT25saW5lU2hvcCB7CiAgICAgICAgICAgIGNvbnN1bWVyRnJvbnRlbmQgPSBjb250YWluZXIgIkFwcCBmb3IgQ29uc3VtZXIiCiAgICAgICAgICAgIHNlbGxlckZyb250ZW5kID0gY29udGFpbmVyICJBcHAgZm9yIFNlbGxlciIKCiAgICAgICAgICAgIG9yZGVyU2VydmljZSA9IGNvbnRhaW5lciAiT3JkZXIgUHJvY2Vzc2luZyBTZXJ2aWNlIgogICAgICAgICAgICBpbnZlbnRvcnlTZXJ2aWNlID0gY29udGFpbmVyICJJbnZlbnRvcnkgTWFuYWdlbWVudCBTZXJ2aWNlIgoKICAgICAgICAgICAgZGF0YWJhc2VNYWluID0gY29udGFpbmVyICJNYWluIERhdGFiYXNlIgogICAgICAgICAgICBkYXRhYmFzZUFyY2hpdmUgPSBjb250YWluZXIgIkFyY2hpdmUgRGF0YWJhc2UiCiAgICAgICAgfQoKICAgICAgICB1c2VyIC0+IGNvbnN1bWVyRnJvbnRlbmQgIlVzZXMgdGhyb3VnaCB3ZWItYnJvd3NlciIKICAgICAgICB1c2VyIC0+IHNlbGxlckZyb250ZW5kICJVc2VzIHRocm91Z2ggd2ViLWJyb3dzZXIiCgogICAgICAgIGNvbnN1bWVyRnJvbnRlbmQgLT4gb3JkZXJTZXJ2aWNlICJTZW5kcyBvcmRlciByZXF1ZXN0cyIKICAgICAgICBjb25zdW1lckZyb250ZW5kIC0+IGludmVudG9yeVNlcnZpY2UgIlF1ZXJpZXMgcHJvZHVjdCBpbmZvcm1hdGlvbiIKICAgICAgICBzZWxsZXJGcm9udGVuZCAtPiBpbnZlbnRvcnlTZXJ2aWNlICJVcGRhdGVzIHByb2R1Y3QgaW52ZW50b3J5IgoKICAgICAgICBvcmRlclNlcnZpY2UgLT4gZGF0YWJhc2VNYWluICJSZWFkICYgd3JpdGUgb3JkZXIgZGF0YSIKICAgICAgICBpbnZlbnRvcnlTZXJ2aWNlIC0+IGRhdGFiYXNlTWFpbiAiUmVhZCAmIHdyaXRlIGludmVudG9yeSBkYXRhIgogICAgICAgIGludmVudG9yeVNlcnZpY2UgLT4gZGF0YWJhc2VBcmNoaXZlICJBcmNoaXZlIG9sZGVyIHJlY29yZHMiCgogICAgICAgIC8vIGNvbnN1bWVyRnJvbnRlbmQgLT4gZGF0YWJhc2VNYWluICJCYWQgcmVsYXRpb25zaGlwIgoKICAgICAgICAkcGF0dGVybiBMYXllcmVkIHsKICAgICAgICAgICAgbGF5ZXIuMC5uYW1lICJGcm9udGVuZCBMYXllciIKICAgICAgICAgICAgbGF5ZXIuMC5lbGVtZW50cyBjb25zdW1lckZyb250ZW5kLHNlbGxlckZyb250ZW5kCgogICAgICAgICAgICBsYXllci4xLm5hbWUgIkJhY2tlbmQgTGF5ZXIiCiAgICAgICAgICAgIGxheWVyLjEuZWxlbWVudHMgb3JkZXJTZXJ2aWNlLGludmVudG9yeVNlcnZpY2UKICAgICAgICAgICAgLy8gbGF5ZXIuMS5lbGVtZW50cyBvcmRlclNlcnZpY2UsaW52ZW50b3J5U2VydmljZSxjb25zdW1lckZyb250ZW5kCgogICAgICAgICAgICBsYXllci4yLm5hbWUgIkRhdGFiYXNlIExheWVyIgogICAgICAgICAgICBsYXllci4yLmVsZW1lbnRzIGRhdGFiYXNlTWFpbixkYXRhYmFzZUFyY2hpdmUKICAgICAgICB9CiAgICB9Cn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}, {"id": "7", "x": 0, "y": 0}, {"id": "8", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 3, "relationships": [{"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "14"}, {"id": "15"}, {"id": "16"}, {"id": "17"}, {"id": "9"}], "softwareSystemId": "2"}], "systemContextViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemContext-001", "order": 2, "relationships": [{"id": "10"}], "softwareSystemId": "2"}], "systemLandscapeViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemLandscape-001", "order": 1, "relationships": [{"id": "10"}]}]}} \ No newline at end of file diff --git a/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/reverseProxy.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/reverseProxy.json index f767e23..e579caf 100644 --- a/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/reverseProxy.json +++ b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/reverseProxy.json @@ -1 +1 @@ -{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "Customer", "properties": {"structurizr.dsl.identifier": "customer"}, "relationships": [{"description": "Sends Requests", "destinationId": "14", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Sends Requests", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "Some other container", "properties": {"structurizr.dsl.identifier": "app2"}, "relationships": [{"description": "Some relationship", "destinationId": "14", "id": "8", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "4", "name": "Web App", "properties": {"structurizr.dsl.identifier": "webapp"}, "relationships": [{"description": "Requests data", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests users", "destinationId": "7", "id": "12", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container", "technology": "Java, Spring Boot"}, {"documentation": {}, "id": "5", "name": "Container 3", "properties": {"structurizr.dsl.identifier": "app3"}, "relationships": [{"description": "ABOBA", "destinationId": "7", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Database", "properties": {"structurizr.dsl.identifier": "db"}, "tags": "Element,Container", "technology": "PostgreSQL"}, {"documentation": {}, "id": "7", "name": "Database 2", "properties": {"structurizr.dsl.identifier": "db2"}, "tags": "Element,Container", "technology": "Mongo"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "14", "name": "Reverse Proxy", "relationships": [{"description": "Resends Requests", "destinationId": "4", "id": "15", "sourceId": "14", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "s"}, "tags": "Element,Software System"}]}, "name": "Reverse Proxy", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJSZXZlcnNlIFByb3h5IiB7DQogICAgbW9kZWwgew0KICAgICAgICBjdXN0b21lciA9IHBlcnNvbiAiQ3VzdG9tZXIiDQoNCiAgICAgICAgcyA9IHNvZnR3YXJlU3lzdGVtIE9ubGluZVNob3Agew0KICAgICAgICAgICAgYXBwMiA9IGNvbnRhaW5lciAiU29tZSBvdGhlciBjb250YWluZXIiDQoNCiAgICAgICAgICAgIHdlYkFwcCA9IGNvbnRhaW5lciAiV2ViIEFwcCIgew0KICAgICAgICAgICAgICAgIHRlY2hub2xvZ3kgIkphdmEsIFNwcmluZyBCb290Ig0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBhcHAzID0gY29udGFpbmVyICJDb250YWluZXIgMyINCg0KICAgICAgICAgICAgZGIgPSBjb250YWluZXIgIkRhdGFiYXNlIiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiUG9zdGdyZVNRTCINCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGIyID0gY29udGFpbmVyICJEYXRhYmFzZSAyIiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiTW9uZ28iDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcHAyIC0+IHdlYkFwcCAiU29tZSByZWxhdGlvbnNoaXAiDQogICAgICAgIGN1c3RvbWVyIC0+IHdlYkFwcCAiU2VuZHMgUmVxdWVzdHMiDQogICAgICAgIHdlYkFwcCAtPiBkYiAiUmVxdWVzdHMgZGF0YSINCiAgICAgICAgd2ViQXBwIC0+IGRiMiAiUmVxdWVzdHMgdXNlcnMiDQogICAgICAgIGFwcDMgLT4gZGIyICJBQk9CQSINCg0KICAgICAgICRwYXR0ZXJuIFJldmVyc2VQcm94eSB7DQogICAgICAgICAgIHRhcmdldCB3ZWJBcHANCiAgICAgICB9DQogICAgfQ0KDQogICAgdmlld3Mgew0KICAgICAgICBjb250YWluZXIgcyB7DQogICAgICAgICAgICBpbmNsdWRlICoNCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHINCiAgICAgICAgfQ0KDQogICAgICAgIGNvbnRhaW5lciBzIHsNCiAgICAgICAgICAgIGluY2x1ZGUgd2ViQXBwIGFwcDIgY3VzdG9tZXINCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHINCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}, {"id": "7", "x": 0, "y": 0}, {"id": "14", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 1, "relationships": [{"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "15"}, {"id": "8"}, {"id": "9"}], "softwareSystemId": "2"}, {"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-002", "order": 2, "softwareSystemId": "2"}]}} \ No newline at end of file +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "Customer", "properties": {"structurizr.dsl.identifier": "customer"}, "relationships": [{"description": "Sends Requests", "destinationId": "14", "id": "9", "sourceId": "1", "tags": "Relationship"}, {"description": "Sends Requests", "destinationId": "2", "id": "10", "linkedRelationshipId": "9", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "Some other container", "properties": {"structurizr.dsl.identifier": "app2"}, "relationships": [{"description": "Some relationship", "destinationId": "14", "id": "8", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "4", "name": "Web App", "properties": {"structurizr.dsl.identifier": "webapp"}, "relationships": [{"description": "Requests data", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests users", "destinationId": "7", "id": "12", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container", "technology": "Java, Spring Boot"}, {"documentation": {}, "id": "5", "name": "Container 3", "properties": {"structurizr.dsl.identifier": "app3"}, "relationships": [{"description": "ABOBA", "destinationId": "7", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Database", "properties": {"structurizr.dsl.identifier": "db"}, "tags": "Element,Container", "technology": "PostgreSQL"}, {"documentation": {}, "id": "7", "name": "Database 2", "properties": {"structurizr.dsl.identifier": "db2"}, "tags": "Element,Container", "technology": "Mongo"}, {"documentation": {}, "group": "Web App with Reverse Proxy", "id": "14", "name": "Reverse Proxy", "relationships": [{"description": "Resends Requests", "destinationId": "4", "id": "15", "sourceId": "14", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "OnlineShop", "properties": {"structurizr.dsl.identifier": "s"}, "tags": "Element,Software System"}]}, "name": "Reverse Proxy", "properties": {"structurizr.dsl": "d29ya3NwYWNlICJSZXZlcnNlIFByb3h5IiB7CiAgICBtb2RlbCB7CiAgICAgICAgY3VzdG9tZXIgPSBwZXJzb24gIkN1c3RvbWVyIgoKICAgICAgICBzID0gc29mdHdhcmVTeXN0ZW0gT25saW5lU2hvcCB7CiAgICAgICAgICAgIGFwcDIgPSBjb250YWluZXIgIlNvbWUgb3RoZXIgY29udGFpbmVyIgoKICAgICAgICAgICAgd2ViQXBwID0gY29udGFpbmVyICJXZWIgQXBwIiB7CiAgICAgICAgICAgICAgICB0ZWNobm9sb2d5ICJKYXZhLCBTcHJpbmcgQm9vdCIKICAgICAgICAgICAgfQoKICAgICAgICAgICAgYXBwMyA9IGNvbnRhaW5lciAiQ29udGFpbmVyIDMiCgogICAgICAgICAgICBkYiA9IGNvbnRhaW5lciAiRGF0YWJhc2UiIHsKICAgICAgICAgICAgICAgIHRlY2hub2xvZ3kgIlBvc3RncmVTUUwiCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGRiMiA9IGNvbnRhaW5lciAiRGF0YWJhc2UgMiIgewogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiTW9uZ28iCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGFwcDIgLT4gd2ViQXBwICJTb21lIHJlbGF0aW9uc2hpcCIKICAgICAgICBjdXN0b21lciAtPiB3ZWJBcHAgIlNlbmRzIFJlcXVlc3RzIgogICAgICAgIHdlYkFwcCAtPiBkYiAiUmVxdWVzdHMgZGF0YSIKICAgICAgICB3ZWJBcHAgLT4gZGIyICJSZXF1ZXN0cyB1c2VycyIKICAgICAgICBhcHAzIC0+IGRiMiAiQUJPQkEiCgogICAgICAgJHBhdHRlcm4gUmV2ZXJzZVByb3h5IHsKICAgICAgICAgICB0YXJnZXQgd2ViQXBwCiAgICAgICB9CiAgICB9CgogICAgdmlld3MgewogICAgICAgIGNvbnRhaW5lciBzIHsKICAgICAgICAgICAgaW5jbHVkZSAqCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHIKICAgICAgICB9CgogICAgICAgIGNvbnRhaW5lciBzIHsKICAgICAgICAgICAgaW5jbHVkZSB3ZWJBcHAgYXBwMiBjdXN0b21lcgogICAgICAgICAgICBhdXRvTGF5b3V0IGxyCiAgICAgICAgfQogICAgfQp9"}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}, {"id": "7", "x": 0, "y": 0}, {"id": "14", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 1, "relationships": [{"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "15"}, {"id": "8"}, {"id": "9"}], "softwareSystemId": "2"}, {"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-002", "order": 2, "softwareSystemId": "2"}]}} \ No newline at end of file diff --git a/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/saga.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/saga.json index a068e40..dadf77a 100644 --- a/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/saga.json +++ b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/saga.json @@ -1 +1 @@ -{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates Order", "destinationId": "3", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates Order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "API", "properties": {"structurizr.dsl.identifier": "api"}, "relationships": [{"description": "Sends request to create order transaction", "destinationId": "4", "id": "9", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "4", "name": "Saga Orchestrator", "properties": {"structurizr.dsl.identifier": "orchestrator"}, "relationships": [{"description": "Set order status PENDING", "destinationId": "5", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Reserve funds", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status APPROVE", "destinationId": "5", "id": "12", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status CANCELED on error", "destinationId": "5", "id": "13", "sourceId": "4", "tags": "Relationship"}, {"description": "Refund on error", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Balance Service", "properties": {"structurizr.dsl.identifier": "balanceservice"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Order System", "properties": {"structurizr.dsl.identifier": "ordersystem"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsNCiAgICBtb2RlbCB7DQogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiDQoNCiAgICAgICAgb3JkZXJTeXN0ZW0gPSBzb2Z0d2FyZVN5c3RlbSAiT3JkZXIgU3lzdGVtIiB7DQogICAgICAgICAgICBhcGkgPSBjb250YWluZXIgIkFQSSINCiAgICAgICAgICAgIG9yY2hlc3RyYXRvciA9IGNvbnRhaW5lciAiU2FnYSBPcmNoZXN0cmF0b3IiDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFNlcnZpY2UiDQogICAgICAgICAgICBiYWxhbmNlU2VydmljZSA9IGNvbnRhaW5lciAiQmFsYW5jZSBTZXJ2aWNlIg0KDQogICAgICAgICAgICB1c2VyIC0+IGFwaSAiQ3JlYXRlcyBPcmRlciINCiAgICAgICAgICAgIGFwaSAtPiBvcmNoZXN0cmF0b3IgIlNlbmRzIHJlcXVlc3QgdG8gY3JlYXRlIG9yZGVyIHRyYW5zYWN0aW9uIg0KDQogICAgICAgICAgICAkcGF0dGVybiBTYWdhIHsNCiAgICAgICAgICAgICAgICBvcmNoZXN0cmF0b3IgICAgb3JjaGVzdHJhdG9yDQoNCiAgICAgICAgICAgICAgICBpdGVtLjAuc2VydmljZSAgb3JkZXJTZXJ2aWNlDQogICAgICAgICAgICAgICAgaXRlbS4wLmNvbW1hbmQgICJTZXQgb3JkZXIgc3RhdHVzIFBFTkRJTkciDQogICAgICAgICAgICAgICAgaXRlbS4wLm9uRXJyb3IgICJTZXQgb3JkZXIgc3RhdHVzIENBTkNFTEVEIg0KDQogICAgICAgICAgICAgICAgaXRlbS4xLnNlcnZpY2UgIGJhbGFuY2VTZXJ2aWNlDQogICAgICAgICAgICAgICAgaXRlbS4xLmNvbW1hbmQgICJSZXNlcnZlIGZ1bmRzIg0KICAgICAgICAgICAgICAgIGl0ZW0uMS5vbkVycm9yICAiUmVmdW5kIg0KDQogICAgICAgICAgICAgICAgaXRlbS4yLnNlcnZpY2UgIG9yZGVyU2VydmljZQ0KICAgICAgICAgICAgICAgIGl0ZW0uMi5jb21tYW5kICAiU2V0IG9yZGVyIHN0YXR1cyBBUFBST1ZFIg0KICAgICAgICAgICAgICAgIGl0ZW0uMi5vbkVycm9yICAiU2V0IG9yZGVyIHN0YXR1cyBDQU5DRUxFRCINCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHZpZXdzIHsNCiAgICAgICAgY29udGFpbmVyIG9yZGVyU3lzdGVtIHsNCiAgICAgICAgICAgIGluY2x1ZGUgKg0KICAgICAgICAgICAgYXV0b2xheW91dCBscg0KICAgICAgICB9DQoNCiAgICAgICAgdGhlbWUgZGVmYXVsdA0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}, "themes": ["https://static.structurizr.com/themes/default/theme.json"]}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 2, "relationships": [{"id": "10"}, {"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "14"}, {"id": "7"}, {"id": "9"}], "softwareSystemId": "2"}], "dynamicViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 500, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "description": "View of transaction", "elementId": "2", "elements": [{"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalBoundariesVisible": false, "key": "TransactionView", "order": 1, "relationships": [{"description": "Set order status PENDING", "id": "10", "order": "1", "response": false}, {"description": "Reserve funds", "id": "11", "order": "2", "response": false}, {"description": "Set order status APPROVE", "id": "12", "order": "3", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "4", "response": false}, {"description": "Refund on error", "id": "14", "order": "5", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "6", "response": false}]}]}} \ No newline at end of file +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates Order", "destinationId": "3", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates Order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"documentation": {}, "id": "3", "name": "API", "properties": {"structurizr.dsl.identifier": "api"}, "relationships": [{"description": "Sends request to create order transaction", "destinationId": "4", "id": "9", "sourceId": "3", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "4", "name": "Saga Orchestrator", "properties": {"structurizr.dsl.identifier": "orchestrator"}, "relationships": [{"description": "Set order status PENDING", "destinationId": "5", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Reserve funds", "destinationId": "6", "id": "11", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status APPROVE", "destinationId": "5", "id": "12", "sourceId": "4", "tags": "Relationship"}, {"description": "Set order status CANCELED on error", "destinationId": "5", "id": "13", "sourceId": "4", "tags": "Relationship"}, {"description": "Refund on error", "destinationId": "6", "id": "14", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Balance Service", "properties": {"structurizr.dsl.identifier": "balanceservice"}, "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Order System", "properties": {"structurizr.dsl.identifier": "ordersystem"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsKICAgIG1vZGVsIHsKICAgICAgICB1c2VyID0gcGVyc29uICJVc2VyIgoKICAgICAgICBvcmRlclN5c3RlbSA9IHNvZnR3YXJlU3lzdGVtICJPcmRlciBTeXN0ZW0iIHsKICAgICAgICAgICAgYXBpID0gY29udGFpbmVyICJBUEkiCiAgICAgICAgICAgIG9yY2hlc3RyYXRvciA9IGNvbnRhaW5lciAiU2FnYSBPcmNoZXN0cmF0b3IiCiAgICAgICAgICAgIG9yZGVyU2VydmljZSA9IGNvbnRhaW5lciAiT3JkZXIgU2VydmljZSIKICAgICAgICAgICAgYmFsYW5jZVNlcnZpY2UgPSBjb250YWluZXIgIkJhbGFuY2UgU2VydmljZSIKCiAgICAgICAgICAgIHVzZXIgLT4gYXBpICJDcmVhdGVzIE9yZGVyIgogICAgICAgICAgICBhcGkgLT4gb3JjaGVzdHJhdG9yICJTZW5kcyByZXF1ZXN0IHRvIGNyZWF0ZSBvcmRlciB0cmFuc2FjdGlvbiIKCiAgICAgICAgICAgICRwYXR0ZXJuIFNhZ2EgewogICAgICAgICAgICAgICAgb3JjaGVzdHJhdG9yICAgIG9yY2hlc3RyYXRvcgoKICAgICAgICAgICAgICAgIGl0ZW0uMC5zZXJ2aWNlICBvcmRlclNlcnZpY2UKICAgICAgICAgICAgICAgIGl0ZW0uMC5jb21tYW5kICAiU2V0IG9yZGVyIHN0YXR1cyBQRU5ESU5HIgogICAgICAgICAgICAgICAgaXRlbS4wLm9uRXJyb3IgICJTZXQgb3JkZXIgc3RhdHVzIENBTkNFTEVEIgoKICAgICAgICAgICAgICAgIGl0ZW0uMS5zZXJ2aWNlICBiYWxhbmNlU2VydmljZQogICAgICAgICAgICAgICAgaXRlbS4xLmNvbW1hbmQgICJSZXNlcnZlIGZ1bmRzIgogICAgICAgICAgICAgICAgaXRlbS4xLm9uRXJyb3IgICJSZWZ1bmQiCgogICAgICAgICAgICAgICAgaXRlbS4yLnNlcnZpY2UgIG9yZGVyU2VydmljZQogICAgICAgICAgICAgICAgaXRlbS4yLmNvbW1hbmQgICJTZXQgb3JkZXIgc3RhdHVzIEFQUFJPVkUiCiAgICAgICAgICAgICAgICBpdGVtLjIub25FcnJvciAgIlNldCBvcmRlciBzdGF0dXMgQ0FOQ0VMRUQiCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgdmlld3MgewogICAgICAgIGNvbnRhaW5lciBvcmRlclN5c3RlbSB7CiAgICAgICAgICAgIGluY2x1ZGUgKgogICAgICAgICAgICBhdXRvbGF5b3V0IGxyCiAgICAgICAgfQoKICAgICAgICB0aGVtZSBkZWZhdWx0CiAgICB9Cn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}, "themes": ["https://static.structurizr.com/themes/default/theme.json"]}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 2, "relationships": [{"id": "10"}, {"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "14"}, {"id": "7"}, {"id": "9"}], "softwareSystemId": "2"}], "dynamicViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 500, "rankDirection": "LeftRight", "rankSeparation": 300, "vertices": false}, "description": "View of transaction", "elementId": "2", "elements": [{"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalBoundariesVisible": false, "key": "TransactionView", "order": 1, "relationships": [{"description": "Set order status PENDING", "id": "10", "order": "1", "response": false}, {"description": "Reserve funds", "id": "11", "order": "2", "response": false}, {"description": "Set order status APPROVE", "id": "12", "order": "3", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "4", "response": false}, {"description": "Refund on error", "id": "14", "order": "5", "response": false}, {"description": "Set order status CANCELED on error", "id": "13", "order": "6", "response": false}]}]}} \ No newline at end of file diff --git a/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/serviceRegistry.json b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/serviceRegistry.json index 9cae866..11b9ee7 100644 --- a/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/serviceRegistry.json +++ b/dev-tools/tests/test_syntax_plugin/results/structurizr-lite/serviceRegistry.json @@ -1 +1 @@ -{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates order", "destinationId": "4", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"description": "Manages services registration and discovery", "documentation": {}, "id": "3", "name": "Service Registry", "properties": {"structurizr.dsl.identifier": "serviceregistry"}, "tags": "Element,Container", "technology": "Eureka"}, {"documentation": {}, "id": "4", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Sends payment request", "destinationId": "5", "id": "9", "sourceId": "4", "tags": "Relationship"}, {"description": "Checks items availability", "destinationId": "6", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests location of ${destinationService.getName()}", "destinationId": "3", "id": "11", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Payment Service", "properties": {"structurizr.dsl.identifier": "paymentservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Inventory Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "12", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Orders Application", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsNCiAgICBtb2RlbCB7DQogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiDQoNCiAgICAgICAgc3lzdGVtID0gc29mdHdhcmVTeXN0ZW0gIk9yZGVycyBBcHBsaWNhdGlvbiIgew0KICAgICAgICAgICAgc2VydmljZVJlZ2lzdHJ5ID0gY29udGFpbmVyICJTZXJ2aWNlIFJlZ2lzdHJ5IiB7DQogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiRXVyZWthIg0KICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJNYW5hZ2VzIHNlcnZpY2VzIHJlZ2lzdHJhdGlvbiBhbmQgZGlzY292ZXJ5Ig0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBvcmRlclNlcnZpY2UgPSBjb250YWluZXIgIk9yZGVyIFNlcnZpY2UiDQogICAgICAgICAgICBwYXltZW50U2VydmljZSA9IGNvbnRhaW5lciAiUGF5bWVudCBTZXJ2aWNlIg0KICAgICAgICAgICAgaW52ZW50b3J5U2VydmljZSA9IGNvbnRhaW5lciAiSW52ZW50b3J5IFNlcnZpY2UiDQoNCiAgICAgICAgICAgIHVzZXIgLT4gb3JkZXJTZXJ2aWNlICJDcmVhdGVzIG9yZGVyIiANCiAgICAgICAgICAgIG9yZGVyU2VydmljZSAtPiBwYXltZW50U2VydmljZSAiU2VuZHMgcGF5bWVudCByZXF1ZXN0Ig0KICAgICAgICAgICAgb3JkZXJTZXJ2aWNlIC0+IGludmVudG9yeVNlcnZpY2UgIkNoZWNrcyBpdGVtcyBhdmFpbGFiaWxpdHkiDQoNCiAgICAgICAgICAgICRwYXR0ZXJuIFNlcnZpY2VSZWdpc3RyeSB7DQogICAgICAgICAgICAgICAgcmVnaXN0cnkgICAgICAgICAgICAgc2VydmljZVJlZ2lzdHJ5DQogICAgICAgICAgICAgICAgY29ubmVjdGVkU2VydmljZXMgICAgcGF5bWVudFNlcnZpY2UsaW52ZW50b3J5U2VydmljZQ0KDQogICAgICAgICAgICAgICAgcXVlcnkuMC5zb3VyY2UgICAgICAgb3JkZXJTZXJ2aWNlDQogICAgICAgICAgICAgICAgcXVlcnkuMC5kZXN0aW5hdGlvbiAgcGF5bWVudFNlcnZpY2UNCg0KICAgICAgICAgICAgICAgIHF1ZXJ5LjEuc291cmNlICAgICAgIG9yZGVyU2VydmljZQ0KICAgICAgICAgICAgICAgIHF1ZXJ5LjEuZGVzdGluYXRpb24gIGludmVudG9yeVNlcnZpY2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 3, "relationships": [{"id": "10"}, {"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "7"}, {"id": "9"}], "softwareSystemId": "2"}], "systemContextViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemContext-001", "order": 2, "relationships": [{"id": "8"}], "softwareSystemId": "2"}], "systemLandscapeViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemLandscape-001", "order": 1, "relationships": [{"id": "8"}]}]}} \ No newline at end of file +{"configuration": {}, "description": "Description", "documentation": {}, "id": 0, "model": {"people": [{"id": "1", "location": "Unspecified", "name": "User", "properties": {"structurizr.dsl.identifier": "user"}, "relationships": [{"description": "Creates order", "destinationId": "4", "id": "7", "sourceId": "1", "tags": "Relationship"}, {"description": "Creates order", "destinationId": "2", "id": "8", "linkedRelationshipId": "7", "sourceId": "1"}], "tags": "Element,Person"}], "softwareSystems": [{"containers": [{"description": "Manages services registration and discovery", "documentation": {}, "id": "3", "name": "Service Registry", "properties": {"structurizr.dsl.identifier": "serviceregistry"}, "tags": "Element,Container", "technology": "Eureka"}, {"documentation": {}, "id": "4", "name": "Order Service", "properties": {"structurizr.dsl.identifier": "orderservice"}, "relationships": [{"description": "Sends payment request", "destinationId": "5", "id": "9", "sourceId": "4", "tags": "Relationship"}, {"description": "Checks items availability", "destinationId": "6", "id": "10", "sourceId": "4", "tags": "Relationship"}, {"description": "Requests location of ${destinationService.getName()}", "destinationId": "3", "id": "11", "sourceId": "4", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "5", "name": "Payment Service", "properties": {"structurizr.dsl.identifier": "paymentservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "13", "sourceId": "5", "tags": "Relationship"}], "tags": "Element,Container"}, {"documentation": {}, "id": "6", "name": "Inventory Service", "properties": {"structurizr.dsl.identifier": "inventoryservice"}, "relationships": [{"description": "Registers itself in registry", "destinationId": "3", "id": "12", "sourceId": "6", "tags": "Relationship"}], "tags": "Element,Container"}], "documentation": {}, "id": "2", "location": "Unspecified", "name": "Orders Application", "properties": {"structurizr.dsl.identifier": "system"}, "tags": "Element,Software System"}]}, "name": "Name", "properties": {"structurizr.dsl": "d29ya3NwYWNlIHsKICAgIG1vZGVsIHsKICAgICAgICB1c2VyID0gcGVyc29uICJVc2VyIgoKICAgICAgICBzeXN0ZW0gPSBzb2Z0d2FyZVN5c3RlbSAiT3JkZXJzIEFwcGxpY2F0aW9uIiB7CiAgICAgICAgICAgIHNlcnZpY2VSZWdpc3RyeSA9IGNvbnRhaW5lciAiU2VydmljZSBSZWdpc3RyeSIgewogICAgICAgICAgICAgICAgdGVjaG5vbG9neSAiRXVyZWthIgogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk1hbmFnZXMgc2VydmljZXMgcmVnaXN0cmF0aW9uIGFuZCBkaXNjb3ZlcnkiCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIG9yZGVyU2VydmljZSA9IGNvbnRhaW5lciAiT3JkZXIgU2VydmljZSIKICAgICAgICAgICAgcGF5bWVudFNlcnZpY2UgPSBjb250YWluZXIgIlBheW1lbnQgU2VydmljZSIKICAgICAgICAgICAgaW52ZW50b3J5U2VydmljZSA9IGNvbnRhaW5lciAiSW52ZW50b3J5IFNlcnZpY2UiCgogICAgICAgICAgICB1c2VyIC0+IG9yZGVyU2VydmljZSAiQ3JlYXRlcyBvcmRlciIgCiAgICAgICAgICAgIG9yZGVyU2VydmljZSAtPiBwYXltZW50U2VydmljZSAiU2VuZHMgcGF5bWVudCByZXF1ZXN0IgogICAgICAgICAgICBvcmRlclNlcnZpY2UgLT4gaW52ZW50b3J5U2VydmljZSAiQ2hlY2tzIGl0ZW1zIGF2YWlsYWJpbGl0eSIKCiAgICAgICAgICAgICRwYXR0ZXJuIFNlcnZpY2VSZWdpc3RyeSB7CiAgICAgICAgICAgICAgICByZWdpc3RyeSAgICAgICAgICAgICBzZXJ2aWNlUmVnaXN0cnkKICAgICAgICAgICAgICAgIGNvbm5lY3RlZFNlcnZpY2VzICAgIHBheW1lbnRTZXJ2aWNlLGludmVudG9yeVNlcnZpY2UKCiAgICAgICAgICAgICAgICBxdWVyeS4wLnNvdXJjZSAgICAgICBvcmRlclNlcnZpY2UKICAgICAgICAgICAgICAgIHF1ZXJ5LjAuZGVzdGluYXRpb24gIHBheW1lbnRTZXJ2aWNlCgogICAgICAgICAgICAgICAgcXVlcnkuMS5zb3VyY2UgICAgICAgb3JkZXJTZXJ2aWNlCiAgICAgICAgICAgICAgICBxdWVyeS4xLmRlc3RpbmF0aW9uICBpbnZlbnRvcnlTZXJ2aWNlCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0="}, "views": {"configuration": {"branding": {}, "styles": {}, "terminology": {}}, "containerViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "3", "x": 0, "y": 0}, {"id": "4", "x": 0, "y": 0}, {"id": "5", "x": 0, "y": 0}, {"id": "6", "x": 0, "y": 0}], "externalSoftwareSystemBoundariesVisible": false, "generatedKey": true, "key": "Container-001", "order": 3, "relationships": [{"id": "10"}, {"id": "11"}, {"id": "12"}, {"id": "13"}, {"id": "7"}, {"id": "9"}], "softwareSystemId": "2"}], "systemContextViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemContext-001", "order": 2, "relationships": [{"id": "8"}], "softwareSystemId": "2"}], "systemLandscapeViews": [{"automaticLayout": {"applied": false, "edgeSeparation": 0, "implementation": "Graphviz", "nodeSeparation": 300, "rankDirection": "TopBottom", "rankSeparation": 300, "vertices": false}, "elements": [{"id": "1", "x": 0, "y": 0}, {"id": "2", "x": 0, "y": 0}], "enterpriseBoundaryVisible": true, "generatedKey": true, "key": "SystemLandscape-001", "order": 1, "relationships": [{"id": "8"}]}]}} \ No newline at end of file From 6e21b67734decd070ab1dd8f1f6bac11efe678ae Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:07:04 +0300 Subject: [PATCH 43/62] enable all structurizr lite test cases --- dev-tools/temp/samples/databasePerService.dsl | 35 +++++++++++ .../samples/plugins/database-per-service.jar | Bin 0 -> 16306 bytes .../temp/samples/plugins/pattern-plugins.jar | Bin 0 -> 21836 bytes .../temp/samples/plugins/reverse-proxy.jar | Bin 0 -> 16537 bytes dev-tools/temp/samples/plugins/saga.jar | Bin 0 -> 18366 bytes .../temp/samples/plugins/service-registry.jar | Bin 0 -> 18110 bytes dev-tools/temp/samples/reverseProxy.dsl | 45 ++++++++++++++ dev-tools/temp/samples/saga.dsl | 40 +++++++++++++ dev-tools/temp/samples/serviceRegistry.dsl | 31 ++++++++++ dev-tools/tests/test_syntax_plugin.py | 56 +++++++++--------- 10 files changed, 179 insertions(+), 28 deletions(-) create mode 100644 dev-tools/temp/samples/databasePerService.dsl create mode 100644 dev-tools/temp/samples/plugins/database-per-service.jar create mode 100644 dev-tools/temp/samples/plugins/pattern-plugins.jar create mode 100644 dev-tools/temp/samples/plugins/reverse-proxy.jar create mode 100644 dev-tools/temp/samples/plugins/saga.jar create mode 100644 dev-tools/temp/samples/plugins/service-registry.jar create mode 100644 dev-tools/temp/samples/reverseProxy.dsl create mode 100644 dev-tools/temp/samples/saga.dsl create mode 100644 dev-tools/temp/samples/serviceRegistry.dsl diff --git a/dev-tools/temp/samples/databasePerService.dsl b/dev-tools/temp/samples/databasePerService.dsl new file mode 100644 index 0000000..40e6f5e --- /dev/null +++ b/dev-tools/temp/samples/databasePerService.dsl @@ -0,0 +1,35 @@ +workspace { + model { + user = person "User" + + system = softwareSystem "Order Application" { + orderDatabase = container "Order Service" + orderApp = container "Order Application" + + paymentDatabase = container "Payment Service" + paymentApp = container "Payment Application" + } + + user -> orderApp "Creates order" + orderApp -> paymentApp "Sends payment request" + + $pattern DatabasePerService { + service orderApp + database paymentDatabase + dataDescription "order data" + } + + $pattern DatabasePerService { + service paymentApp + database paymentDatabase + dataDescription "payment data" + } + } + + views { + container system { + include * + autoLayout + } + } +} diff --git a/dev-tools/temp/samples/plugins/database-per-service.jar b/dev-tools/temp/samples/plugins/database-per-service.jar new file mode 100644 index 0000000000000000000000000000000000000000..f84c4e27c87b559f85ffe053450270fc3269fff4 GIT binary patch literal 16306 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 literal 0 HcmV?d00001 diff --git a/dev-tools/temp/samples/plugins/pattern-plugins.jar b/dev-tools/temp/samples/plugins/pattern-plugins.jar new file mode 100644 index 0000000000000000000000000000000000000000..02ecda41550de502d29fe30324f0d9cb8408f1f7 GIT binary patch literal 21836 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 J38net?mzbOn*sm; literal 0 HcmV?d00001 diff --git a/dev-tools/temp/samples/plugins/reverse-proxy.jar b/dev-tools/temp/samples/plugins/reverse-proxy.jar new file mode 100644 index 0000000000000000000000000000000000000000..1c8da0a4f3e5a9b0a24452c255c65aac56d280bc GIT binary patch literal 16537 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 VR2c~9!`q+c+fGULGZzc!{{X8L@wxy2 literal 0 HcmV?d00001 diff --git a/dev-tools/temp/samples/plugins/saga.jar b/dev-tools/temp/samples/plugins/saga.jar new file mode 100644 index 0000000000000000000000000000000000000000..3f52f73013e84ab94780761ba4b44deb247d50b2 GIT binary patch literal 18366 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 OeS3RKPxAi!@BaXbl3<+x literal 0 HcmV?d00001 diff --git a/dev-tools/temp/samples/plugins/service-registry.jar b/dev-tools/temp/samples/plugins/service-registry.jar new file mode 100644 index 0000000000000000000000000000000000000000..e8cbc10a4c71f3b022317b39a9032fff44d096d8 GIT binary patch literal 18110 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 iO7Z`Vt@-DkOi32x^~Y*JKKwz*gZw{9D4B2o literal 0 HcmV?d00001 diff --git a/dev-tools/temp/samples/reverseProxy.dsl b/dev-tools/temp/samples/reverseProxy.dsl new file mode 100644 index 0000000..0ecd5f9 --- /dev/null +++ b/dev-tools/temp/samples/reverseProxy.dsl @@ -0,0 +1,45 @@ +workspace "Reverse Proxy" { + model { + customer = person "Customer" + + s = softwareSystem OnlineShop { + app2 = container "Some other container" + + webApp = container "Web App" { + technology "Java, Spring Boot" + } + + app3 = container "Container 3" + + db = container "Database" { + technology "PostgreSQL" + } + + db2 = container "Database 2" { + technology "Mongo" + } + } + + app2 -> webApp "Some relationship" + customer -> webApp "Sends Requests" + webApp -> db "Requests data" + webApp -> db2 "Requests users" + app3 -> db2 "ABOBA" + + $pattern ReverseProxy { + target webApp + } + } + + views { + container s { + include * + autoLayout lr + } + + container s { + include webApp app2 customer + autoLayout lr + } + } +} diff --git a/dev-tools/temp/samples/saga.dsl b/dev-tools/temp/samples/saga.dsl new file mode 100644 index 0000000..ff1b9c1 --- /dev/null +++ b/dev-tools/temp/samples/saga.dsl @@ -0,0 +1,40 @@ +workspace { + model { + user = person "User" + + orderSystem = softwareSystem "Order System" { + api = container "API" + orchestrator = container "Saga Orchestrator" + orderService = container "Order Service" + balanceService = container "Balance Service" + + user -> api "Creates Order" + api -> orchestrator "Sends request to create order transaction" + + $pattern Saga { + orchestrator orchestrator + + item.0.service orderService + item.0.command "Set order status PENDING" + item.0.onError "Set order status CANCELED" + + item.1.service balanceService + item.1.command "Reserve funds" + item.1.onError "Refund" + + item.2.service orderService + item.2.command "Set order status APPROVE" + item.2.onError "Set order status CANCELED" + } + } + } + + views { + container orderSystem { + include * + autolayout lr + } + + theme default + } +} \ No newline at end of file diff --git a/dev-tools/temp/samples/serviceRegistry.dsl b/dev-tools/temp/samples/serviceRegistry.dsl new file mode 100644 index 0000000..7b89c45 --- /dev/null +++ b/dev-tools/temp/samples/serviceRegistry.dsl @@ -0,0 +1,31 @@ +workspace { + model { + user = person "User" + + system = softwareSystem "Orders Application" { + serviceRegistry = container "Service Registry" { + technology "Eureka" + description "Manages services registration and discovery" + } + + orderService = container "Order Service" + paymentService = container "Payment Service" + inventoryService = container "Inventory Service" + + user -> orderService "Creates order" + orderService -> paymentService "Sends payment request" + orderService -> inventoryService "Checks items availability" + + $pattern ServiceRegistry { + registry serviceRegistry + connectedServices paymentService,inventoryService + + query.0.source orderService + query.0.destination paymentService + + query.1.source orderService + query.1.destination inventoryService + } + } + } +} diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index d3ce96c..d9cf829 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -153,13 +153,13 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re ), ], reduced_test_configs=[ - # ReducedTestConfiguration( - # name="database-per-service", - # workspace_path=Path("databasePerService.dsl"), - # result=FailedTestResult( - # error_message="Database 'Payment Service' is already used by 'Order Application'", - # ), - # ), + ReducedTestConfiguration( + name="database-per-service", + workspace_path=Path("databasePerService.dsl"), + result=FailedTestResult( + error_message="Database 'Payment Service' is already used by 'Order Application'", + ), + ), ReducedTestConfiguration( name="layered", workspace_path=Path("layered.dsl"), @@ -167,27 +167,27 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re expected_result_path=Path("results/structurizr-lite/layered.json"), ), ), - # ReducedTestConfiguration( - # name="reverse-proxy", - # workspace_path=Path("reverseProxy.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="saga", - # workspace_path=Path("saga.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-lite/saga.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="service-registry", - # workspace_path=Path("serviceRegistry.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), - # ), - # ) + ReducedTestConfiguration( + name="reverse-proxy", + workspace_path=Path("reverseProxy.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), + ), + ), + ReducedTestConfiguration( + name="saga", + workspace_path=Path("saga.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/saga.json"), + ), + ), + ReducedTestConfiguration( + name="service-registry", + workspace_path=Path("serviceRegistry.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), + ), + ) ] ), ], From 0f9275e20c20c39176f5f9d524c10e635dd4519e Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:12:34 +0300 Subject: [PATCH 44/62] fix: make shell file executable --- dev-tools/_exporter_factory.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dev-tools/_exporter_factory.py b/dev-tools/_exporter_factory.py index b1643ef..52bcf31 100644 --- a/dev-tools/_exporter_factory.py +++ b/dev-tools/_exporter_factory.py @@ -1,3 +1,5 @@ +import stat +import sys from typing import Final, Protocol import zipfile @@ -12,6 +14,7 @@ _STRUCTURIZR_CLI_ARCHIVE_NAME: Final = "structurizr-cli.zip" _STRUCTURIZR_CLI_DIR: Final = "structurizr-cli" +_STRUCTURIZR_CLI_SHELL_FILE: Final = "structurizr.sh" class ExporterFactory(Protocol): @@ -33,6 +36,11 @@ def _get_structurizr_cli_exporter_factory(downloader: CachedDownloader, release: with zipfile.ZipFile(structurizr_archive_path) as archive: archive.extractall(structurizr_cli_dir) + if sys.platform != "win32": + script_path = structurizr_cli_dir / _STRUCTURIZR_CLI_SHELL_FILE + current_permissions = script_path.stat().st_mode + script_path.chmod(current_permissions | stat.S_IXUSR) + def _create_structurizr_cli_exporter(java_path: Path, syntax_plugin_path: Path) -> _exporters.StructurizrCli: return _exporters.StructurizrCli( structurizr_cli_dir=structurizr_cli_dir, From f3168f76fb7dc73c9e644ed0e18e0d201bd0189b Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:13:37 +0300 Subject: [PATCH 45/62] enable structurizr cli test cases --- dev-tools/tests/test_syntax_plugin.py | 98 +++++++++++++-------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index d9cf829..6fe4108 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -96,55 +96,55 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re @pytest.mark.parametrize( "test_config", [ - # *_get_test_configs( - # releases=[ - # _release_extractor.StructurizrCliRelease( - # version="v2025.03.28", - # url="https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip", - # ), - # _release_extractor.StructurizrCliRelease( - # version="v2025.05.28", - # url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", - # ), - # ], - # reduced_test_configs=[ - # ReducedTestConfiguration( - # name="database-per-service", - # workspace_path=Path("databasePerService.dsl"), - # result=FailedTestResult( - # error_message="Database 'Payment Service' is already used by 'Order Application'", - # ), - # ), - # ReducedTestConfiguration( - # name="layered", - # workspace_path=Path("layered.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-cli/layered.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="reverse-proxy", - # workspace_path=Path("reverseProxy.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="saga", - # workspace_path=Path("saga.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-cli/saga.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="service-registry", - # workspace_path=Path("serviceRegistry.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), - # ), - # ), - # ] - # ), + *_get_test_configs( + releases=[ + _release_extractor.StructurizrCliRelease( + version="v2025.03.28", + url="https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip", + ), + _release_extractor.StructurizrCliRelease( + version="v2025.05.28", + url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", + ), + ], + reduced_test_configs=[ + ReducedTestConfiguration( + name="database-per-service", + workspace_path=Path("databasePerService.dsl"), + result=FailedTestResult( + error_message="Database 'Payment Service' is already used by 'Order Application'", + ), + ), + ReducedTestConfiguration( + name="layered", + workspace_path=Path("layered.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/layered.json"), + ), + ), + ReducedTestConfiguration( + name="reverse-proxy", + workspace_path=Path("reverseProxy.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), + ), + ), + ReducedTestConfiguration( + name="saga", + workspace_path=Path("saga.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/saga.json"), + ), + ), + ReducedTestConfiguration( + name="service-registry", + workspace_path=Path("serviceRegistry.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), + ), + ), + ] + ), *_get_test_configs( releases=[ _release_extractor.StructurizrLiteRelease( From 3db2d39e15af1d41a38ffd2b44533ae65ca08835 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:19:56 +0300 Subject: [PATCH 46/62] enable only 1 structurizr cli test case --- dev-tools/tests/test_syntax_plugin.py | 154 +++++++++++++------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index 6fe4108..699e246 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -102,55 +102,10 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re version="v2025.03.28", url="https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip", ), - _release_extractor.StructurizrCliRelease( - version="v2025.05.28", - url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", - ), - ], - reduced_test_configs=[ - ReducedTestConfiguration( - name="database-per-service", - workspace_path=Path("databasePerService.dsl"), - result=FailedTestResult( - error_message="Database 'Payment Service' is already used by 'Order Application'", - ), - ), - ReducedTestConfiguration( - name="layered", - workspace_path=Path("layered.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/layered.json"), - ), - ), - ReducedTestConfiguration( - name="reverse-proxy", - workspace_path=Path("reverseProxy.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), - ), - ), - ReducedTestConfiguration( - name="saga", - workspace_path=Path("saga.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/saga.json"), - ), - ), - ReducedTestConfiguration( - name="service-registry", - workspace_path=Path("serviceRegistry.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), - ), - ), - ] - ), - *_get_test_configs( - releases=[ - _release_extractor.StructurizrLiteRelease( - version="v2025.03.28", - url="https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war", - ), + # _release_extractor.StructurizrCliRelease( + # version="v2025.05.28", + # url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", + # ), ], reduced_test_configs=[ ReducedTestConfiguration( @@ -160,36 +115,81 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re error_message="Database 'Payment Service' is already used by 'Order Application'", ), ), - ReducedTestConfiguration( - name="layered", - workspace_path=Path("layered.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/layered.json"), - ), - ), - ReducedTestConfiguration( - name="reverse-proxy", - workspace_path=Path("reverseProxy.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), - ), - ), - ReducedTestConfiguration( - name="saga", - workspace_path=Path("saga.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/saga.json"), - ), - ), - ReducedTestConfiguration( - name="service-registry", - workspace_path=Path("serviceRegistry.dsl"), - result=SuccessTestResult( - expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), - ), - ) + # ReducedTestConfiguration( + # name="layered", + # workspace_path=Path("layered.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-cli/layered.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="reverse-proxy", + # workspace_path=Path("reverseProxy.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="saga", + # workspace_path=Path("saga.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-cli/saga.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="service-registry", + # workspace_path=Path("serviceRegistry.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), + # ), + # ), ] ), + # *_get_test_configs( + # releases=[ + # _release_extractor.StructurizrLiteRelease( + # version="v2025.03.28", + # url="https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war", + # ), + # ], + # reduced_test_configs=[ + # ReducedTestConfiguration( + # name="database-per-service", + # workspace_path=Path("databasePerService.dsl"), + # result=FailedTestResult( + # error_message="Database 'Payment Service' is already used by 'Order Application'", + # ), + # ), + # ReducedTestConfiguration( + # name="layered", + # workspace_path=Path("layered.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-lite/layered.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="reverse-proxy", + # workspace_path=Path("reverseProxy.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="saga", + # workspace_path=Path("saga.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-lite/saga.json"), + # ), + # ), + # ReducedTestConfiguration( + # name="service-registry", + # workspace_path=Path("serviceRegistry.dsl"), + # result=SuccessTestResult( + # expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), + # ), + # ) + # ] + # ), ], ids=lambda test_config: test_config.param_id, ) From 8aa4aada99735548fb77b1e271f6c59c85f3d295 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:24:00 +0300 Subject: [PATCH 47/62] fix: extend structurizr cli error information --- dev-tools/_exporters/_structurizr_cli.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/dev-tools/_exporters/_structurizr_cli.py b/dev-tools/_exporters/_structurizr_cli.py index 07edf0e..dabdf5a 100644 --- a/dev-tools/_exporters/_structurizr_cli.py +++ b/dev-tools/_exporters/_structurizr_cli.py @@ -2,7 +2,7 @@ from pathlib import Path import subprocess import sys -from typing import Final +from typing import Final, Iterable from ._interface import ExportedWorkspace from ._interface import ExportResult @@ -10,6 +10,17 @@ from ._interface import StructurizrWorkspaceExporter +class StructurizrCliProcessError(Exception): + def __init__(self, command: Iterable[str], exit_code: int, stdout: str, stderr: str) -> None: + self.command = command + self.exit_code = exit_code + self.stdout = stdout + self.stderr = stderr + + def __str__(self) -> str: + return f"Structurizr CLI command {self.command} returned non-zero exit status {self.exit_code}\nStdout:\n{self.stdout}\nStderr:\n{self.stderr}" + + class StructurizrCli(StructurizrWorkspaceExporter): _EXEC_NAME: Final = ( "structurizr.bat" if sys.platform == "win32" else "structurizr.sh" @@ -56,7 +67,12 @@ def export_to_json(self, workspace_path: Path) -> ExportResult: if process.returncode == 1: return ExportFailure(process.stderr) - raise + raise StructurizrCliProcessError( + command=command, + exit_code=process.returncode, + stdout=process.stdout, + stderr=process.stderr, + ) workspace_name = workspace_path.name.removesuffix(workspace_path.suffix) converted_workspace_path = output_dir / f"{workspace_name}.json" From 7bc4514d41e0fd5eff3d94dc26f6fa71c83683c0 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:34:17 +0300 Subject: [PATCH 48/62] fix: extend path environment variable instead of override --- dev-tools/_exporters/_structurizr_cli.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dev-tools/_exporters/_structurizr_cli.py b/dev-tools/_exporters/_structurizr_cli.py index dabdf5a..effa8e9 100644 --- a/dev-tools/_exporters/_structurizr_cli.py +++ b/dev-tools/_exporters/_structurizr_cli.py @@ -3,6 +3,7 @@ import subprocess import sys from typing import Final, Iterable +import os from ._interface import ExportedWorkspace from ._interface import ExportResult @@ -54,7 +55,7 @@ def export_to_json(self, workspace_path: Path) -> ExportResult: stdout=subprocess.PIPE, stderr=subprocess.PIPE, env={ - "PATH": str(self.__java_path.absolute()), + "PATH": f"{os.environ['PATH']}:{self.__java_path.absolute()}", "JAVA_TOOL_OPTIONS": f"-javaagent:{self.__syntax_plugin_path.absolute()}", }, encoding="utf-8", From abec134f125aceae71756c9f5ed7b63024cecfe4 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:35:13 +0300 Subject: [PATCH 49/62] enable all test cases --- dev-tools/tests/test_syntax_plugin.py | 154 +++++++++++++------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index 699e246..6fe4108 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -102,10 +102,55 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re version="v2025.03.28", url="https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip", ), - # _release_extractor.StructurizrCliRelease( - # version="v2025.05.28", - # url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", - # ), + _release_extractor.StructurizrCliRelease( + version="v2025.05.28", + url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", + ), + ], + reduced_test_configs=[ + ReducedTestConfiguration( + name="database-per-service", + workspace_path=Path("databasePerService.dsl"), + result=FailedTestResult( + error_message="Database 'Payment Service' is already used by 'Order Application'", + ), + ), + ReducedTestConfiguration( + name="layered", + workspace_path=Path("layered.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/layered.json"), + ), + ), + ReducedTestConfiguration( + name="reverse-proxy", + workspace_path=Path("reverseProxy.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), + ), + ), + ReducedTestConfiguration( + name="saga", + workspace_path=Path("saga.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/saga.json"), + ), + ), + ReducedTestConfiguration( + name="service-registry", + workspace_path=Path("serviceRegistry.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), + ), + ), + ] + ), + *_get_test_configs( + releases=[ + _release_extractor.StructurizrLiteRelease( + version="v2025.03.28", + url="https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war", + ), ], reduced_test_configs=[ ReducedTestConfiguration( @@ -115,81 +160,36 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re error_message="Database 'Payment Service' is already used by 'Order Application'", ), ), - # ReducedTestConfiguration( - # name="layered", - # workspace_path=Path("layered.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-cli/layered.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="reverse-proxy", - # workspace_path=Path("reverseProxy.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-cli/reverseProxy.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="saga", - # workspace_path=Path("saga.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-cli/saga.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="service-registry", - # workspace_path=Path("serviceRegistry.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-cli/serviceRegistry.json"), - # ), - # ), + ReducedTestConfiguration( + name="layered", + workspace_path=Path("layered.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/layered.json"), + ), + ), + ReducedTestConfiguration( + name="reverse-proxy", + workspace_path=Path("reverseProxy.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), + ), + ), + ReducedTestConfiguration( + name="saga", + workspace_path=Path("saga.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/saga.json"), + ), + ), + ReducedTestConfiguration( + name="service-registry", + workspace_path=Path("serviceRegistry.dsl"), + result=SuccessTestResult( + expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), + ), + ) ] ), - # *_get_test_configs( - # releases=[ - # _release_extractor.StructurizrLiteRelease( - # version="v2025.03.28", - # url="https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war", - # ), - # ], - # reduced_test_configs=[ - # ReducedTestConfiguration( - # name="database-per-service", - # workspace_path=Path("databasePerService.dsl"), - # result=FailedTestResult( - # error_message="Database 'Payment Service' is already used by 'Order Application'", - # ), - # ), - # ReducedTestConfiguration( - # name="layered", - # workspace_path=Path("layered.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-lite/layered.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="reverse-proxy", - # workspace_path=Path("reverseProxy.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-lite/reverseProxy.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="saga", - # workspace_path=Path("saga.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-lite/saga.json"), - # ), - # ), - # ReducedTestConfiguration( - # name="service-registry", - # workspace_path=Path("serviceRegistry.dsl"), - # result=SuccessTestResult( - # expected_result_path=Path("results/structurizr-lite/serviceRegistry.json"), - # ), - # ) - # ] - # ), ], ids=lambda test_config: test_config.param_id, ) From a6da3d9811a58985f4d7f0cf3deccaa46ca4785d Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:44:12 +0300 Subject: [PATCH 50/62] fix: add CI environment flag --- .github/workflows/pr-check.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index e72abf9..ca7f7eb 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -354,3 +354,5 @@ jobs: --java-path $JAVA_HOME/bin \ --samples-dir temp/samples working-directory: dev-tools + env: + CI: "1" From d11abe73326ca1473e64827106a923e7d20e025e Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:46:17 +0300 Subject: [PATCH 51/62] fix: remove unused modules --- dev-tools/_exporter_factory.py | 12 ++--- dev-tools/_exporter_release.py | 22 +++++++++ dev-tools/_release_extractor.py | 59 ---------------------- dev-tools/test_structurizr_lite.py | 70 --------------------------- dev-tools/tests/test_syntax_plugin.py | 12 ++--- 5 files changed, 34 insertions(+), 141 deletions(-) create mode 100644 dev-tools/_exporter_release.py delete mode 100644 dev-tools/_release_extractor.py delete mode 100644 dev-tools/test_structurizr_lite.py diff --git a/dev-tools/_exporter_factory.py b/dev-tools/_exporter_factory.py index 52bcf31..7358051 100644 --- a/dev-tools/_exporter_factory.py +++ b/dev-tools/_exporter_factory.py @@ -6,7 +6,7 @@ import _exporters from _cached_downloader import CachedDownloader import _logging_tools -import _release_extractor +import _exporter_release from pathlib import Path import logging @@ -22,7 +22,7 @@ def __call__(self, java_path: Path, syntax_plugin_path: Path) -> _exporters.Stru ... -def _get_structurizr_cli_exporter_factory(downloader: CachedDownloader, release: _release_extractor.StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> ExporterFactory: +def _get_structurizr_cli_exporter_factory(downloader: CachedDownloader, release: _exporter_release.StructurizrCliRelease, temp_dir_path: Path, log: logging.Logger) -> ExporterFactory: structurizr_archive_path = temp_dir_path / _STRUCTURIZR_CLI_ARCHIVE_NAME structurizr_cli_dir = temp_dir_path / _STRUCTURIZR_CLI_DIR @@ -51,7 +51,7 @@ def _create_structurizr_cli_exporter(java_path: Path, syntax_plugin_path: Path) return _create_structurizr_cli_exporter -def _get_structurizr_lite_exporter_factory(downloader: CachedDownloader, release: _release_extractor.StructurizrLiteRelease, temp_dir_path: Path, log: logging.Logger) -> ExporterFactory: +def _get_structurizr_lite_exporter_factory(downloader: CachedDownloader, release: _exporter_release.StructurizrLiteRelease, temp_dir_path: Path, log: logging.Logger) -> ExporterFactory: structurizr_lite_dir = temp_dir_path / "structurizr-lite" structurizr_lite_dir.mkdir() @@ -75,9 +75,9 @@ def _create_structurizr_lite_exporter(java_path: Path, syntax_plugin_path: Path) return _create_structurizr_lite_exporter -def get_exporter_factory(downloader: CachedDownloader, release: _release_extractor.ExporterRelease, temp_dir_path: Path, log: logging.Logger) -> ExporterFactory: +def get_exporter_factory(downloader: CachedDownloader, release: _exporter_release.ExporterRelease, temp_dir_path: Path, log: logging.Logger) -> ExporterFactory: match release: - case _release_extractor.StructurizrCliRelease() as cli_release: + case _exporter_release.StructurizrCliRelease() as cli_release: return _get_structurizr_cli_exporter_factory(downloader, cli_release, temp_dir_path, log) - case _release_extractor.StructurizrLiteRelease() as lite_release: + case _exporter_release.StructurizrLiteRelease() as lite_release: return _get_structurizr_lite_exporter_factory(downloader, lite_release, temp_dir_path, log) diff --git a/dev-tools/_exporter_release.py b/dev-tools/_exporter_release.py new file mode 100644 index 0000000..a19c99a --- /dev/null +++ b/dev-tools/_exporter_release.py @@ -0,0 +1,22 @@ +import dataclasses + + +@dataclasses.dataclass(frozen=True, slots=True) +class StructurizrCliRelease: + version: str + url: str + + def __str__(self) -> str: + return f"StructurizrCli(version='{self.version}')" + + +@dataclasses.dataclass(frozen=True, slots=True) +class StructurizrLiteRelease: + version: str + url: str + + def __str__(self) -> str: + return f"StructurizrLite(version='{self.version}')" + + +type ExporterRelease = StructurizrCliRelease | StructurizrLiteRelease diff --git a/dev-tools/_release_extractor.py b/dev-tools/_release_extractor.py deleted file mode 100644 index e5186d0..0000000 --- a/dev-tools/_release_extractor.py +++ /dev/null @@ -1,59 +0,0 @@ -import dataclasses -import json -from pathlib import Path -from typing import Any - - -@dataclasses.dataclass(frozen=True, slots=True) -class StructurizrCliRelease: - version: str - url: str - - def __str__(self) -> str: - return f"StructurizrCli(version={self.version})" - - -@dataclasses.dataclass(frozen=True, slots=True) -class StructurizrLiteRelease: - version: str - url: str - - def __str__(self) -> str: - return f"StructurizrLite(version={self.version})" - - -type ExporterRelease = StructurizrCliRelease | StructurizrLiteRelease - - -def _get_exporter_release(raw_release: Any) -> ExporterRelease | None: - match raw_release: - case {"type": "structurizr-cli", "version": str(version), "url": str(url)}: - return StructurizrCliRelease( - version=version, - url=url, - ) - case {"type": "structurizr-lite", "version": str(version), "url": str(url)}: - return StructurizrLiteRelease( - version=version, - url=url, - ) - case _: - return None - - -def extract_exporter_releases_from_file(config_file: Path) -> list[ExporterRelease]: - raw_data = json.loads(config_file.read_text()) - releases: list[ExporterRelease] = [] - - match raw_data: - case [*raw_releases]: - for raw_release in raw_releases: - release = _get_exporter_release(raw_release) - if release is not None: - releases.append(release) - else: - raise ValueError("Unknown release configuration:\n{}".format(json.dumps(raw_release, indent=4))) - case _: - raise ValueError("Unknown releases configuration:\n{}".format(json.dumps(raw_data, indent=4))) - - return releases diff --git a/dev-tools/test_structurizr_lite.py b/dev-tools/test_structurizr_lite.py deleted file mode 100644 index af4dc32..0000000 --- a/dev-tools/test_structurizr_lite.py +++ /dev/null @@ -1,70 +0,0 @@ -import logging -import os -from pathlib import Path -import tempfile -import time -from typing import Final - -import _exporter_factory -import _cached_downloader -import _release_extractor - - -CUR_DIR_PATH: Final = Path(__file__).parent -SYNTAX_PLUGIN_PATH: Final = CUR_DIR_PATH / "temp" / "pattern-syntax-plugin-1.0.jar" -JAVA_BINARY_DIR_PATH = Path(os.environ["JAVA_HOME"]) / "bin" -WORKSPACE_PATH: Final = CUR_DIR_PATH / "temp" / "samples" / "layered.dsl" - -log = logging.getLogger() -log.setLevel(logging.DEBUG) - -downloader = _cached_downloader.CachedDownloader( - log=log, - cache_path=Path(".cache"), -) - -with tempfile.TemporaryDirectory() as temp_dir: - exporter_factory = _exporter_factory.get_exporter_factory( - downloader=downloader, - release=_release_extractor.StructurizrLiteRelease( - version="v2025.03.28", - url="https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war", - ), - temp_dir_path=Path(temp_dir), - log=log, - ) - - exporter = exporter_factory( - java_path=JAVA_BINARY_DIR_PATH, - syntax_plugin_path=SYNTAX_PLUGIN_PATH, - ) - - try: - time.sleep(15.0) - # result = exporter.export_to_json(WORKSPACE_PATH) - # print(f"Export result: {result}") - finally: - exporter.close() - - -with tempfile.TemporaryDirectory() as temp_dir: - exporter_factory = _exporter_factory.get_exporter_factory( - downloader=downloader, - release=_release_extractor.StructurizrCliRelease( - version="v2025.05.28", - url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", - ), - temp_dir_path=Path(temp_dir), - log=log, - ) - - exporter = exporter_factory( - java_path=JAVA_BINARY_DIR_PATH, - syntax_plugin_path=SYNTAX_PLUGIN_PATH, - ) - - try: - result = exporter.export_to_json(WORKSPACE_PATH) - print(f"Export result: {result}") - finally: - exporter.close() diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index 6fe4108..c0307f1 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -9,7 +9,7 @@ import _exporter_factory import _exporters import _logging_tools -import _release_extractor +import _exporter_release import _cached_downloader @@ -29,7 +29,7 @@ class FailedTestResult: @dataclasses.dataclass(frozen=True, slots=True) class TestConfiguration: name: str - release: _release_extractor.ExporterRelease + release: _exporter_release.ExporterRelease result: SuccessTestResult | FailedTestResult workspace_path: Path @@ -80,7 +80,7 @@ def _create_exporter(exporter_factory: _exporter_factory.ExporterFactory, java_p exporter.close() -def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], reduced_test_configs: Iterable[ReducedTestConfiguration]) -> list[TestConfiguration]: +def _get_test_configs(releases: Iterable[_exporter_release.ExporterRelease], reduced_test_configs: Iterable[ReducedTestConfiguration]) -> list[TestConfiguration]: return [ TestConfiguration( name=reduced_test_config.name, @@ -98,11 +98,11 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re [ *_get_test_configs( releases=[ - _release_extractor.StructurizrCliRelease( + _exporter_release.StructurizrCliRelease( version="v2025.03.28", url="https://github.com/structurizr/cli/releases/download/v2025.03.28/structurizr-cli.zip", ), - _release_extractor.StructurizrCliRelease( + _exporter_release.StructurizrCliRelease( version="v2025.05.28", url="https://github.com/structurizr/cli/releases/download/v2025.05.28/structurizr-cli.zip", ), @@ -147,7 +147,7 @@ def _get_test_configs(releases: Iterable[_release_extractor.ExporterRelease], re ), *_get_test_configs( releases=[ - _release_extractor.StructurizrLiteRelease( + _exporter_release.StructurizrLiteRelease( version="v2025.03.28", url="https://github.com/structurizr/lite/releases/download/v2025.03.28/structurizr-lite.war", ), From d1c64f4bc50952fb83fb90cdc7e6647923aebdf1 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:47:12 +0300 Subject: [PATCH 52/62] fix: remove unused requirements --- dev-tools/requirements.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 dev-tools/requirements.txt diff --git a/dev-tools/requirements.txt b/dev-tools/requirements.txt deleted file mode 100644 index f493fee..0000000 --- a/dev-tools/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -marko==2.1.4 \ No newline at end of file From 405771c8f31bb1e4729eaff574f2cd0921a0cf75 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:47:33 +0300 Subject: [PATCH 53/62] fix: remove unused temp directory --- dev-tools/temp/pattern-syntax-plugin-1.0.jar | Bin 800967 -> 0 bytes dev-tools/temp/samples/databasePerService.dsl | 35 -------------- dev-tools/temp/samples/layered.dsl | 40 ---------------- .../samples/plugins/database-per-service.jar | Bin 16306 -> 0 bytes dev-tools/temp/samples/plugins/layered.jar | Bin 18361 -> 0 bytes .../temp/samples/plugins/pattern-plugins.jar | Bin 21836 -> 0 bytes .../temp/samples/plugins/reverse-proxy.jar | Bin 16537 -> 0 bytes dev-tools/temp/samples/plugins/saga.jar | Bin 18366 -> 0 bytes .../temp/samples/plugins/service-registry.jar | Bin 18110 -> 0 bytes dev-tools/temp/samples/reverseProxy.dsl | 45 ------------------ dev-tools/temp/samples/saga.dsl | 40 ---------------- dev-tools/temp/samples/serviceRegistry.dsl | 31 ------------ 12 files changed, 191 deletions(-) delete mode 100644 dev-tools/temp/pattern-syntax-plugin-1.0.jar delete mode 100644 dev-tools/temp/samples/databasePerService.dsl delete mode 100644 dev-tools/temp/samples/layered.dsl delete mode 100644 dev-tools/temp/samples/plugins/database-per-service.jar delete mode 100644 dev-tools/temp/samples/plugins/layered.jar delete mode 100644 dev-tools/temp/samples/plugins/pattern-plugins.jar delete mode 100644 dev-tools/temp/samples/plugins/reverse-proxy.jar delete mode 100644 dev-tools/temp/samples/plugins/saga.jar delete mode 100644 dev-tools/temp/samples/plugins/service-registry.jar delete mode 100644 dev-tools/temp/samples/reverseProxy.dsl delete mode 100644 dev-tools/temp/samples/saga.dsl delete mode 100644 dev-tools/temp/samples/serviceRegistry.dsl diff --git a/dev-tools/temp/pattern-syntax-plugin-1.0.jar b/dev-tools/temp/pattern-syntax-plugin-1.0.jar deleted file mode 100644 index c5047eac5904d3fddd3dfb4ed240912c6ddae8b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 800967 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�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

@Vc@O;BbGU`iAB}*$7|Ei2W3 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%0A$~~0_)i%TlWWg0MLe+r~IjJQ42zEdEhRj1$1YD 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%0Dkg_z|z_*;RGCf(5p!F7Dy(}H3+?(CovvBXD7 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

XD!ldmt3jt*!-xqz6R!%Et-OvW4U0G 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

r_>^># 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�Yln5#^nx*`rJx)x6rcouR&H7_z< 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%0AIVF&=jum(`1H**oBQ1^{NK3 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 NABXq89)t9a`yU--q4NL$ diff --git a/dev-tools/temp/samples/databasePerService.dsl b/dev-tools/temp/samples/databasePerService.dsl deleted file mode 100644 index 40e6f5e..0000000 --- a/dev-tools/temp/samples/databasePerService.dsl +++ /dev/null @@ -1,35 +0,0 @@ -workspace { - model { - user = person "User" - - system = softwareSystem "Order Application" { - orderDatabase = container "Order Service" - orderApp = container "Order Application" - - paymentDatabase = container "Payment Service" - paymentApp = container "Payment Application" - } - - user -> orderApp "Creates order" - orderApp -> paymentApp "Sends payment request" - - $pattern DatabasePerService { - service orderApp - database paymentDatabase - dataDescription "order data" - } - - $pattern DatabasePerService { - service paymentApp - database paymentDatabase - dataDescription "payment data" - } - } - - views { - container system { - include * - autoLayout - } - } -} diff --git a/dev-tools/temp/samples/layered.dsl b/dev-tools/temp/samples/layered.dsl deleted file mode 100644 index b7145c5..0000000 --- a/dev-tools/temp/samples/layered.dsl +++ /dev/null @@ -1,40 +0,0 @@ -workspace "Layered architecture" { - model { - user = person "User" - system = softwareSystem OnlineShop { - consumerFrontend = container "App for Consumer" - sellerFrontend = container "App for Seller" - - orderService = container "Order Processing Service" - inventoryService = container "Inventory Management Service" - - databaseMain = container "Main Database" - databaseArchive = container "Archive Database" - } - - user -> consumerFrontend "Uses through web-browser" - user -> sellerFrontend "Uses through web-browser" - - consumerFrontend -> orderService "Sends order requests" - consumerFrontend -> inventoryService "Queries product information" - sellerFrontend -> inventoryService "Updates product inventory" - - orderService -> databaseMain "Read & write order data" - inventoryService -> databaseMain "Read & write inventory data" - inventoryService -> databaseArchive "Archive older records" - - // consumerFrontend -> databaseMain "Bad relationship" - - $pattern Layered { - layer.0.name "Frontend Layer" - layer.0.elements consumerFrontend,sellerFrontend - - layer.1.name "Backend Layer" - layer.1.elements orderService,inventoryService - // layer.1.elements orderService,inventoryService,consumerFrontend - - layer.2.name "Database Layer" - layer.2.elements databaseMain,databaseArchive - } - } -} \ No newline at end of file diff --git a/dev-tools/temp/samples/plugins/database-per-service.jar b/dev-tools/temp/samples/plugins/database-per-service.jar deleted file mode 100644 index f84c4e27c87b559f85ffe053450270fc3269fff4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16306 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 diff --git a/dev-tools/temp/samples/plugins/layered.jar b/dev-tools/temp/samples/plugins/layered.jar deleted file mode 100644 index a05cf8a765f853a45c73d3c5a5ef582f8795f0b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18361 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 J38net?mzbOn*sm; diff --git a/dev-tools/temp/samples/plugins/reverse-proxy.jar b/dev-tools/temp/samples/plugins/reverse-proxy.jar deleted file mode 100644 index 1c8da0a4f3e5a9b0a24452c255c65aac56d280bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16537 zcmb7rWmsLyvMm~ddvJI6-~@Mf4K53JcbDMq!QGwU?k>UI-3j{0+4tS-oqOJSxy?5h z{iCZ!&-qn%b&sl&l>h~U0s?yf9thSlL>=g@f&Bb=Ymje`l#n7HjhM7B9Vn3OKL%EN zft+H!4ZwJNQ2stpiceZhSV%#UR!aCvYGhbaf`)byR)U6dY-GGfo_>aDeP?qAe@%o|-(1(uu1*DDhoXeSO_!Xj zYeFK}A&3YO%m8g5D94N}2a_7(KhT5Ucam4Y1eluUzV+?#SiAFBqiGMt>r&2huYZy{ zbXma>O(GakHI$ldd0uuK*LrCE^vd(h>AiGehY4#k6E!vIZ{(9ebXhpEI7MLuFNw<# z&imD+!?si>h*w|b&KYyKQd2;^A8H?@Z1R@A^7z=tR;MYV7CdD{o;?Xwb!nDcu_;3V ziEh3Mi3Vgi)QH|hVhycP&(n#RD`kX6gsOa^QoSFuR4Z50a}It4$-!2jxRI0x(6k^o zZtLs5o?I=+XJImL9UoCrC9Sgqz7K+#7da3^QRy0Oozak{R~`>jHg7}22%?g({e^v> zBM=5ot&`c!6F=P>KV2)Hti(I73Ne-0e!meey|zBIOR=z2xLzQvI4goGtl8c^Cx}wv zM{B;mYeF>qaK3TRN3FU6r17-sgP!B><_jZ$@6?q=wl<2c#02rgQfy($TQLfkicm`%le4afO%-Vqf{wA26Lh5S>hM|LxW{jpztGE!)!5P7gOnJY@)#w_g^TN> z+?lc!5=B<^Dv@obySOSYX1VAb`X0-el&gzl(wB=568LD)9S%w)MCoEHJ2W$eLvj^v z5a7U1KFIZlFpgpt`M8*EY*wZ87vk8w)NYJH>Y`xXZw5HXPB#Z zAa40Pd~oZW)p(-%Mk=Yv7@AsNyzyH?Ay*Re27QlpG#$<*-1a{yj;Ig4Qr4S`O)+)zB5J?Cc)mfyur%JtW#k5+N zg0(6Fd8p^@cR5I~n@MLtHrqT>vyDc$H`h&<`q=mNF;}5ds$GA;!MMv7^#h$F{ZPZu z39^J2C{i#VV9AAw-sOjL;$0==g=}Dk)B7l~#xX8wJcCVxvFn?g$=kc>dmud1d(r;> zdqEw2@MBpN!5JCpQH{3jTI=ii*KvW9u&RN)aoS!jXr6D^BCN@T9@>SE!-*Uj-B&aN z)ZMI*7jn;oDEx+o!eiQ|OmY~Y48y6tPK3PSO(gk&Taj$xVNY*Qa8HJiB>ZdTl zA}%+ZfQzR4-%@E*0a>6@zp$>q7h$T@2k&_n<=bjmVG0@!^y)4iwQIa&E(hMN^m#rS z&vr5xrZCrSYN`6<@J<6hvqS2nsKz9al+P^p6+lV)5l<)sh|D)}S4_3?dPa+Lt7i$IRUqW5P15mn>U%&9hnhtVxh8-PaUF zajm=%+?p4233Vak&0EhgX7cgt>#+?V?Hrsv?mC`oD~lGQDMYz5@RoraMc;d*&k>6% z=afqy7jH3D);iseJwnGXl$c*I*KAovSDo&GKV>~@|I?$td7uAw!eoEoimY{QbuIqs z5r2BLI);Ad17IMav^Pi2_2+7YoUIM@?F|j2t?Z>8%+3FDaOnz5mdFeU+?M!J0ZH{|ymA7T?VKbs0Iv~#Ff)|L90#Fon zhZ|~)$DI3W*1WL2K+j<`SkymI4iJo2GHwb?GIDIbv|fWQvX9p}!8DxJ!v8>oN1cDJ zJSv-c-d%Ai^at?;>V+E1={c88sg&Ud(9K+Wi)_)m##x^Q%+e}WqmeFOMnkXJ9`!`j z^)aGkh|@gV1@261oI;E>K5Px1XDnQR&uF@V=-{ zs%Ms`fsu2(qXkbi^jYljb(sajR)ArwXAeY|+(F8esEUe7M#3wJX8;EMgEsnBdIOgW z%~MBDxq8PelClj=$IbDmB|WnzK*GZyP;Xc7;mbF!%f2Zbp3ITmFKnnDgAS$sX0_oM z`C@i2Gw(ERGSYzD3s+^H7Cs< z+fK=;V!kG2U5cCOYJ_rSN#eX zcee70^u4ytsl@HpI^k&EU;#)OaB=N7#yma5L{fRf8SCUyTh)~B)X1RZNY(sXq?S_5 zDC>n(W0^;~{6Oz@nwKKF8*44MSvUT~(fXb9LRFG9r zULyRlVSvGaVOI<1{lgRxI!Q&t$oXLtF*`QPaJmrQ1&XC5f1Ldpt%51%BxMTO?YI+6gkaIule1~G) z*h21~syiLWMJ16^+MnxFML}Z9(72?eRmXu2_2h#HA6gmRy(PrZ0z+e}8Co=FU@JK_ z3(3wwCZvH>ZAcMlDW1YXN@5_8!H~zdK#!WE5ut9QACYC!6+8|zN`eyj*~_^%H%rpQ zKmkc3ij}jPtV}KOX^*!)FY%PO3oorPl90=`gbly@y}a#ng~F(}k(o zbM_MkD@XCz8kEn$dCSn~bXfg@fTV{L)7@w9LCp@Vj|~eeSz{B5#Xun?!jG!^sxmju zInt%6@>*9R+P@lkXDwus5r7b3-@xQikwKN@_f8H>)JhX)Me&G%K4H@_#+5a$O>Fk+)*@Xf)=V?cCecO$#93#-1$GWoDlPm$jM*b{F$^E4h*D!cY`gqE zqP%a3LOWp-CyXoG5?73cHEhvPsmkDw5bClZdk033I0G ztvJ5hpdZpTbPSBFjX@A?n(nAkuNllYmD&7!3I;U^mA()vxn9yN2*Y4!27g^!Yvs9^ zp$@R_7wrC#4O{TKd8W@T5pqxmU%1Nbdv6NO(+MIbMrsYdfiZQ+r?7W$q4%(FY`6p# zYf=)yl$YPL^|n)&9*TR}8c8w)g5?wvc3%{hh7SZ%wkd?sn#q$qmi>rVEcOX1BnyT+ zjY`fUgV3IbZfQnDE?<(=O)%z@CmX)@XG^-we^A@F&B~I60GNLX?y8P?2dQO+2leiX zQ@N06m#-56v0+~oYZb7(zJ;ej|7*4 zn4*_zj>x?feKeAL5tlT@dSY^>4F*Ul`bi@0f{UB<2QGkD%FI{+f#RW*byU&!?qJ1f1Sg6q(F9ct%)ZIPz%6xuy|GMwSq|x`(xc&|f^| zuR&jvOb(b(mui4LCX-@WM|-Z^>M^W-)vh4&W+j*&pbsP$gWLhe1mEv#e)zTyFITOz zRRI*Y2s9fZ3&lIqmo@Ry!`P@AGHE`=<87LH%OU(x(>v_eN8|?8utBcH|8i2u{BvPN zVQqWyf!PuNv(@^2d1MdvpJhpV4ms`F^av6o%C941!Ph22soRtZK)&!=L@*t#~hoD;VW^^cuHIjkcH zA2y@dT-jC&s=M`>p9Fer$?pjGv}%m;HaNnC?BgO2UZLHEv~g2bdRXt_+Pr@AP;-i* zCF;O8`m2Jl@%;z`ja^ zW{9@RYh@j*HfwVaDtYvnWrs4{Zriq7GV?s^soeEt1fRe&$Zuu%{pYf5t{V5>_!Jt1 z!mzkk8qaLkSh>IDXk-_CTi$xa@u)dMifK}CdUDlKqpVI!NKQ9S!XTauDo3eT8qrbi z6oR#D?6I~QVSBzCZ<=S|9-5Aa61a&&s6#}>q~zbO(DBJ)CJomI2`R1-xTs;#O})`+ z2e{HXPZJK?k1{mYjdByT6X|!Yq2dHW)Om^4^FOb<8cEob+(X{>5V#v44InG_J#FOCjvKq)|9#u!;oX$35&I z*x--ZO*e7|cfS134^SsW)fJ&4Ne`MFxl4kkZjR?TF3VujRw(Y#=$b%8t35CvbEwLn^uB=VZ#*~~G=w~yg^AP2-7yQ~*>m03}hJ~P62nv=ZOeZR`L7*c|$+3g0S0{6pb;6Obj zmD68Fd30OxUEl@W=3LB)ovvm-EM&<0)qbhKqKqWQ`;vstsG}&_HTg=FdGWb-161YF z+)}*&oNUHG4J1nu`UuECi85;mP8Jlp#PO39tYmjWg5Icun5Rp*_-sKJ0an&S%9|b_ zQkrK47>QQ}kyxXItctIS%$9So#lz-S8ts*J@mj>e$sxEJq)nsi!v}`q3z;g+RdS!G zq4dMhlu|H8j!4Qa?F6baR>U%!Dr7U4Pd>_(bcU==sP$}_g5G$ZS;LM_`VLA!9JL(s zkKU+)LiAG#UOi#x$*@;nH=Ix$s7Ts4&+R!PujneVRk1La-LssKpLGz($DMOYSR}Bcul$a$qDRdE;BX(bWRx(PoTcEd(DYo$w z0*}z>@)UNc^TQmy+X%_MJ^ki168ZqHMK1W=67_g^Q651?Z3V{g;q&rjItQN!o`d(z zu20|sWe}c;;$Kj!G6zq(VV>dT@DcJ0-am^#ehe&$J1jq`(WMV_^R{3IFd4hsNo7j5 zJsRBkwPpq2LV_Y)1PosZ*iIk$en*rbog|-h-(?AOlsP{QWZjbJ_o$$U8F^G_$NzYo z=^lbew+pJ!?URUpqqE0}_joY6cJ)$(=8sAW%p}^(Z#m5hMQ#>V7$C-Czq>~LC*DxPp$jqL`=|Yb`?61r9m>YH=(ow%8AJiWjjw! zJdeyv-~l}OvxZg2F6n|RVfl&mcv^CD&CN&o`(BY?RZVp;Py=rm!kr5ZByasH1z4F9a#>)UPH!U){C(rL@%J@o zw!gYrAzsP_>}Ab$2;IY!*mb?^B^fJ|56XIw=2p_7&y68-Ury*a6D!hNs|@7uhRUGG z_}+^N&)L#QMTL?Nh)#b8I}^idtEiiTiI*iw%UVE=X&>!JoDV|Dg9F?sN**8rj&07`Weypg^(|pw#ZSP|(4X3d97f;;ZDj2%e^jnBmbNGkVU|$1b)U$R4PtDk4=7lMYECy5 zzZ)(q#^PpPIbMtlMb)IpJ2cUqRioK51=Q@K^Ntc6m9KQ2$opl5yPVmibg` z&Abr}9dFT>|IIN@-^9>D_wRnNPGv~}YaZhjhgg+>rV~M5L^`ecMoOm=iIY^2kocod z(z~r(ok|-zHD&11x?{?cc#Em9*cq`j4rwa@*4|}Ia)j|ioHVkFIV@jvdpu~hS{Rs2umC0876qf)#N|7!VzX70^bJmx z8t%i1M0JU#5AuE-i`OTaH}xi6@ZMm@4){eqlH@vN6e8r+ElBQ12Z6 zvPs(XkSvg}WnfwDvc1U`f;X7J(l!)vqu_&!-bo?G)I=FTg$^YR&7~&86{Ir|^{`77s_I?lS|yY(MF-C}ST0mVRCUMtAze z)3F7fgZ*gAjHZHTP)8xFRW&qr(KxbCS6jIf7aH{1#pn|qOgq!eXMK~(D=(YIYc)bP zkp=D1uqin+^qT&(`O+AnO-6pN-+162C#P(rt#nf0pt=`a zzX+F8(*`pCb-8T5WWoW3!GWILv1=X_<+0Xe(m zk&0XkqK$ue4Kh?GV%$;ihvE-&J|^5vZK_?!1=Og{9`+7xaJ_AD$_a0G)C8r@A*D)t zJ#bSRgg&Os?~276OyUZV?ejMz>V(=kWnY4Rn3C&1vVLd(a1cHe&e)a+ko>rMVi9^x zi6bsDz1Nsxek==TsCV)WKCbGHLp`R75zZjRN@p0@%LPjYB-tp2>gA3G8_>ZzV6-{t zT;25eAtM|=RFxH70~HFuQdU%OD1SII%p3B3bn?__N3oP8t_7eQStH!l}+S z3>vaTBC3u4!qE@CQe(g|T>jW~oXst%XS3k+WutFNTAlaOdcteluo(Fvr)!`JxeitR zg=<2ObPIAAcW(V#QlH0|{f_^Gz-{spaO!@mLr`UGuh-Vb;d#nnK zSNvz1xhWj%&QI*~YrWH|gd!M?!!X-6ruyBwymaTjiXCP!eJq#ua@&W@V}ajX^jyg= z;AVm{x45eGXU-}bgN1BGH|<)ao#PlWMIWKN642QaIfg3NN{IWppF*Gf+nfDaySDcU z4e>Xm#NXeyDP`624@um!T+rD)!)*=|hf-WN$aF42IYNP-RgYNXeM7Nd3mQr{#OBwd zLAvu0{h%4KoJdY|GF)3o+U=EPlZ+`s=@w&pnAGLmDx#IWoC+0t$Ep!AO2RrZMcd3K`xCcd?lpRoNIcu-j0BzG>ex!MQ?Wr85qD&>= zF}ja^{f+T(uSVO9dSg6j-`wT@f|D1sv^O+1wEerU%u}?GLFPm7tf#}~hJ#i@=qj$mV$9&@kdx;r`L^t<>yo!@1e*;Tp>~EY1Q2FSg9!TtZQK}9fLwK91&1;a3XQa+ZDl`lR<8b^m zSWY3EBELX-N!0Ea4ZX%#hCGbij0Ap<-N*TX6f!YP99NLvqc?C%4KhpT&Kh_zZE&|j z)K$_7l<=y29h-m(#iV)Dbn(FMM5O3oF;1@qIVoS+QE8o!UEz`;P?T4k4Y2!k{@&{G z%lI1Eg{2ff$&bv>VQmZoWz*lS6l%ZeHbJwinbjS>ks{?`m5?$l6D`*rD9viIbmNzzEaVq9mh6#!z{9LpG=a zsd}v@cnF@0t%E1&dhZ&odC`yvOh{YOvJu$@K}91H?9p}VVUfV27GZ34C#Wy&F>@X< zPzFBqFI(|nmWmo*<-+?ucli724v7fsH~M|kWxNx{McxpaBHjS!4~|tdg0?%e{_$0$ zOeZ28v%f@uL&9oX7z2Gh@pW%AoyCjT%2XO-63!uMO& zoDSaIk#{D)-4F5u63c<#HofP!8zs-58-p;w(EMj0Tj4FF4KM;28vJD!=?bGiquDRZ zndT|)g@P*HGcpPL?=rdqdKIIK?Sn}x{9V$#(&BqHcvFlQJ!Y#+^qd+ zmy9d8>F}MDaqgkAQM8{Lc@PX2`~ufpl)f{y!vx8pE~jjDcefk@k65E!7dci>H4gFe zxeqLlwSKReey#2RSE6`xB221X44a9|fPyFVxXPN3tcpno-yP><~AV^f;I_~HmK zfh^j16Bq~!-3Vt+(p=Sff=G?!0sBwjDw;C#I~lXDtaVU+XoC~2$T`eClHxEW=`%qD z^D_d-p(&DEmZJ#V;#wFVKLbumnYh?d$_t1z2G-T#=54yWM{7YHF~p7KayceF7+^mF zLNVdfKgNyDU$LZON{g;pqxNZKFGVuE3AJmP~2qQmLG4%bq4_i z#QEpOC1Y(5u(H%O|NBBsSJF_J=0$m_Z}=|%6{S=KrALB}cRQkXlTGp>??XCciLA0&JLE`u4|Zevbuc7vyx?d_hR&f%;KUOI+=ttOup-Q2cXW8p08wyn38VV_; z)>yVtTrwGIR*t8!yb@Met->B_mzVTVe5-B zNWvOOB`}Bd(WTPj7;o78o+3Biz+9elU^~i!(y6g}8{nRAU&ZqSozz-`pE828aX5<0 z$%o3PN6;R6U|CJug_MV&0qzZ+@YA%jBT z*=#=ASz^+M`2sihDAYzTyNz3AUYC#Kzv|BMUl3)RTH$bx;l{ z>AUa>FZ^!ZyD?O7w|t3(K!rU(1u_MC6SDCiZse9UK=` z$YbF(qkaUXPJMiL0Da=?EWL)PegH0%jZ-_S@U^^4MPWR2MrA>rdwb9v?u#lWC(vB&-Grc8#3cCM1?3G3ZaBn_wsRv?kZ zLl0nHvPH(oaWd%R9tLv^OyJ@Yx|whDTo62onK&Q?nLh{{J{YUnA{%13`n|r2c;3jx zr0{+&hOwg47g6I7a3C-HCSH0qVQ4~)Ok7cykdFsxMzS;GnO+4Nc`8cf3PWWwVN(-g zDee%DGR`8);|%VWmF3M+9PjSpM>^Zb>iuDHCTxFuhU4R9TL{gegC19kTcO9_ZU#TU zx}LP1RL@%&X%h_y2pwLMSi9{`}eqwYztcBg;VynoN zl3!E7rJEg@oqiL+9Y^VfBe|2}=PUT#Ko`8|Fp);*sd#4s*8Cmmi<7pewq}@fU0Ft&&&j@spT~?Ws@HeE80O{MPSa!#U9uOjP)??mj~A>R`W9ox}tOUv>3Vo{$M z2sTGCcH1*c-uTHo1jJ!oeNDG*VAtGs8zAvsa#plFgHe&{Wb#S>Dn94O9EW#pjnvU; zLm44)2KJ)*q8n)iI0?q`jZRn>FRO~S4!nYot^pqZhL)7yC%gt8E*d8gGfU`Yyzhd$ z;~24fXV(Bh46TW6pUig9o5Fk_W4ZtC{=701y5FQ~03(ZjgqCJ|maJzO2@tNFThnbX z%m&llNow^esK{CKw0jf`e#PW;Vmrc!)FLM9$lCpdxbevi%$juGTDd*I8w1t_P?qH5GSR9334Zp%}O>hF# zy-hA3(HU_;bF%ahj^tVw84jeHt?1LiJx9(q_KX9jSPSJT21ia1)69(lrF53q52|u& z6AaK;<;>~Y-q5Hc3W$9|VB8u)KG6FP0wbavMiqmmCyWo0OVM-*GF$Eb)@Cfb`aZq^ zl(as=sh&IE#H#Eqn(1P{MvRsp?*kr)*1&U-5|fX&K77y*@y(;8?KL#Nskx>>$nABo z5oktetoAJ4DS8xDWgx=6h*w9Qf!35)7Zw&_jTLUj3|B4J2?&ihK`Nv=uMT2EN@G?I z1RA@0vXiyQw+ljm;qDxz>83RHRw_~BitHujC$gS33x4p& zY-+-2Am5j*LQL-^xY^1%p4!6DS2)A4M{Dre{0_-HEPehCRcrq?)U_mj6;Nf z!@a4}&!dv^ndf!2h)!rHo=k?UEG*zQoTswZ1)&YRXpPSAShpjinxSCn)efOG3>!9T z=kP<5Km>&7M6E3*H7th>#Ev3JuoR+C-+86KlRTEKR1m@r$?j{_>~j#;BMfu zO=Nu+$%QjD9w`~EW9fZAt#8iy35Xr3(9&kJ1r@pu?pQEG@LTeJujlgKtlKxl@S1x) zEZBmzP)JQ}klWh`rY961Nvu{ITkH#J`boSFKPX)J3wm6{B-V6%WPeU|tZ>YFi`$;$ zJJg#7mP$c5l=u=fUcfa2D#V2}941rK@S@lcGl`j#+hmCa?HH-E70Oj2je340jvIeO z{wC@(L+AET_yJE${1&WfWm41*Wd9k%@4}2mS4>;wFx@&5lki3N^clpLUo7Z5>t{3T z=tkQTQS%K;MuwFL6u+{2M>52=hTg#$tq7-ZJ3aY{Oe+*M0xID?@$evNS{*rxgvTYa zWg;}1TnecK>a*%fw!m)!N})C}+~qx!%HTF#+|@gc72Q8%>W@=lzk-H-3Q*X$e8vR|q;MtclMXJ4XAT~YJxlpMtWz*cqv z^KfO-`9;A-bEWLF+LF1$DZdKhT~`v@6l!AdNYMWMj|*)Et5$Xmup_6d z{hl!Q4w>!sYhiZH^E`20!Hqx8LBuT<GS0`o`;(%mvk zC)OYi_{bn}*<@go1loaBHK9BFfT9BFm|f{!4B=DnILecz^hlyAbZpkSdW*K!Duzod z?hdeb>+VHY{TZ~Yu+>y-RiiH5No8qz^32F|z39apH${&By;@+1Rkl=Q|2LQVjieV6 ziD9!*Ged3am9IDw$e8dtz)vaQ8<{K4s!m^$c8!XR+@K~ej^_n|+6^~k+{TXT$a8M; z%fPIrJb~KvVWCbe1Do#g^nsuFbUdr(yApCCZwq0?Tph?-vCU?YqgBpBJMwDuv^%xI zKa5ciWgI~2BNj+vY-@wdEW{UX-dwqdp3^#4m~%ndBz+pP4xXoUs(NQDbOT23kLFy_ zhX|t}PN{uD1;IZ=6HZjf!<>a@pFX zj`ttG=*2!}^nEn8F_U1?_P30MnpJE0f$j>X?z^$ha1G7n!?{BTS1~QxFyn7lZQZ3b zuGh+}ETF$Z>2fi0>NpxWmDQk}*3-H)ByhGrre_s~sZ3Sf_^C9|tdXa&j0=1HAx9(A z?M4jpLMz9aF1Nqfnm+6<0CcONcw$SuO`j%pCy3?{{D~`b4)FZNv>Q=oJ^hT+IhHGs z$~t289gGHl0wR}>*|~*g7`E~jiFo@L7H4p?3mH!f z;j}l@z3(G7OYSkRj!3efI9Pmp=;7C*5)QO_!|q9Gm;|0ALmL*-noA3g2#Ho;(p~{D0yO|%Zv(?J+D=7NN7sF z3(HOR95z&DrPa2%5bcvJJYmi(8%f7Ma` zC%K<>l)qZ{TlZJ}<$qOG{wMLDm$6^%`mOsv#Q#=f`JXi5|5EeTqkp^T{U=R7D=z=8 z?Pr$A?-iH76k7j@w!hb3{$2I&#j`&vXnwWFH;(83H&N@q>S_M2^yhqkuc!H?l>hx7 zEB&|CHNPYMUUu;dDd5d+{&f2Pvk2pNoZpjYf8mh5+1VfB{LfU{-(h}Far_0dkNn3l zzb8EY4)S}>(Jzn|^gjmq7nS$745Z&deos^R1#*h{#~^=2DE`hG{tokdi0>B+2H_vW z{F{K^?>N7QSbpIEll(Ex-vchc1Nw(kGXg8v^;g5O`} zcbfPYmf4%j_(QCJM;iYN=x-kFclPZ60_FO&QvYWz?RQPTGeW;KG12~0(_j3MtOWR5 VR2c~9!`q+c+fGULGZzc!{{X8L@wxy2 diff --git a/dev-tools/temp/samples/plugins/saga.jar b/dev-tools/temp/samples/plugins/saga.jar deleted file mode 100644 index 3f52f73013e84ab94780761ba4b44deb247d50b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18366 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 OeS3RKPxAi!@BaXbl3<+x diff --git a/dev-tools/temp/samples/plugins/service-registry.jar b/dev-tools/temp/samples/plugins/service-registry.jar deleted file mode 100644 index e8cbc10a4c71f3b022317b39a9032fff44d096d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18110 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 iO7Z`Vt@-DkOi32x^~Y*JKKwz*gZw{9D4B2o diff --git a/dev-tools/temp/samples/reverseProxy.dsl b/dev-tools/temp/samples/reverseProxy.dsl deleted file mode 100644 index 0ecd5f9..0000000 --- a/dev-tools/temp/samples/reverseProxy.dsl +++ /dev/null @@ -1,45 +0,0 @@ -workspace "Reverse Proxy" { - model { - customer = person "Customer" - - s = softwareSystem OnlineShop { - app2 = container "Some other container" - - webApp = container "Web App" { - technology "Java, Spring Boot" - } - - app3 = container "Container 3" - - db = container "Database" { - technology "PostgreSQL" - } - - db2 = container "Database 2" { - technology "Mongo" - } - } - - app2 -> webApp "Some relationship" - customer -> webApp "Sends Requests" - webApp -> db "Requests data" - webApp -> db2 "Requests users" - app3 -> db2 "ABOBA" - - $pattern ReverseProxy { - target webApp - } - } - - views { - container s { - include * - autoLayout lr - } - - container s { - include webApp app2 customer - autoLayout lr - } - } -} diff --git a/dev-tools/temp/samples/saga.dsl b/dev-tools/temp/samples/saga.dsl deleted file mode 100644 index ff1b9c1..0000000 --- a/dev-tools/temp/samples/saga.dsl +++ /dev/null @@ -1,40 +0,0 @@ -workspace { - model { - user = person "User" - - orderSystem = softwareSystem "Order System" { - api = container "API" - orchestrator = container "Saga Orchestrator" - orderService = container "Order Service" - balanceService = container "Balance Service" - - user -> api "Creates Order" - api -> orchestrator "Sends request to create order transaction" - - $pattern Saga { - orchestrator orchestrator - - item.0.service orderService - item.0.command "Set order status PENDING" - item.0.onError "Set order status CANCELED" - - item.1.service balanceService - item.1.command "Reserve funds" - item.1.onError "Refund" - - item.2.service orderService - item.2.command "Set order status APPROVE" - item.2.onError "Set order status CANCELED" - } - } - } - - views { - container orderSystem { - include * - autolayout lr - } - - theme default - } -} \ No newline at end of file diff --git a/dev-tools/temp/samples/serviceRegistry.dsl b/dev-tools/temp/samples/serviceRegistry.dsl deleted file mode 100644 index 7b89c45..0000000 --- a/dev-tools/temp/samples/serviceRegistry.dsl +++ /dev/null @@ -1,31 +0,0 @@ -workspace { - model { - user = person "User" - - system = softwareSystem "Orders Application" { - serviceRegistry = container "Service Registry" { - technology "Eureka" - description "Manages services registration and discovery" - } - - orderService = container "Order Service" - paymentService = container "Payment Service" - inventoryService = container "Inventory Service" - - user -> orderService "Creates order" - orderService -> paymentService "Sends payment request" - orderService -> inventoryService "Checks items availability" - - $pattern ServiceRegistry { - registry serviceRegistry - connectedServices paymentService,inventoryService - - query.0.source orderService - query.0.destination paymentService - - query.1.source orderService - query.1.destination inventoryService - } - } - } -} From 2cc781535fd91b3086bfb2bc76fd7fe05ac69f6e Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:48:32 +0300 Subject: [PATCH 54/62] enable all pr-check workflow --- .github/workflows/pr-check.yml | 634 ++++++++++++++++----------------- 1 file changed, 317 insertions(+), 317 deletions(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index ca7f7eb..f54281d 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -6,315 +6,315 @@ on: - dev jobs: - # validate-changelog: - # name: Validate changelog - # runs-on: ubuntu-latest - - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - - # - name: Install uv - # uses: astral-sh/setup-uv@v6 - # with: - # version: "0.7.13" - - # - name: Prepare 'dev-tools' environment - # run: uv sync - # working-directory: dev-tools - - # - name: Validate changelog structure - # run: uv run cli.py changelog validate-structure ${{ github.workspace }}/CHANGES.md - # working-directory: dev-tools - - # - name: Validate all issues closed - # run: | - # uv run cli.py changelog validate-issues \ - # --file ${{ github.workspace }}/CHANGES.md \ - # --repo ${{ github.repository }} \ - # --pr-number ${{ github.event.pull_request.number }} - # working-directory: dev-tools - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - # - name: Validate all linked issues - # run: | - # uv run cli.py changelog validate-issue-added \ - # --file ${{ github.workspace }}/CHANGES.md \ - # --repo ${{ github.repository }} \ - # --pr-number ${{ github.event.pull_request.number }} - # working-directory: dev-tools - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - # check-formatting: - # name: Check source code formatting - # runs-on: ubuntu-latest - - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - - # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@v4 - # with: - # gradle-version: '8.13' - # build-scan-publish: true - # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - # build-scan-terms-of-use-agree: 'yes' - - # - name: "Check formatting in 'examples' project" - # run: gradle formatCheck - # working-directory: examples - - # - name: "Check formatting in 'pattern-lens' project" - # run: gradle formatCheck - # working-directory: pattern-lens - - # - name: "Check formatting in 'pattern-lib' project" - # run: gradle formatCheck - # working-directory: pattern-lib - - # - name: "Check formatting in 'pattern-syntax-parser' project" - # run: gradle formatCheck - # working-directory: pattern-syntax-parser - - # - name: "Check formatting in 'pattern-syntax-plugin' project" - # run: gradle formatCheck - # working-directory: pattern-syntax-plugin - - # build-pattern-lib: - # name: Build 'pattern-lib' project - # runs-on: ubuntu-latest - # needs: check-formatting - - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - # with: - # sparse-checkout: | - # common - # pattern-lib - - # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@v4 - # with: - # gradle-version: '8.13' - # build-scan-publish: true - # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - # build-scan-terms-of-use-agree: 'yes' - - # - name: Run build - # run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo publishDebugPublicationToMavenLocal build - # working-directory: pattern-lib - - # - name: Publish jar file - # uses: actions/upload-artifact@v4 - # with: - # name: pattern-lib - # path: pattern-lib/build/libs/*.jar - # if-no-files-found: error - - # - name: Publish maven package - # uses: actions/upload-artifact@v4 - # with: - # name: pattern-lib-package - # path: ${{ github.workspace }}/repo - # if-no-files-found: error - - # build-examples: - # name: Build 'examples' project - # runs-on: ubuntu-latest - # needs: [ check-formatting, build-pattern-lib ] - - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - # with: - # sparse-checkout: | - # common - # examples - - # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@v4 - # with: - # gradle-version: '8.13' - # build-scan-publish: true - # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - # build-scan-terms-of-use-agree: 'yes' - - # - name: Download 'pattern-lib' package - # uses: actions/download-artifact@v4 - # with: - # name: pattern-lib-package - # path: ${{ github.workspace }}/pattern-lib-package - - # - name: Install 'pattern-lib' package in local maven repository - # run: rsync -av ${{ github.workspace }}/pattern-lib-package/ ${{ github.workspace }}/repo/ - - # - name: Display local maven repository - # run: ls -R ${{ github.workspace }}/repo - - # - name: Run build - # run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo -Pdeps.pattern-lib.version=debug build - # working-directory: examples - - # - name: Publish jar file - # uses: actions/upload-artifact@v4 - # with: - # name: examples - # path: examples/build/workspaces/* - # if-no-files-found: error - - # build-pattern-lens: - # name: Build 'pattern-lens' project - # runs-on: ubuntu-latest - # needs: check-formatting - - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - # with: - # sparse-checkout: | - # common - # pattern-lens - - # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@v4 - # with: - # gradle-version: '8.13' - # build-scan-publish: true - # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - # build-scan-terms-of-use-agree: 'yes' - - # - name: Run build - # run: gradle build - # working-directory: pattern-lens - - # - name: Publish jar file - # uses: actions/upload-artifact@v4 - # with: - # name: pattern-lens - # path: pattern-lens/build/libs/* - - # build-pattern-syntax-parser: - # name: Build 'pattern-syntax-parser' project - # runs-on: ubuntu-latest - # needs: check-formatting - - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - # with: - # sparse-checkout: | - # common - # pattern-syntax-parser - - # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@v4 - # with: - # gradle-version: '8.13' - # build-scan-publish: true - # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - # build-scan-terms-of-use-agree: 'yes' - - # - name: Run build - # run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo publishDebugPublicationToMavenLocal build - # working-directory: pattern-syntax-parser - - # - name: Publish jar file - # uses: actions/upload-artifact@v4 - # with: - # name: pattern-syntax-parser - # path: pattern-syntax-parser/build/libs/*.jar - # if-no-files-found: error - - # - name: Publish maven package - # uses: actions/upload-artifact@v4 - # with: - # name: pattern-syntax-parser-package - # path: ${{ github.workspace }}/repo - # if-no-files-found: error - - # build-pattern-syntax-plugin: - # name: Build 'pattern-syntax-plugin' project - # runs-on: ubuntu-latest - # needs: [ check-formatting, build-pattern-syntax-parser ] - - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - # with: - # sparse-checkout: | - # common - # pattern-syntax-plugin - - # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@v4 - # with: - # gradle-version: '8.13' - # build-scan-publish: true - # build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - # build-scan-terms-of-use-agree: 'yes' - - # - name: Download 'pattern-syntax-parser' package - # uses: actions/download-artifact@v4 - # with: - # name: pattern-syntax-parser-package - # path: ${{ github.workspace }}/pattern-syntax-parser - - # - name: Install 'pattern-syntax-parser' package in local maven repository - # run: rsync -av ${{ github.workspace }}/pattern-syntax-parser/ ${{ github.workspace }}/repo/ - - # - name: Run build - # run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo -Pdeps.pattern-syntax-parser.version=debug build - # working-directory: pattern-syntax-plugin - - # - name: Publish jar file - # uses: actions/upload-artifact@v4 - # with: - # name: pattern-syntax-plugin - # path: pattern-syntax-plugin/build/libs/* - # if-no-files-found: error - - # build-vs-code-extension: - # name: Build 'vs-code-extension' project - # runs-on: ubuntu-latest - # needs: check-formatting - - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - # with: - # sparse-checkout: vs-code-extension - - # - name: Setup Node.js - # uses: actions/setup-node@v4 - # with: - # node-version: '20.17.0' - - # - name: Install dependencies - # run: npm install - # working-directory: vs-code-extension - - # - name: Install VS Code CLI - # run: npm install -g @vscode/vsce - # working-directory: vs-code-extension - - # - name: Build VSIX package - # run: vsce package --allow-star-activation --allow-missing-repository --out ${{ github.workspace }}/vs-code-extension.vsix - # working-directory: vs-code-extension - - # - name: Upload artifacts - # uses: actions/upload-artifact@v4 - # with: - # name: vs-code-extension - # path: ${{ github.workspace }}/vs-code-extension.vsix + validate-changelog: + name: Validate changelog + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v6 + with: + version: "0.7.13" + + - name: Prepare 'dev-tools' environment + run: uv sync + working-directory: dev-tools + + - name: Validate changelog structure + run: uv run cli.py changelog validate-structure ${{ github.workspace }}/CHANGES.md + working-directory: dev-tools + + - name: Validate all issues closed + run: | + uv run cli.py changelog validate-issues \ + --file ${{ github.workspace }}/CHANGES.md \ + --repo ${{ github.repository }} \ + --pr-number ${{ github.event.pull_request.number }} + working-directory: dev-tools + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Validate all linked issues + run: | + uv run cli.py changelog validate-issue-added \ + --file ${{ github.workspace }}/CHANGES.md \ + --repo ${{ github.repository }} \ + --pr-number ${{ github.event.pull_request.number }} + working-directory: dev-tools + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + check-formatting: + name: Check source code formatting + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + with: + gradle-version: '8.13' + build-scan-publish: true + build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + build-scan-terms-of-use-agree: 'yes' + + - name: "Check formatting in 'examples' project" + run: gradle formatCheck + working-directory: examples + + - name: "Check formatting in 'pattern-lens' project" + run: gradle formatCheck + working-directory: pattern-lens + + - name: "Check formatting in 'pattern-lib' project" + run: gradle formatCheck + working-directory: pattern-lib + + - name: "Check formatting in 'pattern-syntax-parser' project" + run: gradle formatCheck + working-directory: pattern-syntax-parser + + - name: "Check formatting in 'pattern-syntax-plugin' project" + run: gradle formatCheck + working-directory: pattern-syntax-plugin + + build-pattern-lib: + name: Build 'pattern-lib' project + runs-on: ubuntu-latest + needs: check-formatting + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + sparse-checkout: | + common + pattern-lib + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + with: + gradle-version: '8.13' + build-scan-publish: true + build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + build-scan-terms-of-use-agree: 'yes' + + - name: Run build + run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo publishDebugPublicationToMavenLocal build + working-directory: pattern-lib + + - name: Publish jar file + uses: actions/upload-artifact@v4 + with: + name: pattern-lib + path: pattern-lib/build/libs/*.jar + if-no-files-found: error + + - name: Publish maven package + uses: actions/upload-artifact@v4 + with: + name: pattern-lib-package + path: ${{ github.workspace }}/repo + if-no-files-found: error + + build-examples: + name: Build 'examples' project + runs-on: ubuntu-latest + needs: [ check-formatting, build-pattern-lib ] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + sparse-checkout: | + common + examples + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + with: + gradle-version: '8.13' + build-scan-publish: true + build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + build-scan-terms-of-use-agree: 'yes' + + - name: Download 'pattern-lib' package + uses: actions/download-artifact@v4 + with: + name: pattern-lib-package + path: ${{ github.workspace }}/pattern-lib-package + + - name: Install 'pattern-lib' package in local maven repository + run: rsync -av ${{ github.workspace }}/pattern-lib-package/ ${{ github.workspace }}/repo/ + + - name: Display local maven repository + run: ls -R ${{ github.workspace }}/repo + + - name: Run build + run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo -Pdeps.pattern-lib.version=debug build + working-directory: examples + + - name: Publish jar file + uses: actions/upload-artifact@v4 + with: + name: examples + path: examples/build/workspaces/* + if-no-files-found: error + + build-pattern-lens: + name: Build 'pattern-lens' project + runs-on: ubuntu-latest + needs: check-formatting + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + sparse-checkout: | + common + pattern-lens + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + with: + gradle-version: '8.13' + build-scan-publish: true + build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + build-scan-terms-of-use-agree: 'yes' + + - name: Run build + run: gradle build + working-directory: pattern-lens + + - name: Publish jar file + uses: actions/upload-artifact@v4 + with: + name: pattern-lens + path: pattern-lens/build/libs/* + + build-pattern-syntax-parser: + name: Build 'pattern-syntax-parser' project + runs-on: ubuntu-latest + needs: check-formatting + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + sparse-checkout: | + common + pattern-syntax-parser + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + with: + gradle-version: '8.13' + build-scan-publish: true + build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + build-scan-terms-of-use-agree: 'yes' + + - name: Run build + run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo publishDebugPublicationToMavenLocal build + working-directory: pattern-syntax-parser + + - name: Publish jar file + uses: actions/upload-artifact@v4 + with: + name: pattern-syntax-parser + path: pattern-syntax-parser/build/libs/*.jar + if-no-files-found: error + + - name: Publish maven package + uses: actions/upload-artifact@v4 + with: + name: pattern-syntax-parser-package + path: ${{ github.workspace }}/repo + if-no-files-found: error + + build-pattern-syntax-plugin: + name: Build 'pattern-syntax-plugin' project + runs-on: ubuntu-latest + needs: [ check-formatting, build-pattern-syntax-parser ] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + sparse-checkout: | + common + pattern-syntax-plugin + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + with: + gradle-version: '8.13' + build-scan-publish: true + build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' + build-scan-terms-of-use-agree: 'yes' + + - name: Download 'pattern-syntax-parser' package + uses: actions/download-artifact@v4 + with: + name: pattern-syntax-parser-package + path: ${{ github.workspace }}/pattern-syntax-parser + + - name: Install 'pattern-syntax-parser' package in local maven repository + run: rsync -av ${{ github.workspace }}/pattern-syntax-parser/ ${{ github.workspace }}/repo/ + + - name: Run build + run: gradle -Dmaven.repo.local=${{ github.workspace }}/repo -Pdeps.pattern-syntax-parser.version=debug build + working-directory: pattern-syntax-plugin + + - name: Publish jar file + uses: actions/upload-artifact@v4 + with: + name: pattern-syntax-plugin + path: pattern-syntax-plugin/build/libs/* + if-no-files-found: error + + build-vs-code-extension: + name: Build 'vs-code-extension' project + runs-on: ubuntu-latest + needs: check-formatting + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + sparse-checkout: vs-code-extension + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20.17.0' + + - name: Install dependencies + run: npm install + working-directory: vs-code-extension + + - name: Install VS Code CLI + run: npm install -g @vscode/vsce + working-directory: vs-code-extension + + - name: Build VSIX package + run: vsce package --allow-star-activation --allow-missing-repository --out ${{ github.workspace }}/vs-code-extension.vsix + working-directory: vs-code-extension + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: vs-code-extension + path: ${{ github.workspace }}/vs-code-extension.vsix run-integration-tests: name: Run integration tests runs-on: ubuntu-latest - # needs: [ build-examples, build-pattern-syntax-plugin ] + needs: [ build-examples, build-pattern-syntax-plugin ] steps: - name: Checkout code @@ -329,17 +329,17 @@ jobs: run: uv sync working-directory: dev-tools - # - name: Prepare samples directory - # uses: actions/download-artifact@v4 - # with: - # name: examples - # path: ${{ github.workspace }}/.samples + - name: Prepare samples directory + uses: actions/download-artifact@v4 + with: + name: examples + path: ${{ github.workspace }}/.samples - # - name: Download syntax plugin - # uses: actions/download-artifact@v4 - # with: - # name: pattern-syntax-plugin - # path: ${{ github.workspace }}/.pattern-syntax-plugin + - name: Download syntax plugin + uses: actions/download-artifact@v4 + with: + name: pattern-syntax-plugin + path: ${{ github.workspace }}/.pattern-syntax-plugin - name: Setup java uses: actions/setup-java@v5 @@ -350,9 +350,9 @@ jobs: - name: Run integration tests run: | uv run cli.py integration-tests \ - --plugin-path temp/pattern-syntax-plugin-1.0.jar \ + --plugin-path ${{ github.workspace }}/.pattern-syntax-plugin/pattern-syntax-plugin-debug.jar \ --java-path $JAVA_HOME/bin \ - --samples-dir temp/samples + --samples-dir ${{ github.workspace }}/.samples working-directory: dev-tools env: CI: "1" From 42b76d7fd62e144b213fff2310f7e91d8466bbd6 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 15:58:36 +0300 Subject: [PATCH 55/62] fix: pattern syntax plugin destination path --- .github/workflows/pr-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index f54281d..5bea13c 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -350,7 +350,7 @@ jobs: - name: Run integration tests run: | uv run cli.py integration-tests \ - --plugin-path ${{ github.workspace }}/.pattern-syntax-plugin/pattern-syntax-plugin-debug.jar \ + --plugin-path ${{ github.workspace }}/.pattern-syntax-plugin/pattern-syntax-plugin-1.0.jar \ --java-path $JAVA_HOME/bin \ --samples-dir ${{ github.workspace }}/.samples working-directory: dev-tools From 04c12deb584b7cd073856b8b1ae2f5022ce589fe Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 16:04:20 +0300 Subject: [PATCH 56/62] fix: move fixture in conftest file --- dev-tools/conftest.py | 31 ++++++++++++++++++++++++--- dev-tools/tests/test_syntax_plugin.py | 22 ------------------- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/dev-tools/conftest.py b/dev-tools/conftest.py index aaf127b..42d72bf 100644 --- a/dev-tools/conftest.py +++ b/dev-tools/conftest.py @@ -1,24 +1,49 @@ from pathlib import Path +from typing import Any import pytest + +class _ExistingPath(Path): + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + if not self.exists(): + raise ValueError(f"Path '{self}' not exists") + + def pytest_addoption(parser: pytest.Parser): parser.addoption( "--plugin-path", - type=Path, + type=_ExistingPath, required=True, help="Path to pattern-syntax-plugin JAR archive", ) parser.addoption( "--java-path", - type=Path, + type=_ExistingPath, required=True, help="Path to java binary directory", ) parser.addoption( "--samples-dir", - type=Path, + type=_ExistingPath, required=True, help="Path to a directory with Structurizr workspace test samples", ) + + +@pytest.fixture +def syntax_plugin_path(request: pytest.FixtureRequest) -> Path: + return request.config.getoption('--plugin-path') + + +@pytest.fixture +def java_path(request: pytest.FixtureRequest) -> Path: + return request.config.getoption('--java-path') + + +@pytest.fixture +def samples_dir_path(request: pytest.FixtureRequest) -> Path: + return request.config.getoption("--samples-dir") diff --git a/dev-tools/tests/test_syntax_plugin.py b/dev-tools/tests/test_syntax_plugin.py index c0307f1..ec3fe82 100644 --- a/dev-tools/tests/test_syntax_plugin.py +++ b/dev-tools/tests/test_syntax_plugin.py @@ -45,28 +45,6 @@ class ReducedTestConfiguration: workspace_path: Path -def _validate_path(path: Path) -> Path: - path = path.resolve() - if not path.exists(): - raise ValueError(f"Path '{path.absolute()}' not exists") - return path - - -@pytest.fixture -def syntax_plugin_path(request: pytest.FixtureRequest) -> Path: - return _validate_path(request.config.getoption('--plugin-path')) - - -@pytest.fixture -def java_path(request: pytest.FixtureRequest) -> Path: - return _validate_path(request.config.getoption('--java-path')) - - -@pytest.fixture -def samples_dir_path(request: pytest.FixtureRequest) -> Path: - return _validate_path(request.config.getoption("--samples-dir")) - - @contextlib.contextmanager def _create_exporter(exporter_factory: _exporter_factory.ExporterFactory, java_path: Path, syntax_plugin_path: Path) -> Iterator[_exporters.StructurizrWorkspaceExporter]: exporter = exporter_factory( From 7c6fdf833a222baba735a4bf96c2487877fe6192 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 16:06:00 +0300 Subject: [PATCH 57/62] fix: update changelog --- dev-tools/CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/dev-tools/CHANGES.md b/dev-tools/CHANGES.md index 2ccb2c5..5414932 100644 --- a/dev-tools/CHANGES.md +++ b/dev-tools/CHANGES.md @@ -10,3 +10,4 @@ ### Internal - Added source code formatting support ([#33](https://github.com/Nifacy/c4-patterns/issues/33)) +- Added integration tests for syntax plugin ([#68](https://github.com/Nifacy/c4-patterns/issues/68)) From 54423bbf4c6093c361c0ace6709a8c4b64416353 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 16:08:48 +0300 Subject: [PATCH 58/62] fix: remove extra changelog --- dev-tools/CHANGES.md | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 dev-tools/CHANGES.md diff --git a/dev-tools/CHANGES.md b/dev-tools/CHANGES.md deleted file mode 100644 index 5414932..0000000 --- a/dev-tools/CHANGES.md +++ /dev/null @@ -1,13 +0,0 @@ -# Changes - -## [1.1] - -### External - -- Removed typo in project docs ([#55](https://github.com/Nifacy/c4-patterns/issues/55)) -- Added change log support ([#62](https://github.com/Nifacy/c4-patterns/issues/62)) - -### Internal - -- Added source code formatting support ([#33](https://github.com/Nifacy/c4-patterns/issues/33)) -- Added integration tests for syntax plugin ([#68](https://github.com/Nifacy/c4-patterns/issues/68)) From fffedafdbf59a590e5b8c8a99fddddd3a96ea8ef Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 16:08:54 +0300 Subject: [PATCH 59/62] fix: update changelog --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 646ddfa..4a6d803 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,3 +11,4 @@ - Added CHANGELOG validation in Pull Requests ([#63](https://github.com/Nifacy/c4-patterns/issues/63)) - Added source code formatting support ([#33](https://github.com/Nifacy/c4-patterns/issues/33)) +- Added integration tests for syntax plugin ([#68](https://github.com/Nifacy/c4-patterns/issues/68)) From b8eee2a76936df59418738ea4480efa33711f12f Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 16:17:59 +0300 Subject: [PATCH 60/62] fix: use logger instead of print in structurizr lite --- dev-tools/_exporter_factory.py | 1 + dev-tools/_exporters/_structurizr_lite.py | 151 +++++++++++----------- 2 files changed, 75 insertions(+), 77 deletions(-) diff --git a/dev-tools/_exporter_factory.py b/dev-tools/_exporter_factory.py index 7358051..38c8d90 100644 --- a/dev-tools/_exporter_factory.py +++ b/dev-tools/_exporter_factory.py @@ -70,6 +70,7 @@ def _create_structurizr_lite_exporter(java_path: Path, syntax_plugin_path: Path) syntax_plugin_path=syntax_plugin_path, stdout_path=temp_dir_path / "stdout.txt", stderr_path=temp_dir_path / "stderr.txt", + log=log, ) return _create_structurizr_lite_exporter diff --git a/dev-tools/_exporters/_structurizr_lite.py b/dev-tools/_exporters/_structurizr_lite.py index 94a14fd..f5829af 100644 --- a/dev-tools/_exporters/_structurizr_lite.py +++ b/dev-tools/_exporters/_structurizr_lite.py @@ -5,6 +5,7 @@ import hmac import io import json +import logging import re import shutil import subprocess @@ -19,6 +20,7 @@ from ._interface import ExportResult from ._interface import ExportedWorkspace from ._interface import ExportFailure +import _logging_tools import os from pathlib import Path @@ -66,13 +68,13 @@ class StructurizrLite(StructurizrWorkspaceExporter): flags=re.DOTALL, ) - def __init__(self, structurizr_lite_dir: Path, java_path: Path, syntax_plugin_path: Path, stdout_path: Path, stderr_path: Path): + _LOG_PREFIX: Final = "StructurizrLite" + + def __init__(self, structurizr_lite_dir: Path, java_path: Path, syntax_plugin_path: Path, stdout_path: Path, stderr_path: Path, log: logging.Logger): self.__structurizr_lite_dir = structurizr_lite_dir self.__java_path = java_path self.__syntax_plugin_path = syntax_plugin_path - - print(f"Stdout path: {stdout_path.absolute()}") - print(f"Stderr path: {stderr_path.absolute()}") + self.__log = _logging_tools.with_prefix(log, self._LOG_PREFIX) self.__structurizr_lite_jar = self.__get_structurizr_lite_jar_path(self.__structurizr_lite_dir) self.__context_dir = self.__get_context_directory(self.__structurizr_lite_dir) @@ -87,17 +89,12 @@ def export_to_json(self, workspace_path: Path) -> ExportResult: shutil.copytree(workspace_path.parent, self.__workspace_dir, dirs_exist_ok=True) shutil.copyfile(workspace_path, self.__workspace_dir / self._WORKSPACE_DEFAULT_FILE_NAME) - print("[StructurizrLite] Get workspace ...") - - print("[StructurizrLite] Get credentials ...") - credentials = self.__get_credentials() - print(f"[StructurizrLite] Credentials: {credentials}") + with _logging_tools.log_action(self.__log, "Get credentials"): + credentials = self.__get_credentials() try: - print("[StructurizrLite] Get workspace ...") - workspace = self.__get_workspace(credentials) - print(f"[StructurizrLite] workspace: {json.dumps(workspace)}") - return workspace + with _logging_tools.log_action(self.__log, "Get workspace"): + return self.__get_workspace(credentials) except requests.HTTPError as e: if e.response.status_code == 400: return ExportFailure(e.response.content.decode("utf-8")) @@ -105,17 +102,15 @@ def export_to_json(self, workspace_path: Path) -> ExportResult: raise e def close(self) -> None: - print("[StructurizrLite] Close ...") - self.__server_process.kill() - self.__server_process.wait() - - if self.__context_dir.exists(): - shutil.rmtree(self.__context_dir) + with _logging_tools.log_action(self.__log, "Close"): + self.__server_process.kill() + self.__server_process.wait() - self.__stdout.close() - self.__stderr.close() + if self.__context_dir.exists(): + shutil.rmtree(self.__context_dir) - print("[StructurizrLite] Close ... ok") + self.__stdout.close() + self.__stderr.close() @classmethod def __get_structurizr_lite_jar_path(cls, structurizr_lite_dir: Path) -> Path: @@ -136,70 +131,72 @@ def __get_workspace_directory(self, context_dir: Path) -> Path: return workspace_dir def __start_server(self, stdout_path: Path, stderr_path: Path) -> tuple[subprocess.Popen, io.BufferedWriter, io.BufferedWriter]: - print("Start Structurize Liter server ...") - command = [ - str((self.__java_path / self._JAVA_EXECUTABLE).absolute()), - f"-javaagent:{self.__syntax_plugin_path}", - "-jar", - str(self.__structurizr_lite_jar), - str(self.__context_dir), - ] - - env = os.environ.copy() - env["STRUCTURIZR_WORKSPACE_PATH"] = self._WORKSPACE_FOLDER_NAME - - stdout = stdout_path.open('wb') - stderr = stderr_path.open('wb') - - print(f"Command: {command}") - process = subprocess.Popen( - command, - stdout=stdout, - stderr=stderr, - env=env, - ) - - try: - self.__wait_for_connection() - except _ConnectionTimeout as e: - process.kill() - process.wait() - stdout.close() - stderr.close() - raise _StructurizrLiteError( - source_error=e, - stdout=stdout_path.read_text() if stdout_path.exists() else "", - stderr=stderr_path.read_text() if stderr_path.exists() else "", + with _logging_tools.log_action(self.__log, "Start Structurizr Lite servier"): + command = [ + str((self.__java_path / self._JAVA_EXECUTABLE).absolute()), + f"-javaagent:{self.__syntax_plugin_path}", + "-jar", + str(self.__structurizr_lite_jar), + str(self.__context_dir), + ] + + env = os.environ.copy() + env["STRUCTURIZR_WORKSPACE_PATH"] = self._WORKSPACE_FOLDER_NAME + + stdout = stdout_path.open('wb') + stderr = stderr_path.open('wb') + + self.__log.debug(f"Command: {command}") + process = subprocess.Popen( + command, + stdout=stdout, + stderr=stderr, + env=env, ) - return process, stdout, stderr + try: + self.__wait_for_connection() + except _ConnectionTimeout as e: + process.kill() + process.wait() + stdout.close() + stderr.close() + raise _StructurizrLiteError( + source_error=e, + stdout=stdout_path.read_text() if stdout_path.exists() else "", + stderr=stderr_path.read_text() if stderr_path.exists() else "", + ) + + return process, stdout, stderr def __wait_for_connection(self, timeout: float = 60.0, delay: float = 5.0) -> None: start_time = time.time() - while True: - try: - print("[Connection] Try health check server ...") - request_timeout = (start_time + timeout) - time.time() - if request_timeout <= 0.0: - raise _ConnectionTimeout() - - response = requests.get( - urllib.parse.urljoin(self._SERVER_ADDRESS, "/health"), - timeout=request_timeout, - ) - response.raise_for_status() - print("[Connection] Try health check server ... ok") - return + with _logging_tools.log_action(self.__log, "Wait for success connection to server"): + while True: + try: + self.__log.debug("Try health check server ...") + + request_timeout = (start_time + timeout) - time.time() + if request_timeout <= 0.0: + raise _ConnectionTimeout() + + response = requests.get( + urllib.parse.urljoin(self._SERVER_ADDRESS, "/health"), + timeout=request_timeout, + ) + response.raise_for_status() + + return - except (ConnectionError, OSError) as e: - elapsed_time = time.time() - start_time - print(f"[Connection] Health check failed. Elapsed time: {start_time}") + except (ConnectionError, OSError) as e: + elapsed_time = time.time() - start_time + self.__log.debug(f"Health check failed. Elapsed time: {elapsed_time}") - if elapsed_time >= timeout: - raise _ConnectionTimeout() from e + if elapsed_time >= timeout: + raise _ConnectionTimeout() from e - time.sleep(delay) + time.sleep(delay) def __get_credentials(self) -> _Credentials: response = requests.get("http://localhost:8080/workspace/diagrams") From 2fcc215287831a6b9d0aa54bfb5787a4d84722b0 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 16:23:18 +0300 Subject: [PATCH 61/62] fix: fix datadir package version --- dev-tools/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-tools/pyproject.toml b/dev-tools/pyproject.toml index b56bce6..ffd492d 100644 --- a/dev-tools/pyproject.toml +++ b/dev-tools/pyproject.toml @@ -7,7 +7,7 @@ dependencies = [ "marko==2.1.4", "pygithub==2.6.1", "pytest==9.0.2", - "pytest-datadir>=1.8.0", + "pytest-datadir==1.8.0", "python-graphql-client==0.4.3", "requests==2.32.4", ] From b4af6abf7f354758ef3156bd5edf8d729d442cb6 Mon Sep 17 00:00:00 2001 From: Nifacy Date: Sun, 4 Jan 2026 16:34:27 +0300 Subject: [PATCH 62/62] commit --- dev-tools/conftest.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dev-tools/conftest.py b/dev-tools/conftest.py index 42d72bf..2c9c595 100644 --- a/dev-tools/conftest.py +++ b/dev-tools/conftest.py @@ -1,5 +1,6 @@ from pathlib import Path from typing import Any + import pytest