From 3b5c60491b54e70a4bfc7a59b46e47b5aecb6c40 Mon Sep 17 00:00:00 2001 From: cysamurai Date: Sat, 7 Oct 2023 16:46:11 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/launch.json | 25 + .vscode/settings.json | 6 + .../__pycache__/caller_src_rc.cpython-38.pyc | Bin 0 -> 14781 bytes assets/btn_call_hover.png | Bin 0 -> 631 bytes assets/btn_call_normal.png | Bin 0 -> 595 bytes assets/btn_call_t_hover.png | Bin 0 -> 4707 bytes assets/btn_call_t_normal.png | Bin 0 -> 3162 bytes assets/caller_icon.png | Bin 0 -> 5132 bytes assets/caller_src.qrc | 9 + assets/caller_src_rc.py | 927 ++++++++++++++++++ assets/exit_normal.png | Bin 0 -> 260 bytes assets/minest_normal.png | Bin 0 -> 127 bytes callclient/__pycache__/app.cpython-38.pyc | Bin 0 -> 473 bytes callclient/app.py | 12 + .../__pycache__/caller_main.cpython-38.pyc | Bin 0 -> 2186 bytes .../__pycache__/login.cpython-38.pyc | Bin 0 -> 2337 bytes .../__pycache__/win_selector.cpython-38.pyc | Bin 0 -> 1975 bytes .../__pycache__/tray_icon.cpython-38.pyc | Bin 0 -> 1564 bytes callclient/controllers/assembly/tray_icon.py | 33 + callclient/controllers/caller_main.py | 60 ++ callclient/controllers/login.py | 72 ++ callclient/main.py | 6 + callclient/views/Ui_caller_main.py | 221 +++++ callclient/views/Ui_login.py | 363 +++++++ .../__pycache__/Ui_caller_main.cpython-38.pyc | Bin 0 -> 5295 bytes .../views/__pycache__/Ui_login.cpython-38.pyc | Bin 0 -> 7990 bytes .../Ui_win_selector.cpython-38.pyc | Bin 0 -> 5076 bytes callclient/views/caller_main.ui | 425 ++++++++ callclient/views/login.ui | 770 +++++++++++++++ tvclient/__pycache__/app.cpython-38.pyc | Bin 0 -> 423 bytes tvclient/app.py | 14 + .../__pycache__/tvclient_main.cpython-38.pyc | Bin 0 -> 692 bytes tvclient/controllers/tvclient_main.py | 16 + tvclient/main.py | 6 + tvclient/views/Ui_tvclient_main.py | 28 + .../Ui_tvclient_main.cpython-38.pyc | Bin 0 -> 1085 bytes tvclient/views/tvclient_main.ui | 32 + utils/__pycache__/file_handler.cpython-38.pyc | Bin 0 -> 428 bytes utils/file_handler.py | 7 + 39 files changed, 3032 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 assets/__pycache__/caller_src_rc.cpython-38.pyc create mode 100644 assets/btn_call_hover.png create mode 100644 assets/btn_call_normal.png create mode 100644 assets/btn_call_t_hover.png create mode 100644 assets/btn_call_t_normal.png create mode 100644 assets/caller_icon.png create mode 100644 assets/caller_src.qrc create mode 100644 assets/caller_src_rc.py create mode 100644 assets/exit_normal.png create mode 100644 assets/minest_normal.png create mode 100644 callclient/__pycache__/app.cpython-38.pyc create mode 100644 callclient/app.py create mode 100644 callclient/controllers/__pycache__/caller_main.cpython-38.pyc create mode 100644 callclient/controllers/__pycache__/login.cpython-38.pyc create mode 100644 callclient/controllers/__pycache__/win_selector.cpython-38.pyc create mode 100644 callclient/controllers/assembly/__pycache__/tray_icon.cpython-38.pyc create mode 100644 callclient/controllers/assembly/tray_icon.py create mode 100644 callclient/controllers/caller_main.py create mode 100644 callclient/controllers/login.py create mode 100644 callclient/main.py create mode 100644 callclient/views/Ui_caller_main.py create mode 100644 callclient/views/Ui_login.py create mode 100644 callclient/views/__pycache__/Ui_caller_main.cpython-38.pyc create mode 100644 callclient/views/__pycache__/Ui_login.cpython-38.pyc create mode 100644 callclient/views/__pycache__/Ui_win_selector.cpython-38.pyc create mode 100644 callclient/views/caller_main.ui create mode 100644 callclient/views/login.ui create mode 100644 tvclient/__pycache__/app.cpython-38.pyc create mode 100644 tvclient/app.py create mode 100644 tvclient/controllers/__pycache__/tvclient_main.cpython-38.pyc create mode 100644 tvclient/controllers/tvclient_main.py create mode 100644 tvclient/main.py create mode 100644 tvclient/views/Ui_tvclient_main.py create mode 100644 tvclient/views/__pycache__/Ui_tvclient_main.cpython-38.pyc create mode 100644 tvclient/views/tvclient_main.ui create mode 100644 utils/__pycache__/file_handler.cpython-38.pyc create mode 100644 utils/file_handler.py diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..c3aa378 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,25 @@ +{ + // 使用 IntelliSense 了解相关属性。 + // 悬停以查看现有属性的描述。 + // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + + { + "name": "call client", + "type": "python", + "request": "launch", + "program": "callclient/main.py", + "console": "integratedTerminal", + "justMyCode": true + }, + { + "name": "tv client", + "type": "python", + "request": "launch", + "program": "tvclient/main.py", + "console": "integratedTerminal", + "justMyCode": true + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5c80254 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "[python]": { + "editor.defaultFormatter": "ms-python.autopep8" + }, + "python.formatting.provider": "none" +} diff --git a/assets/__pycache__/caller_src_rc.cpython-38.pyc b/assets/__pycache__/caller_src_rc.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..110e91d4a62e9587dd335e531ea0cf4d4a7fc52a GIT binary patch literal 14781 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 literal 0 HcmV?d00001 diff --git a/assets/btn_call_hover.png b/assets/btn_call_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9bc0437cb69b120d58ebbed687d3795c88b087 GIT binary patch literal 631 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 + + caller_icon.png + minest_normal.png + exit_normal.png + btn_call_t_normal.png + btn_call_t_hover.png + + \ No newline at end of file diff --git a/assets/caller_src_rc.py b/assets/caller_src_rc.py new file mode 100644 index 0000000..0e1bec4 --- /dev/null +++ b/assets/caller_src_rc.py @@ -0,0 +1,927 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created by: The Resource Compiler for PyQt5 (Qt v5.15.2) +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore + +qt_resource_data = b"\ +\x00\x00\x00\x7f\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x39\x49\x44\x41\x54\x38\x4f\x63\x64\xa0\x10\x30\x52\xa8\x9f\x61\ +\xd4\x00\x86\x61\x1b\x06\x41\x41\x41\x76\xff\xfe\xfd\x73\x44\x4e\ +\x23\x4c\x4c\x4c\xfb\xd7\xad\x5b\x77\x08\x3d\xdd\x60\x4d\x07\x14\ +\x1b\x40\x4a\xea\x1c\x4d\x89\x0c\x0c\x00\x69\x20\x10\x11\x72\x5e\ +\xb1\x5e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x0c\x5a\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x50\x00\x00\x00\x1e\x10\x06\x00\x00\x00\xeb\xd3\x45\xf2\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x2e\x23\x00\x00\x2e\x23\ +\x01\x78\xa5\x3f\x76\x00\x00\x06\x79\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x36\x2d\x63\x31\x34\x38\x20\x37\x39\ +\x2e\x31\x36\x34\x30\x33\x36\x2c\x20\x32\x30\x31\x39\x2f\x30\x38\ +\x2f\x31\x33\x2d\x30\x31\x3a\x30\x36\x3a\x35\x37\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x4d\x4d\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\ +\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x6d\x6d\x2f\x22\x20\x78\x6d\ +\x6c\x6e\x73\x3a\x73\x74\x45\x76\x74\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\ +\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\x79\x70\x65\x2f\x52\x65\x73\ +\x6f\x75\x72\x63\x65\x45\x76\x65\x6e\x74\x23\x22\x20\x78\x6d\x6c\ +\x6e\x73\x3a\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\ +\x6d\x2f\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x2f\x31\x2e\x30\x2f\ +\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x64\x63\x3d\x22\x68\x74\x74\x70\ +\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x65\ +\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\x2e\x31\x2f\x22\x20\x78\x6d\ +\x70\x3a\x43\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\ +\x64\x6f\x62\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x32\ +\x31\x2e\x30\x20\x28\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x20\x78\ +\x6d\x70\x3a\x43\x72\x65\x61\x74\x65\x44\x61\x74\x65\x3d\x22\x32\ +\x30\x32\x33\x2d\x30\x38\x2d\x30\x38\x54\x31\x31\x3a\x35\x38\x3a\ +\x33\x39\x2b\x30\x38\x3a\x30\x30\x22\x20\x78\x6d\x70\x3a\x4d\x65\ +\x74\x61\x64\x61\x74\x61\x44\x61\x74\x65\x3d\x22\x32\x30\x32\x33\ +\x2d\x30\x38\x2d\x30\x38\x54\x31\x31\x3a\x35\x38\x3a\x33\x39\x2b\ +\x30\x38\x3a\x30\x30\x22\x20\x78\x6d\x70\x3a\x4d\x6f\x64\x69\x66\ +\x79\x44\x61\x74\x65\x3d\x22\x32\x30\x32\x33\x2d\x30\x38\x2d\x30\ +\x38\x54\x31\x31\x3a\x35\x38\x3a\x33\x39\x2b\x30\x38\x3a\x30\x30\ +\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\x6e\x63\x65\ +\x49\x44\x3d\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x35\x30\x38\x62\ +\x65\x36\x31\x32\x2d\x65\x35\x38\x33\x2d\x61\x37\x34\x30\x2d\x38\ +\x64\x30\x37\x2d\x65\x37\x63\x65\x35\x35\x30\x63\x33\x62\x31\x66\ +\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\x65\x6e\x74\ +\x49\x44\x3d\x22\x61\x64\x6f\x62\x65\x3a\x64\x6f\x63\x69\x64\x3a\ +\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x35\x35\x39\x30\x35\x36\ +\x65\x32\x2d\x36\x33\x37\x37\x2d\x32\x31\x34\x63\x2d\x61\x63\x33\ +\x63\x2d\x36\x35\x64\x66\x38\x38\x32\x39\x32\x36\x38\x31\x22\x20\ +\x78\x6d\x70\x4d\x4d\x3a\x4f\x72\x69\x67\x69\x6e\x61\x6c\x44\x6f\ +\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\ +\x64\x3a\x65\x32\x33\x38\x34\x36\x63\x30\x2d\x66\x65\x38\x39\x2d\ +\x63\x65\x34\x32\x2d\x62\x33\x37\x38\x2d\x66\x37\x38\x36\x31\x61\ +\x31\x65\x33\x36\x34\x38\x22\x20\x70\x68\x6f\x74\x6f\x73\x68\x6f\ +\x70\x3a\x43\x6f\x6c\x6f\x72\x4d\x6f\x64\x65\x3d\x22\x33\x22\x20\ +\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x49\x43\x43\x50\x72\x6f\ +\x66\x69\x6c\x65\x3d\x22\x73\x52\x47\x42\x20\x49\x45\x43\x36\x31\ +\x39\x36\x36\x2d\x32\x2e\x31\x22\x20\x64\x63\x3a\x66\x6f\x72\x6d\ +\x61\x74\x3d\x22\x69\x6d\x61\x67\x65\x2f\x70\x6e\x67\x22\x3e\x20\ +\x3c\x78\x6d\x70\x4d\x4d\x3a\x48\x69\x73\x74\x6f\x72\x79\x3e\x20\ +\x3c\x72\x64\x66\x3a\x53\x65\x71\x3e\x20\x3c\x72\x64\x66\x3a\x6c\ +\x69\x20\x73\x74\x45\x76\x74\x3a\x61\x63\x74\x69\x6f\x6e\x3d\x22\ +\x63\x72\x65\x61\x74\x65\x64\x22\x20\x73\x74\x45\x76\x74\x3a\x69\ +\x6e\x73\x74\x61\x6e\x63\x65\x49\x44\x3d\x22\x78\x6d\x70\x2e\x69\ +\x69\x64\x3a\x65\x32\x33\x38\x34\x36\x63\x30\x2d\x66\x65\x38\x39\ +\x2d\x63\x65\x34\x32\x2d\x62\x33\x37\x38\x2d\x66\x37\x38\x36\x31\ +\x61\x31\x65\x33\x36\x34\x38\x22\x20\x73\x74\x45\x76\x74\x3a\x77\ +\x68\x65\x6e\x3d\x22\x32\x30\x32\x33\x2d\x30\x38\x2d\x30\x38\x54\ +\x31\x31\x3a\x35\x38\x3a\x33\x39\x2b\x30\x38\x3a\x30\x30\x22\x20\ +\x73\x74\x45\x76\x74\x3a\x73\x6f\x66\x74\x77\x61\x72\x65\x41\x67\ +\x65\x6e\x74\x3d\x22\x41\x64\x6f\x62\x65\x20\x50\x68\x6f\x74\x6f\ +\x73\x68\x6f\x70\x20\x32\x31\x2e\x30\x20\x28\x57\x69\x6e\x64\x6f\ +\x77\x73\x29\x22\x2f\x3e\x20\x3c\x72\x64\x66\x3a\x6c\x69\x20\x73\ +\x74\x45\x76\x74\x3a\x61\x63\x74\x69\x6f\x6e\x3d\x22\x73\x61\x76\ +\x65\x64\x22\x20\x73\x74\x45\x76\x74\x3a\x69\x6e\x73\x74\x61\x6e\ +\x63\x65\x49\x44\x3d\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x35\x30\ +\x38\x62\x65\x36\x31\x32\x2d\x65\x35\x38\x33\x2d\x61\x37\x34\x30\ +\x2d\x38\x64\x30\x37\x2d\x65\x37\x63\x65\x35\x35\x30\x63\x33\x62\ +\x31\x66\x22\x20\x73\x74\x45\x76\x74\x3a\x77\x68\x65\x6e\x3d\x22\ +\x32\x30\x32\x33\x2d\x30\x38\x2d\x30\x38\x54\x31\x31\x3a\x35\x38\ +\x3a\x33\x39\x2b\x30\x38\x3a\x30\x30\x22\x20\x73\x74\x45\x76\x74\ +\x3a\x73\x6f\x66\x74\x77\x61\x72\x65\x41\x67\x65\x6e\x74\x3d\x22\ +\x41\x64\x6f\x62\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\ +\x32\x31\x2e\x30\x20\x28\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x20\ +\x73\x74\x45\x76\x74\x3a\x63\x68\x61\x6e\x67\x65\x64\x3d\x22\x2f\ +\x22\x2f\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x53\x65\x71\x3e\x20\x3c\ +\x2f\x78\x6d\x70\x4d\x4d\x3a\x48\x69\x73\x74\x6f\x72\x79\x3e\x20\ +\x3c\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x54\x65\x78\x74\x4c\ +\x61\x79\x65\x72\x73\x3e\x20\x3c\x72\x64\x66\x3a\x42\x61\x67\x3e\ +\x20\x3c\x72\x64\x66\x3a\x6c\x69\x20\x70\x68\x6f\x74\x6f\x73\x68\ +\x6f\x70\x3a\x4c\x61\x79\x65\x72\x4e\x61\x6d\x65\x3d\x22\xe5\x91\ +\xbc\xe5\x8f\xab\x22\x20\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\ +\x4c\x61\x79\x65\x72\x54\x65\x78\x74\x3d\x22\xe5\x91\xbc\xe5\x8f\ +\xab\x22\x2f\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x42\x61\x67\x3e\x20\ +\x3c\x2f\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x54\x65\x78\x74\ +\x4c\x61\x79\x65\x72\x73\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x20\x3c\x2f\x72\x64\x66\ +\x3a\x52\x44\x46\x3e\x20\x3c\x2f\x78\x3a\x78\x6d\x70\x6d\x65\x74\ +\x61\x3e\x20\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x65\x6e\x64\ +\x3d\x22\x72\x22\x3f\x3e\x0b\x3e\xad\x27\x00\x00\x05\x87\x49\x44\ +\x41\x54\x78\x9c\xed\xdb\x7d\x6c\x13\x65\x1c\x07\xf0\xde\x36\xd8\ +\x48\x46\x68\x8c\x51\x32\x8c\x9b\xc9\x04\x0d\x23\x56\xd8\x98\x32\ +\x0c\x1d\x59\x0c\x4b\xd4\xe1\xcb\x82\xc6\xe0\xb6\x84\x6d\x04\x7c\ +\xa9\xe0\x1f\x8a\xca\x4a\x50\x86\x2f\xd9\xa6\x59\xd0\x29\x66\x83\ +\xb8\x39\x70\x83\x4d\x8c\x0a\x01\xd7\x39\xc4\x4d\xd4\x55\x90\xa8\ +\xa0\xd0\x85\x08\x18\x13\xed\x88\x92\xe9\x5e\xea\x1f\xdf\xef\xf3\ +\x47\xcf\xde\xee\x4a\x9f\xeb\x55\xbd\xef\x3f\x1f\xae\xf7\xdc\x73\ +\x4f\xb3\x5f\x9f\xde\x3d\x57\x94\x50\x28\x14\x0a\x85\x1c\x76\xec\ +\x58\x92\x24\xab\x07\x60\xe7\xff\x1d\xbb\x00\xed\x58\x1a\xbb\x00\ +\xed\x58\x1a\xbb\x00\xed\x58\x1a\xab\x0a\xd0\x0d\xe6\x5f\x05\xb7\ +\x5c\x07\xfb\xba\xe1\xc9\x4c\x38\x70\x02\x1e\xfe\x19\xd6\xad\x80\ +\x8b\xf7\xc0\x29\x77\x99\x3a\x4a\x3b\xa6\x27\xce\x05\x98\x73\x11\ +\xb6\x1e\x87\x07\x59\x68\xf9\x57\xc0\x2f\x17\xc2\xf6\x7e\xb8\x97\ +\x05\x39\x98\x02\xb3\x59\x70\xfb\xfb\x60\xe7\x8f\x30\xef\x65\x73\ +\xc6\x6b\xc7\xf4\x88\x65\x18\x73\x7d\x30\x17\x9e\x1b\x84\xad\x25\ +\xf0\xa6\xad\x30\xf9\x60\x74\xfd\x15\x34\xc0\x77\x53\xe1\xaf\x0a\ +\xac\xe8\x8f\xcf\xfb\x89\x55\x27\x75\xd3\x72\xda\x0c\x42\x67\xa8\ +\x37\x41\xc6\xeb\x51\x29\xaf\xff\x14\x73\xcb\x7b\xe5\x2a\xb8\xf3\ +\x4d\xf8\xc8\x4a\xd8\xc8\x99\xcd\xd1\xfd\x8f\x43\x0c\xe5\x53\x0f\ +\xe5\xf6\xaa\x6d\x70\x9b\x02\x87\x39\x93\xee\xf9\xfc\xf2\xfa\xd7\ +\x4b\x39\x2d\xd3\x58\x41\xf5\xd3\x21\x8e\xa7\x5e\x67\xa5\x35\xa0\ +\x72\x87\x12\xbe\xdf\x49\x83\x3a\xe3\x72\xa9\xda\x6b\xc5\x6f\xb0\ +\x3f\x91\x12\x8e\xbf\x57\x99\xbc\x5d\xf4\x31\xa9\x00\xe7\x34\xc0\ +\xa6\x21\xb8\x61\x06\x6c\xbc\x68\xce\xf9\xb6\xaf\x81\xd3\x59\x78\ +\xcd\x15\xf0\x34\xaf\x31\xfd\xef\xcb\x3d\x5f\x16\x75\xd2\xc7\xf9\ +\x87\x11\x05\xe9\x12\xaf\x53\x3f\xf7\x07\x1c\xe1\xf6\xa8\xfe\xb0\ +\xde\x18\xc7\x25\x0a\x5d\x8c\x2f\xa0\xda\xef\xa6\x85\x3c\x9f\x8f\ +\xdb\xe2\x51\x84\x78\x1f\x0d\x31\x8e\xc3\x78\x24\x5f\x03\x26\xaf\ +\x83\xf5\xe7\xa1\x2f\x08\x6b\x63\x2d\xbc\x8f\xc0\x92\x2d\x70\x29\ +\x3f\x38\xc9\x23\xe1\xcd\xea\x39\xe3\xf5\x2e\x87\xcf\xde\x0d\x95\ +\x35\x31\x9e\x5f\x23\x41\xea\xa3\x43\x1a\x33\x97\x4b\xb5\xad\x17\ +\x2f\xdd\x1b\x8a\xee\x38\x11\x31\x83\x16\xaa\xd4\x8b\x3f\xca\xf3\ +\xc4\x1e\xc9\x05\x98\xbf\x11\x2e\xbb\x06\xd6\x9c\x32\x76\x5c\x1a\ +\x0b\x29\xf5\x77\x38\xd5\x0d\x4b\xfe\x82\xdd\x79\xd0\xf7\x14\xdc\ +\xbd\x19\x66\x2c\x8c\xdc\xdf\x56\x7e\x37\x17\xf3\x03\x51\x30\xdb\ +\xd8\x38\x64\x27\x48\x1f\x63\x21\xb9\x0d\x1e\x27\xbe\xf2\xc4\xf1\ +\x41\x8d\x76\xff\xfe\x48\x2e\xc0\xd2\x07\xe0\xa1\x3a\x38\xd8\x10\ +\xb9\x5d\x2a\x0b\xee\xad\x42\xf8\x05\x97\x57\x06\x6e\x85\x47\x5f\ +\xe3\xfe\x6a\x38\xea\x82\xf7\xef\x82\x23\x6d\x70\xaa\xc6\x25\xc4\ +\xc0\x43\xf0\x33\xce\x88\xcb\xcb\x8c\x8c\xde\xbc\xf8\x68\x89\xce\ +\xb5\x60\x16\x75\xd1\x57\xa4\x5f\x73\x25\x5a\x24\x5f\x03\xe6\xe5\ +\xc2\xaf\xd2\xe1\x58\x6e\xe4\x76\xb3\x72\x60\xe9\x7a\x58\xfb\x0e\ +\xfc\x6e\x1c\xa6\xb1\x90\xcf\x04\x61\xff\x59\x38\xfb\x08\x0c\x3d\ +\xc7\x8e\xd6\x46\xee\x7f\xfc\x12\x1c\xf0\xc0\x45\x4f\x1a\x18\xbc\ +\x89\xf9\x9a\x85\xe4\xd4\x29\xc0\xe5\xb4\x8b\xfa\x4d\x19\x4d\x22\ +\x45\x72\x01\x3a\xfd\xf0\x54\xef\xe4\xed\x94\x2b\xe1\x30\x67\xb2\ +\x8e\x7a\x1e\xa7\x51\xb0\x22\x69\xec\x5f\x69\xe2\x0b\xa3\x93\xb7\ +\x1f\xee\x84\xd3\x3a\x27\x6f\x67\x56\xb2\x68\x83\x50\x67\x46\xd3\ +\x6a\x27\xfa\x09\xc4\x3c\xa2\x44\x8b\xe4\xaf\xe0\x94\x0e\x98\xde\ +\xae\xd3\xf0\x18\x50\xee\xa0\x6d\x72\xc7\x21\x32\xe1\x83\xd3\x6f\ +\x37\xa7\x7f\x27\x75\xd3\x4c\xd5\x0c\x57\x4e\xc5\x5d\xa6\x5a\x71\ +\x5c\x8d\xc6\x7e\x61\xf3\x7f\xf6\x07\x73\x92\x0b\xf0\x02\x9f\x48\ +\xa4\x0f\xeb\x34\xdc\x09\x92\x5d\xf0\xce\x2a\x78\xcf\x7c\xb8\x82\ +\x5f\xd1\x73\x8f\x85\x1f\x36\x32\x13\x86\x76\xf3\x85\x8c\xc9\x4f\ +\x93\xf1\x0b\x0c\x48\x5e\x86\x11\xc9\xa2\x35\x1a\x37\x19\x5e\xaa\ +\x28\x91\xf5\x71\xff\x26\x8d\xfd\x4a\x94\x77\xb1\x22\x62\x39\xa8\ +\x47\xa5\x5e\x5c\xd4\xeb\x08\x3f\xce\x1d\xdd\xe9\xa3\x88\xe4\x02\ +\x3c\x92\x06\x97\xf0\x26\x24\xad\x25\x72\xbb\x9f\x3e\x81\xfb\xf8\ +\x68\xad\x8c\x8f\xd4\x36\x16\xc3\x0d\x5c\xb8\x3e\x50\x09\x77\x95\ +\xc2\x05\xcf\xc0\x24\xb1\xc0\x7c\x38\x72\xff\x4e\x5e\x83\x16\x7c\ +\x00\x07\x8a\x8d\x8c\x3e\xfa\xf8\xa9\x28\x10\xf5\x02\xb2\x55\xf1\ +\x51\x51\xd8\x9b\x34\xc6\xe5\x56\x6d\x8b\x0f\x92\x98\xc9\xc5\xfb\ +\xf1\x4b\x1b\x99\x3a\x92\xaf\x01\xdb\x0e\xc1\xaa\x1f\xe0\x0d\x27\ +\xa1\x5f\xd5\x6e\xe4\x55\xb6\xe3\xf6\xb4\xa7\xe1\xc4\x01\xbe\xc0\ +\xe5\x93\xa2\x3f\xe1\xda\xd3\xec\x7f\x1e\x3c\xcb\x85\xed\x3f\x6a\ +\x22\x8f\x23\x9b\x85\x99\xfb\x12\xac\xec\x32\x34\xfc\x98\xe3\x15\ +\xff\xb0\xb8\x10\x87\x54\x33\xac\x88\x28\xc4\x80\x23\xdc\x0a\xbe\ +\xde\xa2\xd1\x9f\x89\x8b\x08\x72\x9f\xed\x25\x89\x67\x9a\xe7\xe1\ +\xbe\x1b\xe5\xf4\x3b\x25\x05\x96\xac\x86\xc5\x33\xa1\xd2\x18\xb9\ +\xfd\xfe\x6a\xd8\x3e\x08\x93\xef\x93\xfb\x3e\xb3\xa8\x2b\xc6\x7e\ +\x7a\x80\xb4\x67\xbe\xe2\x99\xb2\x5b\x52\x7f\x66\x8d\xd3\xb4\x67\ +\xc1\x13\xf4\xc5\x56\xf8\x21\xaf\xe5\xaa\x76\xc0\x37\x34\x16\x8e\ +\xf5\x32\x3a\x06\xbb\x5f\x57\xed\x78\x38\x7c\x73\xdd\xb5\x30\x97\ +\x0b\xcf\x8b\x16\xc0\xf1\x09\x87\xd4\x04\x2e\xf3\x38\x0f\x75\x52\ +\x17\xd5\x59\x34\x30\x9c\x16\x49\xfd\xc4\x2f\x26\xfd\x1c\xeb\xdb\ +\x27\xe0\xea\x54\x58\xcb\x6b\xb0\xf5\x17\xcc\x39\x9f\xa7\x11\xbe\ +\x70\x2f\xac\xe6\x43\xd8\xef\x25\x17\x5e\xac\x71\x52\x71\xad\x15\ +\xe4\x76\x57\xdc\x47\x12\x5d\x9c\x74\x86\xf4\xbb\x71\x45\x4c\x85\ +\xe6\x66\xd9\x62\xd8\x74\x3d\xf4\x39\x61\xdd\x1c\xf8\x4d\x36\x1c\ +\x2f\x32\xd6\x5f\x01\x7f\xfd\xe2\x61\xa1\x15\xf1\xa6\xa4\x92\x4f\ +\x50\x3a\xd4\x33\x65\x82\xc4\xa9\xda\x0e\x5a\x30\x86\xc4\x4a\x9c\ +\x0a\x50\x64\x9e\x07\x3e\xcf\x9b\x83\x02\x1f\xf4\xf3\x49\xc5\x71\ +\x2e\x97\x88\xdf\x2e\x5c\x6a\x86\xb3\x58\x68\x99\x3c\x7e\x29\x97\ +\x7b\x3e\xbe\x05\x6e\xbe\x19\x1e\x7d\x5b\xee\x78\xed\x98\x9d\x38\ +\x17\xa0\x88\xf8\x29\x7d\xce\x76\x58\x9a\x0f\x6f\x6b\x80\x57\x3f\ +\x0a\x7f\xe3\x32\xca\x18\x2f\x15\xfa\x78\xdb\xdc\x3e\x17\x9e\x38\ +\x07\x47\xdf\x33\x6d\xa8\x76\x4c\x8d\x45\x05\x68\xc7\x0e\x62\xff\ +\xaf\x38\x3b\x96\xc6\x2e\x40\x3b\x96\xc6\x2e\x40\x3b\x96\xc6\x2e\ +\x40\x3b\x96\xe6\x6f\x77\x87\x2e\xf7\x0a\x9d\x2e\x80\x00\x00\x00\ +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x12\x63\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x50\x00\x00\x00\x1e\x10\x06\x00\x00\x00\xeb\xd3\x45\xf2\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x2e\x23\x00\x00\x2e\x23\ +\x01\x78\xa5\x3f\x76\x00\x00\x09\x38\x69\x54\x58\x74\x58\x4d\x4c\ +\x3a\x63\x6f\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\ +\x00\x00\x00\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\ +\x69\x6e\x3d\x22\xef\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\ +\x30\x4d\x70\x43\x65\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\ +\x7a\x6b\x63\x39\x64\x22\x3f\x3e\x20\x3c\x78\x3a\x78\x6d\x70\x6d\ +\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\ +\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\ +\x6d\x70\x74\x6b\x3d\x22\x41\x64\x6f\x62\x65\x20\x58\x4d\x50\x20\ +\x43\x6f\x72\x65\x20\x35\x2e\x36\x2d\x63\x31\x34\x38\x20\x37\x39\ +\x2e\x31\x36\x34\x30\x33\x36\x2c\x20\x32\x30\x31\x39\x2f\x30\x38\ +\x2f\x31\x33\x2d\x30\x31\x3a\x30\x36\x3a\x35\x37\x20\x20\x20\x20\ +\x20\x20\x20\x20\x22\x3e\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\ +\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\ +\x61\x78\x2d\x6e\x73\x23\x22\x3e\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\ +\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\x30\x2f\x22\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x64\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\ +\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\ +\x6d\x65\x6e\x74\x73\x2f\x31\x2e\x31\x2f\x22\x20\x78\x6d\x6c\x6e\ +\x73\x3a\x78\x6d\x70\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\ +\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\ +\x2f\x31\x2e\x30\x2f\x6d\x6d\x2f\x22\x20\x78\x6d\x6c\x6e\x73\x3a\ +\x73\x74\x45\x76\x74\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\ +\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\ +\x2e\x30\x2f\x73\x54\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\ +\x65\x45\x76\x65\x6e\x74\x23\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x73\ +\x74\x52\x65\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\ +\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\x70\x2f\x31\x2e\ +\x30\x2f\x73\x54\x79\x70\x65\x2f\x52\x65\x73\x6f\x75\x72\x63\x65\ +\x52\x65\x66\x23\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x70\x68\x6f\x74\ +\x6f\x73\x68\x6f\x70\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\ +\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x70\x68\x6f\x74\x6f\ +\x73\x68\x6f\x70\x2f\x31\x2e\x30\x2f\x22\x20\x78\x6d\x70\x3a\x43\ +\x72\x65\x61\x74\x6f\x72\x54\x6f\x6f\x6c\x3d\x22\x41\x64\x6f\x62\ +\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x32\x31\x2e\x30\ +\x20\x28\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x20\x78\x6d\x70\x3a\ +\x43\x72\x65\x61\x74\x65\x44\x61\x74\x65\x3d\x22\x32\x30\x32\x33\ +\x2d\x30\x38\x2d\x30\x38\x54\x31\x32\x3a\x30\x30\x3a\x35\x38\x2b\ +\x30\x38\x3a\x30\x30\x22\x20\x78\x6d\x70\x3a\x4d\x65\x74\x61\x64\ +\x61\x74\x61\x44\x61\x74\x65\x3d\x22\x32\x30\x32\x33\x2d\x30\x38\ +\x2d\x30\x38\x54\x31\x32\x3a\x30\x36\x3a\x32\x32\x2b\x30\x38\x3a\ +\x30\x30\x22\x20\x78\x6d\x70\x3a\x4d\x6f\x64\x69\x66\x79\x44\x61\ +\x74\x65\x3d\x22\x32\x30\x32\x33\x2d\x30\x38\x2d\x30\x38\x54\x31\ +\x32\x3a\x30\x36\x3a\x32\x32\x2b\x30\x38\x3a\x30\x30\x22\x20\x64\ +\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3d\x22\x69\x6d\x61\x67\x65\x2f\ +\x70\x6e\x67\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x49\x6e\x73\x74\x61\ +\x6e\x63\x65\x49\x44\x3d\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x36\ +\x34\x66\x36\x37\x38\x33\x64\x2d\x37\x31\x62\x32\x2d\x64\x36\x34\ +\x36\x2d\x62\x37\x32\x66\x2d\x33\x39\x38\x66\x66\x39\x37\x35\x66\ +\x63\x64\x38\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x44\x6f\x63\x75\x6d\ +\x65\x6e\x74\x49\x44\x3d\x22\x61\x64\x6f\x62\x65\x3a\x64\x6f\x63\ +\x69\x64\x3a\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x32\x30\x63\ +\x62\x32\x63\x38\x61\x2d\x32\x66\x61\x33\x2d\x39\x61\x34\x33\x2d\ +\x39\x35\x62\x61\x2d\x35\x64\x30\x32\x62\x63\x30\x62\x30\x61\x37\ +\x39\x22\x20\x78\x6d\x70\x4d\x4d\x3a\x4f\x72\x69\x67\x69\x6e\x61\ +\x6c\x44\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\x78\x6d\x70\ +\x2e\x64\x69\x64\x3a\x36\x63\x36\x38\x31\x31\x64\x66\x2d\x30\x36\ +\x64\x31\x2d\x65\x64\x34\x38\x2d\x61\x61\x35\x65\x2d\x64\x61\x36\ +\x61\x37\x61\x62\x39\x35\x65\x30\x65\x22\x20\x70\x68\x6f\x74\x6f\ +\x73\x68\x6f\x70\x3a\x43\x6f\x6c\x6f\x72\x4d\x6f\x64\x65\x3d\x22\ +\x33\x22\x20\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x49\x43\x43\ +\x50\x72\x6f\x66\x69\x6c\x65\x3d\x22\x73\x52\x47\x42\x20\x49\x45\ +\x43\x36\x31\x39\x36\x36\x2d\x32\x2e\x31\x22\x3e\x20\x3c\x78\x6d\ +\x70\x4d\x4d\x3a\x48\x69\x73\x74\x6f\x72\x79\x3e\x20\x3c\x72\x64\ +\x66\x3a\x53\x65\x71\x3e\x20\x3c\x72\x64\x66\x3a\x6c\x69\x20\x73\ +\x74\x45\x76\x74\x3a\x61\x63\x74\x69\x6f\x6e\x3d\x22\x63\x72\x65\ +\x61\x74\x65\x64\x22\x20\x73\x74\x45\x76\x74\x3a\x69\x6e\x73\x74\ +\x61\x6e\x63\x65\x49\x44\x3d\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\ +\x36\x63\x36\x38\x31\x31\x64\x66\x2d\x30\x36\x64\x31\x2d\x65\x64\ +\x34\x38\x2d\x61\x61\x35\x65\x2d\x64\x61\x36\x61\x37\x61\x62\x39\ +\x35\x65\x30\x65\x22\x20\x73\x74\x45\x76\x74\x3a\x77\x68\x65\x6e\ +\x3d\x22\x32\x30\x32\x33\x2d\x30\x38\x2d\x30\x38\x54\x31\x32\x3a\ +\x30\x30\x3a\x35\x38\x2b\x30\x38\x3a\x30\x30\x22\x20\x73\x74\x45\ +\x76\x74\x3a\x73\x6f\x66\x74\x77\x61\x72\x65\x41\x67\x65\x6e\x74\ +\x3d\x22\x41\x64\x6f\x62\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\ +\x70\x20\x32\x31\x2e\x30\x20\x28\x57\x69\x6e\x64\x6f\x77\x73\x29\ +\x22\x2f\x3e\x20\x3c\x72\x64\x66\x3a\x6c\x69\x20\x73\x74\x45\x76\ +\x74\x3a\x61\x63\x74\x69\x6f\x6e\x3d\x22\x73\x61\x76\x65\x64\x22\ +\x20\x73\x74\x45\x76\x74\x3a\x69\x6e\x73\x74\x61\x6e\x63\x65\x49\ +\x44\x3d\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x36\x61\x64\x34\x61\ +\x34\x33\x64\x2d\x62\x36\x33\x30\x2d\x61\x63\x34\x37\x2d\x38\x66\ +\x64\x62\x2d\x35\x62\x61\x63\x37\x38\x66\x62\x37\x33\x37\x64\x22\ +\x20\x73\x74\x45\x76\x74\x3a\x77\x68\x65\x6e\x3d\x22\x32\x30\x32\ +\x33\x2d\x30\x38\x2d\x30\x38\x54\x31\x32\x3a\x30\x36\x3a\x32\x32\ +\x2b\x30\x38\x3a\x30\x30\x22\x20\x73\x74\x45\x76\x74\x3a\x73\x6f\ +\x66\x74\x77\x61\x72\x65\x41\x67\x65\x6e\x74\x3d\x22\x41\x64\x6f\ +\x62\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x32\x31\x2e\ +\x30\x20\x28\x57\x69\x6e\x64\x6f\x77\x73\x29\x22\x20\x73\x74\x45\ +\x76\x74\x3a\x63\x68\x61\x6e\x67\x65\x64\x3d\x22\x2f\x22\x2f\x3e\ +\x20\x3c\x72\x64\x66\x3a\x6c\x69\x20\x73\x74\x45\x76\x74\x3a\x61\ +\x63\x74\x69\x6f\x6e\x3d\x22\x63\x6f\x6e\x76\x65\x72\x74\x65\x64\ +\x22\x20\x73\x74\x45\x76\x74\x3a\x70\x61\x72\x61\x6d\x65\x74\x65\ +\x72\x73\x3d\x22\x66\x72\x6f\x6d\x20\x61\x70\x70\x6c\x69\x63\x61\ +\x74\x69\x6f\x6e\x2f\x76\x6e\x64\x2e\x61\x64\x6f\x62\x65\x2e\x70\ +\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x74\x6f\x20\x69\x6d\x61\x67\ +\x65\x2f\x70\x6e\x67\x22\x2f\x3e\x20\x3c\x72\x64\x66\x3a\x6c\x69\ +\x20\x73\x74\x45\x76\x74\x3a\x61\x63\x74\x69\x6f\x6e\x3d\x22\x64\ +\x65\x72\x69\x76\x65\x64\x22\x20\x73\x74\x45\x76\x74\x3a\x70\x61\ +\x72\x61\x6d\x65\x74\x65\x72\x73\x3d\x22\x63\x6f\x6e\x76\x65\x72\ +\x74\x65\x64\x20\x66\x72\x6f\x6d\x20\x61\x70\x70\x6c\x69\x63\x61\ +\x74\x69\x6f\x6e\x2f\x76\x6e\x64\x2e\x61\x64\x6f\x62\x65\x2e\x70\ +\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x74\x6f\x20\x69\x6d\x61\x67\ +\x65\x2f\x70\x6e\x67\x22\x2f\x3e\x20\x3c\x72\x64\x66\x3a\x6c\x69\ +\x20\x73\x74\x45\x76\x74\x3a\x61\x63\x74\x69\x6f\x6e\x3d\x22\x73\ +\x61\x76\x65\x64\x22\x20\x73\x74\x45\x76\x74\x3a\x69\x6e\x73\x74\ +\x61\x6e\x63\x65\x49\x44\x3d\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\ +\x36\x34\x66\x36\x37\x38\x33\x64\x2d\x37\x31\x62\x32\x2d\x64\x36\ +\x34\x36\x2d\x62\x37\x32\x66\x2d\x33\x39\x38\x66\x66\x39\x37\x35\ +\x66\x63\x64\x38\x22\x20\x73\x74\x45\x76\x74\x3a\x77\x68\x65\x6e\ +\x3d\x22\x32\x30\x32\x33\x2d\x30\x38\x2d\x30\x38\x54\x31\x32\x3a\ +\x30\x36\x3a\x32\x32\x2b\x30\x38\x3a\x30\x30\x22\x20\x73\x74\x45\ +\x76\x74\x3a\x73\x6f\x66\x74\x77\x61\x72\x65\x41\x67\x65\x6e\x74\ +\x3d\x22\x41\x64\x6f\x62\x65\x20\x50\x68\x6f\x74\x6f\x73\x68\x6f\ +\x70\x20\x32\x31\x2e\x30\x20\x28\x57\x69\x6e\x64\x6f\x77\x73\x29\ +\x22\x20\x73\x74\x45\x76\x74\x3a\x63\x68\x61\x6e\x67\x65\x64\x3d\ +\x22\x2f\x22\x2f\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x53\x65\x71\x3e\ +\x20\x3c\x2f\x78\x6d\x70\x4d\x4d\x3a\x48\x69\x73\x74\x6f\x72\x79\ +\x3e\x20\x3c\x78\x6d\x70\x4d\x4d\x3a\x44\x65\x72\x69\x76\x65\x64\ +\x46\x72\x6f\x6d\x20\x73\x74\x52\x65\x66\x3a\x69\x6e\x73\x74\x61\ +\x6e\x63\x65\x49\x44\x3d\x22\x78\x6d\x70\x2e\x69\x69\x64\x3a\x36\ +\x61\x64\x34\x61\x34\x33\x64\x2d\x62\x36\x33\x30\x2d\x61\x63\x34\ +\x37\x2d\x38\x66\x64\x62\x2d\x35\x62\x61\x63\x37\x38\x66\x62\x37\ +\x33\x37\x64\x22\x20\x73\x74\x52\x65\x66\x3a\x64\x6f\x63\x75\x6d\ +\x65\x6e\x74\x49\x44\x3d\x22\x78\x6d\x70\x2e\x64\x69\x64\x3a\x36\ +\x63\x36\x38\x31\x31\x64\x66\x2d\x30\x36\x64\x31\x2d\x65\x64\x34\ +\x38\x2d\x61\x61\x35\x65\x2d\x64\x61\x36\x61\x37\x61\x62\x39\x35\ +\x65\x30\x65\x22\x20\x73\x74\x52\x65\x66\x3a\x6f\x72\x69\x67\x69\ +\x6e\x61\x6c\x44\x6f\x63\x75\x6d\x65\x6e\x74\x49\x44\x3d\x22\x78\ +\x6d\x70\x2e\x64\x69\x64\x3a\x36\x63\x36\x38\x31\x31\x64\x66\x2d\ +\x30\x36\x64\x31\x2d\x65\x64\x34\x38\x2d\x61\x61\x35\x65\x2d\x64\ +\x61\x36\x61\x37\x61\x62\x39\x35\x65\x30\x65\x22\x2f\x3e\x20\x3c\ +\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x54\x65\x78\x74\x4c\x61\ +\x79\x65\x72\x73\x3e\x20\x3c\x72\x64\x66\x3a\x42\x61\x67\x3e\x20\ +\x3c\x72\x64\x66\x3a\x6c\x69\x20\x70\x68\x6f\x74\x6f\x73\x68\x6f\ +\x70\x3a\x4c\x61\x79\x65\x72\x4e\x61\x6d\x65\x3d\x22\xe5\x91\xbc\ +\xe5\x8f\xab\x22\x20\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x4c\ +\x61\x79\x65\x72\x54\x65\x78\x74\x3d\x22\xe5\x91\xbc\xe5\x8f\xab\ +\x22\x2f\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x42\x61\x67\x3e\x20\x3c\ +\x2f\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x54\x65\x78\x74\x4c\ +\x61\x79\x65\x72\x73\x3e\x20\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\ +\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x20\x3c\x2f\x72\x64\x66\x3a\ +\x52\x44\x46\x3e\x20\x3c\x2f\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\ +\x3e\x20\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x65\x6e\x64\x3d\ +\x22\x72\x22\x3f\x3e\x07\x63\xa7\xb4\x00\x00\x08\xd1\x49\x44\x41\ +\x54\x78\x9c\xed\x9b\x7f\x70\x54\xd5\x15\xc7\x3f\x67\x89\x88\x14\ +\x64\x87\xc9\x50\x06\x2c\x30\x8c\xad\xbf\xd0\x86\x4d\x0c\x58\x68\ +\x03\x94\xd2\x40\x91\x22\x82\x3f\xaa\x82\x32\x9a\x5d\xb0\x62\x88\ +\x48\x99\x90\x4a\x50\x40\x1b\x52\x49\xd1\x21\x9b\x40\xe5\x47\x31\ +\x63\x11\x35\x2a\xa6\x36\x45\x09\x18\x11\x52\xd8\xac\x31\x46\xab\ +\x48\x43\xb4\x4a\x2d\xc5\x98\xd2\x10\x62\x78\xa7\x7f\xec\x7d\x31\ +\x3f\xd8\x26\xc0\x4b\x02\xed\x7e\xfe\x39\x73\xf7\xfe\x38\xe7\xee\ +\xfb\xee\xb9\xef\xdd\x77\x57\x54\x55\x55\x89\x10\xa1\x4b\x70\x75\ +\x75\x00\x11\xfe\xbf\x89\x08\x30\x42\x97\x12\x11\x60\x84\x2e\x25\ +\x22\xc0\x08\x5d\x4a\x54\x67\x3b\x14\xd9\x3f\xd2\x77\x3f\x63\xc0\ +\xb5\x82\x4f\x3d\x15\xc0\x1e\x9d\x30\xfd\x1b\x40\xa1\xc6\x7f\x3f\ +\x0b\x34\x57\x32\xbe\x39\x0f\x70\x53\xfd\x45\x01\x48\xa6\xa6\x7c\ +\x15\x0d\xfa\xb9\x54\x95\xcc\x03\x4d\x95\xe2\xe7\x6f\x06\xa9\xb1\ +\xac\xbd\x1b\x54\x3d\x71\xb9\xeb\xbf\x7a\xa9\xb3\xe7\x11\xc1\x19\ +\x3a\x2d\x03\x8a\x04\x57\x7b\xd7\x0f\xab\x01\xd9\xa7\x0b\x9e\x7e\ +\x07\xb4\xaf\xf6\xd8\x3e\x18\xf4\x55\x6e\x19\xd1\x17\x74\x81\xe4\ +\xef\x8f\x07\xd9\xaa\xd3\x9f\xd9\x03\xd2\x53\x6b\x5f\x78\x11\xd8\ +\x25\x93\x4a\xa3\x40\x8e\x8a\xef\xd2\x29\x20\x95\x7a\xe4\x8f\x6f\ +\x00\x41\xe6\x3e\xf7\x91\x48\x69\xd0\x37\xe7\xda\xcc\xce\x9a\x47\ +\x04\x67\x91\x8e\xde\x86\x11\xd9\x3f\xcf\x77\xfc\xb6\x38\x70\xd5\ +\xea\xdd\x2b\xd7\x82\x3e\x4c\xe5\x8e\x74\xe0\x18\x43\x33\xae\x03\ +\x4d\x91\x15\xe5\x71\xaa\xb1\xdb\xfc\xdf\x3a\x39\xbe\xed\xf1\x4a\ +\xfd\xbe\x3e\xa3\xb2\x80\xd5\xba\x3b\xf9\x17\x40\x25\xc1\x1f\xd6\ +\x83\xe6\x32\xfb\x81\xb7\x54\x3d\xb7\xe7\x9c\x58\x3f\xb2\xe3\x66\ +\x74\x76\x88\x04\x02\x5e\xaf\xdb\x94\x62\x8c\x1d\x62\x6c\x82\xb9\ +\x12\x63\x4c\x79\xa3\xa8\x7a\x3c\x39\x39\xe9\x9d\x12\xdb\xa9\x08\ +\xc5\x9b\xdc\x58\x0e\xc5\x93\xe5\xdc\xf8\x1d\x25\x40\x91\x40\xba\ +\xef\xf8\x1d\x77\x03\xf5\x3a\x6f\xd3\x5a\xd0\x12\x49\xbe\xef\x0e\ +\xd5\xd8\xed\xfe\xab\x9e\xdc\xec\x9c\x9f\xe0\x20\xdf\x2b\x77\xaf\ +\x01\x2b\x53\x9f\x7a\x22\x16\xd8\x27\x4f\xdd\x76\x9f\xaa\x27\xc3\ +\xdf\xe7\xf9\x12\xa7\xfc\x7c\xed\x2f\x10\xf0\x7a\xef\x34\xa5\x59\ +\x61\xbe\xb9\xa0\xb1\x87\x24\x64\x57\xb5\xf1\x0d\x57\xb6\xb0\x3b\ +\xa5\x79\x7d\x96\xb9\xf0\xd5\x6d\xc4\x15\x63\x4a\xee\xff\xee\x8e\ +\x60\x9b\xe3\x35\x1f\x77\x87\xda\x71\x39\xfd\x83\x70\xfc\x1e\x50\ +\xa4\xb4\xc6\xfb\xc4\x65\x59\x20\x07\xd8\x93\x73\x08\xac\x63\x92\ +\x9c\xda\xc7\x08\xaf\xc6\x69\x7f\xaa\x31\x55\xfe\x9f\xac\x9b\x2b\ +\x12\x48\xf5\xf5\xed\x1d\x0f\xa4\xe8\x82\xf5\x77\x89\x04\xaa\xe6\ +\x6c\x3e\xd8\x4f\xd5\x33\x28\xfb\x78\x70\x9b\xb3\x5e\x87\x18\xeb\ +\x36\x76\xbe\x11\x8c\x2d\xc8\x18\x73\x81\xe7\x9b\x0b\x18\x34\xf5\ +\x95\xe6\xf3\xca\x0e\xba\xb0\xb6\xd0\xed\xf8\x2a\x5b\xd4\x8f\x31\ +\x76\xac\x89\xa7\xc8\xc4\x61\xa7\xa0\xf9\xe2\x74\x86\x6b\x0b\xc7\ +\xee\x01\x45\x02\x53\x93\x9e\xed\x96\x02\x5a\xa6\xc7\x56\x7d\x06\ +\x3a\x53\xb6\x16\x55\xab\xc6\xe6\xfb\xaf\x7d\xf4\x8c\x85\x27\x12\ +\xf8\xc0\x7b\x03\xaf\x8a\x04\x66\x7b\x77\x26\xac\x10\xd9\xbf\xcf\ +\xf7\xee\xb8\x28\x91\xc0\x36\xdf\xf2\x6e\x75\x76\x3b\x55\xcf\x0a\ +\xff\x75\xab\x4a\x00\x0b\xcf\xce\xa9\xa0\x05\x3a\xf2\x97\x37\x88\ +\xec\x4b\x9e\xb3\x58\xe6\x3a\x31\xc7\xd6\x54\x1b\x41\x15\x99\xf2\ +\xa1\xc6\xcc\x75\xea\xa5\xd6\x4d\x5b\x84\xfa\xa5\x1b\xfb\x82\x36\ +\x1f\xa7\xbd\xd8\x4b\xf7\xd8\x46\xdb\xbe\x7e\xc1\xd3\xf4\x73\xf6\ +\x38\x98\x01\xad\x75\xdd\x36\x8f\x78\x08\x5c\x95\xd6\x98\xc4\xdf\ +\x01\x95\x8c\x1b\xf1\x66\x5b\xbd\x44\xde\x8e\x9e\xb3\xa3\x47\x1d\ +\xe8\x01\x4a\xb4\x01\xa8\xa2\x4a\x27\x83\x15\x6d\x45\x4f\x2c\x04\ +\x8e\xe0\x9e\xfd\x2f\xc0\xc7\x86\x29\x3f\x06\xd7\x54\xad\xff\xa7\ +\x00\x03\x38\x3c\x3c\x1e\x98\xcc\xe2\x8f\x9b\x8c\xe8\x5a\x23\xe3\ +\x1f\x7b\x13\xac\xc9\x9a\xb1\x3d\x05\xf8\xb9\x54\x8f\x5a\x0a\x64\ +\xb1\xbc\xd8\xb9\xe9\xb6\x81\xbd\xc4\x85\x04\x74\xbf\xbd\x04\x1b\ +\x21\x04\xdb\xe8\xfd\x53\xb5\xdb\xb5\x77\xa9\x3c\x5f\x71\x50\x80\ +\xae\x2c\x6b\xe8\x8c\x5b\x41\x6a\xa4\xf0\xb5\xf7\x41\x26\xc9\xa2\ +\xd2\x67\x4d\x65\x9c\xdd\x4a\x24\x50\x95\xf4\xa3\x0b\xeb\x40\x86\ +\x49\xf9\x9a\x89\xc0\x95\x04\x46\xdc\x0c\x8c\xe7\xe2\x86\x83\x40\ +\x3d\xf5\xb2\x05\xd8\xcc\xe6\x81\x5e\xa0\x3b\x51\x45\xdb\x81\x23\ +\x0c\xb8\x65\x25\x30\x5a\xa7\xff\x3a\x0f\x64\x97\x0e\xed\x7e\x41\ +\xeb\x38\x4e\xae\x93\xb2\xbd\x33\x41\x56\x10\xf5\x56\x29\xc8\xeb\ +\xd6\xf8\xa9\xfd\x42\x75\xc5\xc9\xce\xcd\xf7\x74\x28\x32\xd6\x16\ +\x56\x56\xab\x8c\x14\x12\xea\x10\x53\x8a\x31\xf6\xae\x76\x66\xae\ +\xf3\x17\x07\xb7\x61\xa4\x4a\x3d\xd7\xc6\x01\x37\xe9\x25\xef\xc5\ +\xa9\xc6\x24\x66\x27\x34\xc4\x9d\xa2\x5d\x77\xfa\x0e\x1c\x06\x8c\ +\xd4\xe2\x19\x37\x81\xce\x25\xed\xe9\x2f\x40\x97\xb1\x6c\xe9\x49\ +\xd0\x4c\x32\x1f\xbb\x15\x68\xa0\x61\xf2\x0e\x55\x4f\x5c\xce\xda\ +\xe9\x1f\x03\x2e\x1a\x4a\x77\x03\xb5\x44\xeb\x32\xd0\x12\x99\xc9\ +\xe7\x2d\x47\x57\x8d\x3d\x9c\x7d\xe3\xc9\x5a\xe0\x25\x9d\xb9\x37\ +\x19\x24\xa0\x9e\xb8\x32\xe7\xe6\x79\x26\xbc\x6d\x84\x54\xdd\x46\ +\xbb\xa9\xc6\xe6\x9b\xcc\x17\xec\xb0\x88\xce\x15\x1c\xcc\x80\x9a\ +\x22\x55\xee\x20\xc8\xcf\x88\xff\x70\x27\x50\x11\xa6\x61\x3d\x0d\ +\x12\x0d\xf4\xa0\xe7\x97\x79\x40\x7f\xfa\x6f\x5d\xa5\xea\x99\x90\ +\xf3\xdb\x0f\x4f\x21\xd8\xa6\xf4\x08\x86\xac\xe4\x00\x16\xf0\x55\ +\xf8\xb6\x12\xaf\x55\x5f\x3e\x07\x7a\x8d\x94\x5f\xf4\x1c\x00\xb7\ +\x9e\xc6\x74\xce\x12\x3b\xa3\x35\xbf\xa9\x6f\x9d\xf9\x6c\xc2\xb5\ +\x6b\x3e\x4e\x65\x87\xc5\xdb\x55\x38\xf9\x14\xec\xa6\x3c\x6a\x2b\ +\x90\xaf\x97\xf4\x7a\xcd\x7c\x36\x29\x4c\x5b\x93\x91\x64\x89\xb1\ +\x79\x0e\xc6\x61\xd0\xa3\xae\xe7\xad\x22\xa0\x4e\x6f\xef\x3d\x01\ +\x18\xe4\xbc\x0f\xb7\x11\xc8\x18\x53\x1e\xdc\x62\xbb\xe5\x4e\x53\ +\xbf\xa4\x8d\x6d\x98\x31\xe6\x61\x63\x49\x98\xfa\x22\x63\xdb\xfb\ +\x30\x71\xfe\xe0\xa0\x00\x25\x43\xa7\x1c\xce\x04\x4d\x94\x8a\x5e\ +\x43\x81\xef\x84\x69\xd8\x9d\x28\x36\x01\x75\xd4\x76\xeb\x0d\x1c\ +\xe6\xf0\xf5\x83\x45\x02\xaf\x7a\x6f\xfc\x6b\x11\xe0\xe2\x93\x0b\ +\xea\x81\x68\x4d\x2f\xcf\x53\xf5\x78\x72\x27\xbe\x7b\x4d\xa8\x6b\ +\x5d\xff\x90\xd5\x2d\x00\xb8\xb8\xd7\x8c\xf9\xc9\x29\xfc\x1c\x53\ +\x06\xfc\x03\xa8\x66\x51\xa5\xc3\xdb\x30\x36\x43\x8c\x5d\xd2\x6a\ +\xfb\xa3\xf9\xb6\x4a\x7a\x98\x7b\xbe\x8e\xda\x5f\x9b\x65\x04\x9d\ +\x70\x9a\xfd\x62\x5a\xfc\xa0\x5a\x6e\x8c\xef\x74\x24\xba\xa6\x38\ +\xf9\x2a\xae\x41\x02\xbb\x7b\x80\x26\xca\xfb\x09\x8f\x8b\xec\x2b\ +\x9e\xb3\xa3\xc7\x86\xd6\xcd\x14\x8e\xfe\x6d\x17\xb0\x47\x46\xbf\ +\x3c\x05\x64\x0d\xcb\x66\x7d\x04\x92\x46\xea\x43\x13\x41\x16\x92\ +\x95\xba\x16\xa8\x95\xd5\x85\xf7\x88\x04\x0a\xbd\x33\x7e\x3f\x03\ +\x70\x11\x15\x9b\x06\xf4\xa4\xd6\x55\x02\x72\x25\x55\xb4\x7a\xac\ +\x15\x09\x94\x25\xbd\xe8\xee\x05\x40\xbf\x51\x05\x20\x3e\x7a\xee\ +\x9d\xe8\xe0\x3c\x9b\x60\x3f\xa5\xda\x99\x69\xe3\x39\x92\xa1\x8a\ +\x8c\x5d\x2a\xcd\xed\xd7\x34\x17\x9a\x8d\xfd\x43\xb2\x33\xf9\xc6\ +\x76\x3e\xb5\x9f\x39\x4e\x66\xc0\x54\xd7\xea\xbc\xd7\xc0\x35\xda\ +\x1a\x90\x74\x00\x34\x8d\x35\x97\x7f\x00\xc0\xd8\x60\x63\x2b\x55\ +\x4f\xff\xdc\x3f\xd5\xad\x06\x6a\x20\x29\xb4\x0d\xb3\xf3\xa2\xc5\ +\xa0\x07\xd8\x63\x15\x02\x65\x94\x93\x02\xa4\x5b\xfe\xf1\x27\x80\ +\x06\x6a\xef\x3d\x08\x7a\x27\xa9\x79\x57\x03\x05\x32\xed\xe3\x3e\ +\xa0\x89\xfa\xf0\xbf\x4f\xb5\x66\x05\x5d\xc5\x97\x16\x03\x1e\x9d\ +\x19\xb7\x12\x64\xb3\xeb\xf2\x7b\xf2\x01\xf8\xcc\xb9\xd9\xb6\xa4\ +\x45\x06\xeb\x62\x21\x1e\x92\xe6\xfb\x93\xb6\xe0\x96\x86\xd9\x10\ +\xbf\xcb\xb4\xdf\xd0\x6a\xa4\x50\xfd\xac\x0e\x8b\xd4\x41\x01\x9e\ +\x4c\x64\x6e\x45\x01\x50\x40\xfa\xcb\x9f\x81\x14\xe8\xe7\x8f\x8c\ +\x0b\xd5\x5d\x1f\xb6\x97\xea\x77\x8f\x64\x27\x1c\x0f\x02\x90\x40\ +\x3f\xe0\x07\xa6\x6a\x3b\xbc\x82\x48\x69\x85\xef\xc1\xc2\x28\x90\ +\x63\x54\x4c\x9a\x03\xba\xc9\xca\xaf\xcf\x07\x32\xa4\xfc\xef\x69\ +\xa6\xed\x86\x26\x43\xd6\xe9\xec\xe5\xd9\xa0\x07\x65\xc2\x96\x05\ +\x70\x32\x09\x5f\xf9\x72\xe0\xb0\x73\x73\xb5\xdd\xe5\x9f\x23\x19\ +\xcf\x66\x63\xa3\xc0\x5a\x12\x6e\x89\x0f\x27\xbc\xce\xc2\xf1\x77\ +\xc1\x22\xa5\x97\xfb\xde\xbc\x22\x13\x38\xa8\xc9\x7f\xd8\x0b\x9a\ +\xe7\x2a\x5b\xf1\xa0\xaa\x67\x7a\xf6\x89\xdc\x78\xe7\x3c\xb5\xf4\ +\x1b\xa8\xf2\xed\x4f\x19\x04\x32\x4d\x7d\x8b\xef\x07\x6a\x25\xe3\ +\x7b\x0f\xaa\x0e\xaf\xf0\x8f\xfd\x8b\xd5\x51\x7e\x4f\x23\xbe\x26\ +\x2f\xf5\xdd\xc6\xda\x1b\xd4\xbf\xe9\xf2\x43\x07\xe1\xe8\xe8\x77\ +\xc1\x8e\x1f\xc7\x52\x1d\xfe\xbe\x7f\xd4\x7b\x0b\x40\xa6\xc9\x6e\ +\xdf\x85\x20\x69\xd6\x93\x8f\x4e\x14\x09\x1c\xf3\xf6\x7e\xc0\xc1\ +\x2c\x14\x42\x64\x7f\x91\xef\xe5\xe4\x27\x81\x28\xcd\xfd\xd5\x8d\ +\xa0\x23\x65\xb7\x77\xfe\xb9\x22\xbc\xe6\xb8\x8d\xb5\xef\xb5\xaa\ +\x4d\x39\xbf\xd3\x23\x39\x3d\xdc\xc6\xf6\x71\xfc\xd8\x4a\x27\x1c\ +\xc7\x0a\xde\xe4\x3b\x91\x38\x1a\x74\xbb\x4e\xcd\xf9\x36\xe8\x2e\ +\xa2\x8b\xdc\x40\x14\xd6\xe3\x97\x81\x2e\x92\x8c\xf2\x4b\x55\x63\ +\xf3\xfd\x03\xdb\x75\x1c\x2b\xc3\x77\xc5\xa8\x35\x40\xae\x6e\x49\ +\x9e\x0f\x7c\xca\x33\xe3\x4b\xc0\x9a\x2e\x0b\xef\xc9\x56\x8d\xdd\ +\xe4\xef\xb3\xd5\xdf\x71\x33\x3a\x33\x5a\xbe\xd3\xfd\x5f\x7f\xc5\ +\xd6\x5e\x3a\x5c\x80\x8d\x8e\x24\x38\xcd\x9b\x73\x75\x32\x58\x8f\ +\x69\xaf\xe5\x2b\x81\xa3\x52\x3c\xaa\x08\x58\x48\x46\x70\x11\xb0\ +\x90\xc7\xdf\xd9\x06\x52\xa6\xd7\xd4\x00\xcc\x63\x75\xed\x7a\x60\ +\x82\xec\x1e\x38\x1f\x70\x0b\x83\x93\x41\x7d\x9a\x38\x2e\x13\x38\ +\xaa\x69\xaf\x8f\x04\x99\xe6\x4a\x79\x64\xb8\xea\xf0\x8b\xfd\x6f\ +\xfc\xd9\xb1\x63\x5e\x11\x3a\x87\x4e\x13\x60\xa3\x43\x09\x14\x24\ +\xc5\x5e\x30\x05\xa4\xc1\x15\x3f\x6c\x1d\x50\xae\x9e\x19\x23\x08\ +\x7f\x24\x3f\x49\x53\x1a\x5c\x80\x25\x55\x6f\x24\x01\x73\xa5\xf8\ +\x99\xab\x40\x83\x96\xf5\xee\xa7\xaa\x9e\x45\x91\x23\xf9\xe7\x2f\ +\x9d\x2e\xc0\x08\x11\x9a\x12\xf9\x57\x5c\x84\x2e\x25\x22\xc0\x08\ +\x5d\x4a\x44\x80\x11\xba\x94\x88\x00\x23\x74\x29\xff\x01\x99\x98\ +\x0a\xf9\x66\x56\x34\xd4\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +\x00\x00\x01\x04\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\xbe\x49\x44\x41\x54\x38\x4f\xad\x93\xe1\x11\xc2\x30\x08\x85\x61\ +\x93\xba\x49\xdd\x80\x6c\xa0\xa3\x38\x49\xbb\x01\x6c\xd0\x51\xcc\ +\x26\x78\x78\x8d\x47\x52\x12\xef\xac\xfd\x93\xeb\x01\x1f\x8f\x17\ +\x82\x70\xf2\xc3\x93\xf5\x50\x01\x88\xe8\x26\x22\xeb\x08\x4a\x44\ +\x93\xc5\x45\x24\xdb\xf9\x01\x58\x00\x11\x9f\xaa\xba\x8a\xc8\x3d\ +\x82\xec\x39\x8b\xaa\xe6\x92\x73\x50\x80\x88\x96\x70\x80\x94\x62\ +\x00\x98\x98\xf9\x52\x1a\x1c\x3c\xb0\x31\x5a\x48\xaf\xb8\x1a\xc1\ +\x4b\xf6\x10\x00\x78\x18\xb0\xed\xdc\x55\x50\x02\x05\xb2\xff\x67\ +\x2f\xdb\x37\xeb\x5e\xa3\x93\x3d\x8f\x8c\x0d\x01\x7e\x66\x55\x7d\ +\x8f\xd0\x83\x44\x26\xda\x75\x56\x33\x47\xc6\x86\x1e\x8c\xdc\xee\ +\x41\x2a\x05\x29\xa5\xad\xe7\xb6\x75\x8c\x20\xed\x26\x2e\xcc\x7c\ +\xfd\xb2\xca\xb3\x35\x29\x2b\xff\xdf\xc7\xf4\xcb\xcb\x7c\x01\x0c\ +\xe7\x7e\x11\x00\xde\x38\xf7\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ +\x42\x60\x82\ +\x00\x00\x14\x0c\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\xc8\x00\x00\x00\xc8\x08\x06\x00\x00\x00\xad\x58\xae\x9e\ +\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x13\ +\xc6\x49\x44\x41\x54\x78\x5e\xed\x9d\x41\x8f\x1c\x47\x15\xc7\xab\ +\x7a\x8d\x50\x4e\x80\x37\x48\x20\x90\xb2\xde\x05\xce\x91\xe0\x02\ +\x1c\x6c\xdf\x91\xc8\x09\x71\x00\xd9\x7b\xe1\x0b\x20\x21\x32\x8e\ +\xe4\xac\x14\xaf\x73\xc8\x37\xc8\xc1\xeb\xe4\x80\x84\xc4\x21\x9f\ +\xc0\x63\xb8\x70\x00\x45\xe2\x84\xc0\xde\x9d\x1c\x80\x03\x99\x28\ +\x12\x12\x07\xe4\xe9\x42\xd5\xd3\x3d\xee\x9d\x9d\x99\x7a\xef\xd5\ +\xab\xea\xaa\xea\xb7\x97\x75\xb2\xd5\xd5\x55\xff\x7a\xbf\x7a\xef\ +\x55\x57\x57\x6b\x25\x3f\xa2\x80\x28\xb0\x55\x01\x2d\xda\x88\x02\ +\xa2\xc0\x76\x05\x04\x10\xb1\x0e\x51\x60\x87\x02\x02\x88\x98\x87\ +\x28\x20\x80\x88\x0d\x88\x02\x34\x05\xc4\x83\xd0\x74\x93\xab\x46\ +\xa2\x80\x00\x32\x92\x81\x96\x6e\xd2\x14\x10\x40\x68\xba\xc9\x55\ +\x23\x51\x40\x00\x19\xc9\x40\x4b\x37\x69\x0a\x08\x20\x34\xdd\xe4\ +\xaa\x91\x28\x20\x80\x8c\x64\xa0\xa5\x9b\x34\x05\x04\x10\x9a\x6e\ +\x72\xd5\x48\x14\x10\x40\x46\x32\xd0\xd2\x4d\x9a\x02\x02\x08\x4d\ +\x37\xe7\x55\xaf\x7e\xeb\xad\x5b\xc6\xd4\x07\xca\xa8\x9b\xab\xc2\ +\xc6\x1c\x34\xff\xd6\x7a\xf9\x7b\xf9\xd3\xff\xf7\xac\xf9\x3f\xc6\ +\x2c\x7f\x2f\xcb\x36\xff\x36\x4a\xcd\xaa\xaa\x7a\x6a\xff\xfd\xe2\ +\xc5\x8b\xd9\xe7\xb3\x77\x5f\x96\x71\xb6\x46\x0a\x50\x15\x10\x40\ +\xa8\xca\xb5\xd7\xed\x1f\x4d\xee\x1a\xa3\x5e\xd3\x4b\x43\xbf\xb5\ +\xc1\xe8\x3d\xef\xb0\xf5\xf2\x59\x03\x92\xd6\xb3\x0e\x1e\x01\x87\ +\x5f\x6a\x01\x04\xa9\xa9\x05\xa2\xf5\x0a\x16\x86\xfe\xec\x8f\xac\ +\x29\x50\x71\x63\xa6\x46\xeb\xa9\xf5\x36\x02\x8c\xbf\xc6\x02\x88\ +\x43\xc3\xe4\x81\x70\xd9\x80\x00\xe3\x52\x68\xe7\xdf\x05\x90\x0d\ +\xf2\xf4\xa0\xb8\xeb\xa5\x6e\x9a\x17\x9f\xe9\xaa\x7a\xfc\xe9\xb3\ +\x77\xa6\x69\x36\x2f\xad\x56\x09\x20\xbd\x5c\xa2\x0d\x9d\x4a\x84\ +\xe2\xaa\xd5\xb5\x9e\xa5\xae\xeb\xc7\x92\xf0\x6f\x87\x72\xd4\x80\ +\x7c\xf9\xe0\xd7\x07\x7b\x55\x75\xbf\x4d\xae\xd3\xcb\x27\x62\x4d\ +\xa6\xc6\x4c\x55\xa5\x1f\x2f\x16\xf5\x54\x60\xb9\x2c\xfa\x28\x01\ +\x69\x96\x60\xeb\xfa\x8e\x52\x6a\x1c\xde\x02\x01\x9a\x51\xea\x6d\ +\xf1\x2a\x2f\x05\x1b\x15\x20\x0d\x18\x8b\xc5\x7d\xa5\x75\xb7\x1c\ +\x8b\x30\x9d\xd1\x15\x3d\x5b\xd4\xf5\xc9\xd8\x3d\xca\x28\x00\x69\ +\x92\xee\xda\xdc\x11\x30\x48\x90\x8f\x1a\x94\xa2\x01\x11\x8f\x41\ +\x02\x62\xdb\x45\xa3\x04\xa5\x58\x40\xf6\x6f\xbc\xf9\x44\x3c\x06\ +\x2b\x20\xcb\xca\xb4\x3a\x1e\x53\x32\x5f\x1c\x20\xed\x33\x8c\x47\ +\x01\x4c\x23\x54\x95\x9b\xf6\x54\xa5\xbd\xa2\x66\xcc\x74\x61\xcc\ +\xf1\x18\xf2\x93\x62\x00\x49\x2e\x9c\xb2\x4b\xa7\xed\x3e\x29\xad\ +\xd5\x27\x76\xd6\xed\x08\x83\x1a\x96\x5d\x86\xb6\xd7\x5c\xbb\x76\ +\xad\xf9\x5d\xd7\xf5\x4d\x6d\xcc\x72\x81\x61\xb9\xe1\x71\x68\x90\ +\x8a\x0f\xbb\x8a\x00\x24\x81\x70\xea\x4c\x69\xf5\x54\xeb\x6a\x16\ +\x73\xff\x93\x05\xc8\xc2\xb3\x02\x67\x28\x68\xb4\x3a\x9e\x3f\x3f\ +\x3d\x0b\xe5\x62\x87\xac\x37\x6b\x40\xda\xe7\x19\x36\x9c\x8a\x3d\ +\x93\x9e\x75\x3b\x68\x53\xdb\xb2\x61\x35\x19\x08\x98\x22\xbd\x49\ +\xb6\x80\x5c\x3f\x9c\xdc\xd7\x4a\xbd\x1d\x71\x76\x69\xbc\x44\x6e\ +\x33\x65\x2f\xf4\x8c\x11\x92\xcd\x16\x75\x7d\x1b\x1a\x42\x46\x1c\ +\x3b\xf2\xad\xb2\x03\xa4\xd9\x1e\xa2\xf5\xa3\x28\x2b\x54\x85\x6d\ +\xc1\x88\xf6\x3c\xa8\xa0\x90\x2b\x2b\x40\xda\x90\xea\x09\x79\x3a\ +\x80\x5f\x58\x64\xb8\xd0\x75\x7f\x15\x86\x2d\xb7\xda\x84\x0a\x4f\ +\x8b\xd0\x30\x1b\x40\x62\x84\x54\x76\x1f\xd2\x67\xe7\xa7\x27\x70\ +\x8e\xf2\x2f\xd9\x2e\x8b\xdb\x0d\x9b\x21\x40\xc9\x3e\xe4\xca\x02\ +\x90\xe0\xab\x54\x05\x85\x04\x54\x64\x83\x82\x92\xb1\xbe\x49\x03\ +\x12\x3c\xdf\xc8\x78\xe0\xa8\x20\xb8\xae\x0b\x06\x4a\xa6\x5a\x27\ +\x0b\x48\xfb\xae\x86\xcd\x37\xd8\x5d\xff\x18\x43\x29\x17\x18\xeb\ +\x7f\x6f\x43\x5a\xd6\x1c\x25\x47\xdd\x93\x04\x24\x58\x32\x6e\xcc\ +\x54\xef\xed\x9d\xa4\xf6\xec\x02\x6b\xbc\xb1\xca\x87\xf0\xe0\xb9\ +\x41\x92\x1c\x20\xa1\xe0\xd0\x55\x75\x5b\xc0\xa0\xa1\xc5\xfd\x40\ +\x36\xa7\x97\xb2\x92\x02\x24\xc8\x46\x43\x63\xa6\xf3\x8b\x87\xb7\ +\x69\xa6\x21\x57\xf5\x15\xd8\x3f\x9c\xd8\x5d\x0b\x3c\x6f\x61\x66\ +\xb2\xe1\x31\x19\x40\x42\x78\x0e\xf1\x1a\xfc\x80\x73\x26\xf1\x39\ +\x78\x92\x24\x00\x09\x00\xc7\x4c\x57\xd5\xb1\x84\x54\xfc\x80\xd8\ +\x1a\x39\x17\x50\x52\xcf\x49\x06\x07\x84\x1d\x0e\x09\xa9\xc2\x50\ +\xb1\xa1\x56\xae\x87\xb7\x29\x43\x32\x28\x20\xed\x4c\x74\xc1\x35\ +\xa2\x12\x52\x71\x29\x09\xaf\x87\x2b\x81\x4f\x15\x92\xc1\x00\x11\ +\x38\xe0\x46\x98\x7a\xc9\x92\x21\x19\x04\x10\xce\x18\x56\x29\x25\ +\xf9\x46\x02\x04\x71\x8d\x69\x6a\x51\xc0\x20\x80\x30\xee\xad\x12\ +\x38\x12\x80\xa3\x6b\x02\x17\x24\x8b\xba\xbe\x91\xca\x3b\x25\xd1\ +\x01\xe1\x4a\xec\xac\xe7\x98\x9f\x9f\xde\x48\xc8\x3e\xa4\x29\xad\ +\x02\xfb\x87\x13\x9b\x57\xfa\x6c\x11\x4a\x66\x17\x70\x54\x40\xd8\ +\x56\xac\x64\xa5\x2a\x79\x18\x7d\xa3\x84\x54\x92\xf6\x68\x80\x30\ +\x26\xe5\xe2\x39\x92\xc7\x63\xd9\x40\x5f\x4f\x92\x02\x24\xd1\x00\ +\xf1\x9d\x51\x5a\x9b\x28\x0a\x0e\x3b\x69\x54\x55\x75\xa7\x39\xca\ +\xc7\x7e\x8b\x30\xc3\x77\xde\x77\xb1\xca\x91\x93\x0c\x9d\x8f\x44\ +\x01\x84\x2b\xef\x48\x6d\x85\x83\x3a\x91\xf7\x3e\xbb\xb0\x69\x5f\ +\x53\x32\xf1\x37\xb5\x7f\xfd\xeb\x18\x20\x19\x54\x8f\xe0\x80\x70\ +\xe5\x1d\xa5\xc0\xd1\x84\x1e\xee\x63\x51\x07\x35\x0a\x0e\x30\x38\ +\x21\x19\x32\xd4\x0a\x0e\x88\x6f\x1c\x6a\x85\x2e\x09\x0e\xb0\x37\ +\x2d\x6c\x21\xc2\xf7\x61\xe2\x50\xa1\x56\x50\x40\xc0\xc6\xb0\x63\ +\xca\x1a\x72\xf6\xe0\x9e\x49\xdb\xc4\xd5\x00\xeb\x2d\x2a\xdf\xb2\ +\x7d\xf6\xb4\x87\x41\xbc\x6a\x30\x40\x58\x56\xad\xca\x9c\x45\xc1\ +\xc7\x16\x95\xe4\x39\xbb\x49\x01\x10\x5e\x6e\x9d\x3f\x86\x98\x2c\ +\x83\x01\xe2\x23\x44\x89\x2b\x56\xb6\x4f\xd8\x7c\xac\x44\x40\x7c\ +\x97\x7f\x63\x87\x5a\x41\x00\xc1\x1a\xc2\xa6\x29\xa3\x44\xe3\xc0\ +\xea\x52\xa2\x06\x76\xac\x7d\x56\xb6\x62\x7b\x91\x20\x80\xf8\x26\ +\xe6\xb1\x45\x00\xe6\x04\xde\xc5\x04\x90\x97\x12\xfa\xe4\x23\x31\ +\xbd\x08\x3b\x20\x3e\x1d\x2f\x35\xb4\xea\xcc\x42\x00\xb9\x3c\xc7\ +\x78\x84\xe1\xd1\x12\x76\x56\x40\x38\x12\xf3\x52\xc3\x0a\xc9\x41\ +\xae\x3a\xe0\x1c\x42\x2d\x56\x40\x7c\xbd\x47\xa9\xa1\x95\x78\x90\ +\xed\xd1\xa9\x87\xcd\x44\xf1\x22\xac\x80\xec\x1f\x4e\xa0\x6b\xfc\ +\x9b\x14\x2b\x6e\xdd\x7f\xbd\x93\x12\x62\x6d\x06\x85\x9c\xb3\x46\ +\x38\xce\x94\x0d\x10\x8f\x99\xa0\x51\xad\x74\xef\x21\x21\x56\x9e\ +\x5e\x84\x0d\x10\xf2\x2c\xb0\xd4\xad\x78\xef\x21\x80\xec\x5e\x04\ +\x24\x1f\x4a\x17\xd8\x8b\xb0\x00\xe2\xeb\x3d\x4a\x4e\xcc\xfb\x66\ +\x21\x21\xd6\x76\x48\xc8\x09\x7b\xe0\xdd\x16\x2c\x80\x78\x79\x8f\ +\xc0\x1d\xf4\x7e\x78\xd1\x56\xb0\xf6\xee\x46\xf7\x3a\xe9\x74\x51\ +\xd7\x27\xd0\xf7\xa7\x43\x02\xf2\x95\xa3\x37\x7f\xb8\x67\xd4\xb1\ +\x51\xfa\x47\x4a\xa9\x57\x94\xd2\xbf\x57\x46\xfd\x76\x7e\xf1\xe0\ +\x43\x2e\x0d\x42\xd7\x93\xa2\x17\xf1\x06\xc4\x77\x69\x37\xe6\x43\ +\x1f\xea\x00\x3b\xce\x0c\x9e\x19\xa5\xce\x20\x5f\xa6\x0a\x05\xc8\ +\x2e\xc3\xd2\x4a\xfd\x45\x57\xf5\xdd\x7f\x3f\x7b\xf7\x63\x6a\xff\ +\x63\x5d\x47\xb6\xa5\x80\x93\xac\x37\x20\x9e\xe1\x55\xf2\xb9\x07\ +\xd0\xa8\x41\xa7\xab\x00\xeb\x5a\xd9\x23\x24\xf4\xbc\x7e\x34\x79\ +\x4f\x1b\xf5\xcb\xdd\x46\xac\xff\x3c\x3f\x7f\xf0\xbd\x58\x86\xee\ +\x73\x1f\xaa\x17\x09\x35\xd1\x7a\x03\xe2\xb3\xb4\x0b\x31\x00\x1f\ +\xb1\x39\xae\x45\x3c\xed\x75\xc2\xce\x0d\xc8\x57\x0f\xdf\xfa\x76\ +\xad\xea\xbf\x81\xfa\x59\xe9\x37\xe6\xcf\x1e\x7c\x04\x2a\x3b\x60\ +\x21\xac\x46\x5d\x53\x43\xad\x82\x7a\x01\x52\xba\xf7\xb0\xe2\x63\ +\x26\x80\xf9\xf9\xe9\x4e\x3d\xb1\x83\xef\x9a\x40\x50\xfa\x1b\xf5\ +\xc1\xfc\xe2\xf4\xce\x80\xb6\x0f\xbe\x35\xd1\x8b\x38\x27\x28\x70\ +\x03\x7a\x05\xbd\x00\x21\x76\x64\x79\xfb\xc0\xcb\x73\x14\x31\xd6\ +\xaf\xe1\x36\x68\xee\xfa\x10\xde\xcd\x76\xed\xef\xf3\xf3\xd3\xef\ +\x70\xe8\x12\xba\x0e\xac\x4e\x5d\x7b\x42\x84\x59\x64\x40\xc8\x09\ +\xd5\xb2\x37\x41\x68\xe7\x1e\x38\xec\x40\xb9\x66\x7c\xee\xfa\xf6\ +\x0f\xef\xfd\x4b\x29\xf3\x35\x50\xbf\x8d\x59\xcc\x2f\x1e\x5e\x03\ +\x95\x4d\xa0\x10\x65\x65\x34\x44\x98\x45\x06\x04\xe5\xde\xd7\x04\ +\x0f\xd1\x91\x10\x63\xca\x6d\xd0\xdc\xf5\xed\x1f\xde\xfb\x93\x52\ +\xe6\xbb\xd0\xbe\xbb\x42\x40\x68\x3d\x31\xca\x51\xed\x8b\xdb\x8b\ +\x90\x01\x41\xba\xf7\x4b\x9a\x72\x77\x22\xd4\x80\x71\x1b\x34\x77\ +\x7d\x28\x40\xb4\xfa\xe7\xfc\xf9\xe9\x37\x42\x69\xc5\x5d\x2f\x39\ +\x42\x61\x0e\xdd\x49\x80\x90\x1b\x9f\x51\x78\x65\x9b\xca\x6d\xd0\ +\xdc\xf5\x95\x0c\x48\xb3\x40\xe2\x3e\x1e\x69\x13\x97\x67\xf3\xf3\ +\xd3\x63\x2e\x60\x49\x80\x60\x07\xba\xdf\xd8\x5c\xc2\x2b\x01\x84\ +\xcb\xc4\xe8\xf5\x50\x3f\xea\xca\x19\x4a\x92\x00\xa1\xc6\x87\x56\ +\x2a\xce\xc6\xd3\xa5\x87\x5d\x89\x9d\x08\x06\x48\xd2\xe1\x39\x48\ +\x66\x21\x56\x37\x42\x94\x64\x9d\x33\x84\x27\x01\x42\x74\x7d\xb6\ +\xcf\xac\xee\x0f\x66\xe6\xf4\x52\x02\x08\x5d\x3b\xae\x2b\x49\x8f\ +\x12\x18\xf3\x10\x34\x20\x3e\xf9\x47\x4e\xe1\x95\x84\x58\x5c\x26\ +\xee\x57\x0f\x31\xcc\x62\x9b\x88\xd1\x80\x60\x67\xd5\xbe\x3c\x39\ +\x85\x57\x02\x88\x9f\x61\x73\x5d\x4d\xb5\x37\xae\x30\x0b\x0d\x88\ +\x47\xfe\x11\xfd\xe1\x60\xb7\x45\xdd\x0e\x96\xd6\xea\x13\xad\xab\ +\x19\xe6\xdb\xe9\xd8\xc1\x29\x2d\x07\xf1\xd5\x8f\x0b\x92\x21\xf3\ +\x10\x34\x20\xd4\xfc\x23\x66\x78\xd5\x84\x81\x5a\x3f\x52\x5a\xdf\ +\xda\x30\x48\xe0\x97\xfd\xc7\x0a\xc8\x2e\xfd\x62\x8e\x63\x2f\x51\ +\x7f\xa4\x94\xda\xf4\xa9\x88\xed\x0c\x32\xe5\x21\x78\x40\x88\x07\ +\x33\xc4\x14\x16\x30\xe3\x80\x20\x19\x2b\x20\x10\xfd\x62\x7e\x1f\ +\x92\x94\x87\x30\xbd\x23\x82\x02\xc4\x27\x41\x8f\x95\x7f\x80\x57\ +\x3d\x00\x02\x8e\x11\x10\xb0\x7e\x91\x57\x24\x31\xbb\xaa\x5b\xb7\ +\xc2\x12\xd2\xa3\x00\xc1\x1a\x4c\xcf\xff\xb1\x34\x16\x12\xd3\x62\ +\x84\x74\x41\x8b\xed\x6f\x09\x39\x08\x42\xbf\x68\x63\xda\x3c\x55\ +\x27\x7c\x39\x97\x23\x51\x47\x01\xe2\x91\xa0\xb3\x2d\xbb\xed\x82\ +\x04\xeb\xe1\x62\x1b\x34\x37\x70\xdc\x5b\x4d\xb8\xf5\x83\x4c\x68\ +\xd0\x32\x08\xcf\xb6\xaa\x32\x1b\x40\x62\xe5\x1f\x58\x03\x74\xbd\ +\x93\x82\xad\x2f\x36\x70\xdc\x80\x60\xfb\xeb\xd2\x0f\x6a\xfc\x90\ +\x72\x14\x40\x38\xda\x87\xf2\x20\xd4\x15\x2c\x8e\x86\x42\x44\xe4\ +\x1e\x60\x6c\x7d\x02\x08\x64\x94\x68\x65\x48\x89\x3a\xc3\x4a\x16\ +\x0e\x10\x42\x1c\xd8\x3c\x83\xa8\xaa\xdb\x98\xe7\x0f\x34\x09\xf1\ +\xbb\x6f\x5d\xe0\x0a\x20\x8e\x91\x60\x30\x40\xe8\x58\x63\xc7\xa2\ +\xad\xd7\x3b\xb4\xc7\x02\x42\x3a\x7b\xd7\x95\x0c\x43\x45\x72\x95\ +\x43\x8b\xe8\x18\x60\x6c\x7d\xae\x89\x80\xbb\xbe\x31\x85\x58\x6d\ +\xa2\x8e\xb3\x3f\xc0\x4a\xa5\xcb\xa6\xc0\x80\x60\x13\xb8\x21\x56\ +\xb0\xb0\x06\x28\x1e\xe4\xb2\x79\x70\xeb\xe7\x32\x3e\xec\xdf\x29\ +\x2b\x59\xbe\x93\x33\x18\x10\xb4\x78\x5d\xef\x19\x28\x86\x0a\x89\ +\x6e\xa3\x78\x90\x4b\xd2\x72\xeb\x07\x1d\x37\x68\x39\x4a\x0e\xec\ +\xbb\x92\x15\x1c\x90\x58\x2b\x58\x56\x64\xee\x01\xc6\xd6\x27\x21\ +\x16\xd4\xd4\x69\xe5\x28\x2b\x59\xd1\x00\x21\xad\x22\x44\xfe\xac\ +\x01\xd6\xa0\x25\xc4\xca\x2e\xc4\x42\xef\xc9\x12\x40\x7a\x63\x2c\ +\x80\xec\x98\x99\x01\x6f\x14\x72\xeb\x47\xf3\x13\xdb\xaf\xa2\x78\ +\x10\x97\x57\x77\xb5\x11\x1c\x62\x89\x07\x71\x49\xe9\x5e\xce\xc6\ +\x1a\xa0\x6b\x70\xc7\xb6\x8a\x45\xd9\xc9\xe1\xd2\xd0\x35\xaa\x60\ +\x40\x28\x8d\x6b\x6e\x9e\xf2\x5a\xb9\x24\xe9\x59\x25\xe9\x24\x1b\ +\xf4\xb4\x3f\x01\xe4\xf9\xe9\xd9\xb6\x59\x84\x7b\xc6\xe7\xae\x6f\ +\x6c\x1e\x84\x14\xc5\xa4\x0e\x88\xaf\x8b\x73\xb9\xc0\xfe\xdf\xb1\ +\x06\xe8\xf2\x6e\xd8\xfa\x5c\x7d\xe5\xae\x4f\x00\x01\x58\x47\x2c\ +\x40\x28\x09\x52\x13\x61\x45\xda\x66\x22\xcb\xbc\x0e\x63\x29\x20\ +\x49\xc7\x4e\x30\x56\x11\xdf\xc7\x0c\xe0\x10\x4b\x00\x71\xcf\x56\ +\xae\xc9\x00\x3b\xc0\xae\xfa\xc4\x83\xb8\xc7\x24\x1a\x20\xa4\x04\ +\x49\x3c\x88\x57\x12\x2c\x80\x5c\x06\x80\x92\x83\x44\x03\x84\xd2\ +\x38\x59\xc5\xf2\x7b\x10\x27\x80\x5c\xd6\x8f\x34\x49\x47\xcb\x41\ +\x8e\x26\x77\x95\x51\xf6\x49\x26\xee\xc7\xb3\x81\x98\x9b\x61\x43\ +\x18\x49\xd2\xfd\x00\x76\xe9\x87\x19\x3b\x48\x59\x01\x04\xa2\xd2\ +\x8e\x32\x02\xc8\x0e\x71\x0a\x48\xd2\x29\x80\xb8\xbc\xb0\xcb\xe4\ +\xc0\x49\x3a\xda\xf8\xda\x3b\xfb\xc6\x80\xae\x0e\xc8\x32\x2f\xf0\ +\x03\x3a\x05\x00\x42\x59\x28\x12\x40\x7a\x84\xa0\x21\x96\x27\xe9\ +\x5e\x8b\x08\xb1\x43\x2c\xca\x76\xf7\xe4\x01\x89\x79\xa2\xbb\x00\ +\x52\x76\x88\x45\x79\x61\x2a\xda\x6e\x5e\xf2\x1b\x85\xf2\xc2\xd4\ +\xca\x6a\xb1\x00\xbb\x66\xbf\xd1\x3d\x07\x21\x9c\xea\x19\xed\x8d\ +\x42\x3b\xca\x14\x82\x63\x7e\xd1\x16\x0b\xb1\x6b\x76\xe1\x36\x68\ +\xee\xfa\xb8\x01\xc1\xea\xe7\x02\x18\x93\x3f\xee\x2a\xdb\xb4\x6b\ +\xaf\xba\x45\x58\x45\xf5\x3e\xdc\x0e\x9c\xa4\x7b\x00\xa2\x5c\x86\ +\xc8\x25\x64\xdb\x46\xf0\x8b\xfd\xae\xd9\x85\xdb\xa0\xb9\xeb\xe3\ +\x06\x04\xab\x5f\xc8\x71\x6d\x9e\xbb\xd5\xe6\xce\x96\x03\xc8\x61\ +\x26\xc3\x10\xbd\x60\x01\x41\xbf\xd1\x65\x7b\x12\x52\xc8\x75\xa5\ +\xa0\x4b\x81\x90\xd5\x35\x6e\x83\xe6\xae\x2f\x04\x20\x50\xfd\x14\ +\x83\xf1\xad\x8f\x5d\xeb\xc1\xee\xa3\x4f\x72\xdf\x8e\x4b\xf4\x63\ +\x7f\x48\x80\xc4\x5c\xed\x70\x7c\xfa\xa0\x93\x12\xe4\x7a\xb9\x0d\ +\x9a\xbb\xbe\x10\x80\x70\xea\x07\x9b\xe6\x97\xa5\xc0\x60\x22\x2a\ +\x85\x4c\x82\xae\xea\x70\x1e\x24\x83\xa7\xe9\xb6\xc3\xdd\x87\x5f\ +\xb4\x52\x6f\xaf\x0b\x80\x11\x8d\xdb\xa0\xb9\xeb\x0b\x01\x08\xa7\ +\x7e\x2e\xe3\xeb\xee\xb5\xe3\x5b\x2e\x90\x2a\xb6\x96\xc1\x8c\xf5\ +\xb6\x4a\x50\x80\x60\x07\xb8\x77\x53\x6f\x57\x47\x51\x6a\x95\xdc\ +\x35\x5f\x98\xc2\x7d\x5d\xca\xde\x0f\xdb\x5f\x57\xd2\xca\x5d\x5f\ +\x28\x40\x3a\xad\x7d\xf5\x73\x8d\x19\x56\x0f\x57\x7d\x3e\x93\x21\ +\x0b\x20\xd8\x24\x6e\x75\xd3\x00\xf1\x2a\x56\x2c\x4a\x79\xec\x00\ +\x96\x06\x08\x45\x33\xe8\x35\xd8\x15\x33\x68\xbd\xdc\x90\xa0\x3c\ +\x48\x0b\xc8\x85\x52\xea\x00\xdb\xe0\x98\x89\x3a\xb6\x6d\xdb\xca\ +\x0b\x20\x5c\x4a\x5e\xae\xa7\x85\xe3\x09\xc5\x8e\x28\x2d\xf2\x09\ +\xb5\xf0\x80\xdc\x78\xf3\x09\x69\xe9\x2d\xe2\xae\x5e\x8a\x88\x9b\ +\xae\x11\x40\xb8\x94\xbc\x5c\x0f\x65\xcb\x88\x77\x4b\x88\xf6\x87\ +\x06\xc4\x63\xb5\x61\x90\x3c\xc4\x47\x58\x01\xc4\x47\xbd\xcd\xd7\ +\x92\xdf\x2b\xf2\x6f\x0a\xe8\xbb\x94\xeb\xb7\x41\x03\x82\x35\x9a\ +\x9c\xf3\x10\x6c\x5f\x25\x07\x71\x5b\x31\x71\x37\x86\xbb\x62\x40\ +\x09\x4a\xa8\x85\x06\x64\x4c\x79\x88\x00\x02\xb0\x3a\x44\x11\x8f\ +\xe8\x03\x71\x97\xdd\x45\xb1\xb9\x30\x0d\x90\x91\xe4\x21\x02\x08\ +\x9b\x5d\x36\x15\x0d\x92\x7b\x5c\x8d\x99\x8e\xe7\x3b\xce\x42\xf3\ +\x0e\xb1\x6c\x05\x1e\x33\x41\x56\x79\x88\x00\xc2\x07\x48\xac\x65\ +\x5d\x40\x8b\x51\x36\x48\xf2\x20\x58\xc3\xe9\x37\x1a\xeb\xe2\x00\ +\x1d\x0e\x56\x04\xdb\xcf\xf8\x39\xc8\xe4\x73\xa5\xd4\x97\xa0\x02\ +\xb8\x36\x67\x42\xeb\xa1\x94\xf3\x98\x54\x29\xb7\xdb\x79\x0d\x46\ +\x07\x12\x20\x3e\x79\x48\xcc\x7d\x59\xbe\xca\xa6\x0e\xc8\xf5\xc3\ +\xc9\xc7\x5a\xa9\xd7\x81\xfd\xfc\xc7\xfc\xfc\xf4\x9b\xc0\xb2\xec\ +\xc5\x52\x02\x04\x33\x49\xd3\x01\xa1\xe6\x21\x19\x3d\x55\xc7\x86\ +\x05\x2e\xe1\xb9\x81\xdb\x3f\xba\xf7\x81\x32\xe6\xe7\x20\x6b\x36\ +\xea\xa3\xf9\xc5\xe9\x1b\xa0\xb2\x01\x0a\x51\xde\x27\x0f\xd0\x8c\ +\xa6\x4a\xd7\x38\xf5\xef\x4b\x07\x84\xba\x71\x11\xd9\xc0\x50\x22\ +\x41\xeb\xdd\x47\xbc\xc5\xe6\x72\xdd\xec\x80\xdc\x98\xfc\x4c\x69\ +\xf5\x21\xa4\x2f\xda\x98\x5f\x7c\x7a\xf1\xf0\x7d\x48\xd9\x10\x65\ +\x92\x48\xd0\xdb\x8e\x45\x01\xc4\x27\xcc\xa2\xac\x47\x87\x18\x34\ +\x48\x9d\xd0\x07\x5b\x90\x3e\x71\x03\xd2\x8e\xc1\x7f\x95\x52\xaf\ +\x38\xfa\xb2\x98\x9f\xbf\xfe\x45\xa5\x7e\xb2\x80\xf4\x39\x44\x99\ +\x71\x02\x42\x0d\xb3\x94\x22\x3d\xd5\x0c\x31\x70\xae\x3a\x41\xef\ +\x47\x00\xc3\xc6\x10\x80\xbc\x7a\x34\xf9\xa9\x31\xea\x37\x3b\xfb\ +\x41\xdc\x66\xe1\xd2\x06\xf3\xf7\x94\x42\x2c\x97\xa7\x67\x09\xb1\ +\x9a\xd9\xcb\x23\xcc\xca\x29\x59\x4f\xf5\xfd\x92\x6e\x20\xaf\x1f\ +\xdd\xfb\x81\xae\xcd\xaf\x94\x56\x3f\x5e\x33\xda\xdf\x99\x5a\xbf\ +\xf7\xd9\xec\xc1\x1f\x31\xc6\x1c\xa2\xec\x28\x01\xf1\x09\xb3\x42\ +\xbc\xb2\x19\x62\x60\xfb\x75\x5a\x50\xec\x7f\xdb\x03\x04\x52\x78\ +\xbf\x64\xbd\xbf\xaf\xbe\x36\xf9\xba\xd9\x33\xdf\x57\x5a\xd5\xff\ +\xfb\x82\xfa\xc3\x7f\xfe\xfa\x70\x1e\x5a\x13\x68\xfd\x5e\x93\x29\ +\xf4\x26\xb0\x72\xa0\xb7\x49\xbb\xaa\xc8\x49\x7a\x57\x81\xd7\xcc\ +\x90\x80\xeb\x87\x69\xca\x53\x2a\x44\x88\xc5\xd3\xb2\xf0\xb5\x60\ +\xfb\x1e\xaa\x45\x90\x5c\x91\x2d\xc4\xf2\x0e\xb3\x80\xb1\x7b\x28\ +\xb1\x62\xd7\x8b\x35\x12\xd7\x83\xc7\xd8\xed\xf7\xbd\xdf\x90\x1b\ +\x15\x57\x1e\x01\xf9\x41\x27\x6f\x0f\xe2\x15\x66\x65\xb6\xe4\xeb\ +\x6b\x20\x02\xc8\x84\x76\xe8\x87\xaf\xf0\x2f\xaf\x47\x85\x57\xf6\ +\x32\x16\x40\xbc\x9e\x92\x8e\xc8\x8b\x8c\x1d\x90\xb6\xff\x16\x12\ +\xf4\x1b\xa9\x1c\x8c\x60\xc3\x2b\x36\x40\x7c\x5f\xa1\xc4\x3c\xb8\ +\xe1\x10\x6a\xa8\x3a\xc6\x0e\x48\x1b\x6d\x0c\xe5\x45\xd0\xde\x83\ +\x0d\x10\x86\x8e\x67\xf3\x5c\xc4\x07\x2e\x01\x64\x79\x24\xd3\x5e\ +\x55\x45\x7b\x1f\xbd\x1b\x2f\x8a\xf7\x60\x05\xc4\xb7\xe3\xd4\x0e\ +\xf8\x18\x6c\xec\x6b\x05\x90\xa5\xe2\x5e\x21\x39\x65\xd0\x3c\xc2\ +\x78\x96\x1c\xa4\x6b\xb3\xd7\x92\xef\x08\x12\x76\x01\xe4\xa5\x75\ +\x47\x84\x84\x14\x5a\xad\x56\xbd\x28\x40\x6e\xbb\x06\x6b\x00\xeb\ +\xf5\x94\xee\x45\xb0\xfa\x94\xb6\xcc\xbb\x3e\xde\xbe\x13\x2a\xc0\ +\x76\x67\xba\xaa\x8e\x3f\x7d\xf6\xce\x14\x50\x76\x63\x11\x56\x0f\ +\xc2\x90\x8b\xa8\x92\x8d\x82\x7b\xfb\x3c\x75\xd0\x53\xba\x2e\xa0\ +\x27\x61\xc9\x6b\xd9\x01\x61\x58\xca\x63\xe9\x58\x4a\x46\xd0\x6f\ +\x0b\xe7\xf6\xf9\x54\xfb\x88\x6d\x57\x0b\xc9\x5d\xc6\xe5\x5f\xd4\ +\x6b\xb5\xbb\xda\xcb\x0e\x08\x47\x12\x56\x72\xa8\x05\xdd\x93\x54\ +\xb2\x06\xdb\x0c\xb2\x0d\xb9\x6e\x91\x41\x31\x66\xaa\xf7\xf6\x4e\ +\x7c\x42\xaa\xf5\xb6\x05\x01\xc4\x77\x45\xcb\x36\xb2\x54\x03\xe1\ +\xdc\x3e\x8f\x9d\xa9\x73\x28\xbf\xda\x39\x6d\xcc\x2d\xa5\xb5\x7d\ +\xa0\x08\x79\xa8\x78\xa6\xab\xea\x31\x27\x18\x41\x92\xf4\xfe\x00\ +\x70\xc4\x96\xa5\x3e\x40\xe4\xda\x3e\x9f\x83\xc1\xfb\xb6\xb1\x09\ +\xd9\x4d\x7d\x60\x8c\x7a\x4d\x2b\x75\x60\x94\x9a\x69\xad\x3e\xb1\ +\xf5\x2e\x16\xf5\xf4\xf3\xd9\xbb\x33\xdf\x7b\x44\x0f\xb1\x7a\xcb\ +\xbe\xa4\x83\xae\x7b\x0d\x2e\x3a\x1f\xf1\xdd\x3e\x1f\xd2\x30\xa4\ +\xee\xa5\x02\x41\x42\xac\x4e\x5c\xec\xb2\xe6\xa6\x41\x29\x35\xd4\ +\x12\x03\xcc\x43\x81\xa0\x80\x70\x24\xec\x25\xe7\x23\x79\x98\xc8\ +\xb8\x5b\x19\x1c\x10\x8e\x84\x5d\x20\x19\xb7\x91\x0e\xd9\xfb\xe0\ +\x80\xd8\xce\xb5\x4b\x9b\xf6\xeb\xa5\x90\x15\x89\xed\x7a\x8c\xec\ +\x0d\xc4\x21\x0d\x43\xee\x1d\x21\x07\xe1\x5e\xd5\x6a\x56\x2e\xea\ +\xfa\x46\xe8\x95\x0b\x31\x0e\x51\xa0\x53\x20\x8a\x07\x61\x5c\xd5\ +\x6a\xaa\x12\x48\xc4\x80\x63\x29\x10\x15\x10\xae\x7c\x44\x65\x74\ +\xae\x56\xac\x81\x94\xfb\x84\x51\x20\x2a\x20\x5c\xab\x5a\x9d\x14\ +\xe2\x49\xc2\x18\x85\xd4\xfa\x52\x81\xe8\x80\x70\x43\x92\xd3\x01\ +\x74\x62\x78\xf9\x29\x30\x08\x20\xcd\xca\xd6\xe1\xc4\xf7\x29\xfb\ +\x4a\x6d\x79\x98\x98\x9f\xe1\xe5\xd2\xe2\xc1\x00\x11\x48\x72\x31\ +\x91\x71\xb7\x73\x50\x40\x18\x93\xf6\x6e\x14\xcf\x16\x75\x7d\x22\ +\xcb\xc0\xe3\x36\x6a\xce\xde\x0f\x0a\x88\xed\x48\x00\x48\x8a\xde\ +\xe0\xc8\x39\xf8\x52\x97\x5b\x81\xc1\x01\x09\x04\x89\xdd\x86\x89\ +\xfa\x9a\xa9\x5b\x2a\x29\x31\x46\x05\x92\x00\xc4\x0a\xcf\xf0\xaa\ +\xee\xa6\xf1\x93\x90\x6b\x8c\x56\xcd\xd8\xe7\x64\x00\xe9\x2d\xff\ +\x72\xbe\x9b\x6c\xab\xf5\x3e\xd9\x82\x51\x6f\xa9\x2a\x33\x05\x92\ +\x02\x24\xa0\x27\x51\xf6\x7b\x24\x0b\x63\x8e\x25\x81\xcf\xcc\x42\ +\x07\x6e\x6e\x72\x80\x04\x85\xc4\x56\xae\xd5\x71\x8c\x57\x35\x07\ +\x1e\x57\xb9\x3d\x93\x02\x49\x02\x12\x2c\x71\xef\x44\x0b\x70\xfa\ +\x05\xd3\x78\x48\x35\x89\x29\x90\x2c\x20\xc1\x21\xb1\x37\x10\x50\ +\x12\x33\xc7\xf4\x9a\x93\x34\x20\x9d\x5c\x9c\xdb\x52\x36\x0e\x81\ +\x80\x92\x9e\x65\x26\xd2\xa2\x2c\x00\xb1\x5a\x45\x38\xc7\x75\xe5\ +\x51\x5e\xbc\x78\x31\x93\x64\x3e\x11\x0b\x1d\xb8\x19\xd9\x00\x12\ +\x70\x19\xf8\xea\x10\x18\x33\x35\x5a\x4f\xeb\xba\x7e\x5c\x22\x28\ +\xed\x2b\xd0\x37\x95\x52\xb7\x16\x75\x7d\xbb\xc4\x3e\x72\x71\x95\ +\x15\x20\xc1\x57\xb8\x36\xa9\x6a\xcc\x54\x55\xfa\x71\xee\x2b\x5f\ +\x3d\x28\xec\x73\xa6\xd5\x8f\xec\x84\xde\x8d\x52\x76\x80\xf4\xf2\ +\x92\xf8\x9f\xf2\x6a\x73\x95\x5c\x42\xb0\x6d\x50\xac\x9b\x84\xbc\ +\x78\xb6\x1d\x92\x6c\x01\x89\x1a\x72\x6d\xf3\x2c\xf6\xb1\xca\xde\ +\xde\x49\x2a\xc0\xf4\x43\x27\xd4\x09\x32\xb2\x6f\x6d\x2b\x21\x59\ +\x03\x32\x48\xc8\xb5\x4d\x4a\x1b\x8a\x69\x3d\xb3\x67\xc7\x56\x55\ +\xf5\xd4\x42\x63\x8b\x86\x88\xef\x9b\x1d\xd0\x7b\x95\x3d\x05\xdd\ +\x9e\xf2\xdd\xe4\x12\x28\x20\xae\xf6\x81\xed\x73\x01\x5c\xb1\x7f\ +\x2a\xf5\x64\x0f\x48\x27\x64\x80\x6f\x4c\x70\x8d\xd1\x4c\x19\x33\ +\xeb\xe0\xb1\x95\x76\x87\x2f\x6b\x5d\x5d\x39\x78\xd9\x1e\xd4\xdc\ +\xdd\xd8\x1e\xd8\xdc\x94\xb7\xe7\x89\x19\x73\x80\x38\xed\x1c\xdd\ +\x76\x09\xb3\x36\x4b\x56\x0c\x20\xb6\x7b\xed\xbb\x25\xf6\x80\xba\ +\x4b\x89\x28\xda\x5a\x46\x78\x81\x24\xeb\x23\x00\xa4\xeb\x62\xa0\ +\xad\xf3\x65\x63\xe3\xf1\x25\xd8\x92\x85\x29\xca\x83\xac\x0f\x14\ +\xdb\x91\xa7\x25\x5b\x40\xaf\x6f\x12\x66\x5d\x1d\xe8\xa2\x01\x59\ +\x5b\x12\xf6\x4d\x64\xc7\x80\x89\x24\xeb\x6b\xa3\x3c\x0a\x40\x56\ +\xa0\x1c\x4d\xee\x2a\xa3\xfc\x0f\xd1\x2e\x18\x15\xf1\x22\x97\x07\ +\x77\x54\x80\x08\x28\x00\xb2\xe5\x99\xc8\x25\x91\x46\x09\xc8\xa5\ +\x64\x7e\xb1\xb8\xaf\xb4\x5e\x3e\x53\x18\xf9\x8f\x5d\xc9\x2a\x75\ +\xff\x19\x75\x68\x47\x0d\x48\x1f\x94\xba\xae\x6f\xea\xe5\xf2\xb0\ +\xdf\x37\x4c\xa8\x23\x31\xdc\x75\xc1\xbe\x10\x3b\x5c\x97\xf8\xee\ +\x2c\x80\xac\x69\x69\x97\x88\x47\x00\x8b\x9c\xf6\x02\x64\x48\x00\ +\xd9\x21\xd4\x0a\x16\xdc\x37\xbb\x81\xd2\x47\x2d\x76\xa6\xb4\x7a\ +\x9a\xfb\x8e\xe4\xa8\x8a\xb5\x37\x13\x40\x10\xaa\x67\x04\xcc\x59\ +\xf7\x3d\xf1\xf9\xf3\xd3\x33\x44\x17\xa5\xe8\x98\x97\x79\xb9\x47\ +\xff\x12\x30\xb6\x72\xad\x6d\xfe\x12\x37\x87\x69\x37\x49\x8a\x87\ +\xe0\x1e\xdd\x65\x7d\xe2\x41\x02\xe8\x6a\xc1\xb1\xd5\x36\xb9\x8c\ +\x0d\xcf\xba\x9f\x25\x40\xfd\x9f\x6d\x30\xbd\xdc\xc4\xd8\x6e\x74\ +\x6c\x47\xeb\xa9\xfd\x2d\xa1\x52\x80\x41\xdb\x52\xa5\x00\x12\x4f\ +\xeb\xad\x77\xb2\x9b\x2c\x43\x6c\x8b\x4f\xa0\x6b\xd9\x37\x41\x00\ +\xc9\x7e\x08\xa5\x03\x21\x15\x10\x40\x42\xaa\x2b\x75\x67\xaf\x80\ +\x00\x92\xfd\x10\x4a\x07\x42\x2a\x20\x80\x84\x54\x57\xea\xce\x5e\ +\x01\x01\x24\xfb\x21\x94\x0e\x84\x54\x40\x00\x09\xa9\xae\xd4\x9d\ +\xbd\x02\x02\x48\xf6\x43\x28\x1d\x08\xa9\x80\x00\x12\x52\x5d\xa9\ +\x3b\x7b\x05\x04\x90\xec\x87\x50\x3a\x10\x52\x01\x01\x24\xa4\xba\ +\x52\x77\xf6\x0a\x08\x20\xd9\x0f\xa1\x74\x20\xa4\x02\x02\x48\x48\ +\x75\xa5\xee\xec\x15\xf8\x3f\xae\x88\x95\xc8\x78\x9e\xfd\xc0\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +" + +qt_resource_name = b"\ +\x00\x11\ +\x06\x63\xe9\x47\ +\x00\x6d\ +\x00\x69\x00\x6e\x00\x65\x00\x73\x00\x74\x00\x5f\x00\x6e\x00\x6f\x00\x72\x00\x6d\x00\x61\x00\x6c\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\ +\x00\x15\ +\x0f\xcc\xb8\x47\ +\x00\x62\ +\x00\x74\x00\x6e\x00\x5f\x00\x63\x00\x61\x00\x6c\x00\x6c\x00\x5f\x00\x74\x00\x5f\x00\x6e\x00\x6f\x00\x72\x00\x6d\x00\x61\x00\x6c\ +\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x14\ +\x0d\x0f\x9d\xa7\ +\x00\x62\ +\x00\x74\x00\x6e\x00\x5f\x00\x63\x00\x61\x00\x6c\x00\x6c\x00\x5f\x00\x74\x00\x5f\x00\x68\x00\x6f\x00\x76\x00\x65\x00\x72\x00\x2e\ +\x00\x70\x00\x6e\x00\x67\ +\x00\x0f\ +\x02\x32\x49\xa7\ +\x00\x65\ +\x00\x78\x00\x69\x00\x74\x00\x5f\x00\x6e\x00\x6f\x00\x72\x00\x6d\x00\x61\x00\x6c\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0f\ +\x00\x38\xf9\x47\ +\x00\x63\ +\x00\x61\x00\x6c\x00\x6c\x00\x65\x00\x72\x00\x5f\x00\x69\x00\x63\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct_v1 = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x05\x00\x00\x00\x01\ +\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x20\x50\ +\x00\x00\x00\x86\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x48\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x00\x58\x00\x00\x00\x00\x00\x01\x00\x00\x0c\xe1\ +\x00\x00\x00\x28\x00\x00\x00\x00\x00\x01\x00\x00\x00\x83\ +" + +qt_resource_struct_v2 = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x05\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x20\x50\ +\x00\x00\x01\x88\xc3\x36\x00\xe9\ +\x00\x00\x00\x86\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x48\ +\x00\x00\x01\x89\x72\x85\xd3\xe4\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x89\x72\x85\x01\xa4\ +\x00\x00\x00\x58\x00\x00\x00\x00\x00\x01\x00\x00\x0c\xe1\ +\x00\x00\x01\x89\xd3\x53\x11\x01\ +\x00\x00\x00\x28\x00\x00\x00\x00\x00\x01\x00\x00\x00\x83\ +\x00\x00\x01\x89\xd3\x4c\x07\xb7\ +" + +qt_version = [int(v) for v in QtCore.qVersion().split('.')] +if qt_version < [5, 8, 0]: + rcc_version = 1 + qt_resource_struct = qt_resource_struct_v1 +else: + rcc_version = 2 + qt_resource_struct = qt_resource_struct_v2 + +def qInitResources(): + QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/assets/exit_normal.png b/assets/exit_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..8477e7a12c4b122a38f9223f1308707442b4f768 GIT binary patch literal 260 zcmV+f0sH=mP)Px#zDYzuR5(wqli?Aj+9jlf^|O+xY=l01=<6x{Am>g6uhqs^*e&P=JV*aDbFz0GOEh zQW_jQurXRluech)OZE@|co?wl+*MEl1+xEVFWWckUZayekBkiger8pDkI;ieCfapY zGe^dT9*o@XK`I3)rLE_-b&MeGCN9i;{j$olH7P6q-^cXJ%X|S0=YA0Y-Z=LF0000< KMNUMnLSTY7X=?cZ literal 0 HcmV?d00001 diff --git a/assets/minest_normal.png b/assets/minest_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..c2d89e580ec6199bc0f8a236fca9f6f856902189 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|EInNuLoEE0 zQx*sq1g)5#c!i-YQJT%s(Xs6RzrV#Ue#$;RKEJQ8jV|Y~y_?|6E+XyV^-9LKlZS^P XQ$awmC~jjM&=3YsS3j3^P6K=454k0D(EIY;#k(Jx_3mAK_1VYn zy6Hu!R4JAE7r^t~6Y48G!T-U_z9K6158#Ctm|0(v>(!FSGrP0%wZ9qPZ#1d|o{fM0 zWWRWX{Ds2oe7OOcE}FK^Uj7;@uPB==&&3wycXPh99 z$)hj%D-cDF$(T+ECCWM`M9bZg@}qs2b( z4Yk0m<1={?Vzwt1TI$>VrSUSJm};YZ4lJHOllv>b%7Z**K|qdLoT!z1aTUxAP|_Lw(?k)C0F_Ieykh7Jcv`49c(6H zPg@-!p;gPHb-PaM z_@zs9fiBrgv`U@-9H&YT&z~W?b#mE}g(s&E@_6}ec;#&%M|4akMA5$W$P!;Lgp>_y z&cwibLRJy>F07OhV(H4Mz6bg@n1%WVc=qt;c_gP@DZ zs`QfVVVLY>Qrkly)jN?(I(xHZ8G+wo3dlluCREd_gYa>f#{F zCEpPM(wn&dDJ)9#O`tR`JqM*(poeQSWtlthR(0^2O?5s4Mv*=hSD?i#q~p`d^h>M7 z2%uy4wDstAvuyGfm*A-Q2#9tD*<&s~M)?yY7~jijMzzis25;h?&uhVixdn&Kb_E^&GR_tm@j%sH47Wb<`~w=k*hz zoe8cNPoxJi>v1LhmB%qZkgYfWyT#Ao;>-+c!6@T{hsmgg(=Lc%tC)U`sQ6t=5d|XB jxQ&nrx8Y#D4N_QYWhMV_5BCN6U+*&*EFjW>ihMDxsM9(SLSe)An@B7IuY z?*RB)VUh^>B#cv7bza25ahwK^vr(KzC^!Gu^+G)cLJ&qdVb)tRq?~f=jmK`sHN@k^7zJV1$I`ic5c=?x2|^9>YdxT!wCfD?7qYLPMt3{HZ~+i)W1_U zRFMl=dO;AUu?_->QI=K_v!)Wd$X~>)3&hJf<=OFe5{^o1pxKRW8BRnZl&Tny;#8L% zklWN+#;*!3*xJj@;JFM_l@yUk_5Cn99LcOmIlDdBkzsxiN9uvh@@EGjXnr^xibyk8 znUyhlKPlv1$m2pW4>WIONhX;)sBjB*ej5$}vd%C_utkCi^bK2rtxNT_($*`TRwAq! zC2@2pc-f4yGzE)gr#c%(I?hsNM582AqHK%bAs_XA6ID#&wDbYgn-{cnlt_kvTR{*d zp;AF`LH^m^{(1j6lZPq~Be9>K=z}cXACIOd!Rta4aXL~bN{h*U1kDcaKyLQI87(vH zeYJ1=S5yCvkj?0G0i(CY*T)6_PNTHiw!K+*V z#PYz|>2l@Pe0n3~UOwpNm20R^oBQ+!I%FI}hvZFQ^zE`U*vxY%U5HgGy*O1mOe0Y` zuZvj2tgyp8zwT5Ij(!iX!j2}?qtm6zrMbfXf3iAo20S5`si{1n(3y~nCvaCL@l^2t z%*Fy7-GEnNc!W+DE3@xACo&9V!hB?NpS3)0!jQwCj#(J6RSJT_t-R{%M^RIz(-S(2Py$3TnRF(N1 zG;cbMPH)Ybo|oyjaq_1y%Y&fwgJ6>JB0;(nz_bdJiepBRx#SWrmBa>@Un2Mh!M6a) zZao4cktFaHc|RbQQN&D%22j`t3YEYRTl0Lc;W=K*b0zY2p;_BcPX_wO^?}}jFHq-l zv6V?tE?ll&#(X5SVz=hT=6W@*%r~GKV7;SQ9IJKsiAeD4V7_atIj9aBdvi`2chSkx V`=!dkuQ;C+*1&_&;o;zQ{{>heH~s(s literal 0 HcmV?d00001 diff --git a/callclient/controllers/__pycache__/win_selector.cpython-38.pyc b/callclient/controllers/__pycache__/win_selector.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5cf62c36a3c11a8d36094478c81ca3f9b51721ac GIT binary patch literal 1975 zcmZWqOK%%D5GHq5tJTA=*h!tFX$$m$s3_DFa4tnqG`8d9P`j2NFt8A?ST8Ag<<+iA za&1`f%?5&A`UiTEE(QFTc(9Dn=&V0l9NFUD4RSA6mT>Q!YE)()E z4rV_G2EW2jZh~Nh(S#fnnohK3w3XO>$9E{M*-5GI`Yt7J33FKKny?ZtU)jFL+ zv4xR(c5iXCggYkQcJD!Nd9(sE4{?SOfbQ&kz@`nIuh-Vr1fp#`(j}P>xX@k@#A&R8 zKwt&h%41!YT;+qqSkHk0HM8t|D+#;WYALX^&}U2A&YaV zJ&3%KC7IA}tI!pg`MuKt>CbmQ>AhZp$!UTjtY0}+X#gOg&~lW-(J5zOWNC^y>t-Pc zBNb=q4b={?r~|qZ1W^)783Z@vzwND`+vk}$m4h(i?ZJgQ$#$L!rAPB8m9@qawT7#+;ARgnLO|0GZOmr?z60Zuj>woO+OtkA@qz(RxD#~b zjLmHrlU0Q8!b}-Krz^Mq9{6uE3;hk3?VW?IMn$_oHI=2J4zYFhH{Ma}WlPSCFUm3GM7G}RnWtyvuAT>$Gzjh>t>GU2QU=$O+1J0Stv)hN7E~<7EcBpxzlcn zuV6!?Y)Tj3fGxfSp`Ctq#svZs&rvi$+)Rq9wYCwzfqu8Nc>{DCHk;)iVO!B}Amj=i zKDk%Zt?Rv#ZYhZjH$5)iA8Ti;K@CdLL};JVOfMM(d+@4+6O1nrgy9n%KD!5C))S}z zFIWn1QV{5B5cD&aCur9LxS(NDte9(O=q&KG#S0WafzWf4yB_f*fj96Yvd_`Q+=3EV z75GW43a;t0SAjoQ;QS8cukBv6)XQc|y@j{4J{@dig6oCp=qP4guB89j%-hf`u42%K we`Uqxe0Ub~bJ@J}KdpF}%dH}YNjrnnAV!?pdsP(w3%(Q+upad+cwOxO0e9{Dk^lez literal 0 HcmV?d00001 diff --git a/callclient/controllers/assembly/__pycache__/tray_icon.cpython-38.pyc b/callclient/controllers/assembly/__pycache__/tray_icon.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..60e1e841c0538b63a2d0bc64a9047766ecdacdbf GIT binary patch literal 1564 zcmb7Ey^9-16rY*>)}8Jv#Bm^yCe1dND$Nm0%t4Hc6Bd_XSOmjnXDsjCYNgDKawnm} za2GC3`jk3w_Q5-P)^yEO-V0!dH83ona= zcTCdo2L2~0wMo}JE=6A&oiZDBAC>2Wd}M>}!(v!>3cR#F5FUrV2SSpJ3X(Cgc}1R3 z!Gw32WZnWU^F=74OOgd5772Vq(GnZ*jjo7KvKU-w+xQ!mPZmI)GrJI|BM^QakRgW7 z$OW6T8M}s9XRzYljLdx#2zo)?9+`*N1kT7wG><_hxGM+%vCee&;PWD{Dyeu0aqW-l ze%i8u9*?9_0l?Up^Rg}t=a!AjEYi}TUkcr@NugwJj$}Q~lDshG54n-TMsQxs!q{!I zjN-5=i&H65&-z+cPqNlgUe=GxS`5!@ILei*%?lu$^P-g(~-q}!{>QP?E z-e_W;4(r}Ye>&mckL9?m`+A~{9Q4rnqAI~c4`7WNVl27`X5`?zYSKd&mZ42l1Wx1B zu9WBw4cQir*>rbB_x>u_g2J`cKplTOgsD3q44KnwAe1wplg&LtPJ98>!zvK$XKz7! za{>v0lkoOr9^rpY8vM??O|bg*)sMfwe)-2QzyA6BO-i%GsIuReN{V+OoZdWp_V(&c z8Y>11C_`l3`U8|nF2sGHe^_TxccIvA{d9Qtus$lqF(gUWHj?M1xj!0ZTady-ph}** z%%xNzxY}vNE@}w~+|qYJ5Z0nC$_OL=KQZVlZMxSG*Hl7*_tyvd>zG3r1C4ocTYhQ} z_8|4aNR^PhTOXX}9Qg=td<;{g9YUvf8_4$}{C~h7fH8%3{}U90{siU?);cw;L>_l&KHlV*`0E3l1wJ#)i;J8XD`C0~h`VoP7#Y zy9b8G>jaqh+KYD51pBql2NL?V#ra?;#ue(D9Qr1&7ALL`T!t00t1w!HK(@VX!9rFQ z=WD)f;T7i)J_=Zmu7_f}mBdNx#h!aC(%1%%CSCKzqDVKKzTY(u#-;Mm0tS(_mk*9s k1y@D3-92`#yrS4yT7zy%!Ny-M;<<+`YII@~dN}s}1>uQmzW@LL literal 0 HcmV?d00001 diff --git a/callclient/controllers/assembly/tray_icon.py b/callclient/controllers/assembly/tray_icon.py new file mode 100644 index 0000000..ce007a7 --- /dev/null +++ b/callclient/controllers/assembly/tray_icon.py @@ -0,0 +1,33 @@ +from PyQt5 import QtWidgets +from PyQt5.QtGui import QPixmap, QIcon +import caller_src_rc + + +class TrayIcon(QtWidgets.QSystemTrayIcon): + def __init__(self, MainWindow, parent=None): + super(TrayIcon, self).__init__(parent) + self.ui = MainWindow + # 需要设置图标才能正常显示 + self.setIcon(QIcon(":/caller_icon.png")) + self.creatMenu() + # 触发单击右键显示菜单 + self.activated.connect(self.trayIconClicked) + + def creatMenu(self): + # 托盘图标创建右键菜单 + self.menu = QtWidgets.QMenu() + self.menu.addAction(QtWidgets.QAction( + "居中显示", self, triggered=self.showInMidScreen)) + self.menu.addAction(QtWidgets.QAction( + "退出", self, triggered=self.exitApp)) + self.setContextMenu(self.menu) + + def showInMidScreen(): + print('居中显示') + + def exitApp(): + print('退出') + + def trayIconClicked(self, reason): + if reason == 1: + self.menu.exec_() diff --git a/callclient/controllers/caller_main.py b/callclient/controllers/caller_main.py new file mode 100644 index 0000000..91c7667 --- /dev/null +++ b/callclient/controllers/caller_main.py @@ -0,0 +1,60 @@ +from PyQt5.QtGui import * +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * + +from views.Ui_caller_main import Ui_caller_main +from controllers.assembly.tray_icon import TrayIcon +import caller_src_rc + + +class CallerMain(QWidget): + def __init__(self): + super().__init__() + + self.ui = Ui_caller_main() + self.ui.setupUi(self) + + # 去除边框 + self.setWindowFlag(Qt.FramelessWindowHint) + self.setAttribute(Qt.WA_TranslucentBackground) # 将界面属性设置为半透明 + # 设定一个阴影:半径为10 颜色为#444 定位为0,0 + self.shadow = QGraphicsDropShadowEffect() + self.shadow.setBlurRadius(10) + self.shadow.setColor(QColor('#444')) + self.shadow.setOffset(0, 0) + self.ui.f_caller_main.setGraphicsEffect(self.shadow) + + # 动态添加右键菜单 1打开右键菜单策略 2绑定事件 + self.ui.f_caller_main.setContextMenuPolicy(Qt.CustomContextMenu) + self.ui.f_caller_main.customContextMenuRequested.connect( + self.show_context_menu) + + # 显示右下角托盘 + self.tray = TrayIcon(self) + self.tray.show() + + # 重写鼠标按下事件 左键按下时获取鼠标坐标,按下右键取消 + def mousePressEvent(self, event): + if event.button() == Qt.LeftButton: + self.m_flag = True + self.m_Position = event.globalPos() - self.pos() + event.accept() + elif event.button() == Qt.RightButton: + self.m_flag = False + + # 重写鼠标移动事件 在按下左键移动是根据坐标移动界面 + def mouseMoveEvent(self, QMouseEvent): + if Qt.LeftButton and self.m_flag: + self.move(QMouseEvent.globalPos() - self.m_Position) + QMouseEvent.accept() + + # 重写鼠标释放事件 当鼠标按键释放时 取消移动 + def mouseReleaseEvent(self, QMouseEvent): + self.m_flag = False + + # 创建右键菜单方法 + def show_context_menu(self, pos): + menu = QMenu(self) + action = menu.addAction('方法1') + action = menu.addAction('退出') + menu.exec_(QCursor.pos()) diff --git a/callclient/controllers/login.py b/callclient/controllers/login.py new file mode 100644 index 0000000..43e949c --- /dev/null +++ b/callclient/controllers/login.py @@ -0,0 +1,72 @@ +from PyQt5.QtGui import * +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * + +from controllers.caller_main import CallerMain +from views.Ui_login import Ui_win_Login + +# login界面controller类 +# 需要继承QWidget 如果是主窗体需要继承QMainWindow + + +class Login(QWidget): + def __init__(self): + # 这句一定要调用父类构造函数 + super().__init__() + # 动态加载UI文件 + self.ui = Ui_win_Login() + self.ui.setupUi(self) + + self.setWindowFlag(Qt.FramelessWindowHint) # 去除边框 + self.setAttribute(Qt.WA_TranslucentBackground) # 将界面属性设置为半透明 + # 设定一个阴影:半径为10 颜色为#444 定位为0,0 + self.shadow = QGraphicsDropShadowEffect() + self.shadow.setBlurRadius(10) + self.shadow.setColor(QColor('#444')) + self.shadow.setOffset(0, 0) + self.ui.f_login_main.setGraphicsEffect(self.shadow) + + # 注册登录按钮事件 + self.ui.btn_login.clicked.connect(self.login_action) + # 注册关闭程序按钮事件 + self.ui.btn_close.clicked.connect(self.exit_action) + # 注册最小化窗口按钮事件 + self.ui.btn_min.clicked.connect(self.min_action) + + # 登录按钮事件 + def login_action(self): + # 创建窗口选择界面对象 + self.callerMain = CallerMain() + # 显示窗口选择界面 + self.callerMain.show() + # 关闭登录界面 + self.close() + # print('login success') + + # 关闭按钮事件 + def exit_action(): + app = QApplication.instance() + app.quit() + + # 最小化事件 + def min_action(self): + self.showMinimized() + + # 重写鼠标按下事件 左键按下时获取鼠标坐标,按下右键取消 + def mousePressEvent(self, event): + if event.button() == Qt.LeftButton: + self.m_flag = True + self.m_Position = event.globalPos() - self.pos() + event.accept() + elif event.button() == Qt.RightButton: + self.m_flag = False + + # 重写鼠标移动事件 在按下左键移动是根据坐标移动界面 + def mouseMoveEvent(self, QMouseEvent): + if Qt.LeftButton and self.m_flag and self.ui.f_title.underMouse(): + self.move(QMouseEvent.globalPos() - self.m_Position) + QMouseEvent.accept() + + # 重写鼠标释放事件 当鼠标按键释放时 取消移动 + def mouseReleaseEvent(self, QMouseEvent): + self.m_flag = False diff --git a/callclient/main.py b/callclient/main.py new file mode 100644 index 0000000..11a25f8 --- /dev/null +++ b/callclient/main.py @@ -0,0 +1,6 @@ +import sys +import app + +# 程序入口文件 +if __name__ == '__main__': + sys.exit(app.run()) diff --git a/callclient/views/Ui_caller_main.py b/callclient/views/Ui_caller_main.py new file mode 100644 index 0000000..65e52bb --- /dev/null +++ b/callclient/views/Ui_caller_main.py @@ -0,0 +1,221 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'f:\workspace\python\jgzy_queuingsystem\callclient\views\caller_main.ui' +# +# Created by: PyQt5 UI code generator 5.15.9 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_caller_main(object): + def setupUi(self, caller_main): + caller_main.setObjectName("caller_main") + caller_main.resize(600, 70) + caller_main.setMinimumSize(QtCore.QSize(600, 70)) + caller_main.setMaximumSize(QtCore.QSize(600, 70)) + self.f_caller_main = QtWidgets.QFrame(caller_main) + self.f_caller_main.setGeometry(QtCore.QRect(0, 0, 601, 72)) + self.f_caller_main.setStyleSheet("#f_caller_main{\n" +" background-color: rgb(43, 43, 43);\n" +"}") + self.f_caller_main.setObjectName("f_caller_main") + self.verticalLayout = QtWidgets.QVBoxLayout(self.f_caller_main) + self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.verticalLayout.setObjectName("verticalLayout") + self.f_caller_btns = QtWidgets.QFrame(self.f_caller_main) + self.f_caller_btns.setStyleSheet("#f_caller_btns{\n" +" margin:0px;\n" +" padding-top:5px;\n" +"}") + self.f_caller_btns.setObjectName("f_caller_btns") + self.horizontalLayout = QtWidgets.QHBoxLayout(self.f_caller_btns) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.btn_call = QtWidgets.QPushButton(self.f_caller_btns) + self.btn_call.setMinimumSize(QtCore.QSize(80, 30)) + self.btn_call.setMaximumSize(QtCore.QSize(80, 30)) + font = QtGui.QFont() + font.setFamily("新宋体") + font.setPointSize(14) + font.setBold(True) + font.setWeight(75) + self.btn_call.setFont(font) + self.btn_call.setStyleSheet("#btn_call{\n" +" background-color: rgba(255, 255, 255, 0);\n" +" background-image: url(:/btn_call_t_normal.png);\n" +" background-repeat:no-repeat;\n" +" background-position:center center;\n" +" background-size:70% 70%;\n" +"}\n" +"\n" +"#btn_call:hover{\n" +" background-color: rgba(255, 255, 255, 0.3);\n" +" background-image: url(:/btn_call_t_hover.png);\n" +"}") + self.btn_call.setText("") + self.btn_call.setIconSize(QtCore.QSize(24, 24)) + self.btn_call.setCheckable(False) + self.btn_call.setObjectName("btn_call") + self.horizontalLayout.addWidget(self.btn_call) + self.btn_abanden = QtWidgets.QPushButton(self.f_caller_btns) + self.btn_abanden.setMinimumSize(QtCore.QSize(80, 30)) + self.btn_abanden.setMaximumSize(QtCore.QSize(80, 30)) + font = QtGui.QFont() + font.setFamily("新宋体") + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.btn_abanden.setFont(font) + self.btn_abanden.setStyleSheet("#btn_abanden{\n" +" background-color: rgba(255, 255, 255, 0);\n" +" color: rgb(255, 255, 255);\n" +"}\n" +"\n" +"#btn_abanden:hover{\n" +" background-color: rgba(255, 255, 255, 0.3);\n" +" \n" +" color: rgb(0, 205, 102);\n" +"}") + self.btn_abanden.setObjectName("btn_abanden") + self.horizontalLayout.addWidget(self.btn_abanden) + self.btn_start = QtWidgets.QPushButton(self.f_caller_btns) + self.btn_start.setMinimumSize(QtCore.QSize(80, 30)) + self.btn_start.setMaximumSize(QtCore.QSize(80, 30)) + font = QtGui.QFont() + font.setFamily("新宋体") + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.btn_start.setFont(font) + self.btn_start.setStyleSheet("#btn_start{\n" +" background-color: rgba(255, 255, 255, 0);\n" +" color: rgb(255, 255, 255);\n" +"}\n" +"\n" +"#btn_start:hover{\n" +" background-color: rgba(255, 255, 255, 0.3);\n" +" \n" +" color: rgb(0, 205, 102);\n" +"}") + self.btn_start.setObjectName("btn_start") + self.horizontalLayout.addWidget(self.btn_start) + self.btn_pause = QtWidgets.QPushButton(self.f_caller_btns) + self.btn_pause.setMinimumSize(QtCore.QSize(80, 30)) + self.btn_pause.setMaximumSize(QtCore.QSize(80, 30)) + font = QtGui.QFont() + font.setFamily("新宋体") + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.btn_pause.setFont(font) + self.btn_pause.setStyleSheet("#btn_pause{\n" +" background-color: rgba(255, 255, 255, 0);\n" +" color: rgb(255, 255, 255);\n" +"}\n" +"\n" +"#btn_pause:hover{\n" +" background-color: rgba(255, 255, 255, 0.3);\n" +" \n" +" color: rgb(0, 205, 102);\n" +"}") + self.btn_pause.setObjectName("btn_pause") + self.horizontalLayout.addWidget(self.btn_pause) + self.line = QtWidgets.QFrame(self.f_caller_btns) + self.line.setMinimumSize(QtCore.QSize(0, 28)) + self.line.setMaximumSize(QtCore.QSize(16777215, 28)) + self.line.setFrameShape(QtWidgets.QFrame.VLine) + self.line.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line.setObjectName("line") + self.horizontalLayout.addWidget(self.line) + self.btn_taxer = QtWidgets.QPushButton(self.f_caller_btns) + self.btn_taxer.setMinimumSize(QtCore.QSize(100, 30)) + self.btn_taxer.setMaximumSize(QtCore.QSize(100, 30)) + font = QtGui.QFont() + font.setFamily("新宋体") + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.btn_taxer.setFont(font) + self.btn_taxer.setStyleSheet("#btn_taxer{\n" +" background-color: rgba(255, 255, 255, 0);\n" +" color: rgb(255, 255, 255);\n" +"}\n" +"\n" +"#btn_taxer:hover{\n" +" background-color: rgba(255, 255, 255, 0.3);\n" +" \n" +" color: rgb(0, 205, 102);\n" +"}") + self.btn_taxer.setObjectName("btn_taxer") + self.horizontalLayout.addWidget(self.btn_taxer) + self.line_2 = QtWidgets.QFrame(self.f_caller_btns) + self.line_2.setMinimumSize(QtCore.QSize(0, 28)) + self.line_2.setMaximumSize(QtCore.QSize(16777215, 28)) + self.line_2.setFrameShape(QtWidgets.QFrame.VLine) + self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) + self.line_2.setObjectName("line_2") + self.horizontalLayout.addWidget(self.line_2) + self.btn_tkt_pool = QtWidgets.QPushButton(self.f_caller_btns) + self.btn_tkt_pool.setMinimumSize(QtCore.QSize(110, 30)) + self.btn_tkt_pool.setMaximumSize(QtCore.QSize(110, 30)) + font = QtGui.QFont() + font.setFamily("新宋体") + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.btn_tkt_pool.setFont(font) + self.btn_tkt_pool.setStyleSheet("#btn_tkt_pool{\n" +" background-color: rgba(255, 255, 255, 0);\n" +" color: rgb(255, 255, 255);\n" +"}\n" +"\n" +"#btn_tkt_pool:hover{\n" +" background-color: rgba(255, 255, 255, 0.3);\n" +" \n" +" color: rgb(0, 205, 102);\n" +"}") + self.btn_tkt_pool.setObjectName("btn_tkt_pool") + self.horizontalLayout.addWidget(self.btn_tkt_pool) + self.verticalLayout.addWidget(self.f_caller_btns) + self.f_caller_info = QtWidgets.QFrame(self.f_caller_main) + self.f_caller_info.setStyleSheet("#f_caller_info{\n" +" margin:0px\n" +"}") + self.f_caller_info.setObjectName("f_caller_info") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.f_caller_info) + self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.lb_info = QtWidgets.QLabel(self.f_caller_info) + self.lb_info.setMinimumSize(QtCore.QSize(590, 32)) + self.lb_info.setMaximumSize(QtCore.QSize(590, 32)) + font = QtGui.QFont() + font.setFamily("黑体") + font.setPointSize(14) + font.setBold(False) + font.setWeight(50) + self.lb_info.setFont(font) + self.lb_info.setStyleSheet("#lb_info{\n" +" \n" +" color: rgb(255, 255, 255);\n" +"}") + self.lb_info.setObjectName("lb_info") + self.horizontalLayout_2.addWidget(self.lb_info) + self.verticalLayout.addWidget(self.f_caller_info) + + self.retranslateUi(caller_main) + QtCore.QMetaObject.connectSlotsByName(caller_main) + + def retranslateUi(self, caller_main): + _translate = QtCore.QCoreApplication.translate + caller_main.setWindowTitle(_translate("caller_main", "Form")) + self.btn_abanden.setText(_translate("caller_main", "弃号")) + self.btn_start.setText(_translate("caller_main", "开始")) + self.btn_pause.setText(_translate("caller_main", "暂停")) + self.btn_taxer.setText(_translate("caller_main", "办税员")) + self.btn_tkt_pool.setText(_translate("caller_main", "叫号记录")) + self.lb_info.setText(_translate("caller_main", "待机中...")) +import caller_src_rc diff --git a/callclient/views/Ui_login.py b/callclient/views/Ui_login.py new file mode 100644 index 0000000..c0b7dce --- /dev/null +++ b/callclient/views/Ui_login.py @@ -0,0 +1,363 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'f:\workspace\python\jgzy_queuingsystem\callclient\views\login.ui' +# +# Created by: PyQt5 UI code generator 5.15.9 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +import caller_src_rc +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_win_Login(object): + def setupUi(self, win_Login): + win_Login.setObjectName("win_Login") + win_Login.resize(600, 750) + win_Login.setMinimumSize(QtCore.QSize(600, 750)) + win_Login.setMaximumSize(QtCore.QSize(600, 750)) + self.horizontalLayout_5 = QtWidgets.QHBoxLayout(win_Login) + self.horizontalLayout_5.setObjectName("horizontalLayout_5") + self.f_login_main = QtWidgets.QFrame(win_Login) + self.f_login_main.setStyleSheet("#f_login_main{\n" + "background-color:rgb(255,255,255);\n" + "border:5px, white;\n" + "margin:0px;\n" + "padding:0px;\n" + "}") + self.f_login_main.setObjectName("f_login_main") + self.verticalLayout = QtWidgets.QVBoxLayout(self.f_login_main) + self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.verticalLayout.setObjectName("verticalLayout") + self.f_win_btn = QtWidgets.QFrame(self.f_login_main) + self.f_win_btn.setMaximumSize(QtCore.QSize(582, 30)) + self.f_win_btn.setStyleSheet("#f_win_btn{\n" + " margin:0px;\n" + " padding:0px;\n" + "}") + self.f_win_btn.setObjectName("f_win_btn") + self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.f_win_btn) + self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_6.setObjectName("horizontalLayout_6") + spacerItem = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_6.addItem(spacerItem) + self.btn_min = QtWidgets.QPushButton(self.f_win_btn) + self.btn_min.setMinimumSize(QtCore.QSize(30, 30)) + self.btn_min.setMaximumSize(QtCore.QSize(30, 30)) + font = QtGui.QFont() + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.btn_min.setFont(font) + self.btn_min.setStyleSheet("#btn_min{\n" + " margin:0px;\n" + " padding:0px;\n" + " background-image:url(:/minest_normal.png);\n" + " background-repeat:no-repeat;\n" + " background-position:center;\n" + " border:none;\n" + " color:gray;\n" + " padding:5px\n" + "}\n" + "#btn_min:hover{\n" + " background-color:#CCCCCC;\n" + "}") + self.btn_min.setText("") + self.btn_min.setObjectName("btn_min") + self.horizontalLayout_6.addWidget(self.btn_min) + self.btn_close = QtWidgets.QPushButton(self.f_win_btn) + self.btn_close.setMinimumSize(QtCore.QSize(30, 30)) + self.btn_close.setMaximumSize(QtCore.QSize(30, 30)) + font = QtGui.QFont() + font.setPointSize(12) + font.setBold(True) + font.setWeight(75) + self.btn_close.setFont(font) + self.btn_close.setStyleSheet("#btn_close{\n" + " background-image: url(:/exit_normal.png);\n" + " background-repeat:no-repeat;\n" + " background-position:center;\n" + " margin:0px;\n" + " padding:0px;\n" + " border:none;\n" + " color:gray;\n" + "}\n" + "#btn_close:hover{\n" + " \n" + " background-color:#CCCCCC;\n" + "}") + self.btn_close.setText("") + self.btn_close.setObjectName("btn_close") + self.horizontalLayout_6.addWidget(self.btn_close) + self.verticalLayout.addWidget(self.f_win_btn) + self.f_title = QtWidgets.QFrame(self.f_login_main) + self.f_title.setMaximumSize(QtCore.QSize(582, 100)) + self.f_title.setStyleSheet("#f_title{\n" + " margin:0px;\n" + " padding:0px;\n" + "}") + self.f_title.setObjectName("f_title") + self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.f_title) + self.horizontalLayout_4.setObjectName("horizontalLayout_4") + spacerItem1 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_4.addItem(spacerItem1) + self.lb_title = QtWidgets.QLabel(self.f_title) + self.lb_title.setMaximumSize(QtCore.QSize(280, 62)) + font = QtGui.QFont() + font.setFamily("黑体") + font.setPointSize(24) + font.setBold(True) + font.setWeight(75) + self.lb_title.setFont(font) + self.lb_title.setObjectName("lb_title") + self.horizontalLayout_4.addWidget(self.lb_title) + spacerItem2 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_4.addItem(spacerItem2) + self.verticalLayout.addWidget(self.f_title) + self.f_login_type_2 = QtWidgets.QFrame(self.f_login_main) + self.f_login_type_2.setStyleSheet("#f_login_type_2{\n" + " margin:0px;\n" + " padding:0px;\n" + "}") + self.f_login_type_2.setObjectName("f_login_type_2") + self.f_login_type = QtWidgets.QHBoxLayout(self.f_login_type_2) + self.f_login_type.setObjectName("f_login_type") + spacerItem3 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_login_type.addItem(spacerItem3) + self.rb_custom_user = QtWidgets.QRadioButton(self.f_login_type_2) + font = QtGui.QFont() + font.setPointSize(16) + self.rb_custom_user.setFont(font) + self.rb_custom_user.setObjectName("rb_custom_user") + self.f_login_type.addWidget(self.rb_custom_user) + spacerItem4 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_login_type.addItem(spacerItem4) + self.rb_zh_user = QtWidgets.QRadioButton(self.f_login_type_2) + font = QtGui.QFont() + font.setPointSize(16) + self.rb_zh_user.setFont(font) + self.rb_zh_user.setObjectName("rb_zh_user") + self.f_login_type.addWidget(self.rb_zh_user) + spacerItem5 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_login_type.addItem(spacerItem5) + self.f_login_type.setStretch(2, 1) + self.f_login_type.setStretch(3, 1) + self.f_login_type.setStretch(4, 3) + self.verticalLayout.addWidget(self.f_login_type_2) + self.f_account = QtWidgets.QFrame(self.f_login_main) + self.f_account.setStyleSheet("#f_account{\n" + " margin:0px;\n" + " padding:0px;\n" + "}") + self.f_account.setObjectName("f_account") + self.f_username = QtWidgets.QHBoxLayout(self.f_account) + self.f_username.setObjectName("f_username") + spacerItem6 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_username.addItem(spacerItem6) + self.lb_account = QtWidgets.QLabel(self.f_account) + font = QtGui.QFont() + font.setPointSize(18) + self.lb_account.setFont(font) + self.lb_account.setObjectName("lb_account") + self.f_username.addWidget(self.lb_account) + spacerItem7 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_username.addItem(spacerItem7) + self.edt_account = QtWidgets.QLineEdit(self.f_account) + self.edt_account.setMinimumSize(QtCore.QSize(0, 50)) + self.edt_account.setMaximumSize(QtCore.QSize(16777215, 50)) + font = QtGui.QFont() + font.setPointSize(20) + font.setBold(True) + font.setWeight(75) + self.edt_account.setFont(font) + self.edt_account.setObjectName("edt_account") + self.f_username.addWidget(self.edt_account) + spacerItem8 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_username.addItem(spacerItem8) + self.f_username.setStretch(3, 4) + self.f_username.setStretch(4, 1) + self.verticalLayout.addWidget(self.f_account) + self.f_pwd_2 = QtWidgets.QFrame(self.f_login_main) + self.f_pwd_2.setStyleSheet("#f_pwd_2{\n" + " margin:0px;\n" + " padding:0px;\n" + "}") + self.f_pwd_2.setObjectName("f_pwd_2") + self.f_pwd = QtWidgets.QHBoxLayout(self.f_pwd_2) + self.f_pwd.setObjectName("f_pwd") + spacerItem9 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_pwd.addItem(spacerItem9) + self.lb_pwd = QtWidgets.QLabel(self.f_pwd_2) + font = QtGui.QFont() + font.setPointSize(18) + self.lb_pwd.setFont(font) + self.lb_pwd.setObjectName("lb_pwd") + self.f_pwd.addWidget(self.lb_pwd) + spacerItem10 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_pwd.addItem(spacerItem10) + self.edt_pwd = QtWidgets.QLineEdit(self.f_pwd_2) + self.edt_pwd.setMinimumSize(QtCore.QSize(0, 50)) + self.edt_pwd.setMaximumSize(QtCore.QSize(16777215, 50)) + font = QtGui.QFont() + font.setPointSize(20) + font.setBold(True) + font.setWeight(75) + self.edt_pwd.setFont(font) + self.edt_pwd.setStyleSheet("") + self.edt_pwd.setObjectName("edt_pwd") + self.f_pwd.addWidget(self.edt_pwd) + spacerItem11 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_pwd.addItem(spacerItem11) + self.f_pwd.setStretch(3, 4) + self.f_pwd.setStretch(4, 1) + self.verticalLayout.addWidget(self.f_pwd_2) + self.f_unitname_2 = QtWidgets.QFrame(self.f_login_main) + self.f_unitname_2.setObjectName("f_unitname_2") + self.f_unitname = QtWidgets.QHBoxLayout(self.f_unitname_2) + self.f_unitname.setContentsMargins(9, 9, 9, 9) + self.f_unitname.setObjectName("f_unitname") + spacerItem12 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_unitname.addItem(spacerItem12) + self.lb_unitname = QtWidgets.QLabel(self.f_unitname_2) + self.lb_unitname.setMinimumSize(QtCore.QSize(480, 0)) + self.lb_unitname.setMaximumSize(QtCore.QSize(480, 16777215)) + font = QtGui.QFont() + font.setPointSize(12) + self.lb_unitname.setFont(font) + self.lb_unitname.setObjectName("lb_unitname") + self.f_unitname.addWidget(self.lb_unitname) + spacerItem13 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_unitname.addItem(spacerItem13) + self.f_unitname.setStretch(0, 1) + self.f_unitname.setStretch(1, 8) + self.f_unitname.setStretch(2, 1) + self.verticalLayout.addWidget(self.f_unitname_2) + self.f_winselector_2 = QtWidgets.QFrame(self.f_login_main) + self.f_winselector_2.setObjectName("f_winselector_2") + self.f_winselector = QtWidgets.QHBoxLayout(self.f_winselector_2) + self.f_winselector.setContentsMargins(9, 9, 9, 9) + self.f_winselector.setObjectName("f_winselector") + spacerItem14 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_winselector.addItem(spacerItem14) + self.lb_win = QtWidgets.QLabel(self.f_winselector_2) + font = QtGui.QFont() + font.setPointSize(18) + self.lb_win.setFont(font) + self.lb_win.setObjectName("lb_win") + self.f_winselector.addWidget(self.lb_win) + spacerItem15 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_winselector.addItem(spacerItem15) + self.cb_win = QtWidgets.QComboBox(self.f_winselector_2) + self.cb_win.setMinimumSize(QtCore.QSize(0, 50)) + self.cb_win.setMaximumSize(QtCore.QSize(16777215, 50)) + font = QtGui.QFont() + font.setPointSize(20) + self.cb_win.setFont(font) + self.cb_win.setObjectName("cb_win") + self.f_winselector.addWidget(self.cb_win) + spacerItem16 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_winselector.addItem(spacerItem16) + self.f_winselector.setStretch(3, 4) + self.f_winselector.setStretch(4, 1) + self.verticalLayout.addWidget(self.f_winselector_2) + self.f_save = QtWidgets.QFrame(self.f_login_main) + self.f_save.setStyleSheet("#f_save{\n" + " margin:0px;\n" + " padding:0px;\n" + "}") + self.f_save.setObjectName("f_save") + self.f_save_info = QtWidgets.QHBoxLayout(self.f_save) + self.f_save_info.setObjectName("f_save_info") + spacerItem17 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_save_info.addItem(spacerItem17) + self.ckb_save_account = QtWidgets.QCheckBox(self.f_save) + font = QtGui.QFont() + font.setPointSize(16) + self.ckb_save_account.setFont(font) + self.ckb_save_account.setObjectName("ckb_save_account") + self.f_save_info.addWidget(self.ckb_save_account) + self.f_save_info.setStretch(0, 7) + self.f_save_info.setStretch(1, 3) + self.verticalLayout.addWidget(self.f_save) + self.f_login_btn_2 = QtWidgets.QFrame(self.f_login_main) + self.f_login_btn_2.setStyleSheet("#f_login_btn_2{\n" + " margin:0px;\n" + " padding:0px;\n" + "}") + self.f_login_btn_2.setObjectName("f_login_btn_2") + self.f_login_btn = QtWidgets.QHBoxLayout(self.f_login_btn_2) + self.f_login_btn.setObjectName("f_login_btn") + spacerItem18 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_login_btn.addItem(spacerItem18) + self.btn_login = QtWidgets.QPushButton(self.f_login_btn_2) + self.btn_login.setMinimumSize(QtCore.QSize(280, 48)) + self.btn_login.setMaximumSize(QtCore.QSize(280, 48)) + font = QtGui.QFont() + font.setPointSize(20) + font.setBold(True) + font.setWeight(75) + self.btn_login.setFont(font) + self.btn_login.setStyleSheet("#btn_login{\n" + " color:rgb(255,255,255);\n" + " background-color:rgb(0, 170, 255);\n" + " border:none;\n" + "}\n" + "#btn_login:hover{\n" + " background-color:rgb(140, 170, 255)\n" + "}") + self.btn_login.setObjectName("btn_login") + self.f_login_btn.addWidget(self.btn_login) + spacerItem19 = QtWidgets.QSpacerItem( + 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.f_login_btn.addItem(spacerItem19) + self.f_login_btn.setStretch(0, 2) + self.f_login_btn.setStretch(1, 4) + self.f_login_btn.setStretch(2, 2) + self.verticalLayout.addWidget(self.f_login_btn_2) + self.verticalLayout.setStretch(0, 1) + self.verticalLayout.setStretch(1, 3) + self.verticalLayout.setStretch(2, 2) + self.verticalLayout.setStretch(3, 2) + self.verticalLayout.setStretch(4, 2) + self.verticalLayout.setStretch(5, 1) + self.verticalLayout.setStretch(6, 2) + self.verticalLayout.setStretch(7, 2) + self.verticalLayout.setStretch(8, 4) + self.horizontalLayout_5.addWidget(self.f_login_main) + + self.retranslateUi(win_Login) + QtCore.QMetaObject.connectSlotsByName(win_Login) + + def retranslateUi(self, win_Login): + _translate = QtCore.QCoreApplication.translate + win_Login.setWindowTitle(_translate("win_Login", "Form")) + self.lb_title.setText(_translate("win_Login", "呼号客户端 登录")) + self.rb_custom_user.setText(_translate("win_Login", "自建用户")) + self.rb_zh_user.setText(_translate("win_Login", "综合管理系统用户")) + self.lb_account.setText(_translate("win_Login", "账号")) + self.lb_pwd.setText(_translate("win_Login", "密码")) + self.lb_unitname.setText(_translate("win_Login", "请先输入账号再选择窗口!")) + self.lb_win.setText(_translate("win_Login", "窗口")) + self.ckb_save_account.setText(_translate("win_Login", "保存密码")) + self.btn_login.setText(_translate("win_Login", "登录")) diff --git a/callclient/views/__pycache__/Ui_caller_main.cpython-38.pyc b/callclient/views/__pycache__/Ui_caller_main.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6234fc92451b0ea4eb924590011479659f74153c GIT binary patch literal 5295 zcmcIo-H#hr6`%3upI&*VbI0 zd+xdC{C;Q7y>~pf)9Hi+pO0_;8+|+{N&jG-;ZF!UFTrJ3pg|In4XGh3awDJw8bKu} zOV=e7K*2X86vUwiK_v_}AtRzhP-tB$hI=qeDhAz1jb5_|cEdG#y`{VH8oi^VEllk? zGZ_8^pz{)3_IYTqq{v880!T)IHzXy9f+z&PAruDZ5jS&NSL>Q#V4^lO-K?{@{Z9~t z7+lxjvL8kyX-^Vli1Aj?0p=zw z9CDz|9l;^@gdEOr{{iPH4moGQAqSa1E3o7so6n5k%8lX51FrlLxbmL^uKWUI{SS%E8ra(+F` z3S9XS-5ibVM0cJOK4+bay#Ku4mk^HtKE1k`74ZgjGY@0)BHrv!?azyNzU~uh|I_Mb zekc#~kcT;eYaa6OoRB?S^8(i(4+X$gI3f>)Bl1viM)OcOl!pSuyEqcBAmR=3P=t6z z5%2k-JQPJdU-udEP#nrb5%R#<@^}*BNI>@TP!uTBe3kPZhVQZceR2UT7r;Z`ZULAr z2rg{z0~z+>MUWQ9_P#~1T@{erhglbx84dI zXGDfZ{|@WE3{vOIb9aZ2!S5yV@Y&SryIaI+nW$8^42x9rWNWkVg%_6c-c@`taofZ3r0=nZWPSMx1m6sni{K2@rk7HMckxoK{V&mp*pHCi>Tk|&KhZCbWYb<3>Q zu}Lw>dp~1lw%)yYEW9GmzC4H`b@$ zOF_T$SB^&8)J%lUr-CAY4As`)7Jvl9eXhd$|3jDG(4kNjxZxGJ>z6CbERdUItVEp7 zUpOb5YJ?sWBkub+`NSC?9!0QeYAqWd6C3XP*xB$XJ@!zqKYsjJazlo0;vQl}=-n`? z?LFmcc=8hDzK@+EkK#rcF?G3TGHQS0wMciV+O#a=m~LR-{c#dZv5M>m>f{FpgKpln zJYIu?VdMy42JYnHBS2l&SJ?rUhb*<=-Qzcn@^{Tb!9h`*yr&cCm(lt2s;CQfa@8;+mzKlmm}K@2X`W zZgB_eTieuSIyQ?7x9}by1I;US%j8p-gKOKkzN>8-Sc${g?fnraCt1`}tU1k^vn)Q# zCC|e8w${W-_|+Rw+B{u-Ewb(@k@c3ji%oKl&0`Cku#=tSSd)haQh7t$#0Hszj+-Ws zM9s7fjpExnFu#eZ=G`!55>T3u+jYaD_SH7Kf$;7iWMktlVKw50?gF!4OJoT;|9NGl zx^d4UyLMBnNY&Q_=~+V=x`f0UeobCdt>yiLAlxH zxoS0U>nFgkEwRTdIU%RyN%*GZGjb}Jk~3V+$f?jko|dQO7+8AWl$=VXKm)&EodN04 zXyUW$vvT$cy#8-1z(2%g3?b*12_)pssY6MEN?-{Zd&LrlT=7>dKL&wHJMvBdUL43y zaG$@ldC-3;5OTs?6ZAC^p$Yk#sL+IcO-yJaz9ud-QD2h~nwY2IkIwN`Q70tJCY3;wq C7-)+C literal 0 HcmV?d00001 diff --git a/callclient/views/__pycache__/Ui_login.cpython-38.pyc b/callclient/views/__pycache__/Ui_login.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6f9b5bb9df7250be7ee79928187bedb1caa3a056 GIT binary patch literal 7990 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 BN=yI% literal 0 HcmV?d00001 diff --git a/callclient/views/caller_main.ui b/callclient/views/caller_main.ui new file mode 100644 index 0000000..8cbdb09 --- /dev/null +++ b/callclient/views/caller_main.ui @@ -0,0 +1,425 @@ + + + caller_main + + + + 0 + 0 + 600 + 70 + + + + + 600 + 70 + + + + + 600 + 70 + + + + Form + + + + + 0 + 0 + 601 + 72 + + + + #f_caller_main{ + background-color: rgb(43, 43, 43); +} + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + #f_caller_btns{ + margin:0px; + padding-top:5px; +} + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 80 + 30 + + + + + 80 + 30 + + + + + 新宋体 + 14 + 75 + true + + + + #btn_call{ + background-color: rgba(255, 255, 255, 0); + background-image: url(:/btn_call_t_normal.png); + background-repeat:no-repeat; + background-position:center center; + background-size:70% 70%; +} + +#btn_call:hover{ + background-color: rgba(255, 255, 255, 0.3); + background-image: url(:/btn_call_t_hover.png); +} + + + + + + + 24 + 24 + + + + false + + + + + + + + 80 + 30 + + + + + 80 + 30 + + + + + 新宋体 + 12 + 75 + true + + + + #btn_abanden{ + background-color: rgba(255, 255, 255, 0); + color: rgb(255, 255, 255); +} + +#btn_abanden:hover{ + background-color: rgba(255, 255, 255, 0.3); + + color: rgb(0, 205, 102); +} + + + 弃号 + + + + + + + + 80 + 30 + + + + + 80 + 30 + + + + + 新宋体 + 12 + 75 + true + + + + #btn_start{ + background-color: rgba(255, 255, 255, 0); + color: rgb(255, 255, 255); +} + +#btn_start:hover{ + background-color: rgba(255, 255, 255, 0.3); + + color: rgb(0, 205, 102); +} + + + 开始 + + + + + + + + 80 + 30 + + + + + 80 + 30 + + + + + 新宋体 + 12 + 75 + true + + + + #btn_pause{ + background-color: rgba(255, 255, 255, 0); + color: rgb(255, 255, 255); +} + +#btn_pause:hover{ + background-color: rgba(255, 255, 255, 0.3); + + color: rgb(0, 205, 102); +} + + + 暂停 + + + + + + + + 0 + 28 + + + + + 16777215 + 28 + + + + Qt::Vertical + + + + + + + + 100 + 30 + + + + + 100 + 30 + + + + + 新宋体 + 12 + 75 + true + + + + #btn_taxer{ + background-color: rgba(255, 255, 255, 0); + color: rgb(255, 255, 255); +} + +#btn_taxer:hover{ + background-color: rgba(255, 255, 255, 0.3); + + color: rgb(0, 205, 102); +} + + + 办税员 + + + + + + + + 0 + 28 + + + + + 16777215 + 28 + + + + Qt::Vertical + + + + + + + + 110 + 30 + + + + + 110 + 30 + + + + + 新宋体 + 12 + 75 + true + + + + #btn_tkt_pool{ + background-color: rgba(255, 255, 255, 0); + color: rgb(255, 255, 255); +} + +#btn_tkt_pool:hover{ + background-color: rgba(255, 255, 255, 0.3); + + color: rgb(0, 205, 102); +} + + + 叫号记录 + + + + + + + + + + #f_caller_info{ + margin:0px +} + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 590 + 32 + + + + + 590 + 32 + + + + + 黑体 + 14 + 50 + false + + + + #lb_info{ + + color: rgb(255, 255, 255); +} + + + 待机中... + + + + + + + + + + + + + + diff --git a/callclient/views/login.ui b/callclient/views/login.ui new file mode 100644 index 0000000..bc9da1c --- /dev/null +++ b/callclient/views/login.ui @@ -0,0 +1,770 @@ + + + win_Login + + + + 0 + 0 + 600 + 750 + + + + + 600 + 750 + + + + + 600 + 750 + + + + Form + + + + + + #f_login_main{ +background-color:rgb(255,255,255); +border:5px, white; +margin:0px; +padding:0px; +} + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 582 + 30 + + + + #f_win_btn{ + margin:0px; + padding:0px; +} + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 30 + 30 + + + + + 30 + 30 + + + + + 12 + 75 + true + + + + #btn_min{ + margin:0px; + padding:0px; + background-image:url(:/minest_normal.png); + background-repeat:no-repeat; + background-position:center; + border:none; + color:gray; + padding:5px +} +#btn_min:hover{ + background-color:#CCCCCC; +} + + + + + + + + + + + 30 + 30 + + + + + 30 + 30 + + + + + 12 + 75 + true + + + + #btn_close{ + background-image: url(:/exit_normal.png); + background-repeat:no-repeat; + background-position:center; + margin:0px; + padding:0px; + border:none; + color:gray; +} +#btn_close:hover{ + + background-color:#CCCCCC; +} + + + + + + + + + + + + + + 582 + 100 + + + + #f_title{ + margin:0px; + padding:0px; +} + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 280 + 62 + + + + + 黑体 + 24 + 75 + true + + + + 呼号客户端 登录 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + #f_login_type_2{ + margin:0px; + padding:0px; +} + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 16 + + + + 自建用户 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 16 + + + + 综合管理系统用户 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + #f_account{ + margin:0px; + padding:0px; +} + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 18 + + + + 账号 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 50 + + + + + 16777215 + 50 + + + + + 20 + 75 + true + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + #f_pwd_2{ + margin:0px; + padding:0px; +} + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 18 + + + + 密码 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 50 + + + + + 16777215 + 50 + + + + + 20 + 75 + true + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + 9 + + + 9 + + + 9 + + + 9 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 480 + 0 + + + + + 480 + 16777215 + + + + + 12 + + + + 请先输入账号再选择窗口! + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + 9 + + + 9 + + + 9 + + + 9 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 18 + + + + 窗口 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 50 + + + + + 16777215 + 50 + + + + + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + #f_save{ + margin:0px; + padding:0px; +} + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 16 + + + + 保存密码 + + + + + + + + + + #f_login_btn_2{ + margin:0px; + padding:0px; +} + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 280 + 48 + + + + + 280 + 48 + + + + + 20 + 75 + true + + + + #btn_login{ + color:rgb(255,255,255); + background-color:rgb(0, 170, 255); + border:none; +} +#btn_login:hover{ + background-color:rgb(140, 170, 255) +} + + + 登录 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + diff --git a/tvclient/__pycache__/app.cpython-38.pyc b/tvclient/__pycache__/app.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0fd2a66cff684a718ab24118a8d30d23f9c11555 GIT binary patch literal 423 zcmYjOO-sZu5S^qSR@ud~HxVzr>`f0MqIh<3Q4vC6DNXEF+omR|wX%C!f5>|DFZJrl zzn~W<#f2T1mznV9%?r634tD^<`P~=W1mMdyn?bQT$JB=i95~6LAdC=O)0`F#bFg-} z`wqk4-C%N2Re6@gCX=P@Z(ou;6Q#L|vof)yb=V~~FERB2f`Js4WC4aO zVL|3(ML&SR99E7!Ip7*H4qau3l!L%rJ(CUd#H&cAA?=*Fs+iwoC6~=7C=V$=#}6k_ zBh{0x;zUGMYi6>H9@DpW`do`TD^uNSBZ|oU+l)|SRJEO>>T(MObbtUPpgs+#vNz+< zW4qVw#2k$#=04-8FuM1|_7YhdCG%V;Jz5J+3w(HQx1a7^ZGex8U2s}RUgzQrKLfOj IFdzf(54L7t2LJ#7 literal 0 HcmV?d00001 diff --git a/tvclient/app.py b/tvclient/app.py new file mode 100644 index 0000000..55bb7a0 --- /dev/null +++ b/tvclient/app.py @@ -0,0 +1,14 @@ +from PyQt5.QtWidgets import QApplication +from controllers.tvclient_main import TvclientMain + +# 启动程序方法,启动时初始化login界面 + + +def run(): + app = QApplication([]) + + window = TvclientMain() + + window.show() + + app.exec_() diff --git a/tvclient/controllers/__pycache__/tvclient_main.cpython-38.pyc b/tvclient/controllers/__pycache__/tvclient_main.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..278ad1df0ac56a353fe9110f44b6dd310faa801c GIT binary patch literal 692 zcmZ8e&uiN-6n>KJ#7h&l%XaEv?3NvJ8;mi=pwM2nve1TsFbHF*nL7E$EV;!cw-ows zw8#EQ({-o*3x&a+?4*P}qxVCSzxRE5i^*gJXa|2^%ijdxk1uvD#Nsn9^B$c5K{TB9 zk!&LEBGo}2vXHQBgP+vU~YIriAdnCWi8*~=da7*rhfTe3# z0S{Ji9^8g2xFZBrAs#uNMlLcOQ}l~_t^*sBXAFU{=# iS@&-_ocGr{5Wd9Sap@4b2N_j~O|qlVzz`h9~vwh{VaKF%KS zp?MH_6BI=hCn&`sPOZ>NNk}kSLe!#U2T{W8Z4x@vUO~Qd4AICZ+6~k~E|_)#wKU** zGEi%rZZIXgCgAL`;A0*{UIWEYh$#v!imA1OLP80(;cZg~io3em=8@X$CY)s|N@JdN zP4>w#wg<8RB42tK5qL)^vPYVZt%oJ2}4a-hrlJ4r%Z`LnAt)ncn)d0A;1-9GKm#y^RON~Wh$;p zhBMtf%OGea$(4Lqm@9ls+mauhqiB|HD(Ki4nx1oS!Rx4Ee+r$HfH!&C6g;wh_!hqD)w{wACw zk3gOSQj#|ZhC)5uv))-i9T}Aiv2C4F=C9LAY%(%+lDxU~5 zVRcn4I?XCUtyI(eZ-BZAA`RvUd$@^**Dv63j>neoXfKK~U@VGsEsD~d4iaNeMLP9!hl_FoObha70amq71Z9n Os*n41Q`M~D74ir1)emd{ literal 0 HcmV?d00001 diff --git a/tvclient/views/tvclient_main.ui b/tvclient/views/tvclient_main.ui new file mode 100644 index 0000000..a3bf861 --- /dev/null +++ b/tvclient/views/tvclient_main.ui @@ -0,0 +1,32 @@ + + + tvclient_main + + + + 0 + 0 + 400 + 300 + + + + Form + + + + + 80 + 80 + 171 + 41 + + + + 综合屏客户端 + + + + + + diff --git a/utils/__pycache__/file_handler.cpython-38.pyc b/utils/__pycache__/file_handler.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..60293b6028117d6ebee3024ab37a68b29e7b0d84 GIT binary patch literal 428 zcmYjNO-sW-5S`s5G=B6T6#Naj)Vows#IH*!*j_>)#O&InZj-pXK@#doPyPyf^v{Ur zTs`>@#FMkBh0Zc>-^`oGEIa9Tw*lklHpjez>svZIZMg;i4D6?L`Cyd;H zXMdvt!`R?DjLX41!&CzV4Kwma8CjAi&=#W$*oS9AR(<