From 95c854f2150e2f34bf2c27fae6f744ad79483957 Mon Sep 17 00:00:00 2001 From: Daniel Haus Date: Fri, 23 Jan 2026 09:41:20 +0300 Subject: [PATCH] Initial --- __pycache__/base.cpython-314.pyc | Bin 0 -> 1273 bytes __pycache__/composer.cpython-314.pyc | Bin 0 -> 2562 bytes __pycache__/data.cpython-314.pyc | Bin 0 -> 823 bytes __pycache__/windows.cpython-314.pyc | Bin 0 -> 14096 bytes base.py | 15 ++ composer.py | 39 +++++ data.py | 18 +++ main.py | 12 ++ windows.py | 203 +++++++++++++++++++++++++++ 9 files changed, 287 insertions(+) create mode 100644 __pycache__/base.cpython-314.pyc create mode 100644 __pycache__/composer.cpython-314.pyc create mode 100644 __pycache__/data.cpython-314.pyc create mode 100644 __pycache__/windows.cpython-314.pyc create mode 100644 base.py create mode 100644 composer.py create mode 100644 data.py create mode 100644 main.py create mode 100644 windows.py diff --git a/__pycache__/base.cpython-314.pyc b/__pycache__/base.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7327b91024e3dd04074046e9b745c48e63c20f4c GIT binary patch literal 1273 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 literal 0 HcmV?d00001 diff --git a/__pycache__/data.cpython-314.pyc b/__pycache__/data.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..708034faaffd5948554df8e6cc8bd02c071947f1 GIT binary patch literal 823 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